Commit Graph

195 Commits

Author SHA1 Message Date
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
Johannes Zellner 242c091add Add ability to register a Cloudron with a setupToken only 2023-12-02 18:20:13 +01:00
Girish Ramakrishnan eee49a8291 move dashboard setting into dashboard.js 2023-08-11 21:04:10 +05:30
Girish Ramakrishnan fb9d8c23e1 move appstore urls into appstore.js 2023-08-04 15:41:41 +05:30
Girish Ramakrishnan 6aad89ae6e demo is just a constant, not a setting 2023-08-04 14:13:30 +05:30
Girish Ramakrishnan 47d57a3971 fold sysinfo into network
the backends are network backends
2023-08-03 13:38:42 +05:30
Girish Ramakrishnan eb4213d61d settings: cloudronId is only ever set
we use subscription API to get the cloudronId, never from database
2023-08-02 23:02:40 +05:30
Girish Ramakrishnan 85a73af303 settings: remove appstore listing config
this is not used anymore
2023-08-02 23:02:40 +05:30
Girish Ramakrishnan be4c3575fb settings: move web/api token to appstore 2023-08-02 23:02:40 +05:30