Johannes Zellner
|
918c2f8587
|
Move to @cloudron/safetydance
|
2026-04-01 09:49:34 +02:00 |
|
Girish Ramakrishnan
|
e48cdc85f7
|
notifications: subscribe owner and users to all by default
|
2026-03-27 09:14:18 +01:00 |
|
Girish Ramakrishnan
|
f2949c1836
|
notifications: send email when manual app update is required
|
2026-03-21 15:59:41 +01:00 |
|
Girish Ramakrishnan
|
cd6acfb91d
|
notifications: send email when manual platform update is required
|
2026-03-21 15:38:12 +01:00 |
|
Girish Ramakrishnan
|
8f1f3645b2
|
app update: if backup fails, provide a notification
fixes #851
|
2026-03-15 14:48:07 +05:30 |
|
Girish Ramakrishnan
|
f12b4faf34
|
lint
|
2026-03-12 23:23:23 +05:30 |
|
Girish Ramakrishnan
|
01d0c738bc
|
replace debug() with our custom logger
mostly we want trace() and log(). trace() can be enabled whenever
we want by flipping a flag and restarting box
|
2026-03-12 23:08:35 +05:30 |
|
Girish Ramakrishnan
|
b5a1554631
|
Fix various linter errors
|
2026-02-15 19:37:30 +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
|
aa362477e8
|
community: validate the url in the dialog
|
2026-02-05 22:40:37 +01:00 |
|
Johannes Zellner
|
70a9a66ae9
|
Do not order notifcations by check/unchecked
|
2026-01-23 13:03:12 +01:00 |
|
Girish Ramakrishnan
|
4962597f58
|
Remove forum message from installation notification
|
2025-09-25 08:31:16 +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 |
|
Girish Ramakrishnan
|
c184f1e42e
|
mailer: handle error at the caller instead
the send test email logic breaks if we disable throwing error in send
|
2025-08-06 10:18:09 +02:00 |
|
Girish Ramakrishnan
|
0cf0c7a27c
|
notifications: add low disk space notification
|
2025-05-07 13:19:20 +02:00 |
|
Girish Ramakrishnan
|
12794a499d
|
domains: validate domain configs in a cron
no email notification yet, we have to rework this notifications/eventlog stuff
|
2025-02-17 19:11:11 +01:00 |
|
Girish Ramakrishnan
|
ac0426d97d
|
notification: update failure mail
|
2025-01-24 18:44:44 +01:00 |
|
Girish Ramakrishnan
|
0280059c13
|
notifications: server reboot email
|
2025-01-19 11:18:49 +01:00 |
|
Girish Ramakrishnan
|
8a97b7efa4
|
notifications: send unacked ones first
|
2025-01-02 16:50:31 +01:00 |
|
Girish Ramakrishnan
|
be340580d4
|
various notification fixes
|
2024-12-11 23:58:17 +01:00 |
|
Girish Ramakrishnan
|
d0d0913c70
|
notifications: add context field
|
2024-12-11 22:29:00 +01:00 |
|
Girish Ramakrishnan
|
701c25d07a
|
notifications: add back app down and app oom mails
|
2024-12-11 20:56:15 +01:00 |
|
Girish Ramakrishnan
|
6004cd17bf
|
notifications: per user email prefs
|
2024-12-11 19:12:20 +01:00 |
|
Girish Ramakrishnan
|
746e694d7e
|
notifications: rename alert to pin and unpin
|
2024-12-11 17:31:32 +01:00 |
|
Girish Ramakrishnan
|
ead419003b
|
notifications: rename ALERT_ to TYPE_
|
2024-12-11 15:29:20 +01:00 |
|
Johannes Zellner
|
9f06b91399
|
Merge remaining frontend into dashboard
|
2024-10-04 21:37:17 +02:00 |
|
Johannes Zellner
|
e91536b9e1
|
Alert() should also update type
|
2023-09-26 14:14:09 +02:00 |
|
Johannes Zellner
|
8f87070b45
|
Add color coded indicator to notifications
|
2023-09-26 12:58:19 +02:00 |
|
Johannes Zellner
|
b72a5e9c69
|
Add notification types
|
2023-09-22 17:58:13 +02:00 |
|
Johannes Zellner
|
246c45c1bc
|
Fixup logviewer URL for backup failed email
|
2023-08-26 09:36:17 +02:00 |
|
Girish Ramakrishnan
|
eee49a8291
|
move dashboard setting into dashboard.js
|
2023-08-11 21:04:10 +05:30 |
|
Girish Ramakrishnan
|
67ee82abb9
|
remove settings.dashboardOrigin
|
2023-08-04 22:10:14 +05:30 |
|
Girish Ramakrishnan
|
8205beeabf
|
notifications: make update alerts non-persistent
once acked, they remain acked. no need to keep nagging the user about them.
|
2023-03-26 15:12:39 +02:00 |
|
Girish Ramakrishnan
|
9182b01fe0
|
rework notifications.add
|
2023-03-26 14:43:10 +02:00 |
|
Girish Ramakrishnan
|
61ba3cbfc2
|
notifications: clearAlert
|
2023-03-26 14:18:37 +02:00 |
|
Johannes Zellner
|
fc8572c2af
|
Raise alert for when an app cannot be autoupdated
|
2022-08-10 12:19:54 +02:00 |
|
Girish Ramakrishnan
|
1549f6a4d0
|
fix various terminology in code
subdomain, domain - strings
location - { subdomain, domain }
bundle - { cert, key }
bundlePath - { certFilePath, keyFilePath }
vhost is really just for virtual hosting
fqdn for others
|
2022-07-13 10:15:09 +05:30 |
|
Girish Ramakrishnan
|
d47b39d90b
|
eventlog: distinguish install vs update finish
|
2022-04-01 14:19:53 -07:00 |
|
Girish Ramakrishnan
|
5ab2d9da8a
|
notifications: remove dead code
|
2021-11-17 10:26:47 -08:00 |
|
Girish Ramakrishnan
|
445c83c8b9
|
make auditsource a class
this allows us to use AuditSource for the class and auditSource for
the instances!
|
2021-09-30 10:13:36 -07:00 |
|
Girish Ramakrishnan
|
50c68cd499
|
notifications: better oom message for redis
fixes #795
|
2021-09-19 17:34:41 -07:00 |
|
Girish Ramakrishnan
|
dd16866e5a
|
eventlog: getAll -> list
|
2021-08-20 11:27:35 -07:00 |
|
Girish Ramakrishnan
|
4cd5137292
|
mailer: fix error handling
previous mailer code has no callback and thus no way to pass back errors.
now with asyncification it passes back the error
|
2021-08-19 12:40:53 -07:00 |
|
Johannes Zellner
|
a6e79c243e
|
Show correct/new app version info in updated finished notification
|
2021-07-31 14:17:51 +02:00 |
|
Girish Ramakrishnan
|
a1c61facdc
|
merge userdb.js into users.js
|
2021-07-16 22:33:22 -07:00 |
|
Girish Ramakrishnan
|
db685d3a56
|
notification: app updated message shown despite failure
|
2021-07-13 14:27:53 -07:00 |
|
Johannes Zellner
|
cdad2a80d4
|
Remove unused require
|
2021-06-30 17:19:30 +02:00 |
|
Girish Ramakrishnan
|
9c0f983ce1
|
backups: fix failure notitification
|
2021-06-24 01:44:46 -07:00 |
|