memos/plugin
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
..
cron refactor: use WaitGroup.Go to simplify code (#5162) 2025-10-10 22:28:35 +08:00
filter feat(store): add hierarchical tag filtering support 2025-10-30 00:21:53 +08:00
httpgetter refactor: attachment service part2 2025-06-18 00:09:19 +08:00
idp chore: add more logs for oauth2 2025-05-14 20:38:14 +08:00
markdown refactor(markdown): use Unicode categories for tag validation 2025-11-23 23:45:10 +08:00
storage/s3 feat: generate thumbnails for images stored in S3 and generate thumbnails with a maximum size (#5179) 2025-10-23 21:29:22 +08:00
webhook chore: fix linter 2025-06-24 21:55:27 +08:00