memos/web/src/utils
Johnny b78d4c2568 refactor(markdown): use Unicode categories for tag validation
Replace custom character whitelist with Unicode standards-based validation:

- Use unicode.IsLetter/IsNumber/IsSymbol instead of hardcoded lists
- Remove manual UTF-8 byte checking for CJK punctuation
- Add proper rune-based length limiting (MAX_TAG_LENGTH = 100)
- Improve international character support (CJK, Arabic, Cyrillic, etc.)
- Add emoji support via unicode.IsSymbol

Benefits:
- Cleaner, more maintainable code (~50 lines removed)
- Standards-based approach following Unicode categories
- Better UTF-8 safety with utf8.DecodeRune
- Consistent validation between Go backend and TypeScript frontend

All existing tests pass with improved Unicode handling.
2025-11-23 23:45:10 +08:00
..
remark-plugins refactor(markdown): use Unicode categories for tag validation 2025-11-23 23:45:10 +08:00
attachment.ts feat: generate thumbnails for images stored in S3 and generate thumbnails with a maximum size (#5179) 2025-10-23 21:29:22 +08:00
i18n.ts feat(web): add quick language and theme switchers to user menu 2025-10-28 22:32:25 +08:00
markdown-list-detection.ts refactor: update markdown parser 2025-10-26 11:28:40 +08:00
markdown-manipulation.ts refactor: update markdown parser 2025-10-26 11:28:40 +08:00
memo.ts chore: update url of memo detail page 2025-02-07 20:51:04 +08:00
oauth.ts feat: implement OAuth state management with CSRF protection and cleanup functionality 2025-11-02 23:23:44 +08:00
theme.ts feat(web): standardize theme system with auto sync option (#5231) 2025-11-08 00:41:21 +08:00
user.ts chore: fix user checks 2024-09-03 20:48:23 +08:00
uuid.ts feat: implement memo chat frontend (#1938) 2023-07-14 13:09:21 +08:00