mirror of
https://github.com/karakeep-app/karakeep.git
synced 2026-04-26 00:16:03 +03:00
Closed
opened 2026-03-02 11:45:42 +03:00 by kerem
·
54 comments
No Branch/Tag specified
main
refactor/use-npm-singlefile
onetab
claude/issue-2596-20260321-1401
claude/fix-docs-button-responsive-V3aBQ
claude/review-import-backpressure-D4ArJ
claude/fix-archived-bookmarks-mobile-P9OJW
claude/issue-1189-20260211-1601
claude/fix-nested-smart-lists-3uFkt
claude/issue-2298-20251223-1704
feat/import-v3
claude/add-cli-search-subcommand-6kIe0
claude/add-bookmark-indexing-timestamps-96bPj
claude/auto-disable-failing-feeds-fkDhP
claude/add-tag-search-aliases-HzESD
feat/docker-compose-dev
claude/add-attachedby-tags-endpoint-01WYfemMGHJJjXsPYLvUJAno
claude/fix-crawler-memory-leaks-NE7Ct
bookmark-debugger
claude/issue-2352-20260106-1120
claude/issue-1977-20260102-2348
claude/add-banner-rendering-JeLUk
claude/add-descendant-qualifier-cUm26
claude/skip-metadata-refresh-archives-CAo4Y
claude/fix-archive-pending-banner-pAyGM
claude/add-embeddings-support-h2swV
claude/nested-manage-lists-QVV85
claude/privacy-type-system-MG1bT
claude/add-action-menu-icons-6hNKw
claude/issue-2299-20251223-1711
claude/bookmark-indexing-progress-QwZSI
claude/migrate-bookmark-attachments-3O2te
claude/add-2025-wrapped-feature-tIUIh
claude/improve-ai-settings-design-639tq
claude/add-youtube-metascraper-plugin-0lWC7
claude/add-problem-reporting-gSSEV
claude/add-mobile-list-menus-spcS7
claude/shadcn-bookmark-cards-WWHzP
claude/add-extensions-link-HTeXc
claude/add-onboarding-screens-hsYMO
claude/fix-settings-switch-overflow-nlzM4
claude/clamp-bookmark-titles-diAEz
claude/port-stats-mobile-expo-MuXAn
claude/whats-new-base-version-vrv8C
claude/fix-settings-auth-checks-jgyD8
claude/add-server-version-display-3sGa2
claude/fix-tag-editor-scrolling-rzdbG
claude/add-company-pricing-card-y5mHY
claude/audit-optimize-transactions-xpDVc
codex/ensure-consistent-ui-experience-across-app-pages
claude/plan-opentelemetry-integration-01Jx183mz1Ev8h8JoYj97Auw
libsql
db-indicies
claude/export-import-lists-01UuCWwdaqduAd35NppvjnMD
claude/configurable-worker-timeout-0198GQh6YrrRzqG62xnogyrz
claude/check-import-quota-01CPdxTpHp18Ba62bYcBTVbA
claude/scraper-worker-thread-01FEHen6MGrQHmdBstJSuiyA
claude/customize-dialog-styling-01CVjEv2KgyZJSpCg3mqkvR7
claude/add-asset-cache-headers-0175WhNcqwiwurrmjj52jnLT
claude/add-db-search-plugin-017Xxd4Jq3MfjWT788vgfbaq
benchmarks-2
claude/add-filtered-deletion-01DTxWNcg3hhqdNpeNLa3s6L
claude/actionbutton-loading-spinner-015DY5ZTvgPgFAXTZz3UGaYv
claude/add-broken-links-qualifier-01S31X1LsKiYb9gE1dXTKvi3
claude/docker-release-tag-trigger-01UmzFXEumhK2jdmRGtMcueo
claude/spread-feed-fetch-scheduling-01EihUtmZSyqeE1HfRMessxW
restate-idempotency
claude/align-android-ios-colors-01GJfkhEyZVBReohVioPa8ok
claude/improve-mobile-app-colors-0155LzHfkd5HyJr6YyZMsus5
codex/add-autocomplete-for-search-query-language
claude/add-bookmark-backups-016L2A8Z94n7tDgDdMPdFuAd
claude/restrict-binary-user-permissions-01FSGyy2RXGZvE26YbAejzGi
effect-ts
claude/prepare-trpc-npm-publish-0193EjfwpxSNVNcLXqXjs6Ln
shared-list-sidebar
claude/lazy-load-tiktoken-017UTNpJPTcMMQvNEBa1aFwo
codex/fix-asset-pre-processing-worker-abort-signals
add-groupid
claude/add-bookmark-list-button-01VF7uXYNLsVDzqdozWMXP5M
claude/extract-shared-ui-components-01DSVfaCr6WRqAyx1vJTZk9r
claude/migrate-shadcn-sidebar-01DKjpg9MD5PJ2potemSnbvW
claude/add-collaborators-rate-limits-01VjXyRWWPUkGQKa8d8D8qKj
claude/modernize-dark-mode-01FRfE81PAY5C44pFu1cYocf
claude/add-signed-url-bookmark-01PjYT1ZhvLK2FPJNTAhJsWf
restate-group-id
claude/add-highlights-page-012vhHpn8fVNp3gf7gBeW14s
claude/disable-shared-bookmark-features-01B9fiGUdu6NyWaxSQFsQBxP
claude/mobile-bookmark-grid-layouts-018cGBBMhPJVq6PJVRBpqT2r
claude/add-mobile-bookmark-summary-01494LYoh4sJW5Fj4GPm62Vj
claude/add-mobile-tags-screen-01WRADt4ZzvXVew1Y9vqF8SV
claude/add-highlight-notes-01LpanRLS4a2YMnT1qB5GTqX
claude/add-search-bar-014k2ngaqjwYRVSvqmbuECqr
claude/hide-collaborator-emails-01TQrkkMupC7CR9BTuDkireg
claude/list-invitation-approval-0129V89M1riXW6JqmoF74VfM
claude/add-bookmark-archive-sort-018VbGPGvtmsGgXFEERoAX7B
claude/add-mobile-smart-lists-01251tYo9u1SywE6XFezAv9e
claude/bookmark-drag-drop-01DmWq286ogHpDGHKcXjKr3z
claude/add-rss-import-01DH1Q2axcDeq8nQJR5MWjPJ
claude/mobile-inapp-browser-auth-01KiT6bwyntRPQ1X4oTtAveC
claude/offline-mode-react-query-01D1rE2bdBEPw2teGqunr5Gd
claude/add-singlefile-extension-support-01BEB9QQZABzwfZDvR9Bz5b2
claude/custom-list-slugs-01VxcfkNUXZ97FNpNVURopMq
claude/issue-2148-20251118-1133
claude/add-groupid-queue-fairness-011CV1r8Wb46HuGAg5o95i3m
claude/hide-viewer-shared-lists-01Fst6NBvdxrXXnDhUmjsNDP
claude/collaborative-lists-013AvDvMqkoszDVcSoCYgBcM
claude/implement-feature-01LT5XzGsbEhZkYXNEjEwdui
claude/fix-bookmark-loading-state-01AgF4H2drxwuTCJDB2Xgiu4
claude/admin-user-edit-013tbiRmb1KX2fhSYqmGKCu8
claude/expose-all-api-01YTruEW72WQYMtq4iZoaPkA
claude/add-doc-link-main-016NYLxShpKuH6R8XCBgeZtc
claude/fix-issue-2133-019JLvdSRAUbU4FtjQztcM6S
claude/explore-effect-ts-integration-01F7xb1dWwP1ma4LnLbFGfDD
claude/optimize-dockerfile-build-011CV5gDnPZbdbbVSPDofC4e
claude/add-custom-headers-guide-011CV249t16aWDRb1mCrzQdC
claude/mobile-app-signup-011CUxPtCXgU6U3T8GShTR2Q
claude/crawler-worker-fetch-browser-011CUvcRc24XEr9DTWDW6MX8
claude/fix-issue-784-011CUvubQrcZHG9S3KjpCKbK
codex/add-user-settings-for-inference-language-and-screenshots
claude/fix-mobile-signin-server-address-011CUnaUWwY2Fhq5Xbwhgr8H
better-auth-2
claude/issue-2028-20251012-1429
claude/issue-1010-20251012-1154
codex/update-feed-refresh-job-idempotency-key
restate
import-v2
fix-public-lists
recurse-delete-list
abort-dangling-processing
tag-pagination
ratelimit-plugin
claude/issue-1937-20250914-0912
codex/implement-title-search-query-qualifier
copilot/add-edit-button-for-notes
cookie-path
ai-tag-cleanup
codex/add-allowlist-and-blocklist-env-variables
mobile-retheme
expo-next-upgrade
opencode/issue1788-20250727215611
fix-trailing-slash-deduplication
edit-bookmark-dialog
bookmark-embeddings
rag
nextjs-15
bookmark-hover-bar
sapling-pr-archive-MohamedBassem
track-bookmark-assets
json-cli
admin-settings
mobile-dark-mode
android/v1.9.2-0
ios/v1.9.1-1
android/v1.9.1-0
ios/v1.9.1-0
ios/v1.9.0-2
ios/v1.9.0-1
android/v1.9.0-1
extension/v1.2.9
cli/v0.31.0
sdk/v0.31.0
mcp/v0.31.0
android/v1.9.0-0
ios/v1.9.0-0
v0.31.0
android/v1.8.5-0
cli/v0.30.0
sdk/v0.30.0
ios/v1.8.4-0
android/v1.8.4-0
v0.30.0
cli/v0.29.1
v0.29.3
v0.29.2
v0.29.1
sdk/v0.29.0
cli/v0.29.0
mcp/v0.29.0
ios/v1.8.3-0
android/v1.8.3-0
extension/v1.2.8
v0.29.0
android/v1.8.2-2
android/v1.8.2-1
ios/v1.8.2-0
android/v1.8.2-0
extension/v1.2.7
android/v1.8.1-0
ios/v1.8.1-0
v0.28.0
cli/v0.27.1
cli/v0.27.0
v0.27.1
sdk/v0.27.0
v0.27.0
android/v1.8.0-1
ios/v1.8.0-1
mcp/v0.26.0
sdk/v0.26.0
v0.26.0
cli/v0.25.0
ios/v1.7.0-1
mcp/v0.25.0
v0.25.0
extension/v1.2.6
ios/v1.7.0-0
android/v1.7.0-0
v0.24.1
v0.24.0
mcp/v0.23.10
mcp/v0.23.9
mcp/v0.23.8
extension/v1.2.5
mcp/v0.23.7
mcp/v0.23.6
mcp/v0.23.5
mcp/v0.23.4
sdk/v0.23.2
cli/v0.23.0
extension/v1.2.4
android/v1.6.9-1
ios/v1.6.9-1
v0.23.2
v0.23.1
sdk/v0.23.0
v0.23.0
ios/v1.6.9-0
sdk/v0.22.0
v0.22.0
android/v1.6.8-0
ios/v1.6.8-0
sdk/v0.21.2
sdk/v0.21.1
sdk/v0.21.0
v0.21.0
cli/v0.20.0
v0.20.0
ios/v1.6.7-4
android/v1.6.7-4
ios/v1.6.7-3
android/v1.6.7-3
android/v1.6.7-2
ios/v1.6.7-2
android/v1.6.7-1
ios/v1.6.7-1
ios/v1.6.7-0
android/v1.6.7-0
v0.19.0
android/v1.6.6-0
android/v1.6.5-0
ios/v1.6.5-0
ios/v1.6.4-0
android/v1.6.4-0
v0.18.0
v0.17.1
v0.17.0
ios/v1.6.3-0
android/v1.6.3-0
extension/v1.2.3
ios/v1.6.2-1
android/v1.6.2-1
ios/v1.6.2-0
android/v1.6.2-0
v0.16.0
ios/v1.6.1-3
android/v1.6.1-3
ios/v1.6.1-2
android/v1.6.1-2
android/v1.6.1-1
ios/v1.6.1-1
android/v1.6.1-0
ios/v1.6.1-0
extension/v1.2.2
android/v1.6.0-1
ios/v1.6.0-1
ios/v1.6.0
android/v1.6.0
cli/v0.13.7
cli/v0.13.6
v0.15.0
cli/v0.13.5
extension/v1.2.1
v0.14.0
cli/v0.13.3
cli/v0.13.2
cli/v0.13.1
cli/v0.13.0
v0.13.1
v0.13.0
mobile-v1.5.0
mobile-v1.4.0
v0.12.2
v0.12.1
v0.12.0
v0.11.1
v0.11.0
v0.10.1
v0.10.0
v0.9.0
v0.8.0
v0.7.0
v0.6.0
v0.5.0
v0.4.1
v.0.4.0
v.0.3.1
v0.3.0
v0.2.2
v0.2.1
v0.2.0
v0.1.0
Labels
Clear labels
Mirrored from GitHub Pull Request
UI/UX
android
bug
dependencies
documentation
documentation
extension
feature request
feature request
good first issue
ios
long-term
performance
pri/high
pri/low
pri/medium
pull-request
Mirrored from GitHub Pull Request
question
status/approved
status/icebox
status/pending_clarification
status/untriaged
No labels
UI/UX
android
bug
dependencies
documentation
documentation
extension
feature request
feature request
good first issue
ios
long-term
performance
pri/high
pri/low
pri/medium
pull-request
question
status/approved
status/icebox
status/pending_clarification
status/untriaged
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
starred/karakeep#19
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @nickrallison on GitHub (Mar 27, 2024).
Original GitHub issue: https://github.com/karakeep-app/karakeep/issues/23
When I try to connect to my instance of hoarder on a Tailscale IP and a non standard port, it works on a webpage but doesn't seem to work in a browser extension:
Web page:
Browser extension:
@MohamedBassem commented on GitHub (Mar 27, 2024):
Can you try prefixing the address with
http://?@vercas commented on GitHub (Mar 27, 2024):
I'm also getting a
NetworkError, and my server URL looks likehttps://foo.bar.baz@MohamedBassem commented on GitHub (Mar 27, 2024):
Hmmm, I wonder if it has something to do with the fact that your SSL certificates are not valid (according to the first screenshot). Is it possible to try disabling SSL and trying again with the
http://prefix? Just as a test.@vercas commented on GitHub (Mar 27, 2024):
I think the problem in my case was just that I forgot to update the container before trying the extension.
It works now, and I've changed nothing else.
@MohamedBassem commented on GitHub (Mar 27, 2024):
Perfect!
@vercas commented on GitHub (Mar 27, 2024):
I wouldn't close this just yet. I'm not the person who opened the ticket (@nickrallison). Their issue may turn out to be different.
@MohamedBassem commented on GitHub (Mar 27, 2024):
Ops, sorry.
@nickrallison commented on GitHub (Mar 27, 2024):
I've updated the docker compose stack to the most recently release and changed the url to: http://100.98.101.100:23000/ and am still encountering the original issue
@MohamedBassem commented on GitHub (Mar 27, 2024):
Please try removing the trailing slash from the address, this is a bug I fixed but still not released. Sorry, one last try I promise :)
If you can also capture the error logs from the browser’s console I’d be grateful!
@nickrallison commented on GitHub (Mar 27, 2024):
Removing the slash didn't work and the browser console was empty for about a minute after submitting the authentication.
I printed "Here" right before submitting the log in
The logs from each container also seem empty, the only one with anything interesting was the worker log which only contained job info as far as I can tell
@MohamedBassem commented on GitHub (Mar 27, 2024):
Ok, I'm out of ideas for remote debugging :D In chrome, typically, you can open the devtools tab for the "plugin" itself and inspect the network requests the plugin itself is doing.
For example, here's how I debugged the trailing slash bug:
https://github.com/MohamedBassem/hoarder-app/assets/2418637/a82e9cee-2454-4e06-b23e-8d3361eb02e1
I'd expect that if you open the "extension"'s dev tools (not the page's dev tools), you'd find the error in the console logs and you can actually inspect the network request in the network tab. But I don't know how to do this in firefox.
I don't want to waste your time too much. If you're willing to try to repo on chrome and share the error, that would be great. Another option is to share the tailscale node with me temporarily (I can send you my tailscale email), but I'd understand if you don't want to (tbh, I personally wouldn't share my tailscale node with anyone :)). Otherwise, I'm out of ideas on how to help :)
@nickrallison commented on GitHub (Mar 28, 2024):
Even more strange, Chrome works right out of the box, firefox still fails. Is it perhaps something strange with my firefox config? I have some strict rules and protections in place: https://github.com/arkenfox/user.js/
@MohamedBassem commented on GitHub (Mar 28, 2024):
Oh interesting. Unfortunately, without logs from the plugin's devtool console (or its network tab), it's very hard to figure out why the plugin's requests are failing.
@nickrallison commented on GitHub (Mar 28, 2024):
I think I got the relevant logs:

@MohamedBassem commented on GitHub (Mar 28, 2024):
Ok, now we're talking. Are you sure you're on the latest app version? I disabled the CORS policy in v0.10.0 (
github.com/MohamedBassem/hoarder-app@e6f6873a23). You being on < 0.10.0 would also explain why it's working on chrome and not in firefox (chrome plugin was explicitly allowlisted. To support firefox, I dropped CORS completely).If you're using
HOARDER_VERSION=release, doing adocker compose upis not enough to ensure you're on the latest version. You'll need to also dodocker compose up --pull always. Or instead, pin the version explicitly withHOARDER_VERSION=0.10.1.@nickrallison commented on GitHub (Mar 28, 2024):
No dice, I pinned it in my .env file: HOARDER_VERSION=0.10.1
but I'm still getting the same error in the console after a compose down and a compose up. Is there a way in the shell of the container to explicitly check the current version to see if it matches the env var?
@MohamedBassem commented on GitHub (Mar 28, 2024):
For now, I think one thing that changed in 0.10.0 is that in the worker logs (
docker logs hoarder-workers-1), it used to say:now it says:
If you're on >= 0.10.0, you should see the latter.
Also, can you share the output of:
curl --head https://unraid.vpn:23000/api/trpc/apiKeys.exchangeThis should show the CORS headers of you server.
@dyslexicjedi commented on GitHub (Mar 29, 2024):
Same issue as @nickrallison on latest version 0.10.1
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource ... CORS request did not succeed.
@MohamedBassem commented on GitHub (Mar 29, 2024):
Can you share the result of:
where
<address>is your full server address?@dyslexicjedi commented on GitHub (Mar 29, 2024):
One thing I did notice was that I said http://ip:port but in the inspect of the extension, I'm seeing https://ip:port. I'm not sure how the http got changed to https in the request.
@MohamedBassem commented on GitHub (Mar 29, 2024):
CORS headers look correct and confirm that you're on at least
10.0.0. The https thing is interesting. I wonder if you have aForce HTTPS everywherekind of extension that might be causing this?@dyslexicjedi commented on GitHub (Mar 29, 2024):
Yup, on latest. No Https everywhere, just Ublock origin, privacy badger, bitwarden, you.
@MohamedBassem commented on GitHub (Mar 29, 2024):
Yeah, I mean the headers you shared confirm that you're on the latest release. So the culprit is probably something else.
And your
httpsthing is a nice observation. Do you have aforce https everywherekind of extension?@dyslexicjedi commented on GitHub (Mar 29, 2024):
I've disabled all other extensions and restarted firefox. No change still the same error and still converts from http to https. Could it be some policy inside firefox?
@MohamedBassem commented on GitHub (Mar 29, 2024):
It seems that firefox indeed has such a thing:
https://support.mozilla.org/en-US/kb/https-only-prefs
EDIT: And allows you to add some exceptions which can be useful in this case.
@dyslexicjedi commented on GitHub (Mar 29, 2024):
I checked the setting, but it's currently disabled.
Content-Security-Policy has an alert about upgrading insecure request. Still looking into that "feature"
Edit: Is this set in the extension or site?
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/upgrade-insecure-requests
@dyslexicjedi commented on GitHub (Mar 29, 2024):
I'm going to throw a valid cert on that machine and see if it works. That way we can figure out if that really is the problem or not.
@dyslexicjedi commented on GitHub (Mar 29, 2024):
I tried it through a reverse proxy with a valid https certificate, same CORS error and dialog error message. I could put a cert directly on the box if you think that would help but I don't think it would make much difference.
@MohamedBassem commented on GitHub (Mar 29, 2024):
Is your instance by any chance publicly accessible? Would love to test on my firefox installation.
@nickrallison commented on GitHub (Mar 29, 2024):
@dyslexicjedi Do you happen to use the Arkenfox presets for firefox?
@dyslexicjedi commented on GitHub (Mar 29, 2024):
@MohamedBassem No sorry, it's only internal
@nickrallison No, it's Firefox packaged with Arch Linux. No real customization other than a few addons.
@nickrallison commented on GitHub (Mar 29, 2024):
I got a temporary instance publicly hosted here: https://hoarder.allisontech.ca/
Strangely it doesn't have the same problem. I suspect it is something to do with my HTTPS I added.
Could I add you to my tailnet perhaps @MohamedBassem? It still has the same issue, do you have an email that works?
@dyslexicjedi commented on GitHub (Mar 29, 2024):
I'm still getting CORS issues against your public instance.
@MohamedBassem commented on GitHub (Mar 29, 2024):
Yeah, it sounds like some weird https issue. I expect that the plugin won't work with an invalid or self-signed cert. On the other hand, @dyslexicjedi tried with a valid cert and faced the same problem :)
Anyways, sent you an email (got yours from your github profile) with my tailscale email :)
@MohamedBassem commented on GitHub (Mar 29, 2024):
@dyslexicjedi Any chance it's a different CORS issue? For example, are you by any chance adding a trailing slash to the URL? :) This causes a CORS issue but a different one. A one that I already fixed in the extension version 1.1.1 :)
I'm not getting any CORS issues in the public instance on firefox.
@dyslexicjedi commented on GitHub (Mar 29, 2024):
So I was messing around with my nginx reverse proxy and CORS..... and I got it to work.
My config:
@MohamedBassem commented on GitHub (Mar 29, 2024):
I managed to repro the issue on @nickrallison's private instance (over tailscale). Basically CORS is failing because SSL is failing with
SSL_ERROR_RX_RECORD_TOO_LONG. This error means we're trying to talk SSL over an HTTP only port.You can repro this error by opening the
https://100.98.101.100:23000/signinin a tab. (Notice that https is the protocol which is talking directly to hoarder's port). So it's definitely an SSL/HTTPs issue and using a valid certificate should solve this issue.Now, the question remains. Why tf is firefox forcing an upgrade to https :)
@MohamedBassem commented on GitHub (Mar 29, 2024):
@dyslexicjedi You're kinda sending the same headers that the server is already sending :D Did you try the combo of "valid cert + no trailing slash) without this hack?
@dyslexicjedi commented on GitHub (Mar 29, 2024):
Yes, valid cert with no trailing slash was still failing. Only the nginx hack fixed it, but then again based on what you said previously. Firefox is communicating over a valid SSL cert to nginx and nginx is communicating over standard http to hoarder. so it's possible that nginx is solving the firefox SSL upgrade problem somehow. (not sure that made sense, but it kinda does in my head.)
@MohamedBassem commented on GitHub (Mar 30, 2024):
Ok, I have a minimal repro that's irrelevant to
Hoarderserver.python3 -m http.server 8000http://<local_lan_ip>:8000as the server addressNotice, that if you use
localhostor127.0.0.1, firefox won't upgrade the request to https.It seems that firefox addons upgrades ANY http request to https regardless of the website. I don't know why this is happening to be honest. The next suspect would be maybe something in the plugin code itself? I'll check.
@nickrallison commented on GitHub (Mar 30, 2024):
I got it working, it was not the fix i would like but I forwarded my domain to a second local Nginx instance on a VM so not publicly. After adding https it works like it's meant to. Thanks for all the support, I'm content with a band-aid fix for now
@nickrallison commented on GitHub (Mar 30, 2024):
Perhaps another band aid would be a disclaimer to firefox users and the advice to host it publicly and disable sign ups once issue #52 gets resolved
@MohamedBassem commented on GitHub (Mar 30, 2024):
You don't actually need to host it publicly. You just need to have a valid certificate. You can get valid certs for non public domains with DNS challenge in Lets Encrypt. Most of my homelab is non-public (only via tailscale) and has valid certs.
EDIT: #52 is a misunderstanding :) DISABLE_SIGNUPS works.
EDIT 2: I think the disclaimer would be: "If you're planning to use the firefox extension, your service needs to be served over https and have valid certs".
@alejoar commented on GitHub (Apr 6, 2024):
I'm facing this same issue (confirmed looking at the extension console logs) and hosting through cosmos with a custom domain. The site is publicly accessible with https.
Any tips on how to fix it with this setup?
@MohamedBassem commented on GitHub (Apr 6, 2024):
@alejoar if you're using cosmos, you might want to check the custom CORS header configuration. Check https://github.com/MohamedBassem/hoarder-app/issues/51 for details on how we debug a previous instance with cosmos.
@alejoar commented on GitHub (Apr 6, 2024):
@MohamedBassem amazing, that worked, thank you!
@lucius346346 commented on GitHub (Apr 19, 2024):
Is there any plan for fixing this? Setting up SSL for just that would be a hassle?
@MohamedBassem commented on GitHub (Apr 19, 2024):
@lucius346346 to be honest, I'm not entirely sure if this something that can be "fixed" or if it's a firefox restriction that can't be bypassed. So far, I didn't find any reference online stating this requirement and I'm not entirely sure what needs to be fixed.
@axsddlr commented on GitHub (Apr 27, 2024):
having same issue on both chrome, edge, waterfox and firefox. ios app works fine
@kamtschatka commented on GitHub (May 24, 2024):
So I found the solution here: https://discourse.mozilla.org/t/mv3-default-csp-override-upgrade-insecure-requests/110443
There is a default Content Security Policy applied in Firefox: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_security_policy
I have created a PR: https://github.com/hoarder-app/hoarder/pull/178
I tried it out locally and could confirm that it works (using the published extension and modifying it)
I also tried the local build but that did not work, as the build seems to output invalid manifest versions for Firefox. @MohamedBassem maybe we can talk in Discord to get this fixed? the dev build does not seem to work and the "build" target seems to not include the js file in the index.html?
@MohamedBassem commented on GitHub (May 25, 2024):
@kamtschatka this is a great find! I didn't know that firefox adds
upgrade-insecure-requeststo CSP, and it's not even documented in their docs!Regarding the local build,
pnpm run devdoesn't seem to work with firefox, butpnpm run builddoes work. You need to follow this link to install the extenion.@MohamedBassem commented on GitHub (May 25, 2024):
I've just released v1.2.1 to the mozilla store with @kamtschatka. If anyone was facing this problem, please give it a shot and let us know how it goes.
Once again, thanks a ton @kamtschatka for tracking and fixing this long standing problem!
@MRDGH2821 commented on GitHub (Aug 5, 2024):
I'm having trouble getting the extension working unfortunately.
I am using Cosmos Cloud to manage my services, but for Hoarder, I directly used compose files to launch instead of adding it in Cosmos Cloud then launching.
After that I added subdomain, put
*in CORS policy setting of Cosmos, disabledHTTPS-onlysetting of firefox, but can't get it working.The app works without a problem.
This is command output from server:

And this is command output from WSL2 (I don't have any other linux device)

That one thing which is bothering me is duplicate headers.
Hoarder Version: 0.15.0
App version 1.6.0
Extension Version: 1.2.1
@MRDGH2821 commented on GitHub (Aug 5, 2024):
I found the problem!
I had duplicate urls in Cosmos cloud, Removed the duplicate & it worked.
I had renamed the container names in docker compose so I had to recreate a URL, didn't know cosmos would keep the previous URL settings too.