Skip to content

Commit

Permalink
docs: Work on planning v4 release (#3515)
Browse files Browse the repository at this point in the history
  • Loading branch information
Jason3S authored Aug 13, 2024
1 parent b98af68 commit 442479a
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 3 deletions.
6 changes: 3 additions & 3 deletions design-docs/v2.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ Issues should be tracked with the `v2` milestone.
### Modifying config files

- [x] Make sure the `cspell.config.js` does not get modified by the extension when changing words or settings.
- [ ] Make sure the correct `cspell*.json` files are updated when writing settings.
- [x] Make sure the correct `cspell*.json` files are updated when writing settings.
- [x] Support `package.json` as a target location for `cspell` settings.
- [x] Support `yaml` config files.
- [ ] Support concept of readonly configuration files.
- [x] Support concept of readonly configuration files.
- [x] Verify Yarn 2 support

### Commands
Expand All @@ -27,7 +27,7 @@ Issues should be tracked with the `v2` milestone.

### Preferences

- [ ] Support checking only files in the Workspace
- [x] Support checking only files in the Workspace
- [ ] Support setting preferences for config location.

### Documentation
Expand Down
60 changes: 60 additions & 0 deletions design-docs/v4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# V4 Release

## Checklist

- [ ] Update README.md to match v4
- [ ] Event Log
- [ ] Record Spelling Corrections / Suggestions Used
- [ ] Sponsorship message
- [ ] Analytics

## README.md

The [README.md](../README.md) file is out of date.

## Event Log

The Event Log is used to record changes to the CSpell Stored data that can be synced across user machines.

### Local vs Shared

Since the Shared storage can be overwritten by any machine, it is necessary to have a local storage that handles possible data loss through synchronization. The idea is to use an Event Log to handle data changes.

## Record Spelling Corrections / Suggestion

To create a good user experience, we would like to show the "best" suggestions at the top of the list. But the current ranking of suggestions is based upon edit distance. This is very likely not the best choice.

The idea is to store the suggestions the user has picked and present them at the top. At a later release, we would like to be able to share suggestions chosen to improve everyone's experience.

## Sponsorship Message

Compose a sponsorship message to show users.

- Should describe why it is important to become a sponsor
- Provide a link to the Sponsor page.
- Should only be shown if they are using the extension.
- The User can hide the message for about a month, longer if they are a sponsor.

## Analytics / Telemetry Data

At the moment, the Spell Checker does not collect any Telemetry data. But that is likely to change:

- User must be able to op-out.
- Special care should be made to avoid collecting any sensitive or personally identifiable information.

### Reasons for Data Collection

- Usage:
- Approximate number of unique users. The key here is to be able to distinguish between users, but not to identify an individual.
- Frequency of use.
- Feature usage.
- Errors:
- Record any Error events.

### Metrics

- Throughput
- Words / Second
- Kilobytes / Second
- File type
- Line width (Avg,Med,Max)

0 comments on commit 442479a

Please sign in to comment.