Root cause: Wails v2.12.0 cannot reliably marshal []string arguments from JavaScript to Go when called through positional binding. The event IDs array arrived empty on the Go side, causing no worklog_entry_events INSERTs. Fix: - AcceptSuggestionWith now accepts eventIDsJSON (string) instead of eventIDs ([]string). Frontend passes JSON.stringify(eventIds). - Backend json.Unmarshal into []string before validation. - Pre-insert validation: each eventID checked in activity_events. - Atomic tx: entry create + linking in single Begin/Commit. - INSERT (not INSERT OR IGNORE) — failure is a hard error. - Post-commit verification: JOIN COUNT(*) must match len(eventIDs). - End-to-end test: TestAcceptSuggestionWithEndToEnd creates a node, 3 activity events, accepts suggestion, verifies all 3 linked. Other changes: - GetWorklogEntryEvents: fixed column name (details_json -> metadata). - openActivityTarget(ev): new function for 'Посмотреть' button that navigates to specific note/file/folder instead of just opening node. - All 'openNodeById(ev.nodeId)' in event contexts replaced with 'openActivityTarget(ev)'.
26 lines
673 B
HTML
26 lines
673 B
HTML
<!DOCTYPE html>
|
|
<html lang="ru">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<link rel="icon" type="image/svg+xml" href="/wails.png" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Верстак</title>
|
|
<style>
|
|
/* Critical reset — no white borders, full viewport */
|
|
html, body, #app {
|
|
width: 100%;
|
|
height: 100%;
|
|
margin: 0;
|
|
padding: 0;
|
|
overflow: hidden;
|
|
background: #13131f;
|
|
}
|
|
</style>
|
|
<script type="module" crossorigin src="/assets/main-BaeOWl0t.js"></script>
|
|
<link rel="stylesheet" crossorigin href="/assets/main-BafVhx43.css">
|
|
</head>
|
|
<body>
|
|
<div id="app"></div>
|
|
</body>
|
|
</html>
|