Commit graph

206 commits

Author SHA1 Message Date
MickaelK
8422268a21 fix (#771): search from text editor 2024-12-14 20:49:26 +11:00
MickaelK
b1a35c7f54 fix (css): css rule issue 2024-12-05 17:51:47 +11:00
MickaelK
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
MickaelK
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
MickaelK
87a1987219 feature (upload): support for chunked uploads 2024-11-27 00:52:29 +11:00
MickaelK
96b566e22f fix (canary): canary cookie compat 2024-10-16 02:19:54 +11:00
MickaelK
ae0eb94c61 feature (middleware): expose gcm encrypt to templating 2024-07-22 22:48:18 +10:00
MickaelK
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
MickaelK
5099422836 feature (languages): locale awareness for plugin 2024-07-01 19:11:35 +10:00
MickaelK
63ae5f2ed8 feature (middleware): middleware as a plugin 2024-06-26 23:47:07 +10:00
MickaelK
e1b477b65b feature (base): configurable base 2024-06-21 21:05:44 +10:00
MickaelK
28bf80ae2a chore (plg_backend_local): improve error message 2024-06-05 02:34:31 +10:00
MickaelK
fe7ad8f1ad fix (plugin): enable plugin extensions/override 2024-05-17 01:16:43 +10:00
MickaelK
be716e6cf9 fix (time): hide time whenever not available 2024-04-22 01:05:20 +10:00
MickaelK
dabdc03a73 chore (GenerateID): change signature for GenerateID 2024-04-15 22:18:16 +10:00
MickaelK
4244c9c604 feature (path): configurable path for generated data 2024-03-18 21:06:18 +11:00
MickaelK
da5d076e4e chore (log): logger init order 2024-03-18 20:59:51 +11:00
MickaelK
c96dd9f5d1 fix (test): broken utest 2024-03-13 01:12:12 +11:00
MickaelK
9e142d5de5 feature (dynamic): make configuration dynamic 2024-03-13 00:18:24 +11:00
MickaelK
845c4584d3 chore (log): simplify init logic 2024-03-12 17:29:42 +11:00
MickaelK
436f41b3d5 chore (cleanup): regroup app constants 2024-03-12 17:22:39 +11:00
MickaelK
6ad16259ef feature (plg_backend_local): better error handling 2024-01-01 23:31:45 +11:00
MickaelK
9323c73fa9 feature (plugin): add plugin hook to extend frontend code 2023-11-21 23:06:45 +11:00
Stéphane Lam
3c379d50ee
fix (api): api key validation 2023-10-31 08:43:47 +11:00
Mickael Kerjean
ac51227d50 fix (config): type error in featurs->share->redirect 2023-09-05 00:34:19 +10:00
Mickael Kerjean
b4572be6e9 feature (config): default value as env variable for log level 2023-06-09 00:47:47 +10:00
Mickael Kerjean
377434c17a fix (css): server page - enable custom background 2023-06-09 00:47:08 +10:00
Mickael Kerjean
b1766b4fe0 feature (error): infer http status when loading the base error page 2023-06-02 17:31:29 +10:00
Mickael Kerjean
c4e5da9169 fix (#605): regression for sharing link 2023-05-22 21:51:30 +10:00
Mickael Kerjean
1e562aa8e8 maintain (api): config endpoint refactoring 2023-04-25 10:47:44 +10:00
Mickael Kerjean
bb7840f27e feature (chromecast): image viewer chromecast support 2023-04-14 00:08:17 +10:00
Mickael Kerjean
86dde05507 fix (#533): json conversion issue 2023-03-31 08:20:51 +11:00
Mickael Kerjean
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
Mickael Kerjean
8059730720 feature (middleware): use translated errors in auth middleware 2023-02-28 21:19:50 +11:00
Mickael Kerjean
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
Mickael Kerjean
69b0b71ce5 feature (title): set title to general.name in static pages 2023-02-09 08:09:17 +11:00
Mickael Kerjean
d0d45d2b40 feature (plugin): onload callback 2023-01-27 21:14:44 +11:00
Mickael Kerjean
a78e817657 feature (thumbnailer): add plugin type for thumbnail generation 2022-12-02 07:09:11 +11:00
Mickael Kerjean
b6762ddd4c feature (input): password fields with view button 2022-11-25 16:38:00 +11:00
Mickael Kerjean
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
Mickael Kerjean
1eea60cfb0 feature (embed): embed frontend assets from the binary 2022-11-22 23:03:33 +11:00
Mickael Kerjean
cb7f1693bd feature (config): encrypt sensitive fields in config.json 2022-11-22 08:12:36 +11:00
Mickael Kerjean
df5371c7ee maintain (plugin): interface name for authorisation plugin 2022-11-14 19:54:22 +11:00
Mickael Kerjean
81af97acd2 improve (css): form design for page 2022-11-12 22:46:15 +11:00
Mickael Kerjean
3b5bc80565 improve (UX): eye candy 2022-11-10 02:39:29 +11:00
Mickael Kerjean
9a98da7978 feature (config): toggle for config file encryption
optin config encryption #482
2022-11-10 00:19:45 +11:00
Mickael Kerjean
7b4e3eba79 feature (admin): simplify admin backend page 2022-11-09 08:09:01 +11:00
Mickael Kerjean
e0f2f29307 feature (htpasswd): new authentication middleware 2022-11-09 14:00:48 +11:00
Mickael Kerjean
ce935525db fix (config): concurrent issue
fatal error: sync: unlock of unlocked mutex

goroutine 6 [running]:
runtime.throw(0x1420562, 0x1e)
	/usr/local/go/src/runtime/panic.go:1117 +0x72 fp=0xc0000b5ec8 sp=0xc0000b5e98 pc=0x439e92
sync.throw(0x1420562, 0x1e)
	/usr/local/go/src/runtime/panic.go:1103 +0x35 fp=0xc0000b5ee8 sp=0xc0000b5ec8 pc=0x46e395
sync.(*Mutex).unlockSlow(0x1f97138, 0xffffffff)
	/usr/local/go/src/sync/mutex.go:196 +0xd8 fp=0xc0000b5f10 sp=0xc0000b5ee8 pc=0x47d458
sync.(*Mutex).Unlock(...)
	/usr/local/go/src/sync/mutex.go:190
github.com/mickael-kerjean/filestash/server/common.(*Configuration).Get(0x1f97120, 0x140a506, 0x14, 0x0)
	/home/mickael/Documents/projects/filestash/server/common/config.go:438 +0x113 fp=0xc0000b5f90 sp=0xc0000b5f10 pc=0x7ba313
github.com/mickael-kerjean/filestash/server/common.init.0.func1(0x0)
	/home/mickael/Documents/projects/filestash/server/common/api.go:16 +0x46 fp=0xc0000b5fc0 sp=0xc0000b5f90 pc=0x7c7906
github.com/mickael-kerjean/filestash/server/common.init.0.func3()
	/home/mickael/Documents/projects/filestash/server/common/api.go:40 +0x29 fp=0xc0000b5fe0 sp=0xc0000b5fc0 pc=0x7c7c49
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1371 +0x1 fp=0xc0000b5fe8 sp=0xc0000b5fe0 pc=0x4733e1
created by github.com/mickael-kerjean/filestash/server/common.init.0
	/home/mickael/Documents/projects/filestash/server/common/api.go:39 +0x5a

goroutine 1 [runnable, locked to thread]:
os.(*File).Read(0xc000186000, 0xc000280400, 0x100, 0x100, 0x401, 0xc000280000, 0x400)
	/usr/local/go/src/os/file.go:113 +0x265
io.ReadAll(0x1677e40, 0xc000186000, 0x0, 0x1ff, 0xc000186000, 0x0, 0x0)
	/usr/local/go/src/io/io.go:633 +0xdf
io/ioutil.ReadAll(...)
	/usr/local/go/src/io/ioutil/ioutil.go:27
github.com/mickael-kerjean/filestash/server/common.LoadConfig(0x0, 0x0, 0x0, 0x1fc66e0, 0x0)
	/home/mickael/Documents/projects/filestash/server/common/config_state.go:32 +0x85
github.com/mickael-kerjean/filestash/server/common.(*Configuration).Load(0x1f97120)
	/home/mickael/Documents/projects/filestash/server/common/config.go:214 +0x34
github.com/mickael-kerjean/filestash/server/common.init.1()
	/home/mickael/Documents/projects/filestash/server/common/config.go:53 +0x85
2022-10-10 08:22:45 +11:00
Mickael Kerjean
9f083ea94c improve (logger): logger interface for tests or plugin swap 2022-10-06 08:02:25 +11:00