Nnngram
رفتن به کانال در Telegram
The official channel of the Nnngram messenger. Github https://github.com/PreviousAlone/Nnngram Chat @nagram_group
نمایش بیشتر7 761
مشترکین
+1124 ساعت
+127 روز
+3330 روز
آرشیو پست ها
7 761
🎉 Congratulations! New Nnngram build out.
📱 Version:
v12.7.3-a3c65ba (1779495011)
📝 Commit message:
merge: sync upstream master@official 12.7.3 Resolved 199 conflicts. Highlights: - Drawables: msg_*.png follow upstream (migrated to .webp); icon_2/4/5/6 launcher series stay deleted (Nnngram uses nagram_* custom icons). - Build: keep fork .kts + libs.toml; add markwon-* 4.6.2 deps + jlatexmath proguard keep rules. CMakeLists keeps fork cpp20/ccache/-Bsymbolic and takes upstream NDK 27+ -Wno-error=implicit-function-declaration. - JNI: pixman *-neon-asm follow upstream (fork's extra 40 NEON syms were dead code); image.cpp gets upstream copyBitmaps + LUT helpers; gifvideo switches to libyuv per upstream. - TLRPC: take both sides — keep fork Chat.verifiedExtended()/developer() and Defines import, add upstream fromMessageDialogId / fromMessageId. - PhotoViewer: rewrite the long-pre …(truncated)
7 761
🎉 Congratulations! New Nnngram build out.
📱 Version:
v12.6.4-07fd255 (1777991498)
📝 Commit message:
fix(dialogs): prevent list overscroll when pull-down search is disabled When disablePullDownSearch is enabled and there are few conversations (content fits within viewport), the list could still scroll down, pushing the first item below the top padding and hiding it behind the ActionBar. This happened because the RecyclerView allowed overscroll even when content was shorter than the viewport. Add a guard in scrollVerticallyBy that blocks downward scroll when: - disablePullDownSearch is true - there are no stories - total content fits within the list view - the first item is already at the top padding position
7 761
🎉 Congratulations! New Nnngram build out.
📱 Version:
v12.6.4-0dbeb06 (1777318916)
📝 Commit message:
feat(chat-menu): add compact icon bar w/ 3-state toggle Long context menu now supports per-option HIDE / TEXT / ICON modes via segmented control in chat settings. Icon mode renders options as a horizontal GridLayout (≤4 cols) at popup bottom. - store compact + hidden sets as CSV in SharedPreferences - migrate stale compactBarPosition int from earlier draft - Translate stays HIDE/TEXT only — compact would lose swipeback + lang detection wiring - Delete works in icon mode (TTL subtext lost; confirm dialog still fires) - order in dialog mirrors fillMessageMenu sequence
7 761
🎉 Congratulations! New Nnngram build out.
📱 Version:
v12.6.4-0813da8 (1776610987)
📝 Commit message:
ci: truncate commit message before telegram upload (#96) sendDocument caption limit is 1024 chars. After backtick-stripping, long commit bodies still bust the limit and uploadCI.py fails with 400 Bad Request. Do both the strip and an 800-char cap in one Python step so the release notification survives verbose commits.
7 761
🎉 Congratulations! New Nnngram build out.
📱 Version:
v12.6.4-63d0940 (1776389774)
📝 Commit message:
feat(filter): rule-based message filter engine Rule types: contains-text / regex / sender-id / via-bot. Actions: HIDE / COLLAPSE / SPOILER (priority HIDE > COLLAPSE > SPOILER). Supports enable/disable, reorder, JSON import/export. - HIDE removes message from chat and dialog preview fallback. - COLLAPSE replaces text with placeholder, suppresses caption/media/ inline buttons/link preview. Reply previews render original text with TL_messageEntitySpoiler for native blur + tap-to-reveal. - SPOILER injects TL_messageEntitySpoiler + hasMediaSpoilers, reusing Telegram native tap-to-reveal for text and media. Via-bot rules: matchValue accepts bot id or '*'. Live refresh via NotificationCenter.messageFilterRulesChanged.
7 761
🎉 Congratulations! New Nnngram build out.
📱 Version:
v12.6.4-3964d74 (1776101405)
📝 Commit message:
fix: propagate discardLivePhoto in PhotoEntry.copyFrom (#91) When ChatAttachAlertPhotoLayout reloads albums it replaces selected entries via entry.copyFrom(photoEntry), which previously did not copy discardLivePhoto. Editing the caption (e.g. inserting a mention) could trigger this path and silently revert the user's 'send as static' choice, causing the photo to still be sent as a live photo.
7 761
🎉 Congratulations! New Nnngram build out.
📱 Version:
v12.6.4-3b5331e (1776005612)
📝 Commit message:
fix: prevent sendMp4DocumentAsVideo from overriding isVideo for live photos and fix NPE when worker is null in group media send
7 761
🎉 Congratulations! New Nnngram build out.
📱 Version:
v12.6.4-abeecee (1775943605)
📝 Commit message:
fix: prevent code block caption from overlapping timestamp in document messages
7 761
🎉 Congratulations! New Nnngram build out.
📱 Version:
v12.6.4-ef6594c (1775941633)
📝 Commit message:
refactor: read version from gradle.properties as single source of truth
7 761
🎉 Congratulations! New Nnngram build out.
📱 Version:
v12.6.3-37718d9 (1775937992)
📝 Commit message:
Merged official 12.6.4
7 761
🎉 Congratulations! New Nnngram build out.
📱 Version:
v12.6.3-8c2a952 (1775468537)
📝 Commit message:
feat: add model fetching and connection testing for LLM translator - Add fetchModels() to auto-fetch available models from provider's /models endpoint - Add testConnection() to verify API key, URL and model configuration - Extract LLM settings into dedicated LLMSettingActivity - Add i18n strings for zh-CN and zh-TW Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
7 761
🎉 Congratulations! New Nnngram build out.
📱 Version:
v12.6.3-ad9bcba (1775415177)
📝 Commit message:
fix: use NullgramVersion format for version info in new SettingsActivity
7 761
🎉 Congratulations! New Nnngram build out.
📱 Version:
v12.6.3-4dc0fa2 (1775410147)
📝 Commit message:
feat: support multiple API formats and add new LLM providers - Add API format selector (OpenAI Chat/Response, Anthropic, Custom) for custom provider - Custom format sends request to exact URL without appending endpoint path - Add format description row in settings UI - Add 5 new preset providers: Mistral AI, OpenRouter, Alibaba Qwen, Moonshot/Kimi, SiliconFlow - Update default models to latest: gpt-4.1-mini, gemini-2.5-flash, grok-3-mini-fast, qwen-turbo-latest - All preset providers confirmed OpenAI Chat compatible, format selector only shown for custom provider
7 761
🎉 Congratulations! New Nnngram build out.
📱 Version:
v12.6.3-b8dec79 (1775407786)
📝 Commit message:
Merged official 12.6.3
7 761
🎉 Congratulations! New Nnngram build out.
📱 Version:
v12.5.1-6b8d969 (1775400167)
📝 Commit message:
feat: keep Telegram contact nickname on phone book sync Add keepContactNickname toggle. When enabled, syncing phone book contacts will not overwrite existing Telegram contact names with phone book names. Note: this feature relies on locally cached contact names as a substitute for phone book names. If local cache is stale, the preserved name may be inaccurate. Telegram API does not provide a way to bypass the contact name overlay to retrieve the user's actual profile name, so accuracy cannot be guaranteed.
7 761
🎉 Congratulations! New Nnngram build out.
📱 Version:
v12.5.1-b89e358 (1774099821)
📝 Commit message:
fix: three-button navigation open menu height calculation in ChatActivity
7 761
🎉 Congratulations! New Nnngram build out.
📱 Version:
v12.5.1-decfcfd (1773554461)
📝 Commit message:
fix: add bounds check in SortListAdapter init to prevent IndexOutOfBoundsException (#88) The previous fix only covered SortListItems.getSavedOrder() but the actual crash occurs in SortListAdapter's init block, which also reads saved order config without verifying the saved list size matches itemDefines size. https://claude.ai/code/session_01MtsQ924twgiRQdTq3B4s5z Co-authored-by: Claude <noreply@anthropic.com>
7 761
🎉 Congratulations! New Nnngram build out.
📱 Version:
v12.5.1-176d5ed (1773496791)
📝 Commit message:
fix: long-pressing text in a text box causes NPE * Fix IndexOutOfBoundsException in SortListItems.getSavedOrder() When a new text style item is added to TextStyleItems.itemDefines, the saved order config string still has the old (shorter) count. getSavedOrder() loops up to itemDefines.size but accesses savedOrderList which has fewer elements, causing "Index 11 out of bounds for length 11". Fix by checking that savedOrderList.size matches itemDefines.size before applying the saved order; otherwise fall back to default order. https://claude.ai/code/session_01MtsQ924twgiRQdTq3B4s5z --------- Co-authored-by: Claude <noreply@anthropic.com>
