nx-webmail: improve post-login full mailbox sync
Some checks failed
Publish nx-webmail Image (Gitea) / publish (push) Has been cancelled

This commit is contained in:
2026-02-23 13:45:51 +01:00
parent 81c77bce6a
commit 60a6a3222b
4 changed files with 12 additions and 17 deletions

View File

@@ -30,7 +30,7 @@ Umbrel installation is most reliable when your app uses a prebuilt image from a
- `git.weektab.org/nexus/nx-webmail:latest` - `git.weektab.org/nexus/nx-webmail:latest`
3. The workflow then pins `nx-webmail/docker-compose.yml` to `tag@sha256:digest` automatically. 3. The workflow then pins `nx-webmail/docker-compose.yml` to `tag@sha256:digest` automatically.
4. Manual fallback: 4. Manual fallback:
docker buildx build --platform linux/amd64,linux/arm64 -t git.weektab.org/nexus/nx-webmail:1.0.4 --push . docker buildx build --platform linux/amd64,linux/arm64 -t git.weektab.org/nexus/nx-webmail:1.0.5 --push .
## Umbrel app packaging ## Umbrel app packaging
@@ -55,7 +55,7 @@ This repository is prepared for Umbrel app-store usage.
Notes: Notes:
- Umbrel uses the `app_proxy` service in `docker-compose.yml`. - Umbrel uses the `app_proxy` service in `docker-compose.yml`.
- Internal app port is `3001`. - Internal app port is `3001`.
- `server` uses a prebuilt registry image (`git.weektab.org/nexus/nx-webmail:1.0.4`). - `server` uses a prebuilt registry image (`git.weektab.org/nexus/nx-webmail:1.0.5`).
- If your store prefix changes, update `id` in `umbrel-app.yml` and `APP_HOST` in `docker-compose.yml`. - If your store prefix changes, update `id` in `umbrel-app.yml` and `APP_HOST` in `docker-compose.yml`.
## Notes ## Notes

View File

@@ -7,7 +7,7 @@ services:
APP_PORT: 3001 APP_PORT: 3001
server: server:
image: git.weektab.org/nexus/nx-webmail:1.0.4@sha256:a5a57deade7005e775a8a6b370d2b3cb8fea2f1d370d65048f2bd580224636ed image: git.weektab.org/nexus/nx-webmail:1.0.5@sha256:5bd160a20d844a2b4a74607423b951859eccee38cb6b47c2f4264640ac23f3eb
init: true init: true
restart: on-failure restart: on-failure
stop_grace_period: 1m stop_grace_period: 1m

View File

@@ -569,20 +569,12 @@ export default function Webmail() {
foldersMeta: normalized foldersMeta: normalized
}); });
if (skipInitialFetchIfCached && cachedDefaultEmails) {
await fetchInbox(defaultFolder, auth, true, credOverride, { await fetchInbox(defaultFolder, auth, true, credOverride, {
keepSelection: true, keepSelection: true,
silent: true, silent: Boolean(cachedDefaultEmails) || skipInitialFetchIfCached,
syncOnly: true, fetchAll: true,
resetToFirstPage: true resetToFirstPage: true
}); });
} else {
await fetchInbox(defaultFolder, auth, true, credOverride, {
keepSelection: true,
silent: Boolean(cachedDefaultEmails),
resetToFirstPage: true
});
}
saveSession(credOverride, defaultFolder); saveSession(credOverride, defaultFolder);
upsertAccount(credOverride, defaultFolder); upsertAccount(credOverride, defaultFolder);
return true; return true;
@@ -1318,9 +1310,12 @@ export default function Webmail() {
const handleManualRefresh = async () => { const handleManualRefresh = async () => {
setIsRefreshingInbox(true); setIsRefreshingInbox(true);
try { try {
const shouldFetchAll = !Boolean(activeFolderPaging?.loadedAll);
await fetchInbox(activeFolder, authPayload, true, credentials, { await fetchInbox(activeFolder, authPayload, true, credentials, {
keepSelection: true, keepSelection: true,
syncOnly: true syncOnly: !shouldFetchAll,
fetchAll: shouldFetchAll,
forceRefresh: shouldFetchAll
}); });
await fetchFolderSizes(authPayload); await fetchFolderSizes(authPayload);
await fetchQuota(authPayload); await fetchQuota(authPayload);

View File

@@ -2,9 +2,9 @@
id: nx-webmail id: nx-webmail
name: Webmail name: Webmail
tagline: Self-hosted IMAP/SMTP webmail client tagline: Self-hosted IMAP/SMTP webmail client
icon: logo.svg icon: https://git.weektab.org/nexus/umbrel-apps/raw/branch/main/gallery/webmail/icon.png
category: utilities category: utilities
version: "1.0.4" version: "1.0.5"
port: 3001 port: 3001
description: >- description: >-
Webmail is a lightweight, self-hosted webmail app for connecting to external Webmail is a lightweight, self-hosted webmail app for connecting to external
@@ -17,7 +17,7 @@ repo: https://git.weektab.org/nexus/webmail
support: https://git.weektab.org/nexus/webmail/issues support: https://git.weektab.org/nexus/webmail/issues
gallery: [] gallery: []
releaseNotes: >- releaseNotes: >-
Refined login visuals with rounded hero edges, modern typography, and updated styling. Improved inbox synchronization to load complete mailbox data right after login.
dependencies: [] dependencies: []
path: "" path: ""
defaultUsername: "" defaultUsername: ""