feat: Seerr QC login, password-login hide, auto-URL scheme, new ENV vars | fix: Set-Cookie#812
feat: Seerr QC login, password-login hide, auto-URL scheme, new ENV vars | fix: Set-Cookie#812v3DJG6GL wants to merge 63 commits intoDonutWare:developfrom
Conversation
This reverts commit 9dbd5b8.
|
Hi, thanks for having a go at helping out. I also appreciate you being upfront about having used AI. Besides the point I am going to close this because it's a bit much for one PR. If you could separate it into the following features then we can go and review from there.
The Seerr environment variables is actually something I also worked on, so would prefer to merge that. It is very similar in implementation though. For future reference it's probably best to keep PR's either small or check in before hand how/if we want to implement something. |
|
Hi and thank you for your response :) Yes, I thought so too — it might be better to split this PR.
Of course! I mainly implemented it for my own setup, which involves running my own custom-built Seer container with this PR already merged.
Same for this, I'll separate it... How about the other smaller features I've added? Should I also open separate PRs for these?
|
These two should be fine. I get wanting those others implemented but I would like to keep it simple for the most part and not add to much features all at the same time. |
Pull Request Description
Features
Seerr QuickConnect Integration (All Plattforns)
lib/seerr/seerr_models.dart)lib/providers/seerr_service_provider.dart)UI / UX (All Plattforns)
hidePasswordLoginclient setting to hide password fieldsDocker: New Environment Variables
SEERR_URL: Pre-fills and locks the Seerr URL in settings (Addresses Add JELLYSEERR_URL env var to Fladder Docker image (like BASE_URL) #688)HIDE_PASSWORD_LOGIN: Hides password fields, showing only QuickConnect (partially Addresses [Feature Request] [Docker/self-hosted]: hide/disable jellyfin login form with ENV variable #652)SEERR_CUSTOM_HEADERS: JSON object of headers injected server-side for all users./seerr-proxy/) so header values should never reach the client.Issue Being Fixed
Set-Cookieto JavaScriptBrowserClientwithwithCredentials = trueso the browser manages session cookies nativelyScreenshots (Container version)
Login Screen (with
SEERR_URL&BASE_URLset)Login Screen QuickConnect modal
Login Screen (with
SEERR_URL&BASE_URLset &HIDE_PASSWORD_LOGINset totrue)Settings: Hide Password login toggle (disable since ENV
HIDE_PASSWORD_LOGINis set totrue)Settings: Seerr Login QuickConnect modal (Seerr URL locked since ENV
SEERR_URLis set)Seerr Login QuickConnect modal: QuickConnect button pressed
Seerr Login QuickConnect modal: Successfully logged in
Notes
AI Disclosure
Developed with assistance from Claude Code (Opus 4.6). The AI helped me identify the related files, code parts and proposed possible code modifications and fixes.
I've manually reviewed, cleaned, refactored and hardened the code the best I could, but since my Dart capabilities are not that good, I see this PR more as a proposal/idea.
A Proper code review is required in any case - also especially since this PR is also focused on authentication...
Feel free to close/reject that PR if non of my ideas/implementatons match the project standards. I am also willing to split this PR into smaller parts, in case some of the implementations are worth considering :)
I started implementing these features and fixes mainly for my own purposes. Since the Seerr QC PR has not been merged yet, it is currently only usable by people running development/custom builds....
Custom Header Environment Variables
I initially thought that adding custom header ENV Var could be useful, but I am not sure whether I am overcomplicated my implementation or whether there are really no easier solutions:
Example Setup :
authzendpoint and defined a BasicAuthentication user that is allowed to bypass SSO Auth layer:However, this only prevents the WebUI from being exposed directly to the internet. The Seerr API is proxied to Fladder and reachable via
/seerr-proxy/. Of course, still with Seerr authentication in front of.Ideally, the API endpoint should only be accessible to logged-in Fladder users.
But I might be overcomplicating things. ^___^
To-Do's
Checklist