mirror of
https://github.com/d0zingcat/alert-message-center.git
synced 2026-05-13 15:09:19 +00:00
8.1 KiB
8.1 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
CHANGELOG | 简体中文
[1.5.0] - 2026-02-09
Added
- File Attachment Support: Users can now send files and images via the dashboard and API.
- Multipart Form-Data Support: Webhook endpoint now handles
multipart/form-datafor file uploads. - Sequential Message Dispatch: Support for sending text and attachments as multiple sequential messages in a single request.
- SendAlertForm Component: New UI component for sending alerts with attachments directly from the topic view.
Fixed
- Feishu SDK Bun Compatibility: Resolved a crash when uploading files in the Bun environment by using temporary files and
fs.ReadStream. - Drizzle ORM Prototype Error: Fixed a
null is not an objectcrash during database insertion by normalizing request bodies. - Attachment Precedence: Fixed an issue where attachments were ignored if text content was also present.
[1.4.0] - 2026-01-23
Added
- Global Topics: Introduced a new topic type that broadcasts alerts to all users automatically.
- User Requests: All users can now request a topic to be "Global" during creation.
- Admin Control: Admins can promote any topic to "Global" or create new global topics via the Admin Dashboard.
- Automatic Distribution: Alerts sent to Global Topics are delivered to every registered user without requiring individual subscriptions.
- UI Indicators: Added "Global" badges and specialized management actions in the Topics and Admin views.
[1.3.3] - 2026-01-17
Added
- Multi-replica Deployment Support: Enhanced stability for load-balanced/multi-instance environments.
- Database Locking: Introduced Postgres Advisory Locks in
db:migrate:deployscript to prevent race conditions during concurrent database migrations. - Idempotency Hardening: Verified and ensured Feishu event handling logic is idempotent, supporting safe receipt of duplicate events in multi-replica setups.
- Database Locking: Introduced Postgres Advisory Locks in
[1.3.2] - 2026-01-17
Added
- Group Chat Search: Added real-time search functionality when binding group chats, solving the difficulty of finding specific groups when many are present.
- Backend Support:
GET /groupsnow supportsqquery parameter for fuzzy search and increased default return limit. - Search Frontend: Introduced a search input with debounce logic and a custom dropdown list for better UX.
- Backend Support:
Changed
- UI Optimization: Improved
GroupBindingsModalvisual design with a modern list style, status icons, and loading animations. - Documentation: Split
README.mdinto English (README.md) and Chinese (README.zh-CN.md) for better internationalization support.
[1.3.1] - 2026-01-16
Added
- Group Chat Binding Management: Enhanced security and workflow for binding Topics to Feishu group chats.
- Permission Control: Only Topic creators or Admins are allowed to bind/unbind groups.
- Approval Workflow: New approval mechanism for group binding requests from non-admin/non-trusted users (tracked via
status). - Admin Notifications: Introduced
admin-notifier.tsfor real-time Feishu card notifications to admins upon new Topic or Binding requests.
- Trusted User System: Introduced
isTrustedflag.- Trusted users' Topic and Binding requests are auto-approved.
- Admins skip approval by default.
Changed
- Database Schema: Added
statusandcreated_byfields totopic_group_chatstable to support approval flow and permission checks.
[1.3.0] - 2026-01-16
Added
- Visual Branding: Introduced custom logo and favicon.
- Modern Indigo theme logo designed specifically for "Alert Message Center".
- Integrated logo into Login screen and Header, replacing generic icons.
Fixed
- Deployment Reliability: Fixed database migration failures in Docker environments by including
apps/server/drizzle/metain the package (un-ignored in git).
[1.2.7] - 2026-01-15
Fixed
- Database Migration: Fixed migration interruptions in K8s environments caused by relative path resolution failures. Now uses robust absolute paths with additional debug logging.
[1.2.6] - 2026-01-15
Changed
- User Tokens: Shortened
personalTokenfrom 32-char UUID to 8-character hex string for better usability. - Database Migration: Integrated automated migration for existing user tokens into the deployment script.
- AI Conventions: Updated
copilot-context.mdwith strict requirements for style and lint checks.
[1.2.5] - 2026-01-15
Fixed
- Frontend Resilience: Fixed "white page" crashes when database is empty or API returns error objects.
- Added
res.okandArray.isArraychecks to all API requests inTopicsView,SystemLoadView, andAdminView. - Added defensive logic to show friendly messages instead of crashing.
- Added
- Vite Env Variables: Fixed
TypeErrorwhen accessing environment variables.- Used optional chaining (
meta.env?.) for safe access.
- Used optional chaining (
- CI & Type Safety: Fixed CI-breaking type errors and formatting issues.
- Unified code style via
biome check --write. - Improved
UserAccessTokenDatainterface and added null checks for OAuth callback.
- Unified code style via
[1.2.4] - 2026-01-15
Changed
- Type Safety: Refactored core logic to eliminate
anytypes.- Introduced explicit interfaces in
webhook.ts,verify_permissions.ts, andfeishu.ts. - Improved Webhook body handling with better validation.
- Introduced explicit interfaces in
- Linting: Enforced Biome's
noExplicitAnyrule.
[1.2.3] - 2026-01-15
Added
- Automated DB Migrations: Introduced automatic database initialization.
- Added
src/db/migrate.tsusing Drizzle Migrator. - Updated
Dockerfileto run migrations on startup.
- Added
Fixed
- Initialization Errors: Fixed
relation "users" does not existon fresh installs. - Migration History: Re-generated initial migration files for clean deployments.
[1.2.2] - 2024-01-14
Changed
- Linting: Tightened Biome configuration for
a11y,suspicious,style, andcorrectness. - CI/CD: Integrated Biome checks into GitHub Actions.
Fixed
- Accessibility: Added
type="button"to all buttons and improved Modal keyboard/ARIA support. - Hook Dependencies: Stabilized
useEffectchains usinguseCallback.
[1.2.1] - 2024-01-14
Fixed
- WebSocket Initialization: Fixed
TypeErrorin@larksuiteoapi/node-sdkv1.56.0+. - Hono Compatibility: Fixed signature verification issues by using manual challenge handling and prototype header injection.
- Auto-Cleanup: Added
im.chat.member.bot.deleted_v1support to automatically unbind topics when bot is removed from a group.
Added
- Structured Logging: Integrated
pinofor JSON logging withpino-prettyfor development.
[1.2.0] - 2026-01-13
Added
- Feishu Group Notifications: Support for sending alerts to Feishu group chats.
- Long Connection (WebSocket): Support for intranet deployments via Feishu WebSocket mode.
- UI Improvements: Added group management entry in Topic list.
Changed
- Architecture: Unified event distribution for Webhook and WebSocket modes.
[1.1.1] - 2026-01-13
Fixed
- CI/CD: Fixed Docker build failures after path restructuring.
[1.1.0] - 2026-01-13
Added
- Docker Integration: Single multi-stage Docker image for both frontend and backend.
- Environment Isolation: Improved
.envhandling using Bun's--env-file. - Root Scripts: Unified
devandstartscripts in root directory.
[1.0.0] - 2026-01-12
Added
- Personal Inbox: Support for private DM notifications via personal token.
- Topic Management: Ownership and approval tracking for topics.
- Admin Dashboard: New view for managing topic requests and permissions.
- Lark OAuth2: Integrated Feishu identity provider.
- Initial Release: Core alert routing system based on Hono, Vite, and PostgreSQL.