• Steven's avatar
    refactor(web): improve MemoContent security and maintainability · 4668c471
    Steven authored
    Security improvements:
    - Add rehype-sanitize for XSS protection in markdown content
    - Remove DOMPurify and deprecated __html code block feature
    - Extract sanitize schema to constants with comprehensive documentation
    
    Maintainability improvements:
    - Extract SANITIZE_SCHEMA to constants.ts for better organization
    - Create utils.ts with shared code extraction utilities
    - Refactor CodeBlock and MermaidBlock to use shared utilities
    - Rename PreProps to CodeBlockProps for clarity
    - Reduce code duplication across components
    
    Dependency cleanup:
    - Remove explicit katex dependency (now transitive via rehype-katex)
    - Remove @matejmazur/react-katex (unused)
    - Remove dompurify (replaced by rehype-sanitize)
    - Update vite config to remove katex-vendor chunk
    
    Changes: 7 files changed, 84 insertions(+), 100 deletions(-)
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
    4668c471
Name
Last commit
Last update
..
ActivityCalendar Loading commit data...
ConfirmDialog Loading commit data...
Inbox Loading commit data...
MasonryView Loading commit data...
MemoActionMenu Loading commit data...
MemoContent Loading commit data...
MemoDetailSidebar Loading commit data...
MemoEditor Loading commit data...
MemoExplorer Loading commit data...
MemoReactionListView Loading commit data...
MemoRelationForceGraph Loading commit data...
MemoView Loading commit data...
PagedMemoList Loading commit data...
Settings Loading commit data...
StatisticsView Loading commit data...
kit Loading commit data...
memo-metadata Loading commit data...
ui Loading commit data...
AttachmentIcon.tsx Loading commit data...
AuthFooter.tsx Loading commit data...
ChangeMemberPasswordDialog.tsx Loading commit data...
CreateAccessTokenDialog.tsx Loading commit data...
CreateIdentityProviderDialog.tsx Loading commit data...
CreateShortcutDialog.tsx Loading commit data...
CreateUserDialog.tsx Loading commit data...
CreateWebhookDialog.tsx Loading commit data...
DateTimeInput.tsx Loading commit data...
Empty.tsx Loading commit data...
LeafletMap.tsx Loading commit data...
LearnMore.tsx Loading commit data...
LocaleSelect.tsx Loading commit data...
MemoAttachment.tsx Loading commit data...
MemoDisplaySettingMenu.tsx Loading commit data...
MemoFilters.tsx Loading commit data...
MemoResource.tsx Loading commit data...
MemoSkeleton.tsx Loading commit data...
MemosLogo.tsx Loading commit data...
MobileHeader.tsx Loading commit data...
Navigation.tsx Loading commit data...
NavigationDrawer.tsx Loading commit data...
PasswordSignInForm.tsx Loading commit data...
PreviewImageDialog.tsx Loading commit data...
RequiredBadge.tsx Loading commit data...
SearchBar.tsx Loading commit data...
TagTree.tsx Loading commit data...
ThemeSelect.tsx Loading commit data...
UpdateAccountDialog.tsx Loading commit data...
UpdateCustomizedProfileDialog.tsx Loading commit data...
UserAvatar.tsx Loading commit data...
UserMenu.tsx Loading commit data...
VisibilityIcon.tsx Loading commit data...