Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
150 commits
Select commit Hold shift + click to select a range
d1dbde9
chore(frontend): add eslint v9 config and fix lint issues
AdrianAcala Jan 17, 2026
20ef4ee
feat: implement basic authentication system
AdrianAcala Jan 17, 2026
1a52fe8
feat(auth): enhance authentication system with multi-user support and…
AdrianAcala Jan 18, 2026
15ac634
feat(auth): add password reset functionality and user model update
AdrianAcala Jan 18, 2026
260a898
test: stabilize e2e auth and rate limits
AdrianAcala Jan 19, 2026
03bd9d7
Bump diff from 5.2.0 to 5.2.2 in /frontend
dependabot[bot] Jan 20, 2026
7ea1c3e
Bump qs from 6.14.0 to 6.14.1 in /backend
dependabot[bot] Jan 14, 2026
08d1479
Bump react-router and react-router-dom in /frontend
dependabot[bot] Jan 9, 2026
77c2291
Fix: Save complete app state (#40)
RAY-EZ Jan 20, 2026
865285f
fix: sync pasted/uploaded images across collaborating tabs (#36)
AdrianAcala Jan 20, 2026
af07a73
feat(auth): enhance authentication system with login attempt tracking…
AdrianAcala Jan 21, 2026
f7c9a1a
chore(tests): enable server start during end-to-end tests
AdrianAcala Jan 21, 2026
4d9cd09
Bump lodash-es from 4.17.21 to 4.17.23 in /frontend
dependabot[bot] Jan 22, 2026
7eeedf9
Bump lodash from 4.17.21 to 4.17.23 in /frontend
dependabot[bot] Jan 23, 2026
d9013b8
feat(auth): add user authentication database schema
D35P4C1T0 Jan 24, 2026
78ab52b
feat(security): add database schema for security features
D35P4C1T0 Jan 24, 2026
381dd95
feat(config): add feature flags for optional security features
D35P4C1T0 Jan 24, 2026
b175706
feat(auth): add authentication middleware and utilities
D35P4C1T0 Jan 24, 2026
b6e9514
feat(auth): add authentication endpoints (login, register, refresh, me)
D35P4C1T0 Jan 24, 2026
2998fad
feat(security): add audit logging utility
D35P4C1T0 Jan 24, 2026
29af9fa
feat(backend): integrate authentication and user isolation
D35P4C1T0 Jan 24, 2026
f1a1ff3
feat(frontend): add authentication context and API client
D35P4C1T0 Jan 24, 2026
5f47654
feat(frontend): add login and register pages
D35P4C1T0 Jan 24, 2026
b834f77
feat(frontend): add password reset pages
D35P4C1T0 Jan 24, 2026
112d58a
feat(frontend): add profile page for user management
D35P4C1T0 Jan 24, 2026
cbe83ef
feat(frontend): add select all button to Dashboard
D35P4C1T0 Jan 24, 2026
f6e337a
feat(frontend): add auto-hide header to Editor
D35P4C1T0 Jan 24, 2026
9c6b7dd
test: add tests for audit logging utility
D35P4C1T0 Jan 24, 2026
804adb7
docs: add FORK.md with feature summary
D35P4C1T0 Jan 24, 2026
9fe3a21
chore: update tests and configuration for auth integration
D35P4C1T0 Jan 24, 2026
4f53b89
chore: add dependencies for authentication features
D35P4C1T0 Jan 24, 2026
7dfa69d
fix export source and verisoning
ZimengXiong Jan 30, 2026
9db341c
Bump lodash from 4.17.21 to 4.17.23 in /backend
dependabot[bot] Feb 2, 2026
fd3b972
merge: bring main into pre-release
ZimengXiong Feb 6, 2026
700e153
merge: pull PR48 auth and UX into pre-release
ZimengXiong Feb 6, 2026
75a1f11
feat(auth): consolidate multi-user auth and admin controls
ZimengXiong Feb 6, 2026
7a54123
fix(export): include excalidraw source/version metadata
ZimengXiong Feb 6, 2026
d68fe6a
fix(auth): stabilize refresh expiry and frontend URL handling
ZimengXiong Feb 6, 2026
302d9bd
merge(pr): record PR #41 on pre-release
ZimengXiong Feb 6, 2026
321342c
merge(pr): record PR #44 on pre-release
ZimengXiong Feb 6, 2026
2905c64
merge(pr): record PR #46 on pre-release
ZimengXiong Feb 6, 2026
46f58f0
merge(pr): record PR #47 on pre-release
ZimengXiong Feb 6, 2026
cd38c93
merge(pr): record PR #52 on pre-release
ZimengXiong Feb 6, 2026
deab20b
merge(pr): record PR #51 on pre-release
ZimengXiong Feb 6, 2026
e640aab
chore(deps): apply dependabot updates
ZimengXiong Feb 6, 2026
8f4db57
feat(auth): default to single-user mode with enable toggle
ZimengXiong Feb 6, 2026
28ead81
fix(dev): avoid auth redirect when backend/schema missing
ZimengXiong Feb 6, 2026
eb0a376
fix(dev): reset legacy dev.db and apply migrations
ZimengXiong Feb 6, 2026
c0e113d
fix(dev): avoid native deps in predev migrate
ZimengXiong Feb 6, 2026
9c409b4
Add admin password reset flow
ZimengXiong Feb 6, 2026
6292dda
admin dashboard
ZimengXiong Feb 6, 2026
5ce3161
fix: scope drawings cache by userId and add Socket.io authentication
Copilot Feb 6, 2026
4951348
test: add user data sandboxing security tests
Copilot Feb 6, 2026
8a34d6d
fix: address code review feedback - add error handling and fix import…
Copilot Feb 6, 2026
189e43c
test(import): add legacy import compatibility coverage
ZimengXiong Feb 6, 2026
7c1001b
minor UI fixes
ZimengXiong Feb 7, 2026
dc624db
fix test failures, new export/backup solutions
ZimengXiong Feb 7, 2026
a44f12c
fix graphQL
ZimengXiong Feb 7, 2026
d3c0823
fix graphQL
ZimengXiong Feb 7, 2026
6e01a1d
graph QL
ZimengXiong Feb 7, 2026
c203d27
Ensure non multi-user flow stays
ZimengXiong Feb 7, 2026
e521c6f
chore: pre-release v0.4.0-dev
ZimengXiong Feb 7, 2026
7e6c948
remove dev dependencies from development containers
ZimengXiong Feb 7, 2026
4b21e57
fix JWT secret
ZimengXiong Feb 7, 2026
e6739ab
chore: pre-release v0.4.1-dev
ZimengXiong Feb 7, 2026
ea98ceb
chore: pre-release v0.4.1-dev
ZimengXiong Feb 7, 2026
7610a65
fix HTTPS reuqirement when frontend URL is nto HTTPS
ZimengXiong Feb 7, 2026
dd79f3d
chore: pre-release v0.4.2-dev
ZimengXiong Feb 7, 2026
1f58b59
update resopnsiveness hamburger
ZimengXiong Feb 7, 2026
3f6d375
chore: pre-release v0.4.3-dev
ZimengXiong Feb 7, 2026
d9e0c47
separate debounced autosave
ZimengXiong Feb 7, 2026
72536a0
chore: pre-release v0.4.4-dev
ZimengXiong Feb 7, 2026
532de00
fix colliding drawing IDs
ZimengXiong Feb 7, 2026
9faebc8
chore: pre-release v0.4.5-dev
ZimengXiong Feb 7, 2026
31f938f
concurrency
ZimengXiong Feb 7, 2026
1df3be3
chore: pre-release v0.4.6-dev
ZimengXiong Feb 7, 2026
33ad9ac
prevent preview updates from overwriting drawings
ZimengXiong Feb 7, 2026
96a0f04
images in preview
ZimengXiong Feb 8, 2026
996a500
refactor index.ts
ZimengXiong Feb 8, 2026
05e709d
add tests on refactor
ZimengXiong Feb 8, 2026
3c352b0
sign CSRF with cookie, Login rate-limit key hardened against identifi…
ZimengXiong Feb 8, 2026
48a785f
resolve e2e
ZimengXiong Feb 8, 2026
78c0dca
fix csrf token hardset, remove cookie from localstorage
ZimengXiong Feb 10, 2026
fb6ef9a
Plan OIDC integration and audit
ZimengXiong Feb 10, 2026
3b41560
fix impersonation issues
ZimengXiong Feb 11, 2026
f00afe3
bootstrap
ZimengXiong Feb 13, 2026
f3216b0
auth
ZimengXiong Feb 17, 2026
1486cf2
chore: pre-release v0.4.7-dev
ZimengXiong Feb 17, 2026
cd8a1f4
chore: pre-release v0.4.7-dev
ZimengXiong Feb 17, 2026
41b8dd2
auth
ZimengXiong Feb 17, 2026
eb1fb71
standardize password requiremnts in prod/dev, add intuitive checks
ZimengXiong Feb 17, 2026
cda86c7
chore: pre-release v0.4.8-dev
ZimengXiong Feb 17, 2026
3132569
clarify k8s backends
ZimengXiong Feb 17, 2026
b05cf42
chore: pre-release v0.4.9-dev
ZimengXiong Feb 17, 2026
2621760
fix csrf bypass for auth toggle, harden auth csrf checks, dedepulicat…
ZimengXiong Feb 17, 2026
54f1fe1
chore: pre-release v0.4.10-dev
ZimengXiong Feb 17, 2026
d22f6dc
break api on migration-force users to update/choose auth mode
ZimengXiong Feb 17, 2026
2336652
fix tests breaking from forced api breakage on first run
ZimengXiong Feb 17, 2026
4d37e11
chore: pre-release v0.4.11-dev
ZimengXiong Feb 17, 2026
cb11602
increase card density, min width to 280px
ZimengXiong Feb 17, 2026
7108ed7
note limitations on scaling
ZimengXiong Feb 17, 2026
5b103fd
filter to satisfy codeQL
ZimengXiong Feb 17, 2026
b2d3164
part semvar for version notif
ZimengXiong Feb 17, 2026
aa964f0
version notifier
ZimengXiong Feb 17, 2026
018d281
settings page, update settings
ZimengXiong Feb 17, 2026
f5a2814
chore: pre-release v0.4.12-dev
ZimengXiong Feb 17, 2026
f16b3f1
update settings page refresh UI
ZimengXiong Feb 17, 2026
8a33fff
chore: pre-release v0.4.13-dev
ZimengXiong Feb 17, 2026
8537eda
fix extenral link import
ZimengXiong Feb 17, 2026
bb4b887
chore: pre-release v0.4.14-dev
ZimengXiong Feb 17, 2026
ad14118
update README with for upgrading
ZimengXiong Feb 17, 2026
884496c
satisfy codeQL
ZimengXiong Feb 17, 2026
b7eff15
satisfy codeQL
ZimengXiong Feb 17, 2026
956a5a7
update readme about oidc
ZimengXiong Feb 17, 2026
fb18bbc
chore: pre-release v0.4.15-dev
ZimengXiong Feb 17, 2026
7a6780d
fix export streaming handling
ZimengXiong Feb 17, 2026
91b5700
chore: pre-release v0.4.16-dev
ZimengXiong Feb 17, 2026
82cb436
fix timedout e2e tests
ZimengXiong Feb 17, 2026
08f27e1
chore: pre-release v0.4.17-dev
ZimengXiong Feb 17, 2026
6f1d7f5
reorganize scripts
ZimengXiong Feb 17, 2026
bf894f3
chore: pre-release v0.4.17-dev
ZimengXiong Feb 17, 2026
002c03e
update release workflow, clean up code
ZimengXiong Feb 17, 2026
d3d2df9
chore: pre-release v0.4.18-dev
ZimengXiong Feb 17, 2026
db9d2aa
update release workflow, fix import tests
ZimengXiong Feb 17, 2026
0d55b19
chore: pre-release v0.4.19-dev
ZimengXiong Feb 17, 2026
4a57fb8
update release workflow and notes template
ZimengXiong Feb 17, 2026
9427e41
chore: pre-release v0.4.20-dev
ZimengXiong Feb 17, 2026
8c8aa11
fix editing release.md
ZimengXiong Feb 17, 2026
e8fd4f4
add crypto UUID fallack for non secure contexts
ZimengXiong Feb 17, 2026
4acac8e
auto hide upload UI, hide scroll bar
ZimengXiong Feb 17, 2026
c07be18
chore: pre-release v0.4.21-dev
ZimengXiong Feb 17, 2026
5e1d719
update README
ZimengXiong Feb 17, 2026
8e7a346
readme
ZimengXiong Feb 17, 2026
82145b3
Add local Keycloak OIDC stack (no credentials)
ZimengXiong Feb 17, 2026
28ee31e
Fix backend tests: force AUTH_MODE=local
ZimengXiong Feb 17, 2026
467e2dd
harden oidc token, fail fast
ZimengXiong Feb 17, 2026
a34b651
chore: pre-release v0.4.22-dev
ZimengXiong Feb 17, 2026
6b0ca1a
fix CSRF session swapping, tightend unsasfe allowances, return 401 fo…
ZimengXiong Feb 17, 2026
f9afa0d
chore: pre-release v0.4.23-dev
ZimengXiong Feb 17, 2026
4ee49cb
refactor for sharing permissions
ZimengXiong Feb 17, 2026
6a4005d
add sharing options between users, make sure ordering is transmitted …
ZimengXiong Feb 17, 2026
25e2084
add sharing options between users, make sure ordering is transmitted …
ZimengXiong Feb 17, 2026
e4b3611
chore: pre-release v0.4.24-dev
ZimengXiong Feb 17, 2026
e70f140
fix build issue, no propert on type never
ZimengXiong Feb 17, 2026
ae2ab12
chore: pre-release v0.4.25-dev
ZimengXiong Feb 17, 2026
8bd37d5
update README, fix documetnation, realtime revoking perms on perm change
ZimengXiong Feb 18, 2026
592d40e
chore: pre-release v0.4.26-dev
ZimengXiong Feb 18, 2026
fa4a8f9
RC
ZimengXiong Feb 18, 2026
01e45e8
chore: pre-release v0.4.27-dev
ZimengXiong Feb 18, 2026
cb3caa9
fix(e2e): wait for delete before removing from UI
ZimengXiong Feb 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,9 @@ dist
.env
.DS_Store
*.log
backend
frontend/node_modules
frontend/dist
frontend/coverage
frontend/test-results
frontend/playwright-report
6 changes: 3 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ jobs:
- name: Setup backend database
run: |
cd backend
npx prisma db push
npx prisma migrate deploy
env:
DATABASE_URL: file:${{ github.workspace }}/backend/prisma/e2e-test.db

Expand All @@ -108,7 +108,7 @@ jobs:
run: |
# Start backend server in background
cd backend
DATABASE_URL="file:${{ github.workspace }}/backend/prisma/e2e-test.db" FRONTEND_URL="http://localhost:5173" npm run dev &
DATABASE_URL="file:${{ github.workspace }}/backend/prisma/e2e-test.db" FRONTEND_URL="http://localhost:6767" npm run dev &
BACKEND_PID=$!
cd ..

Expand All @@ -132,7 +132,7 @@ jobs:
# Wait for frontend to be ready
echo "Waiting for frontend server..."
for i in {1..30}; do
if curl -s http://localhost:5173 > /dev/null; then
if curl -s http://localhost:6767 > /dev/null; then
echo "Frontend is ready!"
break
fi
Expand Down
18 changes: 17 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,22 @@ backend/prisma/dev.db
backend/prisma/e2e-test.db
backend/prisma/*.backup

# SQLite artifacts anywhere (avoid committing dev DBs)
*.db
*.db-journal
*.db-wal
*.db-shm
*.db.backup

# Docker-entrypoint persisted secrets/locks (in case prisma volume is bind-mounted)
backend/prisma/.jwt_secret
backend/prisma/.csrf_secret
backend/prisma/.migration-lock/

# Local OIDC/Keycloak dev files
docker-compose.oidc.local.yml
ops/keycloak/realm-excalidash-local.json

# Uploads
backend/uploads/

Expand Down Expand Up @@ -109,4 +125,4 @@ Thumbs.db

# Temporary files
*.tmp
*.temp
*.temp
Loading