NodeLoc App Release Notes
Repository: GitHub - lezi-fun/nodeloc-app: NodeLoc.com 的第三方 Android 原生客户端 · GitHub
NodeLoc App v0.3.4
NodeLoc App v0.3.4
This update is based on v0.3.3 and focuses on a Discourse-style notification center, Android system notifications, and a chat entry point. It also fixes onebox images, topic upvote/downvote voting, check-ins, app update detection, and other issues.
Notifications now extend from the app to the system interface, and post voting now behaves like Discourse Post Voting.
Highlights: You can now
- Handle notifications directly from the home page: the avatar in the upper-right corner shows the unread count; tap it to quickly browse recent notifications
- Receive alerts in the system notification shade: tap an Android system notification to open the app’s notification center
- Open chat from the sidebar: NodeLoc Chat continues using the current login session
- Use real upvote/downvote voting: response lists are no longer shown, and reactions are no longer selected by long-pressing
- View onebox images correctly: thumbnails, full-size images, and lazy-loaded images are displayed according to their actual structure
Overview
The main focus of this release is the notification experience. The home page now includes the user avatar and an unread badge. The avatar menu, full notification page, and Android system notifications share the same notification data. Reading an individual notification updates only that item, while “Mark all as read” still requires an explicit user action. The app checks for new notifications at startup, when returning to the foreground, and during periodic background tasks. On Android 13 and later, it attempts to request notification permission the first time the app is opened.
The second focus is matching Discourse’s actual behavior. Onebox images now distinguish between left-side thumbnails and full-width images and support lazy-loading URLs. Topic upvotes and downvotes now use the Discourse Post Voting API and server-side state instead of reusing reaction logic. The release also fixes formal-version detection, check-in requests, and large images in post bodies.
Release date: 2026-09-06
Update size: 6 commits | 20 files changed | +1,165 / -215 lines
New features
Discourse-style notification center
The upper-right corner of the home page now displays the current user’s avatar and unread notification count. Tapping the avatar first opens a native notification menu for quickly browsing recent notifications instead of navigating directly to a new page.
- Displays the source user, avatar, topic title, time, and unread status
- Tapping a notification marks only that notification as read and opens the corresponding topic
- Provides a complete notification list and a user-triggered “Mark all as read” action
- Opening the notification list does not automatically clear unread notifications
- The unread badge on the home page refreshes promptly after notifications are read
Android system notifications
New NodeLoc notifications can now also appear in the Android notification shade.
- Tapping a system notification opens the app’s notification center directly
- Multiple notifications are grouped to reduce space used in the notification shade
- Notifications that have already been delivered are recorded to prevent duplicate alerts
- New notifications are checked at startup, when returning to the foreground, and during periodic background tasks
- Android 13 and later attempts to request notification permission the first time the app is opened
Chat entry point
A new “Chat” entry has been added to the sidebar. It opens NodeLoc Chat using the current login session, without requiring another login. In this version, chat is displayed in an in-app web page; future versions will continue improving the native chat experience.
Fixes
Onebox images displayed correctly
Fixed incorrect rendering of images in oneboxes and distinguished image types according to Discourse’s actual structure.
- Ordinary
.aspect-imageelements are displayed as left-side thumbnails .aspect-image-full-sizeelements are displayed as full-width large images- Supports
data-src,data-original-src,data-lazy-src, and lazy-loadedsrcset - Real image URLs are preferred so data placeholder images are not treated as final images
Topic upvotes and downvotes restored as real voting
Upvote and downvote actions now use the Discourse Post Voting API and state instead of reaction logic.
- Response-user lists are no longer displayed
- Long-press selection of other reactions has been removed
- Tapping the same direction again cancels the current vote
- Switching voting direction correctly updates the count and selected state
- Voting controls are shown only in topics where Post Voting is enabled
App update prompts restored
- Automatically built versions are now marked as prereleases and no longer override the latest official GitHub release
- Version comparison recognizes only official versions such as
v1.2.3 - Build tags are no longer incorrectly treated as official versions older or newer than the current version
Check-in stability fixes
- Corrected the length of the random check-in identifier
- Added complete site-origin information to fix check-in requests rejected by the server in some cases
Post-body image display fixed
Large images in post bodies are once again displayed in full instead of incorrectly appearing as thumbnails with links.
Upgrade notes
- You can upgrade directly from v0.3.3 to v0.3.4 without clearing app data
- Android 13 and later users should allow notification permission when opening the new version for the first time
- If notification permission was previously denied, it can be re-enabled in the Android system settings under app notifications
- Android background tasks are scheduled by the system; notification checks may be delayed in battery-saving mode
- The current chat entry still uses an in-app web page and does not yet provide a complete native chat interface
Download and installation
Visit GitHub Releases to download the appropriate version.
The app requires Android 8.0 (API 26) or later.
| File | Supported devices | Recommendation |
|---|---|---|
nodeloc-universal-v0.3.4.apk |
All supported devices | Recommended when you are unsure of the architecture |
nodeloc-arm64-v8a-v0.3.4.apk |
Most modern Android phones and tablets | Preferred for ARM64 devices |
nodeloc-armeabi-v7a-v0.3.4.apk |
Older 32-bit ARM devices | Needed only for older devices |
nodeloc-x86_64-v0.3.4.apk |
64-bit x86 emulators or devices | Mainly for testing environments |
nodeloc-x86-v0.3.4.apk |
32-bit x86 emulators or devices | Mainly for older testing environments |
After downloading, you can install it directly over the existing version. If the system blocks installation, allow the current download source to install unknown apps in Android settings.