Commit Graph

214 Commits

Author SHA1 Message Date
Girish Ramakrishnan 6533ba4581 appstore: include provider as part of state 2026-01-29 11:46:57 +01:00
Johannes Zellner e12f5e41ff Better error for invalid update versions 2026-01-06 15:54:55 +01:00
Girish Ramakrishnan f714cd66f7 rework mail domain stats
We can now show list count, alias count as well in the mail domains UI
2025-12-05 13:32:07 +01:00
Johannes Zellner a261d8b754 Do not allow unlinking from cloudron.io account in demo mode 2025-10-31 08:47:05 +01:00
Girish Ramakrishnan 5b43de944d activation: update features after registering cloudron 2025-10-02 11:18:42 +02:00
Johannes Zellner f69bdd1ac4 This aint the real superagent 2025-10-01 17:16:21 +02:00
Johannes Zellner 01f10baa18 subscription POST api is /subscription3 2025-10-01 16:46:30 +02:00
Johannes Zellner 23178b24c6 Send cloudron state along with fetching subscription state 2025-10-01 16:44:53 +02:00
Johannes Zellner 295aafddf0 Use appUpdates feature flag 2025-10-01 14:35:14 +02:00
Johannes Zellner 38267a26c1 Send some metrics 2025-09-29 16:16:22 +02:00
Girish Ramakrishnan 8a20c1812f Fix cloudron appstore link 2025-09-24 22:11:43 +02:00
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