gitdataai/libs/service/project
ZhenYi 09645d8641 fix: resolve multiple bugs across backend and frontend
Security fixes:
- Remove WS token from plaintext log output (ws_universal.rs)
- Replace weak LCG PRNG with rand::thread_rng() for access key generation
- Add project membership check to issue triage endpoint (prevent unauthorized AI usage)
- Validate deepLinkUrl to prevent javascript: navigation (XSS defense-in-depth)

Data integrity fixes:
- Fix UUID truncation in AI model sync (as_u128() as i64 -> timestamp_millis)
- Wrap PR cascade delete in database transaction
- Add missing cascade deletes for room_message_reaction, room_message_edit_history, room_notifications
- Fix N+1 query for last_commit_times (single grouped query instead of per-repo)

Panic prevention:
- Replace unwrap() with safe fallbacks in health/metrics endpoints (email, git-hook apps)
- Replace unwrap() in access key scopes serialization
- Replace expect() in tool executor result map with synthetic error
- Replace expect() in log level parsing with default fallback

Logic bugs:
- Fix users_online metric double-decrement (decrement only when count reaches 0)
- Fix Map iteration + deletion bug in universal-ws.ts onclose handler
- Fix stale audioStream reference in catch block (use local stream variable)
- Add missing reInit event cleanup in carousel.tsx
- Fix email retry backoff integer overflow ((1 << i) as u64 -> 1u64 << i)

React fixes:
- Use message.id instead of index as key in message-list
- Add audio stream cleanup on unmount in use-audio-recording
2026-04-27 13:54:21 +08:00
..
activity.rs refactor(service): migrate auth, git service, agent from slog to tracing 2026-04-21 22:28:33 +08:00
audit.rs init 2026-04-15 09:08:09 +08:00
avatar.rs fix(avatar): add upload API routes and fix URL path prefix 2026-04-25 23:19:22 +08:00
billing.rs feat: thinking_content column + first-project budget logic 2026-04-26 13:11:06 +08:00
board.rs init 2026-04-15 09:08:09 +08:00
can_use.rs init 2026-04-15 09:08:09 +08:00
info.rs init 2026-04-15 09:08:09 +08:00
init.rs feat: thinking_content column + first-project budget logic 2026-04-26 13:11:06 +08:00
invitation.rs fix(project): invitation accept always 404 due to wrong column filter 2026-04-21 23:05:18 +08:00
join_answers.rs init 2026-04-15 09:08:09 +08:00
join_request.rs feat(room): auto-add new project members to all rooms 2026-04-19 22:27:57 +08:00
join_settings.rs init 2026-04-15 09:08:09 +08:00
labels.rs init 2026-04-15 09:08:09 +08:00
like.rs init 2026-04-15 09:08:09 +08:00
members.rs feat(room): auto-add new project members to all rooms 2026-04-19 22:27:57 +08:00
mod.rs init 2026-04-15 09:08:09 +08:00
repo_permission.rs init 2026-04-15 09:08:09 +08:00
repo.rs fix: resolve multiple bugs across backend and frontend 2026-04-27 13:54:21 +08:00
settings.rs init 2026-04-15 09:08:09 +08:00
standard.rs init 2026-04-15 09:08:09 +08:00
transfer_repo.rs init 2026-04-15 09:08:09 +08:00
watch.rs init 2026-04-15 09:08:09 +08:00