Skip to content

feat : Pluggable Storage Layer, Login Redesign & Zitadel OIDC#37

Merged
cevheri merged 23 commits intomainfrom
dev
Mar 7, 2026
Merged

feat : Pluggable Storage Layer, Login Redesign & Zitadel OIDC#37
cevheri merged 23 commits intomainfrom
dev

Conversation

@cevheri
Copy link
Contributor

@cevheri cevheri commented Mar 7, 2026

Release v0.8.0 documentation update covering all features merged since v0.7.1: Pluggable Storage Layer, Login Page Redesign (PR #34), and Zitadel OIDC Integration (PR #36).

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Code refactoring
  • Performance improvement
  • Test addition or update

Related Issue

Closes #34, Closes #36

Changes Made

  • Updated docs/releases/RELEASE_v0.8.0.md with Login Page Redesign section — split-panel layout, desktop/mobile views, OIDC/local mode details, design system alignment (zinc/blue)
  • Added Zitadel OIDC Integration section — configuration, scope/claim/logout details, supported providers comparison table
  • Updated highlights, full changelog, and added PR references with contributor credits

Testing

  • I have tested this locally
  • I have added/updated tests
  • All existing tests pass

Test Environment

  • LibreDB Studio Version: 0.8.0
  • Browser: Chromium (Playwright)
  • OS: Linux
  • Node.js/Bun Version: Bun 1.3.9
  • Database Type: N/A (documentation only)

Screenshots (if applicable)

N/A — documentation update only. Login page screenshots were verified via Docker + Playwright during PR #34 review (OIDC desktop, local desktop, OIDC mobile, local mobile).

Checklist

  • My code follows the project's code style guidelines
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have updated the documentation accordingly
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published

Additional Notes

This PR only updates release documentation. The actual code changes were already merged via:

cevheri and others added 23 commits March 3, 2026 23:51
…greSQL support, including migration from localStorage
…etailing automatic behaviors and manual table creation
Add a modern split-panel login page inspired by contemporary SaaS designs.

- Left panel: gradient branding section with hero text, feature highlights,
  and supported database badges (hidden on mobile)
- Right panel: login form with preserved authentication functionality
- Mobile: compact branding header with login form and database pills
- All existing auth logic (local + OIDC) remains untouched

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Change mobile branding heading from h1 to h2 to maintain single h1
  per page for proper accessibility hierarchy
- Update LoginPage test to use getAllByText for 'LibreDB Studio' since
  the split-panel layout now renders the title in multiple locations

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
On desktop, the SSO provider's login page now opens as a separate
window positioned on the right half of the screen, creating a
side-by-side experience with the main login page on the left.
On mobile, the flow gracefully falls back to a full-page redirect.

Changes:
- Add handleSSO function with responsive window management
- Enrich OIDC card UI with ShieldCheck icon and security badges
- Store popup mode flag via cookie for callback coordination
- Auto-close SSO window on completion and verify auth state
- Clean up oidc-mode cookie in both success and error paths

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Added Zitadel to the list of supported OIDC providers in documentation and README
- Updated  with Zitadel-specific scope and role claim configurations
- Implemented RP-Initiated logout URL building logic for Zitadel
- Added unit tests for Zitadel logout URL generation
Popup-based SSO flow (window.open + window.moveTo/resizeTo) is unreliable
because modern browsers block window manipulation APIs. Revert to the
proven full-page redirect approach while keeping all UI improvements
(split-panel layout, responsive design, security badges).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace violet/purple/emerald gradient with zinc-950 base and blue accent
glows to match the app's premium dark aesthetic. Update feature content
to align with libredb.org website messaging. Changes:

- Background: zinc-950 + subtle blue-950/cyan-950 gradient overlay
- Accent color: blue-400 (matching app's primary) instead of emerald
- Feature cards: glassmorphism (bg-white/[0.03], border-white/[0.05])
- Content: website-aligned copy (7+ DB engines, AI-native, zero install)
- Mobile: blue-tinted branding icon matching desktop panel
- Ambient orbs: blue/cyan instead of purple/emerald

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Mobile footer was showing only 5 databases while desktop panel listed
all 7. Sync both lists to show the complete set.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…sign

feat(login): redesign login page with responsive split layout
…tadel OIDC integration

This release includes a pluggable storage layer, a redesigned login page with a modern split-panel layout, and full integration with Zitadel as an OIDC provider. Key features include responsive design, support for localStorage, SQLite, and PostgreSQL, as well as enhanced security and user experience improvements.
@cevheri
Copy link
Contributor Author

cevheri commented Mar 7, 2026

Thanks @yusuf-gundogdu @hbasria

@sonarqubecloud
Copy link

sonarqubecloud bot commented Mar 7, 2026

@cevheri cevheri merged commit ca1c544 into main Mar 7, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants