Skip to content

feat: new 'SEL' Command for Quick Tools#2414

Merged
bajrangCoder merged 4 commits into
Acode-Foundation:mainfrom
Elitex07:quick-tools-select-all-btn
Jun 28, 2026
Merged

feat: new 'SEL' Command for Quick Tools#2414
bajrangCoder merged 4 commits into
Acode-Foundation:mainfrom
Elitex07:quick-tools-select-all-btn

Conversation

@Elitex07

@Elitex07 Elitex07 commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Add a new Quick Tools Command: "Sel" which allows one to select everything they have in a file.

Closes: #2334

@github-actions github-actions Bot added the translations Anything related to Translations Whether a Issue or PR label Jun 28, 2026
@UnschooledGamer UnschooledGamer changed the title (feat) New 'SEL' Command for Quick Tools feat: new 'SEL' Command for Quick Tools Jun 28, 2026
@Elitex07

Copy link
Copy Markdown
Contributor Author

#2334

@greptile-apps

greptile-apps Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds a new "SEL" quick-tool button that triggers select-all on the active editor by dispatching the existing selectall command through the command registry. The feature implementation itself is clean and consistent with how other command-type quick-tool items work.

  • src/components/quickTools/items.js: One-line addition of item(\"select-all\", \"letters\", \"command\", \"selectall\", \"sel\", false) — correctly wired to the pre-existing selectall command in commandRegistry.js, with repeat: false and a "sel" text label.
  • src/lang/en-us.json: Adds the quicktools:select-all tooltip string, matching the key format used by description().
  • package.json / package-lock.json: Contains two unrelated changes bundled with the feature: removal of the ANDROIDBLACKLISTSECURESOCKETPROTOCOLS TLS blacklist config from cordova-plugin-advanced-http, and significant lock-file churn (dependency upgrades, peer flag changes) that are unrelated to the "SEL" command.

Confidence Score: 3/5

The quick-tool feature itself is safe, but the unrelated removal of the TLS protocol blacklist in package.json should be resolved before merging.

The two-line feature change (items.js + en-us.json) is correct and well-integrated. However, the PR also removes the explicit SSLv3/TLSv1 block from the Android HTTP plugin config — a security-sensitive change with no explanation — and bundles several hundred lines of unrelated lock-file modifications. These unrelated changes make the PR harder to safely merge as-is.

package.json (TLS blacklist removal) and package-lock.json (unrelated dependency churn)

Security Review

  • TLS protocol downgrade (package.json): The removal of ANDROIDBLACKLISTSECURESOCKETPROTOCOLS: \"SSLv3,TLSv1\" from the cordova-plugin-advanced-http plugin config drops an explicit block on two deprecated, cryptographically broken protocols. On Android versions where the underlying HTTP stack still negotiates these protocols by default, the app could become vulnerable to POODLE and related attacks. This change is unrelated to the SEL feature and requires explicit justification.

Important Files Changed

Filename Overview
src/components/quickTools/items.js Adds a new "select-all" quick-tool item that dispatches the existing selectall command via the command registry — consistent with the existing pattern and correctly wired end-to-end.
src/lang/en-us.json Adds the quicktools:select-all i18n string for the new button's tooltip — correct key format, matches what description() in items.js looks up.
package.json Removes the ANDROIDBLACKLISTSECURESOCKETPROTOCOLS config for cordova-plugin-advanced-http, silently dropping an explicit SSLv3/TLSv1 block unrelated to this feature — needs justification.
package-lock.json Large unrelated lock-file churn: upgrades @codemirror/view to 6.43.4, re-scopes several @emnapi/* packages, and toggles peer flags on dozens of packages — none of this is related to the SEL feature.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[User taps SEL quick-tool button] --> B[RowItem renders button\ndata-action=command\ndata-value=selectall]
    B --> C[quickTools handler\nactions command, selectall]
    C --> D[commandRegistry\nexecuteCommand selectall]
    D --> E{Command found?}
    E -- Yes --> F[selectall command\nrequiresView: true]
    F --> G[resolveView editor]
    G --> H[codemirror selectAll view]
    H --> I[Entire file content selected]
    E -- No --> J[return false, no-op]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[User taps SEL quick-tool button] --> B[RowItem renders button\ndata-action=command\ndata-value=selectall]
    B --> C[quickTools handler\nactions command, selectall]
    C --> D[commandRegistry\nexecuteCommand selectall]
    D --> E{Command found?}
    E -- Yes --> F[selectall command\nrequiresView: true]
    F --> G[resolveView editor]
    G --> H[codemirror selectAll view]
    H --> I[Entire file content selected]
    E -- No --> J[return false, no-op]
Loading

Reviews (1): Last reviewed commit: "(feat) New 'SEL' Command for Quick Tools" | Re-trigger Greptile

Comment thread package.json
Comment on lines 42 to 46
"cordova-plugin-iap": {},
"com.foxdebug.acode.rk.customtabs": {},
"cordova-plugin-system": {},
"cordova-plugin-advanced-http": {
"ANDROIDBLACKLISTSECURESOCKETPROTOCOLS": "SSLv3,TLSv1"
}
"cordova-plugin-advanced-http": {}
},

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 security Unrelated TLS blacklist removal

Removing ANDROIDBLACKLISTSECURESOCKETPROTOCOLS: "SSLv3,TLSv1" is entirely unrelated to the "SEL" quick-tool feature and silently opts the Android HTTP client back into whatever the cordova-plugin-advanced-http default behaviour is. On devices and Android versions where the underlying OkHttp/HttpClient stack still supports SSLv3 or TLSv1, this removal could allow the app to negotiate deprecated, cryptographically-broken protocols (POODLE for SSLv3; BEAST/POODLE for TLSv1). This change needs its own PR with a clear rationale for why the explicit protocol block is no longer needed.

Comment thread package-lock.json Outdated
Comment on lines +40 to +43
"@codemirror/search": "^6.7.1",
"@codemirror/state": "^6.6.0",
"@codemirror/theme-one-dark": "^6.1.3",
"@codemirror/view": "^6.43.1",
"@codemirror/view": "^6.43.4",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Unrelated lock-file churn included in PR

The package-lock.json diff contains hundreds of lines of changes — upgrading @codemirror/view from 6.43.1 to 6.43.4, re-scoping @emnapi/* packages under @rspack/binding-wasm32-wasi, and toggling peer flags on dozens of unrelated packages. None of this is needed for the "SEL" quick-tool feature, and bundling it here makes the PR difficult to review and audit. These changes should be landed separately or explained in the PR description if they are intentional.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

@Elitex07 Elitex07 force-pushed the quick-tools-select-all-btn branch from 173a24e to 03ef9b2 Compare June 28, 2026 12:09
@Elitex07 Elitex07 moved this from Backlog to Ready in The Code Board - Acode Jun 28, 2026
@bajrangCoder bajrangCoder merged commit d581440 into Acode-Foundation:main Jun 28, 2026
6 checks passed
@github-project-automation github-project-automation Bot moved this from Ready to Done in The Code Board - Acode Jun 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

translations Anything related to Translations Whether a Issue or PR

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Add Select All button in quick tools

2 participants