Repository navigation
Conversation
|
Slop score: 25/100 (no significant slop signals)
🔍 mika-agent · self-hosted review for the Ryoku org · |
|
@mika-agent review |
🦊 mika's reviewIncremental review: new commits since the last checkpoint. Summary
Estimated review effort: 1/5 · risk: low 📁 Walkthrough details
|
neur0map
left a comment
There was a problem hiding this comment.
🔍 mika reviewed this change; details in the walkthrough comment.
…xpression when the floating window reopens; Floating window: exclusive keyboard, click outside to close (Ask bar pattern); Default to the manifest placement when none is stored; Negative carried result keeps unary precedence; HistorySize 0 keeps no history-document HEX a-f vs e; Remove the root-level duplicate CalculatorView.qml
# Conflicts: # plugins/registry.json
neur0map
left a comment
There was a problem hiding this comment.
🔴 Changes requested — 0 critical and 2 major issue(s): see the inline comments and the walkthrough for fixes and an agent-ready prompt.
| readonly property var hints: { | ||
| var h = [ | ||
| { keys: ["Enter"], label: "Evaluate", action: "evaluate" }, | ||
| { keys: ["\u2191", "\u2193"], label: "History", action: "historyUp" }, | ||
| { keys: ["Del"], label: "Clear", action: "clearEntry" }, | ||
| { keys: ["\u21e7", "Del"], label: "Clear all", action: "clearAll" }, | ||
| { keys: ["Ctrl", "C"], label: "Copy result", action: "copyResult" }, | ||
| { keys: ["Ctrl", "\u21e7", "C"], label: "Copy all", action: "copyCalculation" }, | ||
| { keys: ["Ctrl", "M"], label: "Next mode", action: "cycleLayout" } | ||
| ]; | ||
| if (root.layout === "scientific") h.push({ keys: ["Ctrl", "B"], label: "Deg / Rad", action: "toggleAngleMode" }); | ||
| if (root.layout === "programmer") h.push({ keys: ["Ctrl", "B"], label: "Next base", action: "cycleBase" }); | ||
| h.push({ keys: ["Ctrl", "L"], label: root.clearArmed ? "Again to clear" : "Clear history", action: "clearHistory" }); | ||
| h.push({ keys: ["Ctrl", "K"], label: "Keypad", action: "toggleKeypad" }); | ||
| h.push({ keys: ["Ctrl", "H"], label: "Shortcuts", action: "toggleHints" }); | ||
| h.push({ keys: ["Esc"], label: "Close", action: "close" }); |
There was a problem hiding this comment.
🟡 minor · Possible Bug · fix: high effort
The new calculator labels and prompts are hard-coded English, so they remain untranslated in non-English shell sessions. Route these strings through the shell's I18n catalog.
There was a problem hiding this comment.
Plugins can't use the shell's I18n catalog: the plugin rules (R4) only allow QtQuick*, Quickshell* and Ryoku.PluginKit* imports, and PluginKit has no translation API. Of the 45 store plugins only power-button ships a plugin-local catalog; ten use qsTr() with no translations behind it. Happy to add a plugin-local catalog like power-button's, but there's no shell catalog to route through.
…remembered view state
|
@neur0map Fixed:
Tests:
Resolved:
Needs your call (details in the inline threads)
|
What is this?
QuickCalc (
plugins/quickcalc), a community plugin: a fast, keyboard-driven calculator with Basic, Scientific and Programmer modes, live preview, variables, memory and a persistent history. It runs as a bar panel (topbarGlyph) or as a floating window (framePopout), and one IPC keybind toggles either:qs -c shell ipc call quickcalc toggle.Config.frameRadius.pluginApi.saveSetting; it writes onlystate.jsonin its own state folder.eval, and has its own tests (node tests/engine.test.cjs, 101 pass). The tests are for development; the plugin never runs them.wl-copy(copy the result) andmkdir(create the state folder), both declared in the manifest.Checklist
registry.jsontests/validate-catalogue.shpasses from the repo root.