syncthing / syncthing/syncthing

Feature: Logging Search Bar

Open
#9,252 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
88.8k
Forks
5.5k
Avg merge
2d 10h
Merged PRs (30d)
5

Description

Description

Inspired by a short exchange on the forum: https://forum.syncthing.net/t/feature-elasticsearch-integration/21186/4?u=dalba-sudo. I'm thinking of adding a search bar in the log section of the GUI.

Use Case

"I think much simpler than this the log interface in the GUI can use a simple text search. Show me all log lines that match GX6GIWE (a device) or a file name, or an error…" - mraneri

Here's my current idea for the filtering implementation:

  • add a filter function to the logging scope/class (kind of new angular, not sure what you'd call it).
    • called by ng-keyup callback on an input of type text (i.e., the "search bar").
    • only filters on keywords more than 2 characters long (if you want to look for something that is 2 characters long, use a wildcard as the third character?)
  • add an input of type text in the logViewerModalView

I've linked to a video demoing the current implementation - it's bare-bones and not currently designed for scale. Before I go back to the drawing board to think about ways to make this scalable for larger logs, I want to get feedback on the feature!

Demo: https://youtu.be/64B5Fa2fiq4

This is my first contribution to open-source, any feedback is appreciated (i.e., more detail explaining the feature, etc).

Cheers,
DAlba-Sudo

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read the logging scope/class and the logViewerModalView first, then trace how an ng-keyup callback could reach the log filtering behavior. Done means the GUI has a text search bar that filters log lines by the requested keyword rules, with the scalability approach clarified before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
angularjs
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.