Skip to content

Commit 1574c89

Browse files
committed
v3.25.2: hotfix blank app from truncated front-end modules (app-messages/app-media/app-ui)
1 parent dc4ef04 commit 1574c89

4 files changed

Lines changed: 23 additions & 10 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ Format follows [Keep a Changelog](https://keepachangelog.com/). Haven uses [Sema
1111
1212
---
1313

14+
## [3.25.2] — 2026-06-18
15+
16+
### Fixed
17+
- **App loaded completely blank — no servers, channels, users, or DMs, and nothing was clickable (regression in 3.25.x).** Three of the front-end JavaScript modules (`app-messages.js`, `app-media.js`, and `app-ui.js`) had been silently truncated mid-file in an earlier commit, cutting off the end of each file. Because the app bundles these modules together at startup, a single unterminated file is a fatal parse error that stops the entire interface from initializing — so the page connected to the server but rendered nothing and ignored every click. All three files have been restored to their complete form. If you were stuck on a blank Haven screen, update and hard-refresh (Ctrl+Shift+R) and it will load normally again.
18+
1419
## [3.25.1] — 2026-06-18
1520

1621
### Fixed

docs/index.html

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1415,12 +1415,12 @@ <h2>Download Haven</h2>
14151415
</div>
14161416

14171417
<div class="download-card fade-in">
1418-
<h2>&#x2B21; Haven Server &mdash; v3.25.1</h2>
1418+
<h2>&#x2B21; Haven Server &mdash; v3.25.2</h2>
14191419
<p class="download-version">Latest stable release &middot; Windows, macOS &amp; Linux &middot; ~5 MB</p>
14201420

14211421
<div class="download-btn-group">
1422-
<a href="https://github.com/ancsemi/Haven/archive/refs/tags/v3.25.1.zip" class="btn btn-primary download-main">
1423-
<span class="icon">&#x2B07;</span> Download v3.25.1 (.zip)
1422+
<a href="https://github.com/ancsemi/Haven/archive/refs/tags/v3.25.2.zip" class="btn btn-primary download-main">
1423+
<span class="icon">&#x2B07;</span> Download v3.25.2 (.zip)
14241424
</a>
14251425
<div class="download-alt-links">
14261426
<a href="https://github.com/ancsemi/Haven" target="_blank">&#9965; View on GitHub</a>
@@ -1437,7 +1437,11 @@ <h2>&#x2B21; Haven Server &mdash; v3.25.1</h2>
14371437
<div class="version-list">
14381438
<div class="version-list-inner">
14391439
<div class="version-item">
1440-
<div><span class="v-name">v3.25.1</span><span class="v-tag latest">Latest</span> &mdash; <strong>Hotfix: Haven Desktop stuck on &ldquo;Loading Haven&hellip;&rdquo; on strict CSP clients.</strong> <code>app.html</code> had a single inline <code>&lt;script&gt;i18n.init();&lt;/script&gt;</code> tag that the page Content Security Policy (no <code>&#39;unsafe-inline&#39;</code> in <code>script-src</code>) was refusing to execute on strict clients (notably the Haven Desktop preload), which left the locale layer uninitialized and the splash hanging. Moved the bootstrap call into <code>i18n.js</code> itself and removed the inline tag from <code>app.html</code>. <code>init()</code> is idempotent so existing <code>await window.i18n.init()</code> callers still resolve against the same shared promise.</div>
1440+
<div><span class="v-name">v3.25.2</span><span class="v-tag latest">Latest</span> &mdash; <strong>Hotfix: app loaded completely blank &mdash; no servers, channels, users, or DMs, and nothing clickable.</strong> Three front-end modules (<code>app-messages.js</code>, <code>app-media.js</code>, <code>app-ui.js</code>) had been silently truncated mid-file in an earlier commit. Because the app bundles these modules together at startup, a single unterminated file is a fatal parse error that halts the whole interface &mdash; so the page connected to the server but rendered nothing and ignored every click. All three files were restored to their complete form. If you were stuck on a blank Haven screen, update and hard-refresh (Ctrl+Shift+R) and it loads normally again.</div>
1441+
<a href="https://github.com/ancsemi/Haven/archive/refs/tags/v3.25.2.zip">Download &rarr;</a>
1442+
</div>
1443+
<div class="version-item">
1444+
<div><span class="v-name">v3.25.1</span> &mdash; <strong>Hotfix: Haven Desktop stuck on &ldquo;Loading Haven&hellip;&rdquo; on strict CSP clients.</strong> <code>app.html</code> had a single inline <code>&lt;script&gt;i18n.init();&lt;/script&gt;</code> tag that the page Content Security Policy (no <code>&#39;unsafe-inline&#39;</code> in <code>script-src</code>) was refusing to execute on strict clients (notably the Haven Desktop preload), which left the locale layer uninitialized and the splash hanging. Moved the bootstrap call into <code>i18n.js</code> itself and removed the inline tag from <code>app.html</code>. <code>init()</code> is idempotent so existing <code>await window.i18n.init()</code> callers still resolve against the same shared promise.</div>
14411445
<a href="https://github.com/ancsemi/Haven/archive/refs/tags/v3.25.1.zip">Download &rarr;</a>
14421446
</div>
14431447
<div class="version-item">

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
{
1+
{
22
"name": "haven",
3-
"version": "3.25.1",
3+
"version": "3.25.2",
44
"description": "Haven - self-hosted private chat for your server, your rules",
55
"license": "AGPL-3.0",
66
"main": "server.js",

website/index.html

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1415,12 +1415,12 @@ <h2>Download Haven</h2>
14151415
</div>
14161416

14171417
<div class="download-card fade-in">
1418-
<h2>&#x2B21; Haven Server &mdash; v3.25.1</h2>
1418+
<h2>&#x2B21; Haven Server &mdash; v3.25.2</h2>
14191419
<p class="download-version">Latest stable release &middot; Windows, macOS &amp; Linux &middot; ~5 MB</p>
14201420

14211421
<div class="download-btn-group">
1422-
<a href="https://github.com/ancsemi/Haven/archive/refs/tags/v3.25.1.zip" class="btn btn-primary download-main">
1423-
<span class="icon">&#x2B07;</span> Download v3.25.1 (.zip)
1422+
<a href="https://github.com/ancsemi/Haven/archive/refs/tags/v3.25.2.zip" class="btn btn-primary download-main">
1423+
<span class="icon">&#x2B07;</span> Download v3.25.2 (.zip)
14241424
</a>
14251425
<div class="download-alt-links">
14261426
<a href="https://github.com/ancsemi/Haven" target="_blank">&#9965; View on GitHub</a>
@@ -1437,7 +1437,11 @@ <h2>&#x2B21; Haven Server &mdash; v3.25.1</h2>
14371437
<div class="version-list">
14381438
<div class="version-list-inner">
14391439
<div class="version-item">
1440-
<div><span class="v-name">v3.25.1</span><span class="v-tag latest">Latest</span> &mdash; <strong>Hotfix: Haven Desktop stuck on &ldquo;Loading Haven&hellip;&rdquo; on strict CSP clients.</strong> <code>app.html</code> had a single inline <code>&lt;script&gt;i18n.init();&lt;/script&gt;</code> tag that the page Content Security Policy (no <code>&#39;unsafe-inline&#39;</code> in <code>script-src</code>) was refusing to execute on strict clients (notably the Haven Desktop preload), which left the locale layer uninitialized and the splash hanging. Moved the bootstrap call into <code>i18n.js</code> itself and removed the inline tag from <code>app.html</code>. <code>init()</code> is idempotent so existing <code>await window.i18n.init()</code> callers still resolve against the same shared promise.</div>
1440+
<div><span class="v-name">v3.25.2</span><span class="v-tag latest">Latest</span> &mdash; <strong>Hotfix: app loaded completely blank &mdash; no servers, channels, users, or DMs, and nothing clickable.</strong> Three front-end modules (<code>app-messages.js</code>, <code>app-media.js</code>, <code>app-ui.js</code>) had been silently truncated mid-file in an earlier commit. Because the app bundles these modules together at startup, a single unterminated file is a fatal parse error that halts the whole interface &mdash; so the page connected to the server but rendered nothing and ignored every click. All three files were restored to their complete form. If you were stuck on a blank Haven screen, update and hard-refresh (Ctrl+Shift+R) and it loads normally again.</div>
1441+
<a href="https://github.com/ancsemi/Haven/archive/refs/tags/v3.25.2.zip">Download &rarr;</a>
1442+
</div>
1443+
<div class="version-item">
1444+
<div><span class="v-name">v3.25.1</span> &mdash; <strong>Hotfix: Haven Desktop stuck on &ldquo;Loading Haven&hellip;&rdquo; on strict CSP clients.</strong> <code>app.html</code> had a single inline <code>&lt;script&gt;i18n.init();&lt;/script&gt;</code> tag that the page Content Security Policy (no <code>&#39;unsafe-inline&#39;</code> in <code>script-src</code>) was refusing to execute on strict clients (notably the Haven Desktop preload), which left the locale layer uninitialized and the splash hanging. Moved the bootstrap call into <code>i18n.js</code> itself and removed the inline tag from <code>app.html</code>. <code>init()</code> is idempotent so existing <code>await window.i18n.init()</code> callers still resolve against the same shared promise.</div>
14411445
<a href="https://github.com/ancsemi/Haven/archive/refs/tags/v3.25.1.zip">Download &rarr;</a>
14421446
</div>
14431447
<div class="version-item">

0 commit comments

Comments
 (0)