diff --git a/design-docs/v2.md b/design-docs/v2.md index 87e0aa7272..79f3815abf 100644 --- a/design-docs/v2.md +++ b/design-docs/v2.md @@ -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 @@ -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 diff --git a/design-docs/v4.md b/design-docs/v4.md new file mode 100644 index 0000000000..887aa6d92a --- /dev/null +++ b/design-docs/v4.md @@ -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)