Nariman Jelveh
0bd0eaf890
add the ability to pick between desktop and winow menubars
2024-06-22 19:51:29 -07:00
Nariman Jelveh
704a4ead17
Show register form when user receiving a file is not the correctone
2024-06-21 12:16:42 -07:00
Nariman Jelveh
e31625d0da
Update IPC.js
2024-06-21 00:06:01 -07:00
Nariman Jelveh
61961b565e
Update initgui.js
2024-06-20 23:47:35 -07:00
Nariman Jelveh
27ec2d7f1c
Update initgui.js
2024-06-20 19:43:32 -07:00
Nariman Jelveh
88ce871601
Update initgui.js
2024-06-20 19:38:47 -07:00
Nariman Jelveh
2d4f5778a2
Update initgui.js
2024-06-20 19:37:27 -07:00
Nariman Jelveh
5cb5a75455
Verify share_token
when launched
2024-06-20 19:31:03 -07:00
KernelDeimos
bf63144f7a
fix: null email in request to /share
2024-06-20 19:41:41 -04:00
Nariman Jelveh
1c2ba76db2
If items are dropped on the home directory of another user, try to share the items rather than copy/move
2024-06-20 14:06:43 -07:00
Nariman Jelveh
6f0706ffc5
rename show_or_hide_empty_folder_message
to toggle_empty_folder_message
2024-06-20 13:28:45 -07:00
Nariman Jelveh
a834fbcc6c
remove scroll bar from
2024-06-20 11:32:03 -07:00
KernelDeimos
c0fb470719
tweak: update gui
2024-06-20 12:58:04 -04:00
Sam Atkins
2355a43efa
tweak: Re-add mime.js import
...
This got removed in 7006dcc31c
, but we do
need it.
2024-06-20 14:21:41 +01:00
Nariman Jelveh
1500f84d46
close #483
2024-06-19 22:30:42 -07:00
Nariman Jelveh
feabbaf564
close #430
2024-06-19 21:07:41 -07:00
Nariman Jelveh
7006dcc31c
refactor item_icon
2024-06-19 18:39:32 -07:00
Nariman Jelveh
219cb63b73
refactor open_item
2024-06-19 18:27:49 -07:00
Nariman Jelveh
0726a11d11
refactor get_html_element_from_options
2024-06-19 17:59:48 -07:00
Nariman Jelveh
44d340d429
Update UIWindowShare.js
2024-06-19 14:16:48 -07:00
Nariman Jelveh
ad079cdcc5
Use razzle dazzle to display icons of items being shared
2024-06-19 14:06:25 -07:00
Nariman Jelveh
bfd896041e
Update UIWindow.js
2024-06-19 12:13:01 -07:00
Nariman Jelveh
bd958b3820
show the share dialog when items are dropped on a username in the sidebar
2024-06-19 12:11:05 -07:00
Nariman Jelveh
c67674c889
Add license headers
2024-06-19 00:01:12 -07:00
Nariman Jelveh
41e307bd5b
cast selectable_body
and multiselectable
to Boolean
2024-06-18 23:37:28 -07:00
Nariman Jelveh
892750788b
Merge branch 'main' of https://github.com/HeyPuter/puter into main
2024-06-18 23:21:16 -07:00
Nariman Jelveh
4bd62c02dc
close #309
2024-06-18 23:21:07 -07:00
KernelDeimos
5cda51e184
tweak: add missing file for previous commit
2024-06-19 02:10:58 -04:00
Nariman Jelveh
581964b655
Make GUI open the relavant directory when URL is provided
2024-06-18 22:11:14 -07:00
Nariman Jelveh
c1647a5982
wip: bad commit message, I know.
2024-06-18 21:57:34 -07:00
KernelDeimos
e7c0b8320a
feat: add querystring-informed errors
2024-06-19 00:51:16 -04:00
Nariman Jelveh
174e2b7781
Take user to shared directory when clicked on share notif
2024-06-18 21:04:09 -07:00
Nariman Jelveh
1d083efb67
We officially have one of the best web-based Context Menus
2024-06-18 20:25:42 -07:00
Nariman Jelveh
1904b92a9d
Update jquery.menu-aim.js
2024-06-18 18:15:53 -07:00
Nariman Jelveh
5dc640bec1
Add a list of sharing users in the sidebar of Explore
2024-06-18 17:15:46 -07:00
Nariman Jelveh
4aa72eaf15
Update jQuery UI to 1.13.2
2024-06-17 22:35:17 -07:00
Nariman Jelveh
91b7f7db1e
simplify UI for sharing
2024-06-17 21:50:30 -07:00
Nariman Jelveh
7f516896be
Add the ability to share and revoke permission through UiWindowShare
2024-06-17 21:26:00 -07:00
Nariman Jelveh
afe37a69d6
Update IPC.js
2024-06-17 14:51:48 -07:00
Nariman Jelveh
21c537fe22
Refactor to use KV exclusively
2024-06-17 14:33:24 -07:00
Nariman Jelveh
5f8b8a2147
Make sure an iframe is focused after app is loaded
2024-06-17 13:17:37 -07:00
Nariman Jelveh
2a748f1884
Close all other contextmenus when a new menu item is opened
2024-06-17 09:41:22 -07:00
Nariman Jelveh
b2f2c557e9
Update UIWindowShare.js
2024-06-16 23:29:40 -07:00
Nariman Jelveh
ccf6ebef4d
Add support for disabled
context menu items through puter.js
2024-06-16 20:18:11 -07:00
Nariman Jelveh
04adade80e
Update launch_app.js
2024-06-16 19:25:06 -07:00
Nariman Jelveh
f185c02f4c
Update UIContextMenu.js
2024-06-16 19:00:53 -07:00
Nariman Jelveh
4ef6fd6148
Make mouseMoved
event take into account window head height
2024-06-16 18:48:34 -07:00
Nariman Jelveh
b789bb7078
Refactor launch_app
to add support for fullpage apps on landing
2024-06-16 18:10:37 -07:00
Nariman Jelveh
8ebf1cec3f
Update UIContextMenu.js
2024-06-16 13:41:16 -07:00
Nariman Jelveh
0fea080ba9
Blur context menu items when mouse leaves
2024-06-16 13:25:46 -07:00
Nariman Jelveh
c35ecec5a4
Focus back on the parent window when an item in context menu is clicked
2024-06-15 23:17:45 -07:00
Nariman Jelveh
476f408a13
Take into account the menubar height when positioning the contextmenu via puter.js
2024-06-15 22:58:24 -07:00
Nariman Jelveh
0dbc6aad0f
Don't show 'Cut' and 'Delete' options on shared items
2024-06-15 22:14:14 -07:00
Nariman Jelveh
705b9de28c
Add basic sharing UI
2024-06-15 20:36:40 -07:00
Nariman Jelveh
ea84c2f26d
Fix issues with inconsistent path formats for owned files vs shared files
2024-06-15 22:39:47 -04:00
KernelDeimos
079e25a9fe
feat: add /show urls
2024-06-15 22:39:47 -04:00
Nariman Jelveh
1859668257
Add proper handling of the close
event handler in UINotification
2024-06-15 17:28:11 -07:00
KernelDeimos
d5d987ead6
chore: fix typo because acknowledge is not spelled awknowledge in any variant of the english language
2024-06-15 19:25:09 -04:00
KernelDeimos
20542b0565
tweak: update notification format
2024-06-15 18:59:32 -04:00
KernelDeimos
0101f425d4
feat: add mark-read endpoint
2024-06-15 18:59:32 -04:00
KernelDeimos
02fc4d86b7
feat: re-send unreads on login
2024-06-15 18:59:32 -04:00
KernelDeimos
a1e6887bf9
feat: add service for notifications
2024-06-15 18:59:32 -04:00
Nariman Jelveh
7e13ab16c9
Update style.css
2024-06-15 14:24:16 -07:00
Nariman Jelveh
7b724ff1eb
show the "Close All" button on multiple notifications
2024-06-15 13:01:33 -07:00
Nariman Jelveh
b74315c7f5
add "fade up?!" animation to disappearing notifications
2024-06-15 12:31:14 -07:00
Nariman Jelveh
e18766a651
Add support for value
and click
options to UINotification
2024-06-15 12:02:09 -07:00
Nariman Jelveh
82c60414b9
Add support for icon, title, and text in notifications
2024-06-15 11:31:26 -07:00
Nariman Jelveh
40c0ef4567
reimplement stacked notifications
2024-06-15 01:28:35 -07:00
Nariman Jelveh
5a47ba4110
Update UIDesktop.js
2024-06-15 01:02:14 -07:00
Nariman Jelveh
f047c6b738
implement naive notification stacking
2024-06-15 01:01:29 -07:00
KernelDeimos
3ae0773ce8
chore: revive static-assets (for now)
2024-06-14 23:06:38 -04:00
Nariman Jelveh
981066c4a1
Refactor helpers.js
2024-06-14 16:38:07 -07:00
Nariman Jelveh
cb60759687
Fix html encode/decode issue in item rename
2024-06-13 11:46:54 -07:00
Nariman Jelveh
cf08244b6f
Enable keyboard navigation in the menubar
2024-06-13 00:05:48 -07:00
Nariman Jelveh
0c4728fbc1
Refactor
2024-06-12 21:41:02 -07:00
Nariman Jelveh
72641c66a2
Support the modification of individual items withing a menu bar
2024-06-12 19:18:24 -07:00
KernelDeimos
dfdf1dd973
chore: appease linter so it stops ruining my index
2024-06-11 22:46:11 -04:00
Nariman Jelveh
5e9617f6cc
Add support for ContextMenu
icons via Puter.js
2024-06-05 14:39:52 -07:00
KernelDeimos
41f378e403
Somehow this got lost earlier
2024-06-04 16:53:29 -04:00
Nariman Jelveh
66639ea110
Merge pull request #449 from wamynobe/main
...
fix: fix typo
2024-06-03 00:50:31 -07:00
Nariman Jelveh
1ae82b3210
turns out ESLint is garbage
2024-06-02 16:30:29 -07:00
Nariman Jelveh
a81f461b54
Implement the contextMenu
API for Puter.js
2024-06-02 16:15:35 -07:00
Nariman Jelveh
cf8a07286a
Fix typo sanitizeItems
to sanitize_items
2024-06-02 10:23:41 -07:00
Nariman Jelveh
6efff83616
Support separator in the setMenubar
API
2024-06-02 10:21:11 -07:00
Nariman Jelveh
49f61c4782
Update UIContextMenu.js
2024-06-01 15:56:32 -07:00
Mason Nguyen
ce328b7245
fix: fix typo
2024-06-01 11:00:03 +07:00
KernelDeimos
71e2310fa4
tweak(ui): expose UIAlert to service scripts
2024-05-31 18:09:15 -04:00
KernelDeimos
d2b37fc436
tweak(ui): fix NotifCard accessing on_click
2024-05-31 18:03:45 -04:00
Nariman Jelveh
e6e058c0a0
Update UIContextMenu.js
2024-05-31 10:58:18 -07:00
Nariman Jelveh
c9a43ce5c0
Update UIContextMenu.js
2024-05-30 18:16:32 -07:00
Nariman Jelveh
7c8492ba43
Fix the issue of checkmark's wrong color in ctx menu disabled items on hover
2024-05-30 17:09:18 -07:00
Nariman Jelveh
16d5ac6abb
Delay opening the submenu for smoother mouse navigation on the menu
2024-05-30 15:24:50 -07:00
Nariman Jelveh
a8515e0a41
Switch font to Inter 🎉
2024-05-30 15:14:25 -07:00
Eric Dubé
dd1d129693
Merge pull request #444 from HeyPuter/eric/ui-updates
...
UI Updates
2024-05-30 16:48:28 -04:00
KernelDeimos
124596058a
feat(ui): allow component-based settings tabs
2024-05-30 16:14:32 -04:00
KernelDeimos
be38df32ec
tweak(ui): allow setting render more for JustHTML
2024-05-30 16:14:32 -04:00
KernelDeimos
577bd59b6c
feat(ui): add new components
...
This commit adds the following components:
- ActionCard
- Frame
- NotifCard
2024-05-30 16:14:32 -04:00
KernelDeimos
f8780d032b
fix(ui): improve Component base class
...
The following improvements were made:
- do not require empty object in constructor
- allow components to override render mode based on constructor values
- improve error handling in get()
- allow array of property names in on_ready()->listen()
- allow components to be attached to shadow roots
2024-05-30 16:07:16 -04:00
KernelDeimos
38ba42575c
feat(ui): add new components
...
This commit adds the following components:
- Glyph
2024-05-30 16:04:52 -04:00
Nariman Jelveh
60f0ade3c1
Improve the UX of the menubar and context menu
2024-05-30 13:02:00 -07:00
KernelDeimos
8e083d20d2
tweak(ui): allow size changing on spinner
2024-05-30 15:59:05 -04:00
Eric Dubé
d57980c6cb
Merge pull request #421 from AtkinsSJ/exit-status
...
Add exit status codes to `puter.exit()`, and an `exit` builtin to Phoenix
2024-05-30 12:28:36 -04:00
KernelDeimos
d047abf31c
Update eslint
2024-05-28 19:06:00 -04:00
KernelDeimos
e050506a05
Add class registry (second pass)
...
ExportService gets removed and instead a global class registry is added.
The `init.js` file is split into `init_sync.js` and `init_async.js`
so that synchronous code that isn't dependent on imports is guarenteed
to run before initgui.js. The globalThis scope and service-script API
now expose `def`, a function for registering class definitions, and
`use`, a function for obtaining registered classes.
2024-05-28 19:06:00 -04:00
KernelDeimos
51bac4486f
Add class registry (first pass)
...
In the first pass I add a `register` method and update `defineComponent`
so it calls `register` as well. This made it possible to create a
proof-of-concept for registered classes. Additionally ExportService was
added to expose registered classes to service scripts. This first pass
works, but it would be better if all types of classes (components or
otherwise) were registered via the same method.
2024-05-27 21:16:50 -04:00
KernelDeimos
06f41659f5
Add function to import UIWindow from service scripts
2024-05-25 17:20:22 -04:00
KernelDeimos
cbfad2ef7a
refactor(gui): add service scripts
2024-05-24 19:29:07 -04:00
KernelDeimos
4508bfac73
Fix cookie issue
2024-05-23 13:30:02 -04:00
Sam Atkins
7674da4cd2
feat: Add exit status code to apps
...
`puter.exit()` now takes a status code, similar to the exit status on
desktop OSes. This is passed to the appClosed event, so that eg a
parent app can know whether its child app ran successfully.
2024-05-23 12:54:06 +01:00
Eric Dubé
8786024559
Merge pull request #404 from secondtruth/patch-1
...
Update de.js
2024-05-17 15:42:02 -04:00
Eric Dubé
bbb43f53d0
Merge pull request #403 from Zac0511/patch-3
...
Update fr.js
2024-05-17 15:39:06 -04:00
KernelDeimos
e4543c5f35
Fix 8688ggu00 (2)
2024-05-17 12:32:16 -04:00
Zac0511
340b9202c0
Update fr.js
2024-05-17 14:36:54 +02:00
Zac0511
99ca8755f3
Update fr.js
2024-05-17 14:22:22 +02:00
Zac0511
eaf1e96fa2
Update fr.js
2024-05-17 14:19:19 +02:00
Zac0511
f9b5353058
Update fr.js
2024-05-17 14:15:49 +02:00
Zac0511
e0af914c90
Update fr.js
2024-05-17 14:00:43 +02:00
Zac0511
8f19f4dc5b
Update fr.js
...
Complete rework of the file, completly remade from en.js
2024-05-17 13:58:33 +02:00
Zac0511
5f47e7f0fa
Update fr.js
...
Bug repairing... again
2024-05-17 09:55:25 +02:00
Zac0511
9c39b0453d
Update fr.js
...
Little update for some bugs
2024-05-17 09:16:12 +02:00
Zac0511
545fc103b8
Update fr.js
...
Complete rework of the file for the latest updates
2024-05-17 09:10:55 +02:00
KernelDeimos
49b257ecff
fix(security): Move token for socket.io to request body
...
Currently this commit breaks websocket events and needs to
be updated.
2024-05-16 17:58:44 -04:00
KernelDeimos
f042b095f1
Fix 8688gxkuj
2024-05-16 17:25:41 -04:00
Christian Neff
43d0936533
Update de.js
...
Translated:
- 2FA strings
- Task Manager strings
- 2 other scattered strings
2024-05-16 19:51:42 +02:00
KernelDeimos
b68873c5f4
Fix 8688grpf1
2024-05-16 12:48:57 -04:00
Zac0511
e1ae9241af
Update fr.js
2024-05-16 18:27:12 +02:00
Zac0511
b6ea37c517
Update fr.js
...
Since there was a lot of text and menus added, and they were not translated, so i just translated them.
2024-05-16 18:06:21 +02:00
KernelDeimos
bee0e19eaf
Fix 8688ggu00
2024-05-15 20:59:20 -04:00
KernelDeimos
800aef1942
Implement anti-CSRF for logout
2024-05-13 20:40:27 -04:00
KernelDeimos
c2f1694107
Require password entry to disable 2FA
2024-05-13 16:00:07 -04:00
KernelDeimos
23215bd6f7
Move change_email/start to password-protected endpoint
2024-05-13 16:00:07 -04:00
KernelDeimos
9076fddc0d
Add new password change endpoint
2024-05-13 16:00:07 -04:00
Eric Dubé
89ac491120
Merge pull request #391 from AtkinsSJ/truncate-filename
...
refactor: Put truncate_filename() helper in its own file
2024-05-10 12:54:46 -04:00
Sam Atkins
e53bfe6b62
refactor: Put truncate_filename() helper in its own file
...
Every user previously set the max_length as window.TRUNCATE_LENGTH, so
I've moved that constant into the truncate_filename file and set it as
the default if max_length is not specified.
2024-05-10 17:46:09 +01:00
Sam Atkins
9bb4570126
Re-use existing Task Manager rows if possible instead of recreating them
...
Most of the time, we'll already have a TaskManagerRow for the given
process, so we can just update its properties.
Iterating the results from #iter_tasks means we also insert the rows in
the correct order, regardless of their previous order.
2024-05-10 17:41:13 +01:00
Sam Atkins
5b43358219
fix: Only run Component initialization functions once
...
If the Component gets removed from the DOM and then re-added, it already
has contents, and we don't need to create them again. It also has
already had on_ready called, so that doesn't need to happen again
either.
This fix stops Components duplicating their content elements and
listener callbacks whenever they're moved around the document.
2024-05-10 17:41:01 +01:00
Sam Atkins
cf605c8a38
refactor: Convert Task Manager to use Components
...
This currently behaves the same as it did before: It still recreates the
table contents every half a second. It should also look identical,
though it's possible I missed some small differences.
The component structure is:
TaskManagerTable
- Table
- TaskManagerRow
- TaskManagerRow
- TaskManagerRow
- ...
TaskManagerRow is implemented so that we can later move to modifying
them in place as the process tree changes, instead of having to replace
them all.
Otherwise, most of the code is just moved around, and not changed much.
2024-05-10 17:41:01 +01:00
Sam Atkins
e304f6fc3a
Add ability to look up a process by its uuid
2024-05-10 17:38:00 +01:00
Sam Atkins
09cee986f2
Add a Table component, based on the TaskManager table
...
For now, this is quite basic. The main feature is the sticky header.
2024-05-10 17:38:00 +01:00
Eric Dubé
3992fe1a45
Merge pull request #384 from AtkinsSJ/progress-dialogs
...
refactor: Replace several existing progress dialogs with one configurable one
2024-05-10 12:25:32 -04:00
Eric Dubé
17e08cafce
Merge pull request #380 from AtkinsSJ/eslint-ci
...
Run ESLint on CI
2024-05-10 12:24:31 -04:00
ghostxbh
5800350b25
fix: Eliminates duplicate translation keys
2024-05-10 10:41:21 +08:00
KernelDeimos
cd2daa1910
Require email verification for contact form
2024-05-09 19:40:34 -04:00
Sam Atkins
edebbee9e7
feat: Display upload errors in UIWindowProgress dialog
...
The object returned from UIWindowProgress() now has a `show_error()`
method, taking a title and message. Calling it will replace the content
of the window with those messages.
I've made use of this for file uploads. The only other place we
currently have errors we could show is for zipping and downloading
files, but we do not always have a progress dialog in that case, so I'll
leave that for now.
I think ideally, we would always create a progress dialog, and it would
then support being invisible initially, but appearing after a delay.
Then we'd always have an object to call `show_error()` on, and it could
then immediately show the dialog. But I'll get to that another day. :^)
2024-05-09 19:00:55 +01:00
Sam Atkins
c2c87bf0ba
refactor: Replace UIWindowDownloadDirProg with UIWindowProgress
2024-05-09 18:28:39 +01:00
Sam Atkins
e525747002
refactor: Replace UIWindowCopyProgress with UIWindowProgress
2024-05-09 18:28:39 +01:00
Sam Atkins
6d8c709de8
Delete unused UIWindowDownloadProgress.js
2024-05-09 18:28:39 +01:00
Sam Atkins
f07c13a50c
feat: Show "Deleting /foo" in progress window when deleting files
...
Previously we showed "Moving /foo" which was confusing.
Also, make use of i18n replacements instead of gluing strings together,
because other languages might put the words in a different order. For
now, I've modified all the translations so that the "Moving foo" text
will appear as it did before, but these will require someone who
actually knows the different languages to check and correct them.
2024-05-09 18:19:05 +01:00
Sam Atkins
c12312cbd3
refactor: Replace UIWindowMoveProgress with UIWindowProgress
2024-05-09 18:18:27 +01:00
Sam Atkins
cb6c098f95
refactor: Replace UIWindowProgressEmptyTrash with UIWindowProgress
...
I noticed during this that emptying the trash from inside the Trash
window uses a different code path without a progress dialog, so I've
added a TODO to merge that in. I tried just using it directly but the
behaviour is a bit different. (The Trash one makes all the items fade
out.)
2024-05-09 18:17:15 +01:00