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