DNN · Vol. I · No. 2crw-rw-rw- 1,3Price · 0 bytes
About
ForecastBright39 merges, 14 fixes

Dev Null News

The changelog nobody wrote

16 more stories ↓19 in brief ↓

Features

Org links trade counters for clockwork UUIDs

Every conversation, orgs included, now wears a 36-character UUID in the URL instead of a small number. Old numeric links land on a 404.

Top storyFirst on the front page. Held off 17 challengers since.

GitHub avatar of xHeaven
xHeaven, who filed the change, pictured in the contributor’s own avatar.

Open an org from your inbox and the address bar reads /remotes/orgs/01a14427-7900-7329-b1e3-35e552f96b6d where /remotes/orgs/12 used to be. Same room, same faces, same backlog. The number is simply gone.

Credit goes to xHeaven, who moved every conversation, orgs included, onto a UUID. The migration reads each conversation's creation time and mints a time-ordered UUID from it, so ids still sort by age. It then repoints every participant row and every message at the new id. Messages keep their integer ids, because those numbers still carry paging, read markers and last-read positions. An org still holds 15 people, and the inbox still pages 30 conversations at a time.

One catch. If you had an org docked in the corner before the upgrade, your browser remembers it under the old number and the new inbox has no matching key. The dock quietly falls back to your inbox list. Open the org once and it sticks again.

Continued →

Features

The knowledge base gets a card catalog

A new command chops a Markdown file at every heading and files each section in Postgres with its own vector. Ask a question from code and it hands back the five closest sections.

Also leadingTook the lead from Slash commands skip the commit and file the issue #371. A new command splits the knowledge base at each heading and stores searchable sections, so code can ask a question and get the five closest passages. Held off 1 challenger since.

GitHub avatar of paulinevos
paulinevos, who filed the change, pictured in the contributor’s own avatar.

You change a sentence under a heading in the knowledge base, type php artisan knowledge-base:embed, and the terminal comes back. It says, "Embedded 1 knowledge base sections from KNOWLEDGE_BASE.md." Everything else in the file keeps the vectors it already had.

Credit goes to paulinevos, who taught the project to read its own manual. The command splits the Markdown at every heading, keeps the parent headings as context, and ships each non-empty section to OpenAI a hundred at a time, storing the text and a 1,536-number vector side by side in Postgres. Edit a section or move it under a new heading and it gets re-embedded. Move it untouched and its old vector comes along.

The other half is a lookup you can call from code. Give it a question and it returns the five closest sections, nearest first, each with source path, heading trail, Markdown body, and a distance score. A blank question costs no request, and repeated questions ride a one-hour embedding cache. A scheduled job reruns the import every hour, and a second run with no edits embeds zero sections.

There is one catch. There is no similarity cutoff. Ask about pastéis de nata and you get five sections no matter how far away the nearest one really is, so the caller has to read the distance and decide whether the answer is any good. The code never hides a bad match by returning nothing.

Continued →

GitHub avatar of xHeaven

Hover a message in Remotes and a reply arrow appears, quoting the line you're answering above the box. Pictures, link cards, mentions and code arrive with it, and your draft stays where you left it.

Full story →

GitHub avatar of paulinevos

Mention Tom in a public post and the site's oldest resident writes back, drawing on the platform's knowledge base and your public posts. He runs on a fast, small model and keeps it short.

Full story →

In Brief

Fixes 12

  • Commit action tooltips now share one styled bubble and a 150ms delay, replacing native title hints across star, pastel, quote, pin, reply and delete controls. #368
  • Committing from the Trending log no longer pins the new commit on top, so it now stays where the ranking puts it. #438
  • The unread notification badge now counts only the types you filtered your inbox to, and reads zero when you pick no types. #413
  • Profile and achievements level badges now tint correctly for palette lanes, where the background was silently dropped and the border fell back to text colour. #490
  • On phones, conversations now stay pinned between the top bar and the bottom nav, so threads no longer scroll past the composer. #373
7 more fixes
  • The search box in the Log sidebar and on the search page now uses the same rounded corners as other inputs instead of pill-shaped ends. #374
  • Dismissing a preview's menu by clicking elsewhere now closes the preview too, and previews near the bottom edge shift up far enough to keep their stats row visible. #376
  • Commit lookups now reject references where a UUID is embedded inside a longer string, while standalone UUIDs and commit URLs still resolve. #396
  • On touch devices, sideways swipes on the log feed now switch lanes instead of triggering the browser's back or forward navigation. #408
  • A count of exactly 1,000 now reads "1k" instead of "1000", matching how the compact formatter already shortens every larger number. #445
  • The reaction bar no longer gets clipped at the top of a message, and on mobile you can pull the emoji sheet down or tap outside to close it. #457
  • The new-commits pill now floats over the log instead of shoving it down a bar's height, and the empty strip around it lets clicks through to the feed. #433

Features 5

  • On phones, Profile, Settings, and Operations now live in a Menu dropdown, mention suggestions stay inside the visible screen, and chat avatars wear their lane color as a ring instead of a dot. #387
  • On the log, the mobile floating commit button now stays hidden until you scroll the inline composer out of view, then fades in. #444
  • Sidebar stats and commit star counts above 1,000 now show compact values like 12.4k instead of 12400. #410
  • The sidebar's Source code link now shows an external-link icon in its expanded row, so it reads as leaving the site. #375
  • On mobile, sending a chat message now drops focus from the composer so the keyboard closes instead of hanging around. #439

Internals 1

  • Stress-test data now spreads follows across the past year, so the test account no longer starts with thousands of unread follow notifications from a single day. #491

Docs 1

  • The knowledge-base file now covers every app feature, from log limits to polls and moderation, so the internal retriever can answer questions about them. #437

1 routine merge sent to /dev/null

Who Filed

  1. xHeaven21
  2. brendt7
  3. paulinevos4
  4. SanderMuller2
  5. camilleislasse1
  6. AmanuelLegese1
  7. MrPunyapal1
  8. and 2 more

Merge Market

SectorVolLines
Features21+13,291
Fixes14+819
Chores1+46
Docs1+346
Performance1+20
Internals1+12

Back Issues