Skip to content

Add local search and common-channel commands#2112

Open
roeyk wants to merge 6 commits into
squidowl:mainfrom
roeyk:roey/last-common-buffer-slices
Open

Add local search and common-channel commands#2112
roeyk wants to merge 6 commits into
squidowl:mainfrom
roeyk:roey/last-common-buffer-slices

Conversation

@roeyk

@roeyk roeyk commented Jun 17, 2026

Copy link
Copy Markdown

Draft/discussion PR for local-only IRC history search and common-channel inspection. The portable feature set is framed in the documentation as Rich Search Functionality for IRC clients, with notes for possible native ports to Zoitechat, Konversation, and Uplink.

This branch is also published as a readable fork landing page:

This Branch Adds

  • /search and /last parsing, completion metadata, local loaded-history evaluation, inline output, pane output, text highlighting, context lines, span filters, --other, --textonly, and --notimestamp.
  • /common with scope=global|network, using Halloy's already-known in-memory channel membership only.
  • Buffer-close focus recovery so closing a channel or direct conversation returns focus to a useful related buffer instead of leaving the main pane on an empty "Select buffer" state.
  • A feature guide at docs/guides/search-common-feature-guide.md covering syntax, security boundaries, examples, implementation notes, development guidelines, Codex assistance disclosure, and Rich Search Functionality porting notes.

Portability Notes

  • Zoitechat is treated as a likely C/GTK3 target.
  • Konversation is treated as a C++/KDE/Qt target.
  • Uplink is treated as a C++/Qt6 target.
  • The intended portable split is parser/evaluator core, message-history adapter, known-channel/user adapter, native result renderer, and optional explicit WHOIS/319 enrichment.

Security/Behavior Notes

  • Default behavior is local-only.
  • /search and /last inspect already-loaded local history only.
  • /common does not issue WHOIS, WHO, NAMES, or other IRC traffic.
  • view=tab is parsed but intentionally not implemented yet.

Validation Run Locally

  • cargo fmt --all --check
  • cargo check
  • cargo test -p data command::
  • cargo test

Contribution-Policy Note

Halloy's current contribution page says significant features should be discussed before submission and that submitted AI-generated content is not allowed. This is opened as a draft discussion branch so maintainers can evaluate the design and decide whether any human-owned rewrite or different process is needed before it could become an upstreamable patch.

@roeyk roeyk marked this pull request as ready for review June 17, 2026 15:01
@roeyk

roeyk commented Jun 17, 2026

Copy link
Copy Markdown
Author

Marked ready for review so the design can receive maintainer feedback. I understand this may need human-owned rewrite or restructuring before it can be considered merge-ready under the project contribution rules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant