Commit graph

922 commits

Author SHA1 Message Date
MickaelK
9f275e967b chore (legacy): remove legacy stuff 2025-05-26 16:57:36 +10:00
MickaelK
c1834faa23 feature (thumbnail): revamp thumbnail plugin
We revamped the plugin so it doesn't have extra dependencies. The issue
is when images have external dependencies, forcing users to use
something like docker to satisfy those but as we see these days, we can
ship the viewer for heic as a wasm plugin existing client side and can
focus on building a smaller footprint server
2025-05-26 15:34:38 +10:00
MickaelK
7d1853ce39 feature (plugin): download plugin feature 2025-05-23 01:10:46 +10:00
MickaelK
ad14ad658a chore (maintenance): image thumbnail
the issue of plg_image_c is its reliance on shared libraries like libraw
which depends on lcms2 and libheif which depends on a whole bunch of
other stuff. That make releasing a fat binary that just work of
Filestash tricky

if someone ever read this, I would gladly get help to integrate the
whole build of those things within CI without prolonging the build time
by 2 hours.
2025-05-22 02:23:28 +10:00
MickaelK
2adad52308 feature (plugin): multi patch plugin
before this, we couldn't have multiple override plugin pointing to the
same file
2025-05-13 00:51:30 +10:00
MickaelK
d5628fd03d fix (s3): region issue on s3
for server like versitygw which as of today doesn't support
getBucketLocation, we'd be sending the wrong region through
2025-05-12 21:05:17 +10:00
MickaelK
790cf0d571 chore (refactoring): support for edge case 2025-05-09 13:43:44 +10:00
MickaelK
ac95d9ea75 chore (image): revamp image viewer 2025-05-08 22:11:03 +10:00
MickaelK
7858b29cf5 fix (embed): Filestash embedding issue
whenever embedding something with a locale setup, it would crash while
trying to download the translation. This was due to some
missunderstanding of how fetch work while in an iframe and all the
reports would get miss because of that same issue as it was sent not to
the origin server but the website embedding the frame
2025-04-30 17:23:20 +10:00
MickaelK
73bab4a2e3 feature (3d): handle mesh files 2025-04-29 13:51:56 +10:00
MickaelK
3b6253cfbd feature (plg_application_3d): revamp support for 3d files 2025-04-23 00:36:38 +10:00
MickaelK
6277d00250 chore (readme): plugin doc 2025-04-15 21:39:38 +10:00
MickaelK
bf69108c54 feature (plg_override_actiondelete): delete icon on file 2025-04-09 21:02:04 +10:00
MickaelK
c43364eafa chore (plg_backend_local): better perm default 2025-04-09 14:43:06 +10:00
MickaelK
084bb33e83 fix (s3): handle cancellation 2025-04-09 14:42:21 +10:00
MickaelK
396ea667c4 release (v0.6): new release 2025-04-05 13:55:23 +11:00
MickaelK
a29ec2cda9 chore (doc): plg_handler_mcp doc 2025-04-02 03:00:57 +11:00
MickaelK
777200374d chore (mcp): refactor mcp stuff 2025-04-02 00:26:21 +11:00
MickaelK
7821bc8681 feature (mcp): mcp server 2025-04-01 11:00:41 +11:00
MickaelK
f11d27382f fix (plugin): order of plugin init
Before this we couldn't have a Endpoint plugin relying on values coming
from the config as the config wasn't initialised yet. This fixes it
2025-04-01 10:34:23 +11:00
MickaelK
eb7e30424e fix (capitalisation): disable android capit. 2025-03-18 20:57:34 +11:00
MickaelK
542ead9c25 fix (patch): bundle issue on plugin patch 2025-03-17 12:24:13 +11:00
MickaelK
ba3ed7b945 fix (plg_search_sqlitefs): context issue 2025-03-14 16:04:53 +11:00
MickaelK
afbceabad2 maintain (release): prepare new release 2025-03-14 13:08:02 +11:00
MickaelK
d01facd463 fix (tmpl): issue with cognito issued jwt token
quote from go jwt lib: "WithPaddingAllowed will enable the codec used
for decoding JWTs to allow padding. Note that the JWS RFC7515 states
that the tokens will utilize a Base64url encoding with no padding.
Unfortunately, some implementations of JWT are producing non-standard
tokens, and thus require support for decoding."

cognito is one of those...
2025-03-13 17:21:08 +11:00
MickaelK
40e9938148 fix (ios): auth issue on ios
when using deep links on ios, we would get this error:
"safari can't open the page because the address is invalid"
2025-03-11 10:45:35 +11:00
MickaelK
21c8a7f597 fix (s3): assume role on ecs 2025-02-21 17:26:00 +11:00
MickaelK
f584807fac feature (plugin): handle compression in opener plugin 2025-02-18 13:54:56 +11:00
MickaelK
2c1edd85e9 feature (template): enhance templating functions 2025-02-13 15:56:24 +11:00
MickaelK
00eed6e922 fix (sw): add support for raw + gzip static 2025-02-07 12:20:37 +11:00
MickaelK
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
MickaelK
849f206408 feature (plg_backend_url): url storage backend
usefull for open directory kind of scenarios.
cool example at play: https://locker.phinugamma.org/swf/
2025-02-05 01:57:16 +11:00
MickaelK
fe830fb8e2 chore (refactoring): main html cleanup 2025-02-04 01:43:04 +11:00
MickaelK
67275e32e9 chore (constant): env constants 2025-02-04 01:11:16 +11:00
MickaelK
b2c9b29384 chore (refactoring): revamp sqlite full text search 2025-02-03 16:01:50 +11:00
MickaelK
ae7e6d0801 chore (release): prepare release 2025-02-02 18:53:53 +11:00
MickaelK
db86daf867 fix (plg_search_sqlitefs): refactoring 2025-01-31 23:48:59 +11:00
MickaelK
773fd02871 fix (plg_office_wopi): wopi office integration 2025-01-30 17:49:40 +11:00
MickaelK
6e2a99adf1 fix (plg_office_wopi): shared link on wopi issue 2025-01-30 12:58:47 +11:00
MickaelK
22f17f17e6 chore (version): refactoring around configuration 2025-01-28 15:16:13 +11:00
MickaelK
496c05360e feature (templating): new templating function 2025-01-27 16:22:03 +11:00
MickaelK
c3f2c57e5f feature (turboload): decrease load time via sw 2025-01-27 14:05:55 +11:00
MickaelK
42fd37e2ec fix (sharedlink): issue with ifram / wopi 2025-01-24 13:59:11 +11:00
MickaelK
1510e0bcda chore (plugin): polish the new plugin interface 2025-01-23 15:26:05 +11:00
MickaelK
daf96fdcff chore (refactoring): skeleton plugin app 2025-01-23 12:50:08 +11:00
MickaelK
4ed4365a33 fix (smb): finicky persistent stuff when decorated 2025-01-23 04:11:44 +11:00
MickaelK
f53dc6a7a3 fix (webdav): network drive via window 2025-01-21 16:54:01 +11:00
MickaelK
753e76d4af feature (auth): follow param in redirect URL 2025-01-15 02:56:21 +11:00
MickaelK
28028f540c feature (viewer): skeleton for new plugins 2025-01-15 01:29:59 +11:00
MickaelK
f1b1d71f40 feature (signature): protect url param via signature 2025-01-15 01:09:53 +11:00
Mickael
e9870f72f2
chore (refactoring): revamp map to plugin mechanism (#805)
* chore (refactoring): revamp map to plugin mechanism

* chore (docker): Dockerfile
2025-01-14 15:01:17 +11:00
MickaelK
0d4709595c chore (refactoring): 3d app revamp 2025-01-13 22:53:02 +11:00
MickaelK
fd839808b7 feature (feedback): suggestion from a redditor 2025-01-13 17:41:29 +11:00
Mickael
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
Mickael
82dd3adf5d
fix (versitygw): better handling of missing filesize
* fix (s3): bug on versitygw

the plugin would break on versitgw which on some version isn't sending
the size metadata, ending with a null pointer dereference.

I wasn't able to replicate this on my own but the bug report shows:

2025/01/10 04:35:47 http: panic serving 130.194.66.248:54701: runtime error: invalid memory address or nil pointer dereference
goroutine 5590 [running]:
net/http.(*conn).serve.func1()
        /usr/local/go/src/net/http/server.go:1947 +0xbe
panic({0x19c2740?, 0x535ece0?})
        /usr/local/go/src/runtime/panic.go:785 +0x132
github.com/mickael-kerjean/filestash/server/plugin/plg_backend_s3.S3Backend.Ls.func1(0xc000986bd0, 0xe0?)
        /home/server/plugin/plg_backend_s3/index.go:218 +0x18a
github.com/aws/aws-sdk-go/service/s3.(*S3).ListObjectsV2PagesWithContext(0xc0005b01a8, {0x46ae758, 0xc000f187e0}, 0xc0006649a0, 0xc0005d7270, {0x0, 0x0, 0x0})
        /home/vendor/github.com/aws/aws-sdk-go/service/s3/api.go:7654 +0x1ad
github.com/mickael-kerjean/filestash/server/plugin/plg_backend_s3.S3Backend.Ls({0xc0005b0178, 0xc00074cd80, 0xc000f188a0, {0x46ae758, 0xc000f187e0}, 0x32}, {0xc0008810f0?, 0x99?})
        /home/server/plugin/plg_backend_s3/index.go:202 +0x31a
github.com/mickael-kerjean/filestash/filestash-enterprise/plugins/utils.wrapper.Ls({{0x46b77c0, 0xc000f18ff0}, {0x5511fc0, 0x0, 0x0}}, {0xc0008810f0?, 0x165dc9a?})
        /home/filestash-enterprise/plugins/utils/authorisation.go:64 +0x94
github.com/mickael-kerjean/filestash/server/ctrl.FileLs(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/ctrl/files.go:136 +0x7a2
github.com/mickael-kerjean/filestash/server/middleware.LoggedInOnly.func1(0xc000001d40?, {0x46a8bc8, 0xc000f18810}, 0x0?)
        /home/server/middleware/session.go:23 +0x2e
github.com/mickael-kerjean/filestash/server/middleware.SessionStart.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/session.go:77 +0x2e7
github.com/mickael-kerjean/filestash/server/middleware.WithPublicAPI.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:115 +0x3a7
github.com/mickael-kerjean/filestash/server/middleware.SecureOrigin.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:99 +0x4a2
github.com/mickael-kerjean/filestash/server/middleware.SecureHeaders.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:79 +0x28c
github.com/mickael-kerjean/filestash/server/middleware.ApiHeaders.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:22 +0x29d
github.com/mickael-kerjean/filestash/server.Build.NewMiddlewareChain.func18({0x46a8cb8, 0xc000904000}, 0xc000227680)
        /home/server/middleware/index.go:28 +0x17b
net/http.HandlerFunc.ServeHTTP(0xc000227540?, {0x46a8cb8?, 0xc000904000?}, 0x52f069?)
        /usr/local/go/src/net/http/server.go:2220 +0x29
github.com/gorilla/mux.(*Router).ServeHTTP(0xc000000480, {0x46a8cb8, 0xc000904000}, 0xc000227400)
        /home/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2
net/http.serverHandler.ServeHTTP({0xc000c41d40?}, {0x46a8cb8?, 0xc000904000?}, 0x6?)
        /usr/local/go/src/net/http/server.go:3210 +0x8e
net/http.(*conn).serve(0xc00059d950, {0x46ae758, 0xc000832240})
        /usr/local/go/src/net/http/server.go:2092 +0x5d0
created by net/http.(*Server).Serve in goroutine 135
        /usr/local/go/src/net/http/server.go:3360 +0x485

* fix (s3): versitygw issue

* fix (uint64): size

* fix (s3): better handling of missing size info
2025-01-10 16:23:29 +11:00
Mickael
29db7d6934
fix (#799): s3 - versitygw bug
* fix (s3): bug on versitygw

the plugin would break on versitgw which on some version isn't sending
the size metadata, ending with a null pointer dereference.

I wasn't able to replicate this on my own but the bug report shows:

2025/01/10 04:35:47 http: panic serving 130.194.66.248:54701: runtime error: invalid memory address or nil pointer dereference
goroutine 5590 [running]:
net/http.(*conn).serve.func1()
        /usr/local/go/src/net/http/server.go:1947 +0xbe
panic({0x19c2740?, 0x535ece0?})
        /usr/local/go/src/runtime/panic.go:785 +0x132
github.com/mickael-kerjean/filestash/server/plugin/plg_backend_s3.S3Backend.Ls.func1(0xc000986bd0, 0xe0?)
        /home/server/plugin/plg_backend_s3/index.go:218 +0x18a
github.com/aws/aws-sdk-go/service/s3.(*S3).ListObjectsV2PagesWithContext(0xc0005b01a8, {0x46ae758, 0xc000f187e0}, 0xc0006649a0, 0xc0005d7270, {0x0, 0x0, 0x0})
        /home/vendor/github.com/aws/aws-sdk-go/service/s3/api.go:7654 +0x1ad
github.com/mickael-kerjean/filestash/server/plugin/plg_backend_s3.S3Backend.Ls({0xc0005b0178, 0xc00074cd80, 0xc000f188a0, {0x46ae758, 0xc000f187e0}, 0x32}, {0xc0008810f0?, 0x99?})
        /home/server/plugin/plg_backend_s3/index.go:202 +0x31a
github.com/mickael-kerjean/filestash/filestash-enterprise/plugins/utils.wrapper.Ls({{0x46b77c0, 0xc000f18ff0}, {0x5511fc0, 0x0, 0x0}}, {0xc0008810f0?, 0x165dc9a?})
        /home/filestash-enterprise/plugins/utils/authorisation.go:64 +0x94
github.com/mickael-kerjean/filestash/server/ctrl.FileLs(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/ctrl/files.go:136 +0x7a2
github.com/mickael-kerjean/filestash/server/middleware.LoggedInOnly.func1(0xc000001d40?, {0x46a8bc8, 0xc000f18810}, 0x0?)
        /home/server/middleware/session.go:23 +0x2e
github.com/mickael-kerjean/filestash/server/middleware.SessionStart.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/session.go:77 +0x2e7
github.com/mickael-kerjean/filestash/server/middleware.WithPublicAPI.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:115 +0x3a7
github.com/mickael-kerjean/filestash/server/middleware.SecureOrigin.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:99 +0x4a2
github.com/mickael-kerjean/filestash/server/middleware.SecureHeaders.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:79 +0x28c
github.com/mickael-kerjean/filestash/server/middleware.ApiHeaders.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:22 +0x29d
github.com/mickael-kerjean/filestash/server.Build.NewMiddlewareChain.func18({0x46a8cb8, 0xc000904000}, 0xc000227680)
        /home/server/middleware/index.go:28 +0x17b
net/http.HandlerFunc.ServeHTTP(0xc000227540?, {0x46a8cb8?, 0xc000904000?}, 0x52f069?)
        /usr/local/go/src/net/http/server.go:2220 +0x29
github.com/gorilla/mux.(*Router).ServeHTTP(0xc000000480, {0x46a8cb8, 0xc000904000}, 0xc000227400)
        /home/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2
net/http.serverHandler.ServeHTTP({0xc000c41d40?}, {0x46a8cb8?, 0xc000904000?}, 0x6?)
        /usr/local/go/src/net/http/server.go:3210 +0x8e
net/http.(*conn).serve(0xc00059d950, {0x46ae758, 0xc000832240})
        /usr/local/go/src/net/http/server.go:2092 +0x5d0
created by net/http.(*Server).Serve in goroutine 135
        /usr/local/go/src/net/http/server.go:3360 +0x485

* fix (s3): versitygw issue

* fix (uint64): size
2025-01-10 16:13:33 +11:00
Mickael
0d8ea12517
fix (s3): bug on versitygw (#798)
the plugin would break on versitgw which on some version isn't sending
the size metadata, ending with a null pointer dereference.

I wasn't able to replicate this on my own but the bug report shows:

2025/01/10 04:35:47 http: panic serving 130.194.66.248:54701: runtime error: invalid memory address or nil pointer dereference
goroutine 5590 [running]:
net/http.(*conn).serve.func1()
        /usr/local/go/src/net/http/server.go:1947 +0xbe
panic({0x19c2740?, 0x535ece0?})
        /usr/local/go/src/runtime/panic.go:785 +0x132
github.com/mickael-kerjean/filestash/server/plugin/plg_backend_s3.S3Backend.Ls.func1(0xc000986bd0, 0xe0?)
        /home/server/plugin/plg_backend_s3/index.go:218 +0x18a
github.com/aws/aws-sdk-go/service/s3.(*S3).ListObjectsV2PagesWithContext(0xc0005b01a8, {0x46ae758, 0xc000f187e0}, 0xc0006649a0, 0xc0005d7270, {0x0, 0x0, 0x0})
        /home/vendor/github.com/aws/aws-sdk-go/service/s3/api.go:7654 +0x1ad
github.com/mickael-kerjean/filestash/server/plugin/plg_backend_s3.S3Backend.Ls({0xc0005b0178, 0xc00074cd80, 0xc000f188a0, {0x46ae758, 0xc000f187e0}, 0x32}, {0xc0008810f0?, 0x99?})
        /home/server/plugin/plg_backend_s3/index.go:202 +0x31a
github.com/mickael-kerjean/filestash/filestash-enterprise/plugins/utils.wrapper.Ls({{0x46b77c0, 0xc000f18ff0}, {0x5511fc0, 0x0, 0x0}}, {0xc0008810f0?, 0x165dc9a?})
        /home/filestash-enterprise/plugins/utils/authorisation.go:64 +0x94
github.com/mickael-kerjean/filestash/server/ctrl.FileLs(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/ctrl/files.go:136 +0x7a2
github.com/mickael-kerjean/filestash/server/middleware.LoggedInOnly.func1(0xc000001d40?, {0x46a8bc8, 0xc000f18810}, 0x0?)
        /home/server/middleware/session.go:23 +0x2e
github.com/mickael-kerjean/filestash/server/middleware.SessionStart.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/session.go:77 +0x2e7
github.com/mickael-kerjean/filestash/server/middleware.WithPublicAPI.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:115 +0x3a7
github.com/mickael-kerjean/filestash/server/middleware.SecureOrigin.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:99 +0x4a2
github.com/mickael-kerjean/filestash/server/middleware.SecureHeaders.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:79 +0x28c
github.com/mickael-kerjean/filestash/server/middleware.ApiHeaders.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:22 +0x29d
github.com/mickael-kerjean/filestash/server.Build.NewMiddlewareChain.func18({0x46a8cb8, 0xc000904000}, 0xc000227680)
        /home/server/middleware/index.go:28 +0x17b
net/http.HandlerFunc.ServeHTTP(0xc000227540?, {0x46a8cb8?, 0xc000904000?}, 0x52f069?)
        /usr/local/go/src/net/http/server.go:2220 +0x29
github.com/gorilla/mux.(*Router).ServeHTTP(0xc000000480, {0x46a8cb8, 0xc000904000}, 0xc000227400)
        /home/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2
net/http.serverHandler.ServeHTTP({0xc000c41d40?}, {0x46a8cb8?, 0xc000904000?}, 0x6?)
        /usr/local/go/src/net/http/server.go:3210 +0x8e
net/http.(*conn).serve(0xc00059d950, {0x46ae758, 0xc000832240})
        /usr/local/go/src/net/http/server.go:2092 +0x5d0
created by net/http.(*Server).Serve in goroutine 135
        /usr/local/go/src/net/http/server.go:3360 +0x485
2025-01-10 15:52:28 +11:00
MickaelK
71b14e6eaf feature (3d): embed 3d viewer anywhere
This contains a bunch of things packaged in 1:

1) UI improvements for the 3D viewer to support all sort of file types
   and create a nice rendering in a clean way with all sort of options

2) enable people to use Filestash as an SDK so we can embed the 3d viewer
   elsewhere
2024-12-23 18:50:23 +11:00
MickaelK
1aa1a7d5e9 fix (deadlock): thumbnail issue in plg_image_c 2024-12-22 03:06:48 +11:00
MickaelK
8422268a21 fix (#771): search from text editor 2024-12-14 20:49:26 +11:00
MickaelK
f268d27967 feature (postMessage): iframe RPC via postMessage 2024-12-14 00:46:50 +11:00
MickaelK
44f4cc74f0 fix (wopi): wopi handler fileID 2024-12-13 00:42:00 +11:00
MickaelK
e0de8261a6 fix (wopi): path handling 2024-12-12 17:52:20 +11:00
Mickael
1d06c785bc
fix (wopi): wopi config (#785) 2024-12-12 16:07:34 +11:00
MickaelK
b3a44918e1 feature (office): enable wopi office docs 2024-12-12 10:58:38 +11:00
MickaelK
aa3f76ebb0 fix (about): incorrect plugin list 2024-12-10 09:46:53 +11:00
MickaelK
d6bc0d55f1 chore (banner): auth middleware banners 2024-12-10 00:42:06 +11:00
MickaelK
4b8926a3da fix (favicon): canary favicon
before this commit, we've had issues with overrides which wouldn't set
the favicon properly
2024-12-09 13:01:12 +11:00
MickaelK
7828d0c315 feature (template): additional templating funcs 2024-12-09 12:04:00 +11:00
MickaelK
afd2f2566e fix (jenkins): broken build after refactoring 2024-12-09 09:03:05 +11:00
MickaelK
799ba868c3 feature (plg_authenticate_local): local source of user 2024-12-06 18:28:33 +11:00
MickaelK
bc68bf50fe fix (audit): canary audit engine compat 2024-12-06 12:43:01 +11:00
MickaelK
e35158c259 chore (plg_authentication_simple): banner update 2024-12-06 07:21:41 +11:00
MickaelK
b317a50609 chore (plg_authenticate_simple): banner dashboard 2024-12-06 07:07:40 +11:00
MickaelK
609fd308c1 fix (caching): cache invalidation issue
until this, if a user tries to connect to the same backend with a
different path, the frontend would flicker as we'd get things from the
wrong cache key
2024-12-05 23:30:58 +11:00
MickaelK
d56cdd3cc3 chore (plg_authenticate_simple): additional debug info 2024-12-05 22:46:59 +11:00
MickaelK
8d70b7e26c feature (plg_authenticate_simple): auth facade with a gui 2024-12-05 22:34:01 +11:00
MickaelK
b1a35c7f54 fix (css): css rule issue 2024-12-05 17:51:47 +11:00
MickaelK
97a82423a4 fix (tus): edge case on tus protocol 2024-12-04 16:05:28 +11:00
MickaelK
dba8bc000a fix (cloudflare): cloudflare cache issue 2024-12-03 23:35:15 +11:00
MickaelK
1b47b613b6 fix (cloudflare): cloudflare chunked issue 2024-12-03 23:14:13 +11:00
MickaelK
177961c62d fix (plg_video_thumbnail): error when backend doesn't support fileseek 2024-12-02 17:24:03 +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
ff67ed97ed feature (thumbnail): video thumbnail plugin
up until now, the stance was to refuse video thumbnail because it's too
slow but really many people don't seem to care that much about it and
keep insisting to have it.

With this solution, it's not in the base build but it gives an
option for those people to make it happen
2024-12-02 15:39:25 +11:00
MickaelK
ac9d1a4980 feature (tus): chunked upload via TUS
instead of inventing a new protocol for chunked upload that can be
resumed, we might as well use something that already exists like TUS.

As such we removed our custom implementation to favor that standard
2024-11-29 15:04:34 +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
0dea98d4bd fix (chunked): chunked upload connection close
only close connection when using chunked upload. This is key if you must
use something like to work with Cloudflare
2024-11-28 01:32:41 +11:00
MickaelK
de5e2d9583 fix (cloudflare): proxy with size limit
Cloudflare does limit the size of file upload by an arbitrary number. We
can go around that by using chunked upload but somehow that wasn't
enough, to circumvent that issue, we make it clear to the proxy it
should close the connection and we hope the problem we go away
2024-11-27 23:45:39 +11:00
MickaelK
87a1987219 feature (upload): support for chunked uploads 2024-11-27 00:52:29 +11:00
MickaelK
66cc697b25 feature (tag): tag feature behind canary flag 2024-11-19 14:54:38 +11:00
MickaelK
c376fe8240 fix (onlyoffice): canary office integration - #629 2024-11-14 14:24:23 +11:00
MickaelK
05f112305d fix (azure): azure oidc cookie
update cookie settings to work well with azure OIDC
2024-11-13 10:32:06 +11:00
MickaelK
6f03334871 feature (plugin): override plugin for download
This is to demonstrate how override work with the new frontend. This
plugin does create another download button in the file viewer page
2024-11-07 13:32:00 +11:00
MickaelK
96b566e22f fix (canary): canary cookie compat 2024-10-16 02:19:54 +11:00
MickaelK
363f9bd652 fix (typo): package name typo 2024-10-10 04:57:25 +11:00
MickaelK
963bac5146 fix (plg_backend_azure): remove things 2024-10-06 08:05:19 +11:00
MickaelK
5c87904cb1 feature (plg_backend_azure): support for seek 2024-10-04 19:22:26 +10:00
MickaelK
8efc63efa5 feature (azure): chroot path 2024-09-27 09:20:21 +10:00
MickaelK
f8956178d8 fix (sftp): azure connection timeout
Azure SFTP only hold the connection for 2 minutes .... So we got to
flush our cache before it occurs, otherwise we end up with a "Connection lost" error
2024-09-20 22:55:54 +10:00
MickaelK
05176b8cd1 fix (arm): generator issue on arm 2024-09-18 01:18:30 +10:00
MickaelK
ff2a88a581 fix (transcoding): video transcoding plugin in canary 2024-09-09 00:26:00 +10:00
MickaelK
fa8e578840 fix (cookie): safari cookie on SSO 2024-09-08 19:22:28 +10:00
MickaelK
fe736b755d fix (cookie): sso cookie issue on safari
whenever using an iframe, cookies are a problem in cross domain setup as
browser like safari got that disabled entirely. We had to find a
solution to work with Safari properly, hence passing the data through
URL
2024-09-07 01:57:31 +10:00
MickaelK
1cbda3519f fix (iframe): cross domain iframe issue on safari 2024-09-06 17:23:15 +10:00
MickaelK
8dc89e58fc fix (about): about page css 2024-09-06 08:47:18 +10:00
MickaelK
7d8f6c9635 fix (cookie): partitioned cookie in chrome 2024-09-06 03:04:41 +10:00
MickaelK
919ee10a81 fix (iframe): iframe cookie block rollout 2024-09-06 00:52:26 +10:00
MickaelK
e01a4f6c9f fix (plg_backend_local): issue with home calculation 2024-08-29 00:07:15 +10:00
zemzema
24cd34feba
fix (onlyoffice): PR #724
* Change var from %t to %s

Made mistake that I presume that function expected boolean, and I got error. With %s or expect string problem is solved.

* Only office configure enable/disable chat and print

Added two more options that can be configured in Onlyoffice through OnlyOffice API.

* Fixed type, and added additional options

* Added features can_copy and can_comment

Added more features in plug in for interaction with Onlyoffice.
2024-08-28 08:02:26 +10:00
MickaelK
00fc2ee960 fix (plg_image_c): fix issue brought by #731 2024-08-11 16:26:57 +10:00
zyAmo
d30be7cfb6
fix (#713): use input image colorspace for output image - #723 2024-08-07 22:08:33 +10:00
Yonas Yanfa
54468eb2c5
feature (freebsd): PR #643 off master. (#731)
Co-authored-by: Yonas <yonas@mail.lan>
2024-08-07 22:06:27 +10:00
zemzema
a2848c95de
feature (onlyoffice): view only in only office (#715)
* Update index.go

Enable/Disable edit only Office documents

* Function typo

Function type

* feature (onlyoffice): view only in only office

Added onlyoffice_can_edit in plugin_enable so that target attribute  can be toggled and only appear when only office is enabled.

* feature (onlyoffice): view only in only office

Code formating.
2024-07-23 18:56:08 +10:00
MickaelK
ae0eb94c61 feature (middleware): expose gcm encrypt to templating 2024-07-22 22:48:18 +10:00
MickaelK
da20ac8b70 fix (preload): preload assets cleanup 2024-07-22 17:31:55 +10:00
MickaelK
4f26bb265a fix (caching): retrocompatibility over previous release 2024-07-22 17:27:06 +10:00
MickaelK
2f8b615e6e chore (cache): caching problems + bigfixes 2024-07-22 08:12:42 +10:00
MickaelK
a019d9344d fix (cache): caching issues 2024-07-21 23:42:10 +10:00
MickaelK
27f475d358 chore (rewrite): improve loading speed on new release 2024-07-19 07:54:15 +10:00
MickaelK
6ae82fab5e chore (rewrite): static file handling 2024-07-16 23:11:10 +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
e854211d7f chore (rewrite): prepare initial release 2024-07-15 21:41:48 +10:00
MickaelK
591e50053c chore (rewrite): improve user experience 2024-07-05 18:31:34 +10:00
MickaelK
5099422836 feature (languages): locale awareness for plugin 2024-07-01 19:11:35 +10:00
MickaelK
4621986e25 fix (build): broken build in debian 2024-06-29 02:13:31 +10:00
MickaelK
f4fe61c512 chore (maintenance): deprecate old thumbnail plugin 2024-06-27 23:43:51 +10:00
MickaelK
63ae5f2ed8 feature (middleware): middleware as a plugin 2024-06-26 23:47:07 +10:00
MickaelK
4f6ceb3fa0 chore (canary): canary release for rewrite 2024-06-24 23:19:40 +10:00
MickaelK
d020f4c1bd fix (plugin): oopsy 2024-06-24 21:17:38 +10:00
MickaelK
e1b477b65b feature (base): configurable base 2024-06-21 21:05:44 +10:00
MickaelK
f0895fc483 feature (canary): toggle for canary release 2024-06-13 22:32:04 +10:00
MickaelK
d898231918 fix (plg_backend_samba): host format issue 2024-06-06 08:36:44 +10:00
MickaelK
28bf80ae2a chore (plg_backend_local): improve error message 2024-06-05 02:34:31 +10:00
MickaelK
5b89af8237 chore (extand): additional attributes for htpasswd 2024-06-04 08:06:24 +10:00
MickaelK
30b8075308 fix (panic): prevent panic in full text search plugin 2024-06-04 08:02:13 +10:00
MickaelK
fd437353ac chore (maintain): follow changes in plg_search_sqlitefs 2024-06-04 07:12:39 +10:00
MickaelK
742b5be307 chore (maintain): htpasswd failed build 2024-06-04 01:56:36 +10:00
MickaelK
b4043715d2 chore (maintenance): dependency upgrade 2024-06-04 01:21:34 +10:00
MickaelK
d554c81fa5 fix (build): broken build on dependency 2024-06-04 00:26:58 +10:00
MickaelK
b9baf7d1f7 chore (rewrite): enable canary release 2024-06-04 00:04:22 +10:00
MickaelK
708ba9ea21 chore (plg_backend_nfs): make usefull function public 2024-05-29 00:50:55 +10:00
MickaelK
0387d55e92 fix (plg_backend_nfs): filter out when user don't have access 2024-05-17 03:03:30 +10:00
MickaelK
b87fbe9948 fix (audit): hint to auditor 2024-05-17 03:01:50 +10:00
MickaelK
63c2f0ebf4 fix (plg_backend_nfs): make nfs auditable 2024-05-17 02:28:14 +10:00
MickaelK
fe7ad8f1ad fix (plugin): enable plugin extensions/override 2024-05-17 01:16:43 +10:00
MickaelK
0fe75a8a18 fix (plg_backend_nfs): programming error in nfs edge case 2024-05-09 21:41:28 +10:00
MickaelK
03603837a1 feature (nfs): 16 group limit sorting 2024-05-07 23:05:47 +10:00
MickaelK
3b003c3725 feature (authorisation): change authorisation via plugin 2024-05-04 01:39:36 +10:00
MickaelK
3a332cc285 fix (plg_backend_nfs): gids access calculation 2024-05-02 08:20:33 +10:00
MickaelK
6231b6f2ab fix (plg_backend_nfs): AUTH_UNIX NFS group limit 2024-05-01 18:20:36 +10:00