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 |
|