{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreidxeeun5fz6m6ly6dyawe4j7rip4heco6ye323viruv7x42d623si",
    "uri": "at://did:plc:6dmfe46c76jjenq3kaxc5eds/app.bsky.feed.post/3mnipky5vvyy2"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreigumn42yvnq7zdbw6pabvqf334varkf3e4mxpkm77mzx2jrzwbe3a"
    },
    "mimeType": "image/png",
    "size": 21301
  },
  "path": "/week-2-porting-keepsecret-to-the-kirigami-actioncollection-api/",
  "publishedAt": "2026-06-04T19:54:00.000Z",
  "site": "https://roshani-gsoc.bearblog.dev",
  "tags": [
    "kirigami-app-components",
    "Marco Martin (notmart)",
    "Actions.qml",
    "merge request !29"
  ],
  "textContent": "This week, I completed the port of KeepSecret's actions to the new `org.kde.kirigami.actioncollection` API from kirigami-app-components, a recently introduced library developed by Marco Martin (notmart).\n\nBefore working on this task, actions were defined separately throughout the UI. With ActionCollection, I could define each action once in a central place and then reuse it wherever it was needed. This makes the code easier to maintain and also integrates KeepSecret with KDE's standard shortcut system, allowing users to configure shortcuts through the usual KDE interface.\n\nThe main change was creating a dedicated Actions.qml file with `AC.ActionCollectionManager` as the root element. Inside it, actions are now centrally defined across three collections — one for the wallet list, one for wallet contents, and one for item details. These include actions such as New Wallet, New Entry, Search, Lock, Unlock, Copy Password, Save, Revert, and Delete.\n\nDuring review, additional actions were added, dependencies were simplified, and Flatpak build issues were addressed. Since kirigami-app-components is still very new, some CI and packaging adjustments were needed before everything built correctly.\n\nThe merge request !29 has now been reviewed, approved, and merged into KeepSecret.\n\nNext up is the Import/Export feature — I'll be studying KeepSecret's wallet data structures and designing the file format this week.",
  "title": "Week 2 — Porting KeepSecret to the Kirigami ActionCollection API"
}