Commit Graph
230 Commits
Author SHA1 Message Date
KernelDeimos 2d8e6240c6 feat(backend): add tip of day 2024-05-31 20:36:14 -04:00
KernelDeimos 4bdad75766 feat(backend): improve logger and reduce logs 2024-05-31 19:40:13 -04:00
KernelDeimos 522664d415 feat(backend): allow services to provide user properties 2024-05-31 18:10:11 -04:00
KernelDeimos fccabf1bc0 feat(backend): allow services to provide whoami values 2024-05-30 17:11:06 -04:00
Eric Dubé 0672562c8a Merge pull request #442 from HeyPuter/eric/extensibility
class registry for service scripts
2024-05-28 20:10:03 -04:00
KernelDeimos e050506a05 Add class registry (second pass)
ExportService gets removed and instead a global class registry is added.
The `init.js` file is split into `init_sync.js` and `init_async.js`
so that synchronous code that isn't dependent on imports is guarenteed
to run before initgui.js. The globalThis scope and service-script API
now expose `def`, a function for registering class definitions, and
`use`, a function for obtaining registered classes.
2024-05-28 19:06:00 -04:00
KernelDeimos cd574c87ef Fix the previous fix 2024-05-28 16:10:43 -04:00
KernelDeimos 4e3a24e609 fix: check subdomain earlier for /apps 2024-05-28 15:51:22 -04:00
Eric Dubé c495ccff65 Merge pull request #408 from AtkinsSJ/git-client
Add a git client
2024-05-28 12:10:01 -04:00
KernelDeimos 51bac4486f Add class registry (first pass)
In the first pass I add a `register` method and update `defineComponent`
so it calls `register` as well. This made it possible to create a
proof-of-concept for registered classes. Additionally ExportService was
added to expose registered classes to service scripts. This first pass
works, but it would be better if all types of classes (components or
otherwise) were registered via the same method.
2024-05-27 21:16:50 -04:00
KernelDeimos c0cb1cd2b8 refactor: add GetUserService 2024-05-26 00:31:51 -04:00
KernelDeimos cbfad2ef7a refactor(gui): add service scripts 2024-05-24 19:29:07 -04:00
KernelDeimos a1cfe7aef2 Allow services to register additional js files for gui 2024-05-23 18:41:34 -04:00
KernelDeimos 5042d49935 Simplify debugging runtime config object changes 2024-05-23 18:40:41 -04:00
KernelDeimos c89b50bf31 Refactor gui loading 2024-05-23 18:13:57 -04:00
Sam Atkins 0d2ffdb380 Add boilerplate for empty git app
It does nothing but output a message to the console.
2024-05-22 08:56:50 +01:00
KernelDeimos 1f6a2093fb Disallow negative size values 2024-05-21 18:46:34 -04:00
KernelDeimos 90463a0732 Add support for webhook endpoints 2024-05-21 17:25:28 -04:00
KernelDeimos 8cca067991 Fix 8688ha84v 2024-05-17 22:55:40 -04:00
Eric Dubé 80b763c47c Merge pull request #407 from AtkinsSJ/clean-suggested-apps
fix: Remove null or duplicate app entries from suggest_app_for_fsentry()
2024-05-17 15:46:06 -04:00
KernelDeimos e4543c5f35 Fix 8688ggu00 (2) 2024-05-17 12:32:16 -04:00
Sam Atkins 6900233c5a fix: Remove null or duplicate app entries from suggest_app_for_fsentry() 2024-05-17 15:34:36 +01:00
KernelDeimos c55b1e4680 Remove verification requirement on contact us form 2024-05-16 19:08:51 -04:00
KernelDeimos e3f57ee20e Add path builder 2024-05-16 19:02:58 -04:00
KernelDeimos 5031cea040 Update _default.js for deployment purposes 2024-05-16 18:55:59 -04:00
KernelDeimos 49b257ecff fix(security): Move token for socket.io to request body
Currently this commit breaks websocket events and needs to
be updated.
2024-05-16 17:58:44 -04:00
KernelDeimos f042b095f1 Fix 8688gxkuj 2024-05-16 17:25:41 -04:00
KernelDeimos 691c8f1436 Add locking to save_account 2024-05-15 18:22:54 -04:00
Eric Dubé b72e5b7e02 Merge pull request #401 from HeyPuter/eric/service-patches
Allow patching services
2024-05-15 15:47:14 -04:00
KernelDeimos c70e378973 Add error id for expired auth tokens 2024-05-15 15:42:00 -04:00
KernelDeimos 21444daefb Add jsdoc comments to registerService and patchService 2024-05-15 15:41:37 -04:00
KernelDeimos 2e0d7361cb Add method to patch services 2024-05-15 15:32:18 -04:00
Eric Dubé 6e0b6d84d2 Merge pull request #400 from AtkinsSJ/fix-apierror-includes
fix: Correct APIError imports
2024-05-15 13:51:04 -04:00
Sam Atkins 062e23b5c9 fix: Correct APIError imports
APIError is the only thing exported from its file, so we must not wrap
it in {}.
2024-05-15 17:47:15 +01:00
Sam Atkins a8160a8cdc fix: Add missing file extension to 0009_app-prefix-fix.sql in DB init 2024-05-15 10:18:28 +01:00
KernelDeimos 0b093dd57e Revoke other sessions when password is changed 2024-05-14 19:40:57 -04:00
KernelDeimos 923d5878c3 Prevent enable of 2FA without configure 2024-05-14 17:33:14 -04:00
KernelDeimos 800aef1942 Implement anti-CSRF for logout 2024-05-13 20:40:27 -04:00
KernelDeimos da7f73baa6 Add AntiCSRFService 2024-05-13 19:08:51 -04:00
KernelDeimos afb9d866b5 fix: Fix phoenix app prefix and TokenService test 2024-05-13 18:17:39 -04:00
KernelDeimos c2f1694107 Require password entry to disable 2FA 2024-05-13 16:00:07 -04:00
KernelDeimos 23215bd6f7 Move change_email/start to password-protected endpoint 2024-05-13 16:00:07 -04:00
KernelDeimos 1493cacb69 Add rate-limiting to new password change endpoint 2024-05-13 16:00:07 -04:00
KernelDeimos 9076fddc0d Add new password change endpoint 2024-05-13 16:00:07 -04:00
KernelDeimos a89c9d59cf Add UserProtectedEndpointsService 2024-05-13 16:00:07 -04:00
KernelDeimos d800b12569 refactor(backend): Trigger webserver events in webserver
We were triggering webserver events in Kernel. This change improves
adherence to separation-of-concerns and ensures event cascading is
working as expected. This also better formalizes the boot sequence.
2024-05-13 01:05:49 -04:00
Eric Dubé 3992fe1a45 Merge pull request #384 from AtkinsSJ/progress-dialogs
refactor: Replace several existing progress dialogs with one configurable one
2024-05-10 12:25:32 -04:00
Eric Dubé 17e08cafce Merge pull request #380 from AtkinsSJ/eslint-ci
Run ESLint on CI
2024-05-10 12:24:31 -04:00
KernelDeimos cd2daa1910 Require email verification for contact form 2024-05-09 19:40:34 -04:00
KernelDeimos 8b6bbe003d fix(security) Disable 2FA configure if 2FA is enabled 2024-05-09 18:04:58 -04:00