Releases
v1.0.2
1.0.2 (2023-02-28)
Features
add analytics for file downloads and events (709f4d6 )
add caveat about not using the browser back button (e3ff851 )
add download option for various output formats (247df8f )
add error page (03a508f )
add French translations (8b4a776 )
add icons instead of add-line text (6bb4ba5 )
add opt-out for analytics (2fe0051 )
add plausible analytics (41033d0 )
add routing for errors (171886c )
add scroll-behaviour attribute to allow non-animated page trans (a62355f )
add stop button while playing back recording (8f16cec )
add the contact the devs info to the error page too (6f49402 )
add versioning to single file bundle (90a81dc )
build french site as well (2edc2f7 )
change recording button text when recording happens (c261695 ), closes #132
detect failed alignments (da80f7c )
disable recording button while we are trying to start to record (18279f0 )
filter und
from the list of languages (c76c10d )
French l10n for download options (8a9a91a )
French translation for web analytics policy (172812c )
greatly simplify the microphone service (9fced0b )
handle langs failure better (50d70a9 )
i18n the error page messages (e70e9cf )
make an observable for soundswallower init so we can wait for it and catch errors (f9735ca )
meta tags for social media and search engines (c17d98a )
move error handling to a single place and handle more errors (bb05513 )
move UI error reporting to UI code (09adfe3 )
nobody is listening to modelLoaded, it can be a normal attribute (6ca6078 )
option to control playback rate range (31e3562 )
option to hide translations at load time (10d869c )
ping images before using them (791e275 )
playback-rate-range is now a number (06cefa0 )
rename Save button to Save a copy for better clarity (719b343 )
report all the things (4d30762 )
report failed alignments (d914a63 )
switch .ras to .readalong (8dc952d )
tour: add tour for step 2 (e5b1236 )
polyfill mediarecorder for older safari (262a155 )
preload the model (fixes #130 ) (1cbf2d0 )
remove page title editing from interface (a13a66c )
report /langs failure on load (c08516c )
report fatal errors fatally (2bec766 )
report g2p warnings (71919a2 )
shepherd tour describes the export formats (9fedc46 )
tell the user what the max size is (b938d31 )
translate component UI (thanks monorepo!) (f9e7f2f )
translate component UI (thanks monorepo!) (6bfe277 )
translate no model loaded message (dff26a2 )
translate the overwrite your data warning in the tour (739cf9b )
use ESM in TypeScript, needed for next SoundSwallower (25b1f99 )
use jsonly soundswallower (to be in 0.6.2) (d7d0aa8 )
use our new email address in the contact us links (38f75df )
warn user if they're about to leave page after dirtying the form (d8d7a7c )
warn user if they're about to leave page after dirtying the form (1e316a6 )
analytics: add custom event for download (5e6f9cb )
Bug Fixes
translations: add and remove translations when ras file already contains them (9377a8a )
translations: add various suggested fixes (f60f89c )
add correct type for convertRasFormat$ (1d8dbcf )
add different error messages (da6b415 )
add fixed bundle to studio-web (2eccde5 )
add limit to text upload files (94a9b97 )
add primary colouring to agree button (665bd6a )
add some padding left of the save text icon (ecc15e2 )
add specific aligner error message (59ce352 )
add specific targets for serve and remove specific targets for build (05e2c13 )
add title as html page title on download (9d2f049 )
add warning if nothing was recorded (4bdb8c2 )
allow re-starting the tour, and disable keyboard interaction (1372576 )
allow removing images in single html (fcd1326 )
avoid unnecessary observable (aaaf903 )
better handling of audio recording errors (bb36f52 )
better text warning to only record for short tests (49f97e8 )
bug with images adding (17f63d3 )
test: dang it, we do need that 2s wait to load (3b4e498 )
add forms module to test specs (209d5d4 )
add long timeout for error toast (95d56e0 )
catch and report aligner errors earlier (8f1eb9b )
catchError considered unnecessary (472649f )
change event name (87fc350 )
clarify what the language selection is actually for (8d102fb ), closes #159
correction (acc79ac )
download audio with correct extension (671d452 )
fetch the home page URL from environment (fb627fe )
get the right error message (5b2bbdb )
hide output format on mobile devices (94634e1 )
hide output format on mobile devices (709b15e )
i18n and fr l10n the changes to audio recording (9c73620 )
implemented suggested improvements on PR feedback (7506c15 )
initialize textInput variable (f8089fa )
just say MP3 and WAV as supported audio formats, but also allow M4A and WEBM (6db6f63 ), closes #161
key changed because angular has reasons (8807c4f )
leave long failure messages on screen for longer (7734efb )
make re-record button explicitly say delete (21b487b ), closes #131
make the next step button more contrastive (e091121 ), closes #135
max 10k for any not .readalong file, not just .txt (e7f45d1 )
missing translation (639e9ef )
must be .cjs now (a3e83ab )
oops, silence bogus fatal error (3b04e67 )
point final! (2664c8a )
readFileAsFoo has no return value (d088a9b )
record in mp3 (7817879 )
remove unnecessary translations (9cbc7be )
repair hidden merge conflict (same function added twice) (ce97459 )
restore sorting of languages (1b63da7 )
right type on fatalError (6ce74be )
show error toast if ras api is unreachable (034279a )
skip location change for error pages (d7d78b0 )
the angulary way to do this is to make it wait (81ec81e )
translations (1de4ced )
update the keys in i18n/messages.* (240a8f5 )
use 90vh for dialog and ensure it is scrollable (328bf82 )
use media-recorder-polyfill (properly) for old Safari (0d2a3fe )
vaccinate against namespace polution (3404482 )
when there is still text in the write input box, display it (a03d076 ), closes #86
build: use npx (169d2f5 )
fr: change ids (cc6e407 )
fr: copy paste production configuration into fr due to nx bug (34412ee )
i18n: create the readalong in french by default if href contains /fr/ (a32b087 )
i18n: localize (632d882 )
i18n: somehow we missed this message (8d1f3ce )
i18n: translate another message (fixes #126 ) (70c4d22 )
i18n: translations (24331a4 )
i18n: update mystery key (755ade6 )
i18n: very hard to find duplicate message (4c389ad )
tests: add missing animations module to spec (8016687 )
tests: add toastr module to spec (1338fe3 )
warn user if text and audio controls are dirty in tour (76ffff3 )
working WASM is a proxy for a browser Angular will support (e1943a9 )
analytics: add js custom event (4a7223a )
analytics: add js custom event (b022121 )
ci: add npx to nx commands (523533d )
ci: fix release workflow (b4fe0e0 )
ci: publish ngx component as well (4d6db7e )
ci: update publishing workflow (60ce27f )
docs: update error message to ask for a log (251b611 )
i18n: add translations (a0454af )
i18n: translate (3cc08ef )
test: js to cjs (039d979 )
width fit content (b646e89 )
tests: add routing module to test (ee953ac )
title: dynamically add title (3406a58 )
webc: fix height issue by removing max height (a1ad762 )
webc: fix web component obscured buttons bug (8437596 )
replace contact us by a link to the project page (7027e90 ), closes #124
the docs home page link really does belong in package.json (8b02620 )
web-component: issue 108 (c810f1b )
Performance Improvements
test: cypress already waits for things to load, no need to wait extra (9214ea8 )
build offline html bundles directly into studio-web assets (f5d0307 )
unsubscribe from all observables when components are destroyed (a5bc33c )
Reverts
node16 module resolution breaks EVERYTHING (6bc990e )
node16 module resolution breaks EVERYTHING (b6576c2 )
Build Systems
add a browserslistrc as tsconfig is not used (35aa396 )
add comments explaining why we cannot support your browser (1c0048e )
enable pretty-quick as pre-commit hook (3e1aaf7 )
ignore sort order of messages.json files (631c722 )
list files prettier should ignore (0b6b377 )
Continuous Integration
be robust to order and whitespace; use nx to extract i18n (87ece12 )
check that i18n and l10n are up to date (1ac125c )
make extract-i18n check order agnostic for messages.json too (d3e23f6 )
Code Refactoring
env: point back to v1 (32fdc5d )
cosmetic change to preload (it does not return an Observable) (78a649d )
dry up and improve error reporting (95d2f0e )
just use the window location (e8d2431 )
move extract-i18n to nx instead of npm (20c3b33 )
move loading of model to happen on application load (af04ca0 )
remove unused component (7aa8538 )
resize image (1ac9fd0 )
switch to .readalong extension (86fae25 )
use finalize() to avoid Repeating Myself (c235f05 )
Documentation
add a warning that this shepherd step might take a while (2ecf791 )
add comment explaining magic number (5046335 )
add display-translation attribute to web-c readme.md (2df6ba9 )
add note about meta tags and plausible analytics (d83b258 )
add unified nx commands (0328f92 )
en français! (829e29a )
fix typo (4456637 )
improve documentation about what data is collected (c6080ff )
improve the French tour messages for Step 2 (a74ff13 )
more detailed deployment instructions (7e99d3b )
more detailed deployment instructions again (4d165a4 )
more detailed i18n instructions (fixes #115 ) (7491309 )
sorry, one last clarification (1c31225 )
Styles
add bolding to file types (954c1ac )
apply style feedback from PR review (e9cc8fe )
increase width of privacy dialog (5e8628e )
justify flexbox contents to the right (ac19d97 )
make readme.md prettier friendly (07aef43 )
prettier the whole code base (2ca72d5 )
Tests
fix test (1fe43c9 )
test file exercising scroll-behaviour (6dc3e32 )
test show and hide translations by attribute (ec5ac41 )
update tests to what they would look like if karma were not defective (d87cf0a )
update unit testing for improved error message handling (cea27cc )
You can’t perform that action at this time.