Skip to content

Add searchByMemo full-text search to search.ts #614

Open

Description

@Kingsman-99

Description

src/search.ts searches invoices by fields like status and recipient but has no memo-content search. Payment memo text is a common way users tag invoices (e.g. "split:INV-001") and cannot currently be searched across a local invoice array.

Acceptance Criteria

  • searchByMemo(invoices: Invoice[], query: string, opts?: { caseSensitive?: boolean }): Invoice[] exported from src/search.ts
  • Returns invoices where invoice.memo contains query as a substring; case-insensitive by default
  • Empty query returns all invoices unchanged
  • Invoices with memo of undefined or null are skipped without error
  • opts.caseSensitive = true enables exact-case matching
  • Exported from src/index.ts
  • Unit tests: substring match, case-insensitive default, case-sensitive override, empty query returns all, null memo skipped

Context

  • Target files: src/search.ts, src/index.ts
  • Invoice.memo is a string field in src/types.ts — may be optional

Activity

  1. bobo-24 commented on Aug 19, 2026

    @bobo-24

    Hi! I’m a full-stack developer with a strong blockchain background, and I’m confident I can resolve this issue quickly and effectively. I’ll deliver a clean, reliable solution with immediate attention to detail, ensuring it’s completed as soon as possible. Please assign it to me—I’m ready to get started right away.

  2. bobo-24 commented on Aug 19, 2026

    @bobo-24

    Hi! I’m a full-stack developer with a strong blockchain background, and I’m confident I can resolve this issue quickly and effectively. I’ll deliver a clean, reliable solution with immediate attention to detail, ensuring it’s completed as soon as possible. Please assign it to me—I’m ready to get started right away.

  3. Solis666 commented on Sep 6, 2026

    @Solis666

    Hi Kingsman-99. This PR is ready and conflict-free with main (mergeable): it's an atomic change isolated strictly to #614 (searchByMemo in search.ts, exported from index.ts, tests P1–P10). The diff against main touches only the 3 files of the issue. Is there any additional test or CI check I should run to get it ready for merge? Happy to address any feedback.

  4. ranjeet150 commented on Sep 15, 2026

    @ranjeet150

    Hi everyone,

    I would like to resolve this issue. Here is my proposed execution plan:

    • Implementation: Provide a structured solution for Add searchByMemo full-text search to search.ts addressing all stated requirements.
    • Testing: Include automated test coverage verifying the implementation meets expected requirements.

    Ready to deliver a clean, tested PR within 12–24 hours. Please assign!

  5. Solis666 commented on Sep 16, 2026

    @Solis666

    Hi Kingsman-99,

    Following your guidance on the closed PR #817, I’d like to formally request assignment of issue #614 to @Solis666 before opening another PR.

    I understand the concern about avoiding duplicate work and will not submit a new PR until the issue is assigned. I already have an implementation prepared from the previous attempt, covering the acceptance criteria and tests, and I’m happy to update it based on any feedback you have.

    If you’re comfortable with it, please assign #614 to @Solis666 and I’ll proceed from there. Thank you!

  6. aigon-x commented on Oct 13, 2026

    @aigon-x

    I'd like to work on this. I have opened #1026 implementing searchByMemo() per the acceptance criteria (case-insensitive default, caseSensitive override, empty query returns all, null/undefined memo skipped, exported from src/index.ts), with unit tests in test/searchByMemo.test.ts (7/7 passing).

    Happy to be assigned — please let me know if any change to the approach is preferred.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions