Commit Graph

4513 Commits

Author SHA1 Message Date
KernelDeimos
f2ad7ddfb5 dev(puterfs): move read to extension 2025-11-05 19:22:10 -05:00
Daniel Salazar
0fd7100795 fix: allow mysql json object response (#1918) 2025-11-05 15:22:46 -08:00
KernelDeimos
656a01f2fa fix: error calling .startsWith on null mime_type
According to the package documentation: https://www.npmjs.com/package/mime
> null is returned in cases where an extension is not detected or recognized

This call to `.startsWith()` was causing an exception to be thrown upon
right-clicking files without an extension, making it impossible to fix
them.
2025-11-05 18:13:15 -05:00
KernelDeimos
75073403f8 clean: remove rmnode and lint PuterFSProvider 2025-11-05 16:06:35 -05:00
KernelDeimos
215bc9020b lint: configure eslint not operator spacing
The styleguide for Puter's backend expects spaces after top-level not
operators inside conditions. This commit adds an AI-generated eslint
plugin and, since it conflicts with the existing space-unary-ops plugin
from stylistic, also adds a wrapped version of space-unary-ops that
ignores top-level not operators so that this plugin will work as
expected.
2025-11-05 16:06:35 -05:00
KernelDeimos
e8d9b7b35d dev(puterfs): move rmdir to extension 2025-11-05 16:06:35 -05:00
jelveh
3b3b9d0ee0 closes #1911 2025-11-05 07:58:20 -08:00
Nariman Jelveh
cbbc4ce359 improve window snap logic to have delayed trigger 2025-11-04 21:44:10 -08:00
Daniel Salazar
490cd45336 fix: bad wrapper wrap (#1908) 2025-11-04 20:16:14 -08:00
KernelDeimos
d7ea6769cb fix: check if system_prompts is an empty array
It was assumpted that `system_prompts[0]` could not be undefined which
is not accurate because sometimes there are no system prompts.
2025-11-04 22:32:57 -05:00
KernelDeimos
b853383c6e clean: remove debug log from puterfs.unlink 2025-11-04 21:32:41 -05:00
KernelDeimos
a5c26eaece clean: remove verbose log for getUserSubscription 2025-11-04 21:32:41 -05:00
KernelDeimos
a0ff03b13d dev: implement unlink in puterfs extension 2025-11-04 21:32:41 -05:00
KernelDeimos
24b1570007 refactor: make TraceService a proper service
This service was registered within FilesystemService for legacy reasons
but now it needs to be accessed by an extension. In order for the
extension import to work as expected this service needs to be registered
at the same phase as other services.
2025-11-04 21:32:41 -05:00
KernelDeimos
e7357054b0 fix: undefined svc_fs
This fixes PD incident Q3ZNFWILVOFKU3. This issue was not caught in
testing - in fact after deleting a user the files were deleted as
expected, but it's unclear to me how I observed that with this issue
present.
2025-11-04 21:32:41 -05:00
KernelDeimos
4b959f3f4b dev: add proxy for PuterFSProvider
This temporary proxy provider will allow methods of the puterfs
filesystem type to be moved to an extension incrementally instead of all
at once. See comment above the class for a more detailed explanation.
2025-11-04 21:32:41 -05:00
Daniel Salazar
5ff8c7e040 feat: rawBody parser, user metadata column + other misc fixes (#1904) 2025-11-04 18:19:55 -08:00
KernelDeimos
cc7369d9d7 fix: also check this.entry.id when checking mysql_id
There is a case where this.entry.id has a value in FSNodeContext while
this.mysql_id does not. I was under the impression that this state was
not possibole. The cause of this eludes me. This commit does not correct
the root cause - it only adds a workaround to this issue by falling back
to this.entry.id if this.mysql_id is `undefined`.
2025-11-04 21:05:16 -05:00
KernelDeimos
a44e1fc074 fix: access internal ID without assuming fetch
It might not be okay to assume an fsentry was already fetched when
updating the accessed time in ll_read. I'd like to know what changed
this to make this be the case, if it happens to be the case.
2025-11-04 20:34:44 -05:00
KernelDeimos
19314d6496 sync: implement read in MemoryFS 2025-11-04 13:58:46 -05:00
KernelDeimos
875ecc051b clean: remove dead code from ll_write
The `_storage_upload` method in ll_write.js is no longer used, which
also means the LLWriteBase class is no longer necessary.
2025-11-04 13:58:46 -05:00
KernelDeimos
d936fc47b0 dev: move read implementation to PuterFSProvider 2025-11-04 13:58:46 -05:00
KernelDeimos
db8f45f386 fix: rm another ref to storage, rm dupe meter
There were two references to `storage` in file.js but the search string
I used only detected one of them. I was looking for more references to
`storage` when I found this one. Also, I realized the metering updates
in file.js become redundant if ll_read is used instead so I've removed
those as well.
2025-11-04 13:58:46 -05:00
Nariman Jelveh
f823eddfa5 make together.ai image and video models work! (#1881)
* make together ai image models work!

* add video models too!

* add costmaps for together ai image and video
2025-11-03 19:13:39 -08:00
Neal Shah
aa8860b3ea Add cache_control support and haiku 4.5 (#1897)
* Add cache_control support and haiku 4.5
2025-11-03 17:52:03 -05:00
Nariman Jelveh
9ae4e7227b Revert "fix(i18n): complete and clean up German translation (#1893)" (#1898)
This reverts commit 4e91774b95.
2025-11-03 14:33:42 -08:00
POLKAM ARAVIND
4e91774b95 fix(i18n): complete and clean up German translation (#1893) 2025-11-03 14:33:25 -08:00
Reynaldi Chernando
c82a7a0bf9 Add monthly and detailed app usage types (#1843) 2025-11-02 17:51:25 -08:00
jelveh
52751d5002 make Settings window resizable
fixes #1852
2025-11-02 14:52:10 -08:00
Daniel Salazar
85432c886e fix: adding more benign changes (#1891) 2025-11-02 06:48:56 -08:00
Daniel Salazar
11d2515cb2 fix: ts issue when building for deploy (#1890) 2025-11-02 06:36:02 -08:00
Daniel Salazar
e8e8fa92c2 cleanup: more benign changes (#1889) 2025-11-02 06:30:30 -08:00
Daniel Salazar
93aaeef9e0 fix: add back non-functional changes (#1888) 2025-11-02 06:17:59 -08:00
Daniel Salazar
758bef0582 Revert: commits for user metadata changes (#1887) 2025-11-02 06:09:13 -08:00
Daniel Salazar
823c06c371 fix: don't set metadata until migration (#1886) 2025-11-02 04:42:08 -08:00
Daniel Salazar
89a3a3228f fix: bad amount of sql params (#1880) 2025-11-01 17:52:43 -07:00
Daniel Salazar
98cf4bbb08 fix: bad amount of sql params (#1879) 2025-11-01 17:48:54 -07:00
Daniel Salazar
7085bcbb93 fix: bad naming (#1878) 2025-11-01 17:42:22 -07:00
Daniel Salazar
71fb04cd55 fix: allow stripe header and commit db migration (#1877)
* fix: allow stripe header

* fix: commit db migration
2025-11-01 16:16:49 -07:00
Xiaochen Cui
a0cd6ed781 ci: expose server logs (#1860) 2025-10-31 15:56:49 -07:00
Xiaochen Cui
38aa9009af ci: disable job "puterjs (browser env, playwright)" (#1871) 2025-10-31 15:56:21 -07:00
Daniel Salazar
603746951b feat: ui for dev account + util decorators for controllers in extension (#1864)
* fix: IPC trigger for dev account setup + util decorators for ext controllers

* feat: allow extension to bypass json

* fix: ts building in volatile
2025-10-31 15:48:21 -07:00
KernelDeimos
7cc79077d1 fix(fs): better errors for unresolved selectors
Adds an appropriate error at a couple different levels. The first is in
FilesystemService. Callers of FilesystemService.node are expected to
provide either an absolute path or an instance of a filesystem node
selector, but there wasn't an explicit check for this so instead an
arbitrary error (read property of undefined) would be thrown. The second
is a higher-level APIError in the batch executor that's a bit more
helpful than a 500 Internal Server Error.
2025-10-31 15:26:15 -04:00
Nariman Jelveh
d6a168e402 Revert "Update Norwegian Nynorsk translations in nn.js (#1859)" (#1874)
This reverts commit 783cd24e8b.
2025-10-31 11:33:20 -07:00
Palla. Gnana Sai Kiran
783cd24e8b Update Norwegian Nynorsk translations in nn.js (#1859)
Co-authored-by: Gnanasaikiran <gnanasaikiranpalla@gmail.com>
2025-10-31 11:33:06 -07:00
KernelDeimos
08e9ab399a clean: use window.sleep in place of setTimeout
Also another change to make duration handling consistent for the two
blocks of code that have the "ensure 2 seconds" logic.
2025-10-30 19:40:50 -04:00
KernelDeimos
e37e009305 refactor: reduce indentation and arithmetic
This commit reduces the indentation level and complex arithmetic inside
the createTempUser function in initgui. It is suspected that this change
should greatly reduce measures of the "cognitive complexity" metric.
2025-10-30 19:03:39 -04:00
KernelDeimos
52d4ca6caf fix: according to jquery spec, this is more robust
Apparently the callback operand of $.fn.fadeOut may be called more than
once if there are multiple matching elements. Although we expect there
to only be one element matching the selector `".captcha-modal"`, someone
editing the CSS and HTML would not expect such consequences to the
logic of captcha.
2025-10-30 19:03:39 -04:00
KernelDeimos
ec505366e6 fix: do not animate non-existing captcha modal
Calling `.fadeOut()` on the result of a jquery selector (i.e. the
evaluation of `$('.some-element-class')`, when it returns an object with
`length=0`) is a NOOP. That's right, it doesn't throw an error; it just
does nothing. This was preventing a temporary user from being created
when `.captcha-modal` isn't present because [the code intended to execute
after the animation] was never run. (square brackets for clarity because
the English is inherently ambiguous)
2025-10-30 19:03:39 -04:00
jelveh
e70c871c4d Update ExecService.js 2025-10-30 14:55:14 -07:00