You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Send log (JournalSync-Log):every publish saves a snapshot (content, images, target preset, diagnostics) under send-log/ in the plugin directory, keeping the latest 10 entries. The JournalSync-Log command opens a log modal; any entry can be re-edited and re-sent with content and images restored. Failed pre-dispatch attempts are recorded too.
Telegram Markdown→HTML conversion:new src/core/telegram-markdown.js based on @borodin/mdgram converts Obsidian Markdown to Telegram HTML uniformly (classic HTML for the plain path, Rich HTML for the rich path), replacing the old parse_mode=Markdown and hand-built rich-text assembly.
Core logic consolidated into src/core/:unified MIME inference (image+video) in src/core/mime.js and shared multipart body construction in src/core/multipart.js, removing duplicated getMimeType and form builders across mastodon/missky/notion/telegram/payload. Pure logic (diary filename/heading, vault paths, image-ref parsing, rich-draft, content extraction, settings merge) moved out of src/main.js into standalone src/core/ modules; src/main.js keeps only lifecycle and orchestration. No behavior change.
Core rules now tested:new tests/core.test.js covers image-token matching, settings deep-merge, diary filename/heading placeholders, MIME and multipart. npm test runs it alongside the Bluesky suite.
Telegram sends with HTML parse mode:text and captions of sendMessage/sendPhoto/sendMediaGroup are converted via Markdown→HTML and sent with parse_mode=HTML; block-level syntax (headings/lists) degrades to bold/bullets on the plain path and keeps full tags on the rich path. New tests/telegram-markdown.test.js covers inline formatting, escaping, quotes, code blocks and image-token restoration.
Bilingual UI (i18n):new uiLanguage setting (auto follows Obsidian's language, or zh/en). Send modal, settings page, log modal and all adapter messages are wired into the translation engine; manifest.name is translated at every consumption point; cross-adapter duplicate strings are platform-prefixed.
Parallel cross-platform sends:generic adapters run concurrently; telegram (single call, channels in parallel inside the adapter) and mastodon (accounts serial) run as parallel groups. Dispatch logic consolidated in src/core/send-dispatcher.js, covered by tests/send-dispatcher.test.js (20 cases).
Faster attachment size pre-check:file metadata (TFile.stat.size / Blob.size) is read first; full-buffer read is only a fallback. Checks within one adapter run in parallel.
Paste handling:non-image pastes are inserted as plain text only, so web/Word formatted content can no longer lose newlines.
Telegram quote/code-block content loss:two Markdown→HTML conversion defects fixed — lines starting with > inside fenced code blocks were wrongly extracted as quotes and lost; quotes adjacent to body text (no blank line) had their placeholder swallowed, dropping the whole quote. Now fence-aware with blank-line placeholder isolation.
No more camera emoji when sending images on some platforms:Weibo image-only posts use a space placeholder instead of 📷; Mastodon omits the status field entirely for image-only posts.