memos/web/tests
johnnyjoygh 620db61f7c chore(web): unify compact truncation into a single ClampedSection
Compact cards previously had two truncation systems taped together: a
text-only clamp inside MemoContent (144px, no re-measure on image load,
fade tinted to the wrong surface) and a whole-tile cap in ColumnGrid
(hard clip mid-image, no affordance), later joined by a content-shape
rule choosing an owner per card — which could still stack two Show-more
buttons and silently broke footnote navigation in clamped cards.

Now there is exactly one mechanism: ClampedSection measures its content
and folds anything taller than 420px to a 360px preview with a fade and
a Show more/less toggle. MemoBody wraps the whole body in it (reactions
stay outside, never hidden); ColumnGrid is pure packing again and never
clips; MemoContent is a stateless renderer whose `compact` prop only
informs footnote-link behavior; MemoPreview uses a static CSS bound in
place of its previously inert toggle.

Deltas: text-only compact previews grow from ~6 rows to the same 360px
image cards get, and pinned memos clamp like any card (pinned means
ordering and a badge, not size).
2026-07-07 21:01:19 +08:00
..
about-page.test.tsx feat(editor): recognize and style @mentions in the rich editor 2026-06-26 09:28:41 +08:00
activity-calendar-tooltip.test.ts feat(activity-calendar): aggregate by ViewContext.timeBasis 2026-05-02 00:26:53 +08:00
auth-redirect.test.ts refactor(web/routing): guard-based auth flow, migrate tests to Vitest (#5848) 2026-04-18 01:06:54 +08:00
calendar-cell-empty-clickable.test.tsx feat(memo): create memos on the selected calendar date (#5925) 2026-05-02 11:53:50 +08:00
column-count.test.ts feat(web): add max-columns memo feed layout 2026-07-06 23:55:36 +08:00
column-grid.test.tsx chore(web): unify compact truncation into a single ClampedSection 2026-07-07 21:01:19 +08:00
derive-default-create-time.test.ts feat(memo): create memos on the selected calendar date (#5925) 2026-05-02 11:53:50 +08:00
editor-controller.test.ts refactor: rebuild the editor on CodeMirror as decorated source 2026-06-28 22:59:14 +08:00
editor-decorations.test.ts refactor: rebuild the editor on CodeMirror as decorated source 2026-06-28 22:59:14 +08:00
editor-formatting.test.ts refactor: rebuild the editor on CodeMirror as decorated source 2026-06-28 22:59:14 +08:00
editor-heading-decorations.test.ts refactor: rebuild the editor on CodeMirror as decorated source 2026-06-28 22:59:14 +08:00
editor-keys.test.ts feat(web): add max-columns memo feed layout 2026-07-06 23:55:36 +08:00
editor-tag-autocomplete.test.ts refactor: rebuild the editor on CodeMirror as decorated source 2026-06-28 22:59:14 +08:00
editor.test.tsx refactor: rebuild the editor on CodeMirror as decorated source 2026-06-28 22:59:14 +08:00
filtered-memo-stats.test.ts chore: add batch get settings API 2026-05-09 09:30:28 +08:00
formatting-toolbar.test.tsx chore(editor): flatten insert menu 2026-07-05 20:43:02 +08:00
guards.test.tsx refactor(web): use / as the home route instead of /home 2026-05-12 23:17:46 +08:00
hoist-new-memo.test.ts feat: surface newly created memo above pinned list 2026-06-21 14:11:46 +08:00
hooks.test.tsx refactor(frontend): remove react-use dependency 2026-05-31 18:32:17 +08:00
i18n-locale-search.test.ts feat(i18n): add searchable locale picker 2026-06-09 09:33:17 +08:00
locale-picker.test.tsx feat(i18n): add searchable locale picker 2026-06-09 09:33:17 +08:00
location-picker.test.tsx perf: lazy load heavy first-screen dependencies (#5947) 2026-05-12 20:11:39 +08:00
markdown-task-actions.test.ts feat(memo): add task list quick actions (#5983) 2026-05-27 09:13:55 +08:00
memo-body-compact.test.tsx chore(web): unify compact truncation into a single ClampedSection 2026-07-07 21:01:19 +08:00
memo-content-link-preview.test.tsx feat(web): add link preview view setting 2026-06-25 20:45:51 +08:00
memo-content-list.test.tsx fix(markdown): keep task item content in one grid column 2026-05-27 23:57:23 +08:00
memo-content-paragraph.test.tsx feat(stats): support filtered all-user stats 2026-05-09 09:11:04 +08:00
memo-content-security.test.tsx fix(web): preserve task checkbox state (#5867) 2026-04-20 23:27:00 +08:00
memo-editor-cache.test.ts fix(web): preserve task checkbox state (#5867) 2026-04-20 23:27:00 +08:00
memo-share-image.test.ts chore: remove duplicate tags from share image preview 2026-04-25 22:22:49 +08:00
mermaid-block.test.tsx perf: lazy load heavy first-screen dependencies (#5947) 2026-05-12 20:11:39 +08:00
oauth.test.ts feat(auth): add SSO user identity linkage (#5883) 2026-04-23 08:51:45 +08:00
paged-memo-list.test.tsx feat(web): add max-columns memo feed layout 2026-07-06 23:55:36 +08:00
placeholder-component.test.tsx feat(frontend): add pixel bird tilemaps 2026-05-14 00:03:21 +08:00
placeholder-pool.test.ts feat(about): add about page with bird sprites 2026-05-14 20:30:37 +08:00
preview-image-dialog.test.tsx chore(media): add zoom controls to preview dialog 2026-06-02 22:46:07 +08:00
redirect-safety.test.ts feat(auth): add private instance mode derived from instance_url 2026-07-05 22:48:00 +08:00
remark-tag.test.tsx fix(tags): include combining marks in tag character class (#6051) 2026-06-28 10:41:41 +08:00
router-config.test.tsx feat(about): add about page with bird sprites 2026-05-14 20:30:37 +08:00
setup.ts refactor: rebuild the editor on CodeMirror as decorated source 2026-06-28 22:59:14 +08:00
toolbar-compact-width.test.ts feat(editor): add focus-mode formatting toolbar 2026-06-21 11:57:45 +08:00
use-auto-save.test.tsx refactor(editor): modularize formatting and simplify editor state 2026-06-22 23:51:59 +08:00
video-poster.test.tsx fix(web): render video attachment posters on mobile 2026-06-02 23:08:16 +08:00
view-context-columns.test.tsx feat(web): add max-columns memo feed layout 2026-07-06 23:55:36 +08:00