quickwit-oss / quickwit-oss/quickwit
Make dev XP nicer with the UI
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 11.7k
- Forks
- 597
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 37
Description
Working on the UI or something related to it requires building the UI with the latest JS/TS code.
Problem 1
With the current setup, the following annoying scenario can happen:
- you build the UI with yarn
- you work on the codebase
- you execute
cargo r run - you can go to
localhost:7280/uiand check it works
The problem is that the assets served by the server are not updated, so you may think it works (or not).
Problem 2
To publish quickwit with cargo, we need to commit the UI-built assets. This is not currently done.
Proposed solutions
Solution 1 (lame)
A simple way to avoid this issue is to... force the developer to use yarn start to start the UI. This means that the quickwit server in dev mode will not serve UI assets in dev mode by default. We could display a message to the user on a GET request to HTTP://localhost:7280/ui.
We also need to commit the assets for the releases. We can do it in a specific directory only used when building the binary.
Solution 2
Do something smarter (I will complete this in 1 day).
Bonus
Additionally, it would be very nice to put the git info in the built react app and show it in the nav bar or somewhere at the bottom.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the UI build launched with yarn and the server path reached by cargo r run at /ui, then inspect how release binaries obtain UI assets. Define the intended development and release asset flows before changing them. Done means development serves current UI assets reliably and published binaries include the required assets; the optional git-info display needs separate scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, react, rust, typescript
- Domain
- build-system, developer-experience, frontend, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100