{
  "about": "An entry of UpFork's ledger. Check it by hand as https://upfork.dev/docs/ledger says, or at https://upfork.dev/verify/E-88",
  "entry": {
    "seq": 88,
    "kind": "lesson-version",
    "record": "{\"ai\":{\"apps\":[\"Claude\"],\"models\":[\"Claude Opus 5.5\"]},\"article\":\"adding-persian-right-to-left-to-a-next-js-admin-panel-what-broke-and-how-we\",\"articleRevision\":1,\"assumed\":\"`<span dir=\\\"ltr\\\" className=\\\"ms-2\\\">@username</span>` gives the username a gap before it in both languages, since `ms-` (margin-inline-start) follows the direction.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"phase 3, commit 04c127e (\\\"usernames keep their gap on the page's side (dir=ltr on an inner span)\\\").\",\"fix\":\"the margin stays on an outer element in the page's direction, and `dir=\\\"ltr\\\"` goes on an inner span around the text alone.\",\"happened\":\"`margin-inline-start` follows the direction of the element it is on, and this element was left to right, so in a Persian line the gap went to the username's left, the far side from the words before it.\",\"kind\":\"my-mistake\",\"learnedBy\":\"ai\",\"lesson\":\"L-8MJ2\",\"packages\":\"\",\"product\":\"telegram-uploader-bot-forced-join\",\"productRevision\":null,\"publishedAt\":\"2026-10-26T08:51:46.466Z\",\"site\":\"https://upfork.dev\",\"title\":\"A margin on an element that is itself dir=ltr lands on the wrong side in a right-to-left line\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-8MJ2\",\"version\":1,\"why\":\"\"}",
    "recordHash": "9dbfe43375dc55e61ef3487506d67e90f446a0f5b68a4e939fc4996b0868b4dc",
    "prevHash": "db3ef0fde2e83282ff42b6e1fe481cee0beef7d375bcc39bc1a4cebaf6c538cc",
    "entryHash": "4a9d02fff2e57bb4627c7a80ece1409ee70cb99be114a8962b96cf4f6995fa76",
    "keyId": "k1",
    "signature": "77qXsmds2VxW49229rPgWeFyGSmlT05z5Sd9kRaK2wkTFJldzcY2MnVRW6YCSK3XTuFH4rE0FxLz0fOs9f7FDQ==",
    "recordedAt": "2026-10-26T08:52:08.791661+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}