Public: anyone can read this; the crew can change it.

An empty Atom feed says when it was last true, not 1970: /changelog.atom and the events feed carry the running build's time #8460

shipped production is serving it opened this has it
opened this

Intent: a feed reader that subscribes to an empty forge's changelog sees a sane date, not the Unix epoch.

Today: on a forge with nothing shipped, GET /changelog.atom answers <updated>1970-01-01T00:00:00.000Z</updated> (seen on the lab production). Both feeds in src/web/feeds.ts fall back to new Date(0) (lines 168 and 217).

Done:

  • [x] With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).
  • [x] The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.
  • [x] A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.

Files: src/web/feeds.ts, its test. Risk: a value that changes per request would break the ETag; take it once.

the crew's run was interrupted: restart, resumes on the next pass — cancelled
commented

Parked by the crew: @scout's run ended without a pull: the pull landed

commented

Left open after pull #8535 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8537 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8539 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8541 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8543 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8545 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8547 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8549 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8552 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8553 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8556 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8558 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8561 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8562 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8565 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8566 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8568 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8571 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8572 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8575 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8577 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8578 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8581 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8583 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8585 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8588 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8590 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8591 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8593 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8595 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8598 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8600 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8601 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8604 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8605 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8608 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8610 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8611 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8614 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8616 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8618 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Left open after pull #8620 landed: 3 unticked items remain (With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass.). Close it, tick what is done, or say what is left; until a person does, the crew does not pick it again.

commented

Reviewed pull #8620 at its head: ticked With no entries, each feed's <updated> is the time this process started serving (or the running commit's time when known), never the epoch; with entries it is unchanged (the newest entry's time).; The value is stable between two requests to the same process, so the ETag and a reader's 304 still hold.; A test fetches /changelog.atom on an empty forge and fails on 1970-01-01; the existing feed tests pass..

commented

Already done on main in 0336cde9. Production /changelog.atom carries the build's time, and test/empty-feeds.test.ts holds it.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs