1916 Commits

Author SHA1 Message Date
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
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
3c969bd89d feature (translation): norwegian translation 2025-03-04 12:08:59 +11:00
8d89c78eec fix (docker): remove unready stuff 2025-02-27 13:25:26 +11:00
21c8a7f597 fix (s3): assume role on ecs 2025-02-21 17:26:00 +11:00
5741311b75 feature (form): file input in form framework 2025-02-21 12:02:39 +11:00
c8109123ae feature (embed): map integration 2025-02-18 15:33:34 +11:00
f584807fac feature (plugin): handle compression in opener plugin 2025-02-18 13:54:56 +11:00
2c1edd85e9 feature (template): enhance templating functions 2025-02-13 15:56:24 +11:00
00eed6e922 fix (sw): add support for raw + gzip static 2025-02-07 12:20:37 +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
65bd2fde5c fix (filesystem): rules to redraw screen 2025-02-06 17:43:59 +11:00
67d4eb9cc1 fix (selection): edge case for selection
if selecting something and deselecting it, we'd
see the selection to be 0 which is a bit meh ...

while fixing it, we've share the cost of the selection length as it can
be potentially expensive to calculate if the user has selected tons of
stuff manually + shift selection + ctrl, etc...
2025-02-06 16:58:40 +11:00
eedbfd42af fix (download): download in new page
whenever clicking on the download link, there were issue with
target=_blank + the download attribute. Effectively the download
attribute remove the effect of target blank, hence this workaround to
make sure the files that are downloaded are correctly named + open up in
a new tab. The issue without target blank is if the user starts the
download, he doesn't see a direct feedback telling him that something is
working under the hood, hence the target blank
2025-02-06 15:03:25 +11:00
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
367974a7a2 chore (frontend): refactor minor elements 2025-02-05 01:40:46 +11:00
acad39b05f fix (config): regression on config change 2025-02-04 02:35:23 +11:00
fe830fb8e2 chore (refactoring): main html cleanup 2025-02-04 01:43:04 +11:00
67275e32e9 chore (constant): env constants 2025-02-04 01:11:16 +11:00
c5ee4e0632 chore (refactoring): remove config global variable 2025-02-04 00:18:17 +11:00
0f0e8f56e3 chore (linter): linting of new js 2025-02-03 23:44:34 +11:00
c8bd0121c9 feature (embed): embed components for sharing 2025-02-03 23:16:39 +11:00
3fffac0f01 chore (loader): wasm loader with cache 2025-02-03 22:34:01 +11:00
c1b090e210 chore (maitenance): boot sequence 2025-02-03 18:46:41 +11:00
b2c9b29384 chore (refactoring): revamp sqlite full text search 2025-02-03 16:01:50 +11:00
ae7e6d0801 chore (release): prepare release 2025-02-02 18:53:53 +11:00
db86daf867 fix (plg_search_sqlitefs): refactoring 2025-01-31 23:48:59 +11:00
773fd02871 fix (plg_office_wopi): wopi office integration 2025-01-30 17:49:40 +11:00
6e2a99adf1 fix (plg_office_wopi): shared link on wopi issue 2025-01-30 12:58:47 +11:00
22f17f17e6 chore (version): refactoring around configuration 2025-01-28 15:16:13 +11:00
3ce10045df fix (table): missing loader 2025-01-28 01:52:26 +11:00
496c05360e feature (templating): new templating function 2025-01-27 16:22:03 +11:00
c3f2c57e5f feature (turboload): decrease load time via sw 2025-01-27 14:05:55 +11:00
fddc98b462 fix (sidebar): improve UX for sidebar 2025-01-27 13:21:06 +11:00
6b3edfbffa chore (search): improve UX around search 2025-01-24 15:18:07 +11:00
42fd37e2ec fix (sharedlink): issue with ifram / wopi 2025-01-24 13:59:11 +11:00
9193c86266 chore (table): improve UX for table app 2025-01-23 16:55:13 +11:00
1510e0bcda chore (plugin): polish the new plugin interface 2025-01-23 15:26:05 +11:00
daf96fdcff chore (refactoring): skeleton plugin app 2025-01-23 12:50:08 +11:00
4ed4365a33 fix (smb): finicky persistent stuff when decorated 2025-01-23 04:11:44 +11:00
f53dc6a7a3 fix (webdav): network drive via window 2025-01-21 16:54:01 +11:00
753e76d4af feature (auth): follow param in redirect URL 2025-01-15 02:56:21 +11:00
28028f540c feature (viewer): skeleton for new plugins 2025-01-15 01:29:59 +11:00
f1b1d71f40 feature (signature): protect url param via signature 2025-01-15 01:09:53 +11:00
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
0d4709595c chore (refactoring): 3d app revamp 2025-01-13 22:53:02 +11:00
fd839808b7 feature (feedback): suggestion from a redditor 2025-01-13 17:41:29 +11:00
2d3b0de210 chore (colors): root colors and menubar 2025-01-13 16:29:58 +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
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