Commit Graph

3509 Commits

Author SHA1 Message Date
jelveh
17a77f97a1 add correct i18n keys for the professional subscription tier 2025-05-17 13:00:54 -07:00
jelveh
a1b96b7130 Allow users to open Settings and specific tabs from a URL 2025-05-17 12:30:27 -07:00
KernelDeimos
7823fdfab0 dev: add lazy render option for UIElement 2025-05-17 15:23:14 -04:00
Nariman Jelveh
da66b03163 Merge pull request #1268 from ProgrammerIn-wonderland/main
change initialization order to make wisp socket on first use of network
2025-05-16 14:19:51 -07:00
ProgrammerIn-wonderland
f944d76261 change initialization order to make wisp socket on first use of networking 2025-05-16 17:18:28 -04:00
Nariman Jelveh
7f1f98ae70 Merge pull request #1267 from ProgrammerIn-wonderland/main
Add reauthentication for unauthenticated web clients when Socket api is called
2025-05-16 11:18:28 -07:00
ProgrammerIn-wonderland
73e6830b1f Add reauthentication for unauthenticated web clients 2025-05-16 13:45:55 -04:00
jelveh
39a59970bb remove startup chime 2025-05-15 23:26:10 -07:00
jelveh
f942c13be0 Revert UIItem refactor and fix the position of Create Shortcut in the context menu 2025-05-15 23:21:11 -07:00
jelveh
0012fd3970 Remove unused imports all over the codebase 2025-05-15 22:34:14 -07:00
jelveh
8dcf75ba54 Update ui_item.js 2025-05-15 17:47:05 -07:00
KernelDeimos
5f14dc720b fix: build error 2025-05-15 20:44:54 -04:00
jelveh
9c14a21fdd Use i18n for "Share With..." 2025-05-15 17:12:13 -07:00
KernelDeimos
880760c602 ux: use financial units instead of SI for credits
Instead of K, M, G, T, P it's K, M, B, T, Q.
2025-05-15 14:05:35 -04:00
KernelDeimos
3290440f4b dev: document auth and permissions 2025-05-15 14:05:35 -04:00
jelveh
0e0bfd6d7c Update PuterDialog.js 2025-05-13 17:34:11 -07:00
KernelDeimos
3dbe89f3dc dev: migrate "Create Shortcut" to DRY multi/single 2025-05-12 17:34:04 -04:00
KernelDeimos
aa049b2c5a dev: factor out menu items functions in UIItem
The large if...else block for single-item vs multi-item selection
context menu items makes it difficult to extract common behaviors
between the two. For example, the "create shortcut" menu item could be
added by the same code snippet in both cases, and that snippet might
have conditional logic for the number of items (with 1 as a special
case).

The reason to move branching logic to the code snippets that handle
individual menu items is because the previous change to fix shortcuts in
shared directories revealed cross-cutting concerns in branching logic.
Since both single-item and multi-item "create shortcut" options both
have branching to handle the shared directory case, they are now more
similar than different.
2025-05-12 16:39:21 -04:00
KernelDeimos
73ab4baa60 dev: SI suffix for usage meter 2025-05-12 15:18:02 -04:00
KernelDeimos
72a45500d5 fix: cannot create shortcut for shared file
Closes #1263
2025-05-12 13:25:38 -04:00
KernelDeimos
518449cfdd fix: share issue 2025-05-09 17:04:00 -04:00
KernelDeimos
9bf48e7289 fix: fallback behavior related to fake-chat service
Fallbacks from or to the fake-chat service should not be allowed.
Fallbacks to the "costly" model from fake-chat could result in
unintended charges and fallbacks to real models from fake-chat could
result in service abuse.
2025-05-05 16:10:52 -04:00
KernelDeimos
34787bbb0c fix: gone 2025-05-03 21:27:21 -04:00
KernelDeimos
77f3bf2177 fix: ui bug in settings window 2025-05-02 16:01:26 -04:00
KernelDeimos
75aebd6d35 fix: sqlite syntax inconsistency
The SQL statement for creating a group uses syntax that only works under
sqlite. This was caused by introducing anomaly detection when a user
creates a large number of groups in quick succession.
2025-05-02 14:34:46 -04:00
KernelDeimos
4647e2d9c0 dev: add experimental firebase authentication
This adds an experimental custom token authentication endpoint to Puter.
This is disabled unless the firebase-auth service is explicitly
configured, and is not yet ready for production use.
2025-05-01 17:14:25 -04:00
Nivedita Rani
284b89a5fd fix: iframe overlap issue (PR 1250)
* Removed css property overflow: hidden at the parent container which was interfering with the layout calculations and was forcefully clipping child elements

* Replace css property overflow: hidden  with contain: paint to fix stacking without masking border-radius

Fixes #1233
2025-05-01 13:55:17 -04:00
KernelDeimos
ea241540b9 dev: add WeatherService
- adds weather service
- updates IdentificationService to add ip_user property
2025-04-29 13:43:53 -04:00
KernelDeimos
29dbf3a517 dev: URLs to files in public directories
Already existing was the functionality to go to puter.local/@username to
access the Public folder belonging to "username". This commit adds the
ability for relative paths such as puter.local/@username/document.md to
access /username/Public/document.md in the suggested app for handling
".md" files.
2025-04-28 17:40:02 -04:00
KernelDeimos
3856ddcc8f dev: add default parameters for driver interfaces 2025-04-25 16:03:22 -04:00
KernelDeimos
c5c17bae3a dev: add cost calculation for NewsDataService 2025-04-25 14:14:58 -04:00
KernelDeimos
78ae6f6bf2 dev: begin implementing driver for newsdata.io 2025-04-24 17:04:30 -04:00
KernelDeimos
89b8c8de1d fix: add missing null check 2025-04-24 16:09:32 -04:00
KernelDeimos
b7efa6f894 fix: handle problematic null or undefined case
This is the product of a couple hours of debugging. We can now remove
the uuid entry from the cache for a deleted user without the strange
lockup behavior that was being observed previously. However, it is still
explained exactly how this happened; while this commit addresses the
cause it does not represent an actual understanding of the issue.

What is known is the following:
- /delete-own-user can trigger a complete lockup
- this happens when invalidate_cached_user is called
- kv.del('users:uuid:<uuid of user>') triggers the issue
- ... because get_user returns null and
- configurable_auth middleware accepts the null value
- configurable_auth middleware DOES call next()
- it is unknown why a lockup occurs after this
2025-04-24 14:41:05 -04:00
KernelDeimos
210ecaba8f tmp: comment out user uuid del 2025-04-23 22:33:25 -04:00
KernelDeimos
2b0c8fcaf0 dev: expose Context and ready event to extensions 2025-04-23 15:51:28 -04:00
KernelDeimos
abf5852b93 dev: better log support for extensions 2025-04-23 15:28:15 -04:00
KernelDeimos
a3ae60861c dev: add injected logger support
This allows a logger to be specified in the execution context. If
LogService sees this, it will perform its usual logging but also call
the injected logger.
2025-04-23 14:49:18 -04:00
KernelDeimos
017328420d dev: add support for an "any" interface
Driver interfaces don't require specifying the structure of the return
value when it's a JSON object, but parameters require specifying what
parameters can be provided. This commit adds a special wildcard
parameter for interface definitions. When the wildcard parameter is set,
the entire input object is considered as if it were the value of one
parameter.
2025-04-22 16:29:55 -04:00
KernelDeimos
790e3bdffc dev: puter.call
Instead of puter.drivers.call, make it puter.call. This is accomplished
by allowing puter.js modules to mutate the `puter` object on
initialization. Support for an optional `_init` method, similar to
backend services, is added to Puter modules to help with this.
2025-04-22 15:21:36 -04:00
KernelDeimos
9935f5a0be dev: simplify calling drivers with matching names
This commit modifies puter.js to allow calling an
interface+service+method with matching names without redundantly
specifying. The 'ip-geo' service is also renamed to ipgeo to match its
method name and allow a simple:

puter.drivers.call('ipgeo', { ip: '1.2.3.4' })
2025-04-22 14:01:01 -04:00
KernelDeimos
1764b99c22 dev: add log messages for cost records 2025-04-22 13:14:41 -04:00
KernelDeimos
7e7e2897b2 dev: improve actor logs
This commit adds the concept of a toLogFields method on objects which
will determine how they're turned into log fields in LogService. This
method is now implemented on actor to prevent errors when the object is
passed to log functions without being stringified first.
2025-04-22 12:52:09 -04:00
KernelDeimos
b80052f177 dev: add cost service integration to IPGeoService 2025-04-22 12:07:13 -04:00
KernelDeimos
7945586050 dev: ip geolocation driver (initial development) 2025-04-21 17:53:39 -04:00
KernelDeimos
8ff2e93e66 tweak: add limit to deleteUser file select
I wasn't able to reprod any memory leak from a user having a large
number of files locally, but it's showing up in logs and maybe could add
up with lots of temp users getting auto-removed. It's worth a shot.
2025-04-19 15:45:33 -04:00
KernelDeimos
f7b302b024 fix: potential log error 2025-04-19 14:27:14 -04:00
KernelDeimos
c254b39afe fix: consistent email check in confirm-email 2025-04-19 11:07:13 -04:00
KernelDeimos
c959ef3b83 dev: add actor to log context when available 2025-04-18 16:55:11 -04:00
KernelDeimos
fdfa4cbc7c dev: log memory info periodically 2025-04-18 16:26:52 -04:00