Commit graph

882 commits

Author SHA1 Message Date
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
MickaelK
1cfa0bb919 fix (plg_backend_nfs): edge case for groups size limit 2024-05-01 18:08:33 +10:00
MickaelK
861fe2ad4a chore (debug): additional debug info 2024-05-01 08:50:43 +10:00
MickaelK
58bda70412 feature (smb): make configuration more user friendly on smb 2024-04-30 22:28:22 +10:00
MickaelK
f5753e8de7 fix (plg_editor_onlyoffice): broken plugin after migration 2024-04-22 01:54:27 +10:00
MickaelK
be716e6cf9 fix (time): hide time whenever not available 2024-04-22 01:05:20 +10:00
MickaelK
87d6911288 fix (webdav): network drive permissions 2024-04-21 20:38:32 +10:00
MickaelK
335fbe945a feature (azure): support for azure container 2024-04-17 00:57:52 +10:00
MickaelK
dabdc03a73 chore (GenerateID): change signature for GenerateID 2024-04-15 22:18:16 +10:00
MickaelK
c7446f3113 fix (nfs): permission for base case 2024-04-15 20:40:23 +10:00
MickaelK
0a728c695b fix (plg_backend_nfs): support auxiliary gids 2024-04-15 19:14:59 +10:00
MickaelK
ee2ce3f5c5 chore (plg_backend_nfs): splitdown plugin onto smaller chunks 2024-04-14 22:12:45 +10:00
MickaelK
3cab180956 fix (nfs4): broken nfs4 plugin 2024-04-03 21:50:26 +11:00
MickaelK
8ece5301db fix (typo): typo in scanner block logic 2024-04-02 20:05:44 +11:00
MickaelK
c906a4d264 Merge branch 'master' of ssh://github.com/mickael-kerjean/filestash 2024-04-02 18:57:13 +11:00
MickaelK
3d65a40273 feature (csp): admin option to enable/disable csp
One of the use case for this is to be able to open an html document via
an iframe and have the content of the document to be fully loaded when
we can assume the storage setup in Filestash is trusted
2024-04-02 18:53:34 +11:00
Mickael
8de87be06f chore (refactoring): cleanup server middleware 2024-03-26 07:42:59 +11:00
MickaelK
3d4aa9c785 chore (debt): cleanup tech debt 2024-03-19 07:54:49 +11: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
af75e96250 chore (cleanup): plugins cleanup 2024-03-14 20:53:57 +11:00
MickaelK
c96dd9f5d1 fix (test): broken utest 2024-03-13 01:12:12 +11:00
MickaelK
225107005a chore (refactoring): cleanup old code 2024-03-13 00:37:44 +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
ab14520c6a chore (debug): additional debug information 2024-03-06 01:17:58 +11:00
MickaelK
ae70b692e6 fix (panic): possible panic when used with full text search engine 2024-02-29 01:34:32 +11:00
MickaelK
9c6d337c7f fix (panic): possible panic in search using reflection 2024-02-26 01:36:46 +11:00
MickaelK
6ab60bb38d chore (cleanup): typos 2024-02-01 01:15:13 +11:00
MickaelK
f3104700f1 chore (plg_video_transcoder): cleaner 2024-02-01 01:08:33 +11:00
MickaelK
991a6cc43e chore (log): debug log on samba plugin 2024-01-31 13:05:53 +11:00
MickaelK
24e7b5eb35 fix (plg_search_sqlitefts): prevent context expiration if possible 2024-01-31 01:01:35 +11:00
MickaelK
4660f3a2ff feature (plg_backend_s3): calculate the right mime type 2024-01-25 21:44:55 +11:00
MickaelK
0c2e5f1351 feature (plg_backend_nfs): add option to calculate uid/gid 2024-01-10 18:32:37 +11:00
MickaelK
0367f45089 feature (nfs): improve nfs implementation 2024-01-06 17:42:02 +11:00
MickaelK
409f1bc09f feature (chroot): add chroot option to nfs backends 2024-01-06 17:17:46 +11:00
MickaelK
763201eaa6 feature (plg_backend_local): home calculation and additional options for authentication 2024-01-06 16:55:55 +11:00
MickaelK
2853898f75 feature (plg_backend_nfs4): poc for nfsv4 2024-01-03 22:44:23 +11:00
MickaelK
86175220cd fix (nfs): improved nfsv3 handling 2024-01-03 17:39:39 +11:00
MickaelK
c702402b87 fix (plg_backend_local): don't enforce home to be set 2024-01-02 23:26:25 +11:00