sillsdev / sillsdev/languageforge-lexbox

Nice to have: notify user (with colored dot on Synchronize button, perhaps) if pending changes in Lexbox need to be pulled into CRDT

Open
#2,195 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

💻 FW Lite
Dominant language
C#
Stars
9
Forks
8
Avg merge
2d 13h
Merged PRs (30d)
49

Description

Describe the feature
When Lexbox receives a Send/Receive for a CRDT project, the CRDT project is not automatically synced, by design. But the user who's actively using FW Lite might not realize that there's new data, which might include changes to what he is looking at right now, behind the Synchronize button. It would be nice if the Lexbox server, on receiving an hg push to a project that has CRDT enabled, notified FwHeadless so it can push a message out to the SignalR hub for that project telling FW Lite clients "New Send/Receive has arrived, you might want to ask the user press the Sync button at some point".

Scenario where this would be useful:

  • Open up sena-3 in FW Lite, and also in FLEx, syncing to local Lexbox on your dev machine.
  • Make a change in FLEx, such as changing the first "a" entry to "a changed entry".
  • S/R in FLEx. Lexbox receives the data.
  • Look at that entry in FW Lite. Change has not been received, lexeme still is "a".
  • No visual indication that there's new data on Lexbox. Green dot next to Synchronize button. (TODO: Change to yellow)
  • Press Synchronize button. No indication that the Lexbox tab has new data waiting. (TODO: Add yellow dot)
  • Click Lexbox tab of Synchronize dialog. See that the FW Classic side shows "New Data" in green. (TODO: Change green to yellow)
  • Click Sync button. FLEx change arrives, and changes the lexeme from "a" to "a changed entry".

Who is this feature for?
Project managers, and also editors if they are allowed to press the Sync button

Pages affected
Synchronize dialog, and the colored badge dot on the Synchronize button

Contributor guide

No contributing guide indexed for this repository

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

Start by tracing the Lexbox server's handling of an hg push, the FwHeadless notification path, and the SignalR hub for the project. Then inspect the FW Lite Synchronize dialog and the colored badge on the Synchronize button. Done means clients visibly indicate pending Lexbox data and the user can synchronize it as described in the scenario.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend, 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.