add: 文件整理桌面版与自动发布流程 #1
release.yml
on: push
Build Windows exe and publish release
44s
Annotations
5 errors and 1 warning
|
Build Windows exe and publish release
Process completed with exit code 1.
|
|
tests/ui-layout.test.js > album manager layout controls > separates toolbar filters from right-side actions with a compact subfolder toggle:
tests/ui-layout.test.js#L126
AssertionError: expected ':root {\r\n font-family: Inter, "Mic…' to contain '.toolbar-filters {\n display: flex;\…'
- Expected
+ Received
- .toolbar-filters {
- display: flex;
- align-items: center;
- justify-content: flex-start;
+ :root {
+ font-family: Inter, "Microsoft YaHei UI", "Microsoft YaHei", system-ui, sans-serif;
+ color: #172033;
+ background: #f6f8fc;
+ font-synthesis: none;
+ text-rendering: optimizeLegibility;
+ -webkit-font-smoothing: antialiased;
+ --bg: #f6f8fc;
+ --panel: #ffffff;
+ --panel-soft: #eef4ff;
+ --text: #172033;
+ --muted: #64748b;
+ --line: #d8e2f0;
+ --accent: #2563eb;
+ --accent-dark: #1d4ed8;
+ --accent-soft: #dbeafe;
+ --amber: #b7791f;
+ --red: #b42318;
+ --shadow: 0 14px 32px rgba(37, 99, 235, 0.1);
+ }
+
+ * {
+ box-sizing: border-box;
+ }
+
+ body {
+ margin: 0;
+ min-width: 320px;
+ min-height: 720px;
+ background: var(--bg);
+ }
+
+ button,
+ input {
+ font: inherit;
+ }
+
+ button {
+ border: 0;
+ }
+
+ .app-shell {
+ display: grid;
+ grid-template-rows: auto minmax(0, 1fr);
+ height: 100vh;
+ color: var(--text);
+ }
+
+ .toolbar {
+ display: grid;
+ grid-template-columns: minmax(420px, 1fr) auto;
+ align-items: center;
+ gap: 16px;
+ padding: 10px 24px;
+ background: rgba(255, 255, 255, 0.92);
+ border-bottom: 1px solid var(--line);
+ }
+
+ .inline-actions,
+ .tile-actions {
+ display: flex;
+ align-items: center;
+ }
+
+ .preview-header h2,
+ .panel-section h2,
+ .day-group h2,
+ .empty-state h2,
+ .history-page h1 {
+ margin: 0;
+ letter-spacing: 0;
+ }
+
+ .toolbar-spacer {
+ min-width: 0;
+ }
+
+ .toolbar-filters {
+ display: flex;
+ align-items: center;
+ justify-content: flex-start;
+ min-width: 0;
+ gap: 8px;
+ }
+
+ .toolbar-actions {
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ flex: 0 0 auto;
+ gap: 12px;
+ }
+
+ .toolbar-secondary-actions,
+ .toolbar-primary-actions {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ }
+
+ .toolbar-primary-actions {
+ padding-left: 12px;
+ border-left: 1px solid var(--line);
+ }
+
+ .toolbar-menu-control {
+ position: relative;
+ display: inline-flex;
+ }
+
+ .toolbar-menu-button.active {
+ color: #1d4ed8;
+ background: #eff6ff;
+ border-color: #93c5fd;
+ }
+
+ .toolbar-menu-button svg:last-child {
+ margin-left: -3px;
+ }
+
+ .toolbar-dropdown,
+ .toolbar-filter-dropdown,
+ .toolbar-page-dropdown {
+ position: absolute;
+ top: calc(100% + 8px);
+ right: 0;
+ z-index: 20;
+ display: grid;
+ min-width: 154px;
+ gap: 4px;
+ padding: 6px;
+ background: #fff;
+ border: 1px solid var(--line);
+ border-radius: 8px;
+ box-shadow: var(--shadow);
+ }
+
+ .toolbar-filter-dropdown {
+ right: auto;
+ left: 0;
+ min-width: 124px;
+ }
+
+ .toolbar-page-dropdown {
+ min-width: 118px;
+ gap: 2px;
+ padding: 4px;
+ }
+
+ .toolbar-dropdown button,
+ .toolbar-filter-dropdown button,
+ .toolbar-page-dropdown button {
+ display: flex;
+ align-items: center;
+ justify-content: flex-start;
+ min-height: 34px;
+ gap: 8px;
+ padding: 0 10px;
+ color: #1e293b;
+ background: transparent;
+ border-radius: 6px;
+ cursor: pointer;
+ font-size: 13px;
+ font-weight: 700;
+ white-space: nowrap;
+ }
+
+ .toolbar-dropdown button:hover:not(:disabled),
+ .toolbar-filter-dropdown button:hover:not(:disabled),
+ .toolbar-page-dropdown button:hover:not(:disabled),
+ .toolbar-filter-dropdown button.active,
+ .toolbar-page-dropdown button.active {
+ background: #eef4ff;
+ }
+
+ .toolbar-filter-dropdown button.active,
+ .toolbar-page-dropdown button.active {
+ color: #1d4ed8;
+ }
+
+ .toolbar-page-dropdown button {
+ min-height: 30px;
+ gap: 7px;
+ padding: 0 9px;
+ border-radius: 5px;
+ }
+
+ .toolbar-page-dropdown button.active {
|
|
tests/rename-plan.test.js > rename planning > builds collision-safe rename operations and preserves extensions:
tests/rename-plan.test.js#L52
AssertionError: expected [ '20260101_020000.jpg', …(1) ] to deeply equal [ '20260101_100000.jpg', …(1) ]
- Expected
+ Received
[
- "20260101_100000.jpg",
- "20260101_100000-2.jpg",
+ "20260101_020000.jpg",
+ "20260101_020000-2.jpg",
]
❯ tests/rename-plan.test.js:52:56
|
|
tests/rename-plan.test.js > rename planning > renders the default short folder and file naming formats:
tests/rename-plan.test.js#L26
AssertionError: expected '260202_IMG_0099' to be '260203_IMG_0099' // Object.is equality
Expected: "260203_IMG_0099"
Received: "260202_IMG_0099"
❯ tests/rename-plan.test.js:26:67
|
|
tests/rename-plan.test.js > rename planning > renders custom name templates from media metadata:
tests/rename-plan.test.js#L13
AssertionError: expected '2026-02-02_200506_image_007' to be '2026-02-03_040506_image_007' // Object.is equality
Expected: "2026-02-03_040506_image_007"
Received: "2026-02-02_200506_image_007"
❯ tests/rename-plan.test.js:13:90
|
|
Build Windows exe and publish release
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|