Zimeng Xiong
2e6b94644f
bump version 0.1.7
2025-12-01 14:02:32 -08:00
Zimeng Xiong
2520d7e7a2
fix(drawings): stabilize lazy loading, improve export error handling, and tidy cache invalidation
2025-12-01 13:58:24 -08:00
Adrian Acala
c4352185d6
refactor: optimize drawing data handling and cache management
...
- Improve cache key generation using JSON.stringify for consistent formatting
- Add promise deduplication in DrawingCard to prevent redundant API calls for full drawing data
- Clear full data state when drawing ID changes to ensure fresh data loading
- Fix async cache invalidation in drawing update and collection delete endpoints
- Move cache invalidation after database operations in SQLite import endpoint
- Add HydratedDrawingData type for better type safety in drawing data management
2025-11-29 11:48:47 -08:00
Adrian Acala
6f050aec7d
perf: optimize drawings endpoint with caching and lazy loading
...
- Add 5s in-memory cache for /drawings responses with automatic cleanup
- Split Drawing/DrawingSummary types for efficient data fetching
- Implement lazy loading of drawing data in DrawingCard component
- Add configurable DRAWINGS_CACHE_TTL_MS and RATE_LIMIT_MAX_REQUESTS env vars
- Prevent memory leaks with periodic cleanup of cache and rate limit maps
- Add loading states and better UX for export operations
- Improve JSON parsing with error handling for malformed stored data
Benchmark results (100 drawings, cached):
- Avg latency: 6.94ms (p50: 4ms, p97.5: 8ms)
- Avg throughput: 668 req/s (peak: 1,023)
- 3k requests in 5s with 0 errors
Update .gitignore to exclude generated files, env files, and build artifacts
2025-11-29 04:30:28 +00:00
Zimeng Xiong
f20d48fea2
fix migration issues
2025-11-24 14:53:17 -08:00
Zimeng Xiong
fa73708d97
allow importing of libraries via URL, update db schema
2025-11-24 14:32:48 -08:00
Zimeng Xiong
1b78597649
Merge branch 'main' into pre-release
2025-11-23 10:06:08 -08:00
Zimeng Xiong
d93b6493c1
fix database import in docker
2025-11-23 09:40:00 -08:00
Zimeng Xiong
d581eb3e88
fix database import, allow sqlite and db format
2025-11-23 09:22:01 -08:00
Zimeng Xiong
4728ef151c
release notes
2025-11-23 09:12:36 -08:00
Zimeng Xiong
eb5f54a6d0
unify version numbering
2025-11-23 08:53:36 -08:00
Zimeng Xiong
0787989496
add version managment script
2025-11-23 08:02:00 -08:00
Zimeng Xiong
997fa4af03
add prisma cli to dependencies, make zod checks more permissive
2025-11-23 07:08:41 -08:00
Zimeng Xiong
b864e82318
Merge branch '1-413-request-entity-too-large' into pre-release
2025-11-22 22:50:40 -08:00
Zimeng Xiong
2f22be2bd7
Merge branch 'fix-CPU-blocking' into pre-release
2025-11-22 22:48:51 -08:00
Zimeng Xiong
fcfb850168
Merge branch 'fix-DoS-event-blocking' into pre-release
2025-11-22 22:44:27 -08:00
Zimeng Xiong
4a224c1f92
Merge branch 'fix-rce-via-upload' into pre-release
2025-11-22 22:43:47 -08:00
Zimeng Xiong
9055661b51
make async database integrity check
2025-11-22 21:59:18 -08:00
Zimeng Xiong
29936417fc
convert all sync op to async, implemented streaming
2025-11-22 21:36:02 -08:00
Zimeng Xiong
49e32f7d96
validate SQlite magic header
2025-11-22 21:27:34 -08:00
Zimeng Xiong
cd9c242983
filter with dompurify
2025-11-22 21:21:28 -08:00
Zimeng Xiong
3835557e67
update nginx config
2025-11-22 21:06:01 -08:00
Zimeng Xiong
69bffab745
fix XSS and Root execution of NPM in docker
2025-11-22 20:38:40 -08:00
Zimeng Xiong
2e2b4ca455
fix bind mount prisma, auto hydrate empty folder
2025-11-22 20:25:07 -08:00
Zimeng Xiong
ae8f6d696e
fix bind mount prisma, auto hydrate empty folder
2025-11-22 20:25:07 -08:00
Zimeng Xiong
e21cdbe6a8
add CORS fallback
2025-11-22 19:14:55 -08:00
Zimeng Xiong
c54a2ae5e7
add CORS fallback
2025-11-22 19:14:55 -08:00
Zimeng Xiong
94f33f0a56
fix: add linux-musl-openssl-3.0.x
2025-11-22 19:07:28 -08:00
Zimeng Xiong
55162c0b93
fix: add linux-musl-openssl-3.0.x
2025-11-22 19:07:28 -08:00
Zimeng Xiong
5d5e22c8a1
fix: pinning CORS to FRONTEND_URL, validate drawing payloads with Zod, staging SQLite imports with integrity checks and atomic swaps in index.ts
2025-11-22 17:17:50 -08:00
Zimeng Xiong
2826e47392
fix: pinning CORS to FRONTEND_URL, validate drawing payloads with Zod, staging SQLite imports with integrity checks and atomic swaps in index.ts
2025-11-22 17:17:50 -08:00
Zimeng Xiong
d31feda405
fix: realign sqlite path and stabilize client data
2025-11-22 16:26:28 -08:00
Zimeng Xiong
d08dfe9b56
export/import functionality
2025-11-22 10:06:58 -08:00
Zimeng Xiong
e87987a0a3
Dockerize
2025-11-22 09:18:20 -08:00
Zimeng Xiong
be45a0c913
remove normalization, fix import issues
2025-11-21 23:10:51 -08:00
Zimeng Xiong
6a57e668dd
Fix save issue
2025-11-21 22:46:58 -08:00
Zimeng Xiong
9ee9d6ccfe
working live collab
2025-11-21 22:06:12 -08:00
Zimeng Xiong
0878b5e87f
Trash ID Update Collections
2025-11-21 19:31:59 -08:00
Zimeng Xiong
4e8beae0ee
MVP
2025-11-21 19:18:07 -08:00
Zimeng Xiong
35734936b3
Scaffolding
2025-11-21 17:55:51 -08:00