Updates

Linkiny19 Apr 2026, 05:43

v0.17.59 — Apple-style UI refresh.

  • Page headings scale fluidly (clamp 40→72px on desktop)
  • Header + content share one 980px column
  • Market / Blogs / Channels cards: 22px radius + soft shadow
  • Contact forms now render a 🔒 pill instead of a prominent paragraph

Reason: the site looked busy and default. Now it reads like a product page.

Linkiny19 Apr 2026, 05:43

v0.17.21 — Federated in-app navigation.

Tapping a card on another node no longer opens an external browser. iOS pushes a FederatedViewerSheet; web opens openFederatedEntry. New public JSON endpoints: /api/v1/spaces/{id}/, /entries/{id}/. Consumes absolute media URLs from the origin node.

Linkiny19 Apr 2026, 05:43

v0.17.32 — Price formatting.

Listings priced in millions (e.g. 35,000,000 RUB apartments) rendered as 3.5e+07 via fmt.Sprintf("%v"). Replaced with formatPriceValue — humanInt thousands separators, currency-symbol-before for $€£¥, suffix for the rest. Empty-photo listings now get a neutral placeholder instead of a collapsed grey box.

Linkiny19 Apr 2026, 05:43

v0.17.35 — Channel media parity.

Channel broadcasts composed via the new “text + media in one message” flow now surface their attachments on both the public channel page and the in-app feed. Added channelMediaHTML that merges metadata.photos with entry.media for legacy + new path support.

Linkiny19 Apr 2026, 05:43

v0.17.43 — Dating photo fix.

Profile photos on /api/v1/dating/feed/ shipped with relative /uploads/... paths, which iOS AsyncImage dropped. Server now absolutises every photo URL (metadata.photos, media, gallery, images, avatar, thumb, cover) before returning. Cards on other users render correctly again.

Linkiny19 Apr 2026, 05:53

v0.17.60 — Simpler public nav.

  • Each public space is its own nav entry again, with its own URL.
  • The auto-suffix → aggregator trick (which collapsed multiple blog or channel spaces into one /blogs/ link) is gone.
  • Trade-off: the URL can look like /blog-6/ instead of /my-blog/, but nothing gets silently hidden from the menu.

Why: after seeding the root node with Project / Downloads / News / Updates, the old rule dropped half of them from the header.

Linkiny19 Apr 2026, 05:53

v0.17.61 — Markdown is now rendered on the public site.

  • Posts with content_type=text/markdown go through goldmark (GFM flavour: tables, task lists, autolinks, strikethrough).
  • Headings, lists, bold/italic, inline code, fenced blocks, blockquotes and images render properly.
  • Channel broadcasts share the same pipeline — bullets and bold in an Updates post now look like an Updates post.
  • Raw HTML passthrough is disabled; user content is still escaped before rendering.

Why: the hand-crafted content on linkiny.com was being printed as a plain wall of ## and ** characters. That’s fixed.

Linkiny19 Apr 2026, 06:09

v0.17.62 — Markdown everywhere + in-place edits + sidebar filter fix

  • Chat bubbles, channel posts, blog posts and previews all render Markdown now (headings, bullets, bold, links, code blocks). iOS has a new MarkdownText component; web has a matching block parser.
  • Editing a post no longer rotates its id. New PUT /admin/api/entries/{id}/ keeps reactions, comments, search index and deep links pointing at the same entry.
  • Channel posts on the web show a ⋯ menu for the owner (Edit / Delete).
  • Sidebar segment filter (Group / Channel / Chats…) honours your pick. Empty segments show “No groups yet” instead of silently falling back to All.

Why: user reported Markdown was ignored in messages, the post edit flow was duplicating entries, the ⋯ menu was missing in channels on web, and picking “Группа” seemed to do nothing.

Linkiny19 Apr 2026, 06:28

v0.17.64 — Fixed Markdown regression on short messages.

  • Short plain-text chats and channel posts keep the timestamp inline next to the text again (one-liner layout, like WhatsApp).
  • Messages that actually contain Markdown (headings, lists, bold, code, multiple lines) still get the block renderer with the timestamp tucked under the bubble.
  • Applies on iOS MessageBubble and ChannelPostView, and on the web chat surface in /app.

Why: enabling Markdown pushed every single-word message onto two lines. The renderer now picks inline vs block based on the body content.

Linkiny19 Apr 2026, 07:05

v0.17.66 — Markdown renders everywhere on the public site

  • renderBody now routes text/plain and empty content_type through goldmark, not only text/markdown
  • **bold**, - lists, ## headings and inline code render on channels, blogs, listings and comments regardless of how the entry was stored
  • 8 posts in Project, Downloads and Updates rewritten: Unicode bullets swapped for markdown - so they become real <ul>

Why: public channel posts were printing **Why:** and backticks as literal text; the content_type dispatch was too strict. Server now treats any text body as markdown at render time, while binary types (mail envelopes, control, reactions, file meta) still bypass.