214 Commits

Author SHA1 Message Date
790cf0d571 chore (refactoring): support for edge case 2025-05-09 13:43:44 +10:00
396ea667c4 release (v0.6): new release 2025-04-05 13:55:23 +11:00
65cf080af7 fix (admin): report validation error
I've seen someone who mistakenly had updated their config secret key,
not sure if it was done by a weird password manager or a manual action
but that did corrupt their entire setup.

We now make sure value like secret key get validated before saving.
Didn't realise this would be necessary to start with as the appraoch has
always been "with great power come great responsability" but if it can
prevent catastrophic failure mode hapening by mistake, then we will be
making an exception to the moto
2025-02-06 21:06:55 +11:00
67275e32e9 chore (constant): env constants 2025-02-04 01:11:16 +11:00
22f17f17e6 chore (version): refactoring around configuration 2025-01-28 15:16:13 +11:00
f1b1d71f40 feature (signature): protect url param via signature 2025-01-15 01:09:53 +11:00
0d4709595c chore (refactoring): 3d app revamp 2025-01-13 22:53:02 +11:00
d30c3120b6 feature (plugins): expand and migrate plugin - #803
* chore (dockerfile): cleanup dockerfile

* feature (plugin): extend plugin interface

* chore (docker): setup new Dockerfile

* chore (dockerfile): update dockerfile
2025-01-13 15:41:04 +11:00
8422268a21 fix (#771): search from text editor 2024-12-14 20:49:26 +11:00
b1a35c7f54 fix (css): css rule issue 2024-12-05 17:51:47 +11:00
0dfa9b3335 fix (panic): concurrent map access
this fix a panic that can be replicated using the video thumbnail
plugin, opening up a page with a lot of videos. Under the hood, the
server would call ffmpeg that would make a bunch of HTTP range requests
that would call the cache concurrently, hence causing the panic
2024-12-02 16:28:38 +11:00
5e420cf5f3 fix (config): save config when disk is full
before this, if the user had a full disk, there wouldn't be any error
reported back whenever editing something in the admin
console as file.Close() would return nil ....

The only way to go around it is to wait for the sync to be done.
2024-11-28 02:03:35 +11:00
87a1987219 feature (upload): support for chunked uploads 2024-11-27 00:52:29 +11:00
96b566e22f fix (canary): canary cookie compat 2024-10-16 02:19:54 +11:00
ae0eb94c61 feature (middleware): expose gcm encrypt to templating 2024-07-22 22:48:18 +10:00
a6a202495c feature (patch): dynamic patching of assets
This is to enable static assets to be patched dynamically via a plugin.
The idea is to be able to apply things like custom branding, custom
banners and change in the behavior of the software via plugins that
override the core
2024-07-16 08:28:28 +10:00
5099422836 feature (languages): locale awareness for plugin 2024-07-01 19:11:35 +10:00
63ae5f2ed8 feature (middleware): middleware as a plugin 2024-06-26 23:47:07 +10:00
e1b477b65b feature (base): configurable base 2024-06-21 21:05:44 +10:00
28bf80ae2a chore (plg_backend_local): improve error message 2024-06-05 02:34:31 +10:00
fe7ad8f1ad fix (plugin): enable plugin extensions/override 2024-05-17 01:16:43 +10:00
be716e6cf9 fix (time): hide time whenever not available 2024-04-22 01:05:20 +10:00
dabdc03a73 chore (GenerateID): change signature for GenerateID 2024-04-15 22:18:16 +10:00
4244c9c604 feature (path): configurable path for generated data 2024-03-18 21:06:18 +11:00
da5d076e4e chore (log): logger init order 2024-03-18 20:59:51 +11:00
c96dd9f5d1 fix (test): broken utest 2024-03-13 01:12:12 +11:00
9e142d5de5 feature (dynamic): make configuration dynamic 2024-03-13 00:18:24 +11:00
845c4584d3 chore (log): simplify init logic 2024-03-12 17:29:42 +11:00
436f41b3d5 chore (cleanup): regroup app constants 2024-03-12 17:22:39 +11:00
6ad16259ef feature (plg_backend_local): better error handling 2024-01-01 23:31:45 +11:00
9323c73fa9 feature (plugin): add plugin hook to extend frontend code 2023-11-21 23:06:45 +11:00
3c379d50ee fix (api): api key validation 2023-10-31 08:43:47 +11:00
ac51227d50 fix (config): type error in featurs->share->redirect 2023-09-05 00:34:19 +10:00
b4572be6e9 feature (config): default value as env variable for log level 2023-06-09 00:47:47 +10:00
377434c17a fix (css): server page - enable custom background 2023-06-09 00:47:08 +10:00
b1766b4fe0 feature (error): infer http status when loading the base error page 2023-06-02 17:31:29 +10:00
c4e5da9169 fix (#605): regression for sharing link 2023-05-22 21:51:30 +10:00
1e562aa8e8 maintain (api): config endpoint refactoring 2023-04-25 10:47:44 +10:00
bb7840f27e feature (chromecast): image viewer chromecast support 2023-04-14 00:08:17 +10:00
86dde05507 fix (#533): json conversion issue 2023-03-31 08:20:51 +11:00
8ca7a0e3f9 maintain (path): absolute path
getting things ready to have config coming as a plugin to handle
various distributions
2023-03-02 20:15:56 +11:00
8059730720 feature (middleware): use translated errors in auth middleware 2023-02-28 21:19:50 +11:00
fd15e7255a maintain (log): additional logs for easier debugging
some people are experiencing issues with the data being lost somehow
but as of today we can't replicate that. Hopefully with this, we will
know a bit more about that
2023-02-09 08:48:40 +11:00
69b0b71ce5 feature (title): set title to general.name in static pages 2023-02-09 08:09:17 +11:00
d0d45d2b40 feature (plugin): onload callback 2023-01-27 21:14:44 +11:00
a78e817657 feature (thumbnailer): add plugin type for thumbnail generation 2022-12-02 07:09:11 +11:00
b6762ddd4c feature (input): password fields with view button 2022-11-25 16:38:00 +11:00
7d5719445c feature (standalone): reasonable default for standalone usage
we can now create fat binary build, we've optimise a few corner case
to make it nice to do so
2022-11-23 01:09:19 +11:00
1eea60cfb0 feature (embed): embed frontend assets from the binary 2022-11-22 23:03:33 +11:00
cb7f1693bd feature (config): encrypt sensitive fields in config.json 2022-11-22 08:12:36 +11:00