Commit Graph

9644 Commits

Author SHA1 Message Date
Girish Ramakrishnan
eae86d15ef Update modules 2026-02-14 19:49:42 +01:00
Girish Ramakrishnan
361d80da17 make tests work again 2026-02-14 19:45:10 +01:00
Girish Ramakrishnan
2597402496 make build work across server restart
tmp files disappear on server restart
2026-02-14 19:37:14 +01:00
Girish Ramakrishnan
b71e503a01 more ESM cleanups 2026-02-14 16:52:16 +01:00
Girish Ramakrishnan
e9f96593c3 reorder functions for no-use-before-define 2026-02-14 16:34:34 +01:00
Girish Ramakrishnan
36aa641cb9 migrate to "export default"
also, set no-use-before-define in linter
2026-02-14 15:43:24 +01:00
Girish Ramakrishnan
96dc79cfe6 Migrate codebase from CommonJS to ES Modules
- Convert all require()/module.exports to import/export across 260+ files
- Add "type": "module" to package.json to enable ESM by default
- Add migrations/package.json with "type": "commonjs" to keep db-migrate compatible
- Convert eslint.config.js to ESM with sourceType: "module"
- Replace __dirname/__filename with import.meta.dirname/import.meta.filename
- Replace require.main === module with process.argv[1] === import.meta.filename
- Remove 'use strict' directives (implicit in ESM)
- Convert dynamic require() in switch statements to static import lookup maps
  (dns.js, domains.js, backupformats.js, backupsites.js, network.js)
- Extract self-referencing exports.CONSTANT patterns into standalone const
  declarations (apps.js, services.js, locks.js, users.js, mail.js, etc.)
- Lazify SERVICES object in services.js to avoid circular dependency TDZ issues
- Add clearMailQueue() to mailer.js for ESM-safe queue clearing in tests
- Add _setMockApp() to ldapserver.js for ESM-safe test mocking
- Add _setMockResolve() wrapper to dig.js for ESM-safe DNS mocking in tests
- Convert backupupload.js to use dynamic imports so --check exits before
  loading the module graph (which requires BOX_ENV)
- Update check-install to use ESM import for infra_version.js
- Convert scripts/ (hotfix, release, remote_hotfix.js, find-unused-translations)
- All 1315 tests passing

Migration stats (AI-assisted using Cursor with Claude):
- Wall clock time: ~3-4 hours
- Assistant completions: ~80-100
- Estimated token usage: ~1-2M tokens

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-14 15:11:45 +01:00
Girish Ramakrishnan
e0e9f14a5e mail: increase solr timeout 2026-02-14 01:23:23 +01:00
Johannes Zellner
5724ca73b4 Add passkey support 2026-02-13 17:18:56 +01:00
Girish Ramakrishnan
ae09c19b69 filemanager: open terminal in cwd 2026-02-12 20:30:57 +01:00
Girish Ramakrishnan
e76d4b3474 tests: fix app passwords test 2026-02-12 19:57:34 +01:00
Girish Ramakrishnan
88a44ee065 oidc: add alg to the jwks keys 2026-02-12 19:42:00 +01:00
Girish Ramakrishnan
e9c3e42aa6 appPassword: add expiry 2026-02-12 16:23:31 +01:00
Girish Ramakrishnan
93a0063941 backups: add stop_integrity_check route 2026-02-09 22:00:40 +01:00
Johannes Zellner
a786e6c8f5 Do not crash if we have a new user without a username yet 2026-02-09 20:34:05 +01:00
Girish Ramakrishnan
b433191b35 community: skip revoked versions 2026-02-09 16:11:55 +01:00
Girish Ramakrishnan
d75ad44315 mail: fix haraka crash 2026-02-09 16:04:13 +01:00
Girish Ramakrishnan
c3d3c3a6e9 app: if repo changes, do not autoupdate 2026-02-09 15:51:47 +01:00
Girish Ramakrishnan
b9b8ccb8ae community: stable/unstable 2026-02-09 15:51:47 +01:00
Girish Ramakrishnan
5a56a7c8af community: show packager info 2026-02-09 15:51:47 +01:00
Girish Ramakrishnan
fa5cbfc304 mail: allow comma in email display name 2026-02-09 11:01:47 +01:00
Girish Ramakrishnan
5276321ade integrity: add integrity check fields and initial UI 2026-02-08 23:26:57 +01:00
Girish Ramakrishnan
6303602323 graphite: update go-carbon to 0.19.1 2026-02-07 12:01:25 +01:00
Girish Ramakrishnan
486fb0d10a collectd is gone 2026-02-07 11:45:12 +01:00
Girish Ramakrishnan
2a244bb8d4 Update versions format to have a root 2026-02-06 22:39:29 +01:00
Girish Ramakrishnan
a9ae34b149 community: download iconUrl
also rename existing db field appStoreIcon to packageIcon
2026-02-06 19:13:55 +01:00
Girish Ramakrishnan
5ca2078461 add iconUrl to manifest 2026-02-06 18:04:47 +01:00
Girish Ramakrishnan
4461e7225f validate versions file 2026-02-06 17:35:59 +01:00
Girish Ramakrishnan
3d7a5676d8 lint 2026-02-05 23:22:26 +01:00
Girish Ramakrishnan
aa362477e8 community: validate the url in the dialog 2026-02-05 22:40:37 +01:00
Girish Ramakrishnan
d6eb6d3e3e community: store versionsUrl in the database 2026-02-05 19:32:29 +01:00
Girish Ramakrishnan
91b8f1a457 oidc: do not fail on notification failure 2026-02-05 18:26:14 +01:00
Girish Ramakrishnan
a7de7fb286 initial implementation of community packages 2026-02-05 14:21:50 +01:00
Girish Ramakrishnan
17b0c3e48d services: Graphite -> Metrics 2026-02-04 11:33:40 +01:00
Johannes Zellner
b9af8ee6be Send the service name when listing services 2026-02-03 18:32:11 +01:00
Girish Ramakrishnan
dfe2d27709 comment out some logs 2026-01-31 12:09:55 +01:00
Girish Ramakrishnan
1594d190eb update: skip backup site check when skipBackup is true 2026-01-30 09:52:52 +01:00
Johannes Zellner
5bd803e6b4 hetznercloud wants name instead of search_name for zones 2026-01-29 15:35:29 +01:00
Girish Ramakrishnan
6533ba4581 appstore: include provider as part of state 2026-01-29 11:46:57 +01:00
Johannes Zellner
aa84cb0079 Actually make multiplart also optional 2026-01-28 14:17:22 +01:00
Johannes Zellner
70476bd168 Use jsonOrMultipart instead of jsonOptional and multipart 2026-01-27 22:01:18 +01:00
Johannes Zellner
a7929e142f Build local image for updates in apptask 2026-01-27 22:01:18 +01:00
Johannes Zellner
fd0d65b8ce Keep the app source archive with the app instance data dir 2026-01-27 22:01:18 +01:00
Johannes Zellner
ef2a94c2c8 use local/id:version-ts as docker image tag for locally built apps 2026-01-27 22:01:18 +01:00
Johannes Zellner
b43daf2f08 Use the uploaded app source tarball to build a local docker image 2026-01-27 22:01:18 +01:00
Johannes Zellner
280f628746 Accept json body or formdata in app install route 2026-01-27 22:01:18 +01:00
Johannes Zellner
713774c03f Attempt to parse formdata fields as json 2026-01-27 22:01:18 +01:00
Johannes Zellner
0889c1531e Optionally allow json middleware to not check the content-type 2026-01-27 22:01:18 +01:00
Girish Ramakrishnan
87780a2fc8 sftp: update modules 2026-01-23 16:52:52 +01:00
Girish Ramakrishnan
a6286bb67e mongodb: fcv fix
have to upgrade mongodb to 8.0 first
2026-01-23 13:48:01 +01:00