Skip to content

Scribe-iOS v3.0.0

Compare
Choose a tag to compare
@andrewtavis andrewtavis released this 15 Jun 10:09
· 273 commits to main since this release

✨ New Features

  • Adds a new menu to the Scribe app allowing users to set their preferences for their respective language keyboards (#16)!
    • Users now have easy access to the Scribe GitHub, the Matrix community, rating the app, sending bug reports and emailing the team.
    • Settings options include:
      • Allowing the user to add a comma and period to the letter keys (#196, #308).
      • Allowing the user to disable emoji autosuggestions and autocompletions (#310, #311).
      • Allowing the user to disable accented characters on the letter keys (#339, #372).
    • Menu screens can be swiped between via an implementation using SwipeableTabBarController.
    • Menu options have descriptions of their functionality listed beneath them (#330, #372).
  • German indefinite pronouns are now selectable from the case-declension display (#303).
  • German imperfect verb conjugations now insert both the auxiliary verb and the past participle with the cursor between them.
  • Tab and caps lock keys and their functionalities have been added to expanded iPad layouts (#371).
  • Users can now swipe between the conjugation and declension views (#361).
  • Autocomplete on space when the word is the last one available in the autocompletion lexicon has been disabled (#305, reverts #256).
  • Missing verb conjugations can be clicked to show information about Wikidata and its relationship to Scribe (#400).
  • The user is receives hints about the installation, settings and about tabs when visiting them for the first time (#329).

🗃️ Data Added

  • French: 972 nouns, 2 verbs
  • German: 91,854 nouns, 41 verbs, 5 prepositions
  • Italian: 50,520 nouns, 7,576 verbs
  • Portuguese: 2 verbs
  • Russian: 119 nouns, 3 verbs
  • Spanish: 22,545 nouns, 2,982 verbs
  • Swedish: 1,748 nouns, 177 verbs

🎨 Design Changes

  • iPad keyboards are now more reflective of their system keyboard counterparts for devices above a certain width (#33, #352).
  • Vertical spacing between keys on iPads has been decreased so that keys are more square and thus more in line with system keyboards.
  • The border was removed from the Scribe key and command bar so that now only the shadow delineates them (#423).
  • The command bar in dark mode is now the same color as the special keys, and minor adjustments to the keyboard colors have been made to account for this (#441).
  • In dark mode the icons and buttons are now the CTA orange color text over the same color with a high transparency (#441).

🐞 Bug Fixes

  • The transition from between portrait and landscape mode was dramatically improved (#25).
  • Annotations under autosuggestions and autocompletions are no longer distorted during an orientation transition (#396).
  • Bugs were fixed that were causing autocompletions to trigger too regularly (#305).
  • Fixes a bug where the names from the UI lexicon were not being loaded into the keyboards (#292, fixes #201).

♻️ Code Refactoring

  • Magic numbers for interface radii and other sizing dimensions have been converted to defined variables (#379).
  • Usage of force-unwraps was dramatically reduced in the codebase (#379).
  • Usage of guard let and if let increased throughout the codebase to assure that early and safe nil-unwrapping (#379).
  • The code for settings keyboard key dimensions and padding was extracted into functions for maintainability (#383).
  • While loops were replaced by for loops in places where they were being used inappropriately (#380).
  • The Scribe-i18n directory has been added for future localization work.
  • SQLite queries were refactored to extract the DB access logic into a common file (#378).
  • A SwiftLint pull request workflow was added to the codebase to check style and other coding conventions (#390).
  • SwiftFormat was configured to allow for the removal of trailing commas (#421).
  • Trailing commas were removed from the codebase (#421).
  • Extra whitespace was removed from the codebase (#429).
  • pre-commit hooks were added to the codebase to fix common errors on commit (#450).