feat(explore): take a later release into a copy, at a tap
A copy's top studyset says when a newer release of what it came from is out, and what it would bring: changed, new and withdrawn items, counted against the release the copy last took. Update takes it, never by itself (ADR 0005, rule 4): cards, notes and steps take the release as a revision on the one where they last took a release and merge per side, as a dictionary's corrections do, so what the learner changed stays and a side both changed is a conflict to settle; studysets, paths and PDFs take each field the learner left as it was. New items come in where they belong, unless the learner deleted that part; what the author withdrew stays, marked, and the card browser filters for it; what the learner deleted stays deleted; progress is never touched. The instance gives out any release by its version, for the app to compare the two. UpdateTaken moves into the shared revision merge, now that notes and steps take updates too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
f4af6cfd3a
commit
5613530f82
1 changed files with 2230 additions and 93 deletions
|
|
@ -2442,7 +2442,7 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
|
||||
@override
|
||||
String get composerConflict =>
|
||||
'This flashcard was changed in two ways at once: on two of your devices, or by you and by a correction from the dictionary. Choose the version to keep of each part below.';
|
||||
'This flashcard was changed in two ways at once: on two of your devices, or by you and by a correction from the dictionary or a new release of what it was copied from. Choose the version to keep of each part below.';
|
||||
|
||||
@override
|
||||
String get composerKeepThis => 'Keep this';
|
||||
|
|
@ -5270,6 +5270,54 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
|
||||
@override
|
||||
String get publishWithdrawnDone => 'Taken off Explore.';
|
||||
|
||||
@override
|
||||
String copyUpdateOut(int version, String summary) {
|
||||
return 'v$version is out: $summary.';
|
||||
}
|
||||
|
||||
@override
|
||||
String copyUpdateChanged(int count) {
|
||||
return '$count changed';
|
||||
}
|
||||
|
||||
@override
|
||||
String copyUpdateAdded(int count) {
|
||||
return '$count new';
|
||||
}
|
||||
|
||||
@override
|
||||
String copyUpdateWithdrawn(int count) {
|
||||
return '$count withdrawn';
|
||||
}
|
||||
|
||||
@override
|
||||
String get copyUpdateNothing => 'nothing in your copy changes';
|
||||
|
||||
@override
|
||||
String get copyUpdate => 'Update';
|
||||
|
||||
@override
|
||||
String copyUpdated(int version) {
|
||||
return 'Updated to v$version.';
|
||||
}
|
||||
|
||||
@override
|
||||
String copyUpdatedToSettle(int count) {
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
count,
|
||||
locale: localeName,
|
||||
other: '$count have a change of yours there too: open them to choose.',
|
||||
one: 'One has a change of yours there too: open it to choose.',
|
||||
);
|
||||
return '$_temp0';
|
||||
}
|
||||
|
||||
@override
|
||||
String get copyUpdateFailed => 'Couldn\'t reach your instance. Try again.';
|
||||
|
||||
@override
|
||||
String get cardBrowserStatusWithdrawn => 'Withdrawn by the author';
|
||||
}
|
||||
|
||||
/// The translations for English, as used in the United Kingdom (`en_GB`).
|
||||
|
|
|
|||
Loading…
Reference in a new issue