DNN · Vol. I · No. 1crw-rw-rw- 1,3Price · 0 bytes
About
ForecastBright49 merges, 22 fixes

Dev Null News

The changelog nobody wrote

17 more stories ↓25 in brief ↓

Security

Sign-up puts new GitHub accounts on a seven-day cooling-off period

Your first sign-in now checks how old your GitHub account is and whether its email is confirmed. Miss either mark and the site turns you away.

Top storyTook the lead from Timezones join the conversation #155. Sign-in now blocks GitHub accounts younger than seven days or without a confirmed email, so newcomers must wait a week while existing users skip the check. Held off 1 challenger since.

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

Click Sign in with GitHub with a brand-new account and you bounce straight back to the home page, a toast explaining that accounts younger than 7 days cannot join yet. Nothing is created. You get no profile and no log. Wait out the week, click again, and you land in your log.

Credit goes to eznix86, who put a bouncer on the sign-in callback. It reads the creation date GitHub publishes for the account, compares it with a cutoff 7 days back, and lets an account exactly 7 days old through. It also turns away anyone whose GitHub profile comes back without an email address, which it treats as no confirmed primary address. The login redirect and the callback now take ten requests a minute, and in production the session cookie is marked secure by default. Anyone who has signed in before skips both checks. You set the waiting period with SIGNUP_MIN_ACCOUNT_AGE_DAYS and switch the email rule with SIGNUP_REQUIRE_VERIFIED_EMAIL.

One catch if you run your own copy. Production marks the session cookie secure even when you serve the site over plain http://. Browsers drop that cookie without a word, so signing in bounces you home with the generic GitHub error. Set SESSION_SECURE_COOKIE to false and it behaves.

Continued →

Features

Private remotes arrive without a websocket

You can now send private one-to-one and group messages, and watch each one go from staged to pushed to pulled. The whole inbox docks at the corner of every page, and nothing needs a websocket.

Also leadingTook the lead from Timezones join the conversation #155. People can now send private one-to-one and group messages, watch each message move from staged to pushed to pulled, and keep the inbox open on every page.

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

You open /remotes, click a handle, and type. Your message shows up before the server answers, wearing a dashed circle marked staged. A moment later the circle fills in as pushed, and when the other person reads it, a second dot joins it. It is marked pulled, with the time. Above the list are a search box and two tabs, Open and Stashed, and a docked copy of the whole inbox can follow you around the rest of the site.

Credit goes to xHeaven, who built remotes. They include one-to-one threads plus orgs, group conversations capped at 15 people, where the creator is a maintainer and everyone added is a contributor. No websocket in sight. An open thread asks the server for messages after the last one it has every 1.5 seconds while there is activity, every 4 seconds once it has been quiet for a minute, and not at all in a hidden tab. Threads load 50 messages at a time, inboxes 30 conversations at a time, messages run to 2,000 characters, and sends are capped at 30 a minute.

There is one catch if you are hoping strangers will find you. Requests are built but switched off. Two server settings, REMOTES_REQUESTS and REMOTES_EVERYONE, both default to false. The first would let a stranger send one held message, and the second would let you accept remotes from anyone. Until someone flips them, only people you follow can start a remote with you, the Fetched tab stays hidden, and a stranger's first message is refused.

Continued →

GitHub avatar of xHeaven

Every code block now wears a slim title bar. Language sits on the left, wrap and copy sit on the right, and nothing sits on top of your code. In the photo viewer, a sideways swipe scrolls the code instead of flipping the picture.

Full story →

In Brief

Fixes 17

  • YouTube embeds now show the video's own thumbnail before you press play, used whenever the link preview arrives without an image. #291
  • The "Max Payload" badge now counts an exact 4,000-character commit, and the product docs and commit action's help text stop quoting the old 280 limit. #323
  • Posting a commit or reply with a non-text body, like an array or number, now gets a 422 validation error instead of a 500. #317
  • Profile and commit link previews now get new URLs only when something they show changes, so switching a user's log no longer throws away cached cards on X, Slack, and Discord. #329
  • Previewing a commit now renders the poll draft as the poll it becomes, dropping blank options, rendering emoji, and showing the countdown only for admins. #351
12 more fixes
  • When saving a commit or scheduled commit fails, the uploaded images are now deleted instead of being left orphaned on disk. #355
  • Typing a lone @ in the Cmd+K search now prompts 'Type a name or handle to find a developer' instead of hanging on 'Searching…' or flashing a nothing-matches error. #312
  • Atom feeds for profiles now bump their updated timestamp when the bio changes, not only when a new commit lands. #189
  • Profile website links with uppercase or mixed-case HTTP schemes are now kept as-is instead of getting a broken https:// prefix. #304
  • Commit bodies with old Mac-style line endings now break into clean paragraphs instead of leaving stray carriage returns behind. #330
  • Profiles now say "1 pastel received" instead of "1 pastéis", and pastel counts sit snug against their labels instead of inside a fixed four-character slot. #342
  • Notifications and quoted commits now label commit URLs with the author and short hash instead of the raw URL, and static rows show the same label without a nested link. #362
  • Locked achievement badges and the achievements dialog now use full-strength text colors, so labels and progress counts stay readable in both light and dark themes. #363
  • Removed the second registration of the /search route, leaving one handler for the page. #292
  • Reply avatars in commit threads now wear a ring in their author's lane color like commit avatars do, drawn outside the box so the thread lines still land on the edge. #311
  • Expanding a grouped star notification now links each starrer to their profile, while the summary row still opens the starred commit. #353
  • Canceling a commit's inline delete confirmation now puts keyboard focus back on that commit's Delete button instead of dropping it to the page body. #358

Features 6

  • Hovering a commit fades the rest of the feed to 50% for text and replies, 30% for rails, and ignores taps and pens so phones never leave the timeline dimmed. #310
  • Commit actions now render as icon-only buttons with tooltips on desktop and a "…" menu on mobile, so deep reply threads keep bookmark, copy link, and report on one line. #313
  • The achievements list drops the max payload badge, so there are 11 badges left and hitting an exact 4,000-character post no longer earns anything. #331
  • Quotes shown under a commit now carry a 'quoted' tag linking to the quote's own page, and deep threads read 'quoting @user' instead of 'replying to'. #341
  • Writing /dev/null in a commit or reply now draws the outlined orange-slash wordmark, while code, URLs and longer paths stay plain text. #324
1 more features
  • The sidebar now includes a Source code link that opens the project's GitHub repository in a new tab. #257

Performance 2

  • Profile feed tabs now request only the tab and its commits instead of the full profile summary, and reset cursor state so old pages don't mix between Commits and Replies. #321
  • The suggested commits list now fetches author details only for the handful of commits it displays, cutting extra database work. #296

2 routine merges sent to /dev/null

Who Filed

  1. xHeaven24
  2. MrPunyapal6
  3. robelsust4
  4. hbenabdallah3
  5. camilleislasse3
  6. HelgeSverre2
  7. ahosker1
  8. and 6 more

Merge Market

SectorVolLines
Fixes22+1,460
Features19+9,969
Performance5+2,054
Chores2+2
Security1+246

Back Issues