Commit Graph

203 Commits

Author SHA1 Message Date
Girish Ramakrishnan
98d4d99c1b appstore: add unlink account route 2025-09-24 21:49:24 +02:00
Girish Ramakrishnan
5723717576 appstore: add note on token check 2025-09-24 20:56:54 +02:00
Girish Ramakrishnan
43cc91aca2 fix tests 2025-09-13 15:22:01 +02:00
Girish Ramakrishnan
82c8fa2640 Revert "Add generic 412 http response handler to ask for dashboard refresh"
This reverts commit 11a6cf8236.

It's unclear in what situations a 412 handler that refreshes the dashboard will help.

We use BoxError.INVALID_CREDENTIALS to be 412.

* Used as internal error code for failed password, app password and totp check
* When password is wrong in external ldap syncing
* appstore token is invalid

In all cases, a dashboard refresh will do nothing afaict. For good measure, I have
converted appstore token case into LICENSE_ERROR which is a 402.
2025-09-11 12:42:12 +02:00
Johannes Zellner
d6d70163d5 Do not reregister during activation if already registerd by setupToken 2025-08-20 17:50:43 +02:00
Girish Ramakrishnan
12e073e8cf use node: prefix for requires
mostly because code is being autogenerated by all the AI stuff using
this prefix. it's also used in the stack trace.
2025-08-14 12:55:35 +05:30
Johannes Zellner
4fa65099f9 Add multipleBackupTargets and encryptedBackups to features 2025-08-05 12:03:32 +02:00
Girish Ramakrishnan
e7799fef1c appstore: fail properly for non-200 when downloading icon 2025-07-21 12:11:26 +02:00
Johannes Zellner
ce63dbde1b Check current subscription status once a day 2025-07-16 22:11:11 +02:00
Girish Ramakrishnan
313256adff use @cloudron/manifest-format 2025-07-10 11:17:04 +02:00
Girish Ramakrishnan
6ac0cd421a use the @cloudron/superagent module 2025-07-10 10:56:05 +02:00
Girish Ramakrishnan
19c9d7d59d updateInfo: move updateInfo into apps table
this has many advantages:
* easy to deliver the updateInfo via the apps object
* after updating, the task can clear it
* when apps are deleted, the info is automatically gone

otherwise, it's a mess of deps between apps/updater/apptask/rest routes

box update info is still in a file
2025-06-26 15:47:15 +02:00
Girish Ramakrishnan
e0af49f638 appstore: automatic is not stableOnly 2025-06-25 18:17:29 +02:00
Girish Ramakrishnan
ef9a17a28a appstore: make the features file readable 2025-06-13 10:50:04 +02:00
Johannes Zellner
23f7c1522e Always start with default features 2025-06-10 11:08:17 +02:00
Johannes Zellner
a556237963 Ensure we start with a default features set if features file cannot be loaded/parsed 2025-06-10 09:34:15 +02:00
Girish Ramakrishnan
0f3eb42332 test: fix provision test 2025-06-06 15:48:21 +02:00
Girish Ramakrishnan
1b6e283ac1 appstore: better error message 2025-06-06 13:45:23 +02:00
Girish Ramakrishnan
7b9504c5b4 test: add provision test 2025-06-06 13:39:30 +02:00
Girish Ramakrishnan
c49050ea69 appstore: removed old route and rename to reset_cloudron_id 2025-06-06 13:39:30 +02:00
Girish Ramakrishnan
73bd3e513c appstore: fix response fields from register_cloudron3 2025-06-06 10:19:37 +02:00
Girish Ramakrishnan
2c2a24c31b support: remove createTicket
there is no form to create tickets anymore since a while
2025-06-06 09:51:07 +02:00
Girish Ramakrishnan
28a1c254d9 activation: move registration into provision model code 2025-06-06 09:31:31 +02:00
Johannes Zellner
16c8721d6c Show subscription badge where required and disable UI elements accordingly 2025-05-13 18:11:10 +02:00
Johannes Zellner
b8dcfcf900 Remove app purchase/unpurchase 2025-05-13 11:46:13 +02:00
Johannes Zellner
faf6ea83fa Add provisional cloudron flow 2025-05-13 11:38:54 +02:00
Girish Ramakrishnan
ea4c140ad0 appstore: lazy load the feature cache
the tests work more reliably with this
2025-05-09 09:50:01 +02:00
Johannes Zellner
a67b4a5059 Add branding hooks for plan usage 2025-05-07 21:33:33 +02:00
Johannes Zellner
d831624d43 Do not crash if the cached feature file cannot be loaded 2025-05-07 16:22:17 +02:00
Johannes Zellner
186a336232 null in features means 'unlimited' 2025-05-07 15:37:31 +02:00
Johannes Zellner
974fd19b40 Ensure we always have a features object expected by that version 2025-05-07 15:03:26 +02:00
Johannes Zellner
21d7dd873e Adjust feature set 2025-05-06 18:49:56 +02:00
Girish Ramakrishnan
8e58349bfa replace with custom superagent based on fetch API 2025-02-15 15:14:09 +01:00
Girish Ramakrishnan
bd44bb4534 groups: add app access tests 2025-02-12 14:21:46 +01:00
Girish Ramakrishnan
0df1e3a47f appstore: networkError is an aggreate error 2024-10-30 18:30:53 +01:00
Girish Ramakrishnan
78a08c5a0b Use a real string as second argument since message can be undefined 2024-10-30 17:59:55 +01:00
Girish Ramakrishnan
61341b8380 boxerror: always pass second error string 2024-10-30 17:32:12 +01:00
Girish Ramakrishnan
6c3ca9c364 shell: rework code to use shell.spawn
spawn gives out streams and we have more control over the stdout/stderr
buffers. otherwise, we have to provide a max buffer capture size to exec
2024-10-15 12:13:46 +02:00
Girish Ramakrishnan
a9e1d7641d shell: make require take a tag 2024-10-14 21:08:32 +02:00
Girish Ramakrishnan
1148724613 boxerror: handle AggregateError 2024-09-19 11:44:47 +02:00
Girish Ramakrishnan
2d04ec2308 appstore: check response is an image 2024-06-15 17:31:49 +02:00
Girish Ramakrishnan
ba0ab68f50 appstore: validate the id and the version 2024-06-15 17:11:11 +02:00
Girish Ramakrishnan
825fe21bd9 lint 2024-06-15 17:03:54 +02:00
Girish Ramakrishnan
3787f90283 appstore: bump timeout to 60s instead of 30s
this timeout is hit on some servers (which have some networking
issue). unfortunately, this triggers a bug in superagent -
https://github.com/ladjs/superagent/issues/1801
2024-04-23 11:41:51 +02:00
Girish Ramakrishnan
1cf315634c appstore: check the type of unstable field 2024-04-16 19:19:27 +02:00
Girish Ramakrishnan
23de5b5a61 appstore: move existing apps sync to common code 2024-02-26 11:37:23 +01:00
Girish Ramakrishnan
a6f078330f shell: no need to promise scoping 2024-02-21 19:40:27 +01:00
Girish Ramakrishnan
9b94cf18d0 convert more execSync to async 2024-02-21 11:00:12 +01:00
Johannes Zellner
5971d3bf77 Better error handling for setupToken 2023-12-02 18:20:13 +01:00
Johannes Zellner
cca3138f05 Remove appstore web token api 2023-12-02 18:20:13 +01:00