MickaelK
f4a99c4ad6
chore (plugin): revamp frontend plugin
2025-06-09 15:38:37 +10:00
MickaelK
fb29c7b6c2
feature (offline): handle offline files
2025-06-05 12:58:09 +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
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
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
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
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
eb7e30424e
fix (capitalisation): disable android capit.
2025-03-18 20:57:34 +11:00
MickaelK
ba3ed7b945
fix (plg_search_sqlitefs): context issue
2025-03-14 16:04:53 +11:00
MickaelK
21c8a7f597
fix (s3): assume role on ecs
2025-02-21 17:26:00 +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
b2c9b29384
chore (refactoring): revamp sqlite full text search
2025-02-03 16:01:50 +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
42fd37e2ec
fix (sharedlink): issue with ifram / wopi
2025-01-24 13:59:11 +11:00
MickaelK
4ed4365a33
fix (smb): finicky persistent stuff when decorated
2025-01-23 04:11:44 +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
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
1aa1a7d5e9
fix (deadlock): thumbnail issue in plg_image_c
2024-12-22 03:06:48 +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
d6bc0d55f1
chore (banner): auth middleware banners
2024-12-10 00:42:06 +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
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
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
177961c62d
fix (plg_video_thumbnail): error when backend doesn't support fileseek
2024-12-02 17:24:03 +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
c376fe8240
fix (onlyoffice): canary office integration - #629
2024-11-14 14:24:23 +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
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