Brings ~55 mod-exclusive files to the upstream-based mod/master-resync branch: Activities (migrated to new ActivityManager pattern): - Clock/Time: SetTimeActivity, SetTimezoneOffsetActivity, NtpSyncActivity - Dictionary: DictionaryDefinitionActivity, DictionarySuggestionsActivity, DictionaryWordSelectActivity, LookedUpWordsActivity - Bookmark: EpubReaderBookmarkSelectionActivity - Book management: BookManageMenuActivity, EndOfBookMenuActivity - OPDS: OpdsServerListActivity, OpdsSettingsActivity - Utility: DirectoryPickerActivity, NumericStepperActivity Utilities (unchanged): - BookManager, BookSettings, BookmarkStore, BootNtpSync - Dictionary, LookupHistory, TimeSync, OpdsServerStore Libraries: PlaceholderCover, TableData, ChapterXPathIndexer Scripts: inject_mod_version, generate_book_icon, preview_placeholder_cover Docs: KOReader sync XPath mapping Migration changes: - ActivityWithSubactivity -> Activity base class - Callback constructors -> finish()/setResult() pattern - enterNewActivity() -> startActivityForResult() - Activity::RenderLock&& -> RenderLock&& These files won't compile yet - they reference mod settings and I18n strings that will be added in subsequent phases. Made-with: Cursor
1.1 KiB
1.1 KiB
Port PR #1068: Correct hyphenation of URLs
Task
Port upstream PR #1068 by Uri-Tauber into the mod fork. The PR was not yet merged upstream, so it was manually patched in.
Changes made
-
lib/Epub/Epub/hyphenation/HyphenationCommon.cpp: Addedcase '/':toisExplicitHyphenswitch, treating/as an explicit hyphen delimiter for URL path segments. -
lib/Epub/Epub/hyphenation/Hyphenator.cpp: Replaced the single combined filter inbuildExplicitBreakInfoswith a two-stage check:- First checks
isExplicitHyphen(cp) - Then skips repeated separators (e.g.,
//inhttp://,--) - Then applies strict alphabetic-surround rule only for non-URL separators (
cp != '/' && cp != '-')
- First checks
-
mod/prs/MERGED.md: Added PR #1068 entry with full documentation.
Mod enhancements over upstream PR
- Included coderabbit's nitpick suggestion (not yet addressed in upstream) to prevent breaks between consecutive identical separators like
//and--.
Follow-up items
- None. Port is complete.