Skip to content

Conversation

@catreedle
Copy link
Collaborator

Contributor checklist


Description

This PR migrates the iOS keyboard's conjugation and declension systems from hardcoded implementations to a dynamic, JSON contract-based architecture.

Added:

  • Keyboards/KeyboardsBase/DynamicConjugationViewController.swift - Dynamic view controller that handles both conjugation and declension navigation

  • Keyboards/DataManager/ConjugationManager.swift - Parses conjugation JSON contracts and builds navigation structures

  • Keyboards/DataManager/DeclensionManager.swift - Parses declension JSON contracts and builds navigation structures

  • Keyboards/KeyboardsBase/NavigationStructure.swift - Defines NavigationNode and NavigationLevel structures for recursive navigation

  • Keyboards/DataContracts/de_declensions.json - German declension contract

  • Keyboards/DataContracts/ru_declensions.json - Russian declension contract

  • Updated Keyboards/KeyboardsBase/KeyboardViewController.swift to use new dynamic system, removed old hardcoded conjugation/declension state

  • Removed stale variables and functions from Keyboards/KeyboardsBase/ScribeFunctionality/Conjugate.swift

Related issue

@github-actions
Copy link

github-actions bot commented Feb 2, 2026

Thank you for the pull request! 💙

The Scribe-iOS team will do our best to address your contribution as soon as we can. If you're not already a member of our public Matrix community, please consider joining! We'd suggest that you use the Element client as well as Element X for a mobile app, and definitely join the General and iOS rooms once you're in. Also consider attending our bi-weekly Saturday dev syncs. It'd be great to meet you 😊

Note

Scribe uses Conventional Comments in reviews to make sure that communication is as clear as possible.

@github-actions
Copy link

github-actions bot commented Feb 2, 2026

Maintainer Checklist

The following is a checklist for maintainers to make sure this process goes as well as possible. Feel free to address the points below yourself in further commits if you realize that actions are needed :)

  • Tests for changes have been written and the CI unit test, linting and formatting workflows within the PR checks do not indicate new errors in the files changed

  • The CHANGELOG has been updated with a description of the changes for the upcoming release and the corresponding issue (if necessary)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant