@dr33m/react-native-readium 5.0.0-rc.18 → 5.0.0-rc.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,497 @@
1
+ # [5.0.0-rc.17](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.16...v5.0.0-rc.17) (2026-03-05)
2
+
3
+
4
+ ### Features
5
+
6
+ * **android:** upgrade nitrogen to fix android issues ([3354e7e](https://github.com/5-stones/react-native-readium/commit/3354e7eb49b0594113a62c914719b2fd14e393a6))
7
+
8
+
9
+
10
+ # [5.0.0-rc.16](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.15...v5.0.0-rc.16) (2026-02-26)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * **web:** sanitize initialLocation for back compat with old locators lacking position ([cbcf45f](https://github.com/5-stones/react-native-readium/commit/cbcf45f7a448540d80830cbc458652d8b02c7cbb))
16
+
17
+
18
+
19
+ # [5.0.0-rc.15](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.14...v5.0.0-rc.15) (2026-02-25)
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * **web:** fix an issue with the web build due to newer [@readium](https://github.com/readium) versions ([c1e9026](https://github.com/5-stones/react-native-readium/commit/c1e90269f2e9762aa30275e3b6569db508b5fea9))
25
+ * **web:** fix various issues with readium web by upgrading the readium packages ([52dc0c4](https://github.com/5-stones/react-native-readium/commit/52dc0c443db251819f18675b8e982dad45c29396))
26
+
27
+
28
+
29
+ # [5.0.0-rc.14](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.13...v5.0.0-rc.14) (2026-02-25)
30
+
31
+
32
+ ### Bug Fixes
33
+
34
+ * **android, ios:** unify sepia theme colors across platforms ([1e92b3a](https://github.com/5-stones/react-native-readium/commit/1e92b3a1a957f558da55ded6839efc62ff6ca076))
35
+
36
+
37
+
38
+ # [5.0.0-rc.13](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.12...v5.0.0-rc.13) (2026-02-25)
39
+
40
+
41
+ ### Bug Fixes
42
+
43
+ * **web:** fix an issue with improper navigator teardown on web ([76fe730](https://github.com/5-stones/react-native-readium/commit/76fe7308b563f9b3ecc93615613015261f3eabcd))
44
+
45
+
46
+
47
+ # [5.0.0-rc.12](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.11...v5.0.0-rc.12) (2026-02-25)
48
+
49
+
50
+ ### Features
51
+
52
+ * **android, ios, web:** replace location prop with imperative goTo() ref method ([0ce0635](https://github.com/5-stones/react-native-readium/commit/0ce06355060c69736afb8d81cfb7dfe2a18be9b5))
53
+
54
+
55
+ ### BREAKING CHANGES
56
+
57
+ * **android, ios, web:** Navigation is now imperative only via ref.current.goTo(locator), matching the
58
+ existing goForward()/goBackward() pattern. The useLocationObserver hook (web) is removed. Initial
59
+ position on mount is still handled via File.initialLocation.
60
+
61
+
62
+
63
+ # [5.0.0-rc.11](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.10...v5.0.0-rc.11) (2026-02-25)
64
+
65
+
66
+ ### Bug Fixes
67
+
68
+ * **web:** do not ignore location changes within hrefs and containing totalProgression (as bookmarks might) ([c5272f7](https://github.com/5-stones/react-native-readium/commit/c5272f7f87182a6900ee95e1ad967d5bf12c91bb))
69
+ * **web:** if the manifests links to positions, use those for the positionArray ([48b9503](https://github.com/5-stones/react-native-readium/commit/48b9503251c68ad47246a43796e0dbd1183e8a41))
70
+
71
+
72
+
73
+ # [5.0.0-rc.10](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.9...v5.0.0-rc.10) (2026-02-24)
74
+
75
+
76
+ ### Features
77
+
78
+ * **android, ios, web:** reimplement nested sub-navigation for ToC in nitro ([79c3329](https://github.com/5-stones/react-native-readium/commit/79c33297e28c47a024c3f2d07d2ba961781bff2d))
79
+
80
+
81
+ ### BREAKING CHANGES
82
+
83
+ * **android, ios, web:** Several fields dropped from Link (templated, type, height, width, bitrate,
84
+ duration, alternates). `rel`s changed from `Set<string>` to `string[]`
85
+
86
+
87
+
88
+ # [5.0.0-rc.9](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.8...v5.0.0-rc.9) (2026-02-19)
89
+
90
+
91
+ ### Bug Fixes
92
+
93
+ * **android:** fix an issue with 16kb page sizes on android ([630e3b7](https://github.com/5-stones/react-native-readium/commit/630e3b73441ac4fcb6226303672fd7a97acd2d17))
94
+
95
+
96
+
97
+ # [5.0.0-rc.8](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.7...v5.0.0-rc.8) (2026-02-17)
98
+
99
+
100
+ ### Bug Fixes
101
+
102
+ * **android:** fix runtime exception due to incorrect thread access ([f82c3f7](https://github.com/5-stones/react-native-readium/commit/f82c3f7afc3e6dbe52136e7a0a07b7730817d29b))
103
+
104
+
105
+
106
+ # [5.0.0-rc.7](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.6...v5.0.0-rc.7) (2026-02-17)
107
+
108
+
109
+ ### Bug Fixes
110
+
111
+ * **android, ios:** cleanup reader views when unmounted ([e5e72a6](https://github.com/5-stones/react-native-readium/commit/e5e72a65d9b4a84dc6b87cd9d7d2bedeb55e3736))
112
+
113
+
114
+
115
+ # [5.0.0-rc.6](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.5...v5.0.0-rc.6) (2026-02-12)
116
+
117
+
118
+ ### Bug Fixes
119
+
120
+ * **android:** fix an issue with android where switching between epubs wasn't working ([f3062a5](https://github.com/5-stones/react-native-readium/commit/f3062a5c3390c878772f460571e980fa4d8bb292))
121
+
122
+
123
+
124
+ # [5.0.0-rc.5](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.4...v5.0.0-rc.5) (2026-02-12)
125
+
126
+
127
+ ### Bug Fixes
128
+
129
+ * **android, ios:** fix an issue with fragment parsing and remove dead code ([5fe514d](https://github.com/5-stones/react-native-readium/commit/5fe514d6856f945781c06e6f65ffe33399be461e))
130
+
131
+
132
+
133
+ # [5.0.0-rc.4](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.3...v5.0.0-rc.4) (2026-02-12)
134
+
135
+
136
+ ### Bug Fixes
137
+
138
+ * **android, ios:** fix an selectionAction props causing rendering issues ([1d1ff03](https://github.com/5-stones/react-native-readium/commit/1d1ff039fe06150e14806244c4193a77c8df4acf))
139
+
140
+
141
+
142
+ # [5.0.0-rc.3](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.2...v5.0.0-rc.3) (2026-02-12)
143
+
144
+
145
+ ### Bug Fixes
146
+
147
+ * **ios:** fix an install issue due to missing scripts in the npm distribution ([04388a3](https://github.com/5-stones/react-native-readium/commit/04388a33352a6fe3fe8f8933644f89b04f98807b))
148
+
149
+
150
+
151
+ # [5.0.0-rc.2](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.1...v5.0.0-rc.2) (2026-02-12)
152
+
153
+
154
+ ### Features
155
+
156
+ * **ios, android:** fix some runtime errors, add install helper scripts, update docs ([7e8bbad](https://github.com/5-stones/react-native-readium/commit/7e8bbad39c20c3f46ffb419140df81dbfe18254a))
157
+
158
+
159
+ ### BREAKING CHANGES
160
+
161
+ * **ios, android:** update your Podfile and use the `readium_pods` and `readium_post_install` helpers
162
+
163
+
164
+
165
+ # [5.0.0-rc.1](https://github.com/5-stones/react-native-readium/compare/v5.0.0-rc.0...v5.0.0-rc.1) (2026-02-11)
166
+
167
+
168
+ ### Features
169
+
170
+ * **android, ios:** add the ability to manage decorators ([8cdfa74](https://github.com/5-stones/react-native-readium/commit/8cdfa745a685937ebc256439ac2e9f13e1480ee6))
171
+ * **android, ios:** update implementation to use nitro ([53c5e4c](https://github.com/5-stones/react-native-readium/commit/53c5e4cb2d3ecc42ea41b936d04aa846d86cb68e))
172
+
173
+
174
+ ### BREAKING CHANGES
175
+
176
+ * **android, ios:** you'll need to add `react-native-nitro-modules` which is now a
177
+ react-native-nitro-modules of this library
178
+
179
+
180
+
181
+ # [5.0.0-rc.0](https://github.com/5-stones/react-native-readium/compare/v4.0.1...v5.0.0-rc.0) (2026-01-20)
182
+
183
+
184
+ ### Bug Fixes
185
+
186
+ * **web:** fix typescript errors in web ([f8c1137](https://github.com/5-stones/react-native-readium/commit/f8c1137af8a0cc7a76e94aca21ca2b8adbce49e6))
187
+ * **web:** update stylesheet urls to avoid redirect issue ([#98](https://github.com/5-stones/react-native-readium/issues/98)) ([005274d](https://github.com/5-stones/react-native-readium/commit/005274d59fd6260f4ac7579cfa1220cff72fb105))
188
+
189
+
190
+ ### Features
191
+
192
+ * **android, example, src:** upgrade library to be compatible with react-native 0.83.x ([13df342](https://github.com/5-stones/react-native-readium/commit/13df342d29e6a461743d052c43286950790c8b3a))
193
+ * **android, ios, web:** emit all book metadata via onPublicationReady callback ([d99a813](https://github.com/5-stones/react-native-readium/commit/d99a8134d03979c637e935be506ecb0e808589e8)), closes [#67](https://github.com/5-stones/react-native-readium/issues/67)
194
+ * **android, web:** add page numbers on android and web for parity with ios ([3931e6e](https://github.com/5-stones/react-native-readium/commit/3931e6ebf36b087ce2738384fb99a2b06934ef57)), closes [#25](https://github.com/5-stones/react-native-readium/issues/25)
195
+ * **android:** upgrade kotlin-toolkit to v3.1 ([#103](https://github.com/5-stones/react-native-readium/issues/103)) ([4dba322](https://github.com/5-stones/react-native-readium/commit/4dba32209bf23740242205baaf7f3f0841522cc1))
196
+ * **apps:** split the web and native examples into separate apps for clarity ([cd80ec1](https://github.com/5-stones/react-native-readium/commit/cd80ec1cbfcc7f35c2fdfc865a4d1567c1a44b1f))
197
+ * **ios:** upgrade ios implementation to use v3 of readiums swift-toolkit ([#96](https://github.com/5-stones/react-native-readium/issues/96)) ([db56fba](https://github.com/5-stones/react-native-readium/commit/db56fba6d801d42f288b69a5b4d3e507a08c463d))
198
+ * **web:** migrate from @d-i-t-a/reader to readium's ts-toolkit ([cac915d](https://github.com/5-stones/react-native-readium/commit/cac915deb74d243d25f4f6298f4eb52d9029ca57))
199
+
200
+
201
+ ### BREAKING CHANGES
202
+
203
+ * **android, ios, web:** onTableOfContents has been removed and replaced with onPublicationReady
204
+ * **web:** while the migration from @d-i-t-a/reader to ts-toolkit should be mostly
205
+ transparent, you should verify that everything in your app is working properly.
206
+ * **ios:** Old v2.6 pods are not compatible anymore with this version. You should update Podfile and use v3.5 pods
207
+ * **ios:** [Migration of HREFs and Locators (bookmarks, annotations, etc.)](https://github.com/readium/swift-toolkit/blob/develop/docs/Migration%20Guide.md#migration-of-hrefs-and-locators-bookmarks-annotations-etc)
208
+
209
+ Co-authored-by: tyukesz <nagy.szabolcs@sonrisa.hu>
210
+
211
+
212
+
213
+ ## [4.0.1](https://github.com/5-stones/react-native-readium/compare/v4.0.0...v4.0.1) (2025-09-12)
214
+
215
+
216
+ ### Bug Fixes
217
+
218
+ * **android:** ensure we don't reset preferences on updates ([#91](https://github.com/5-stones/react-native-readium/issues/91)) ([ce96f13](https://github.com/5-stones/react-native-readium/commit/ce96f1388987ceda90e7ef9251705d6787b51b3b))
219
+
220
+
221
+
222
+ # [4.0.0](https://github.com/5-stones/react-native-readium/compare/v3.0.2...v4.0.0) (2025-09-08)
223
+
224
+
225
+ ### Bug Fixes
226
+
227
+ * **android, ios:** Improve detection of Links when changing navigator location ([#82](https://github.com/5-stones/react-native-readium/issues/82)) ([9bc2e4a](https://github.com/5-stones/react-native-readium/commit/9bc2e4acc59af0c915fbddaad3375daa3f0b017d))
228
+ * **ios:** add guards to superview and viewControllers to avoid crash ([#90](https://github.com/5-stones/react-native-readium/issues/90)) ([a85a065](https://github.com/5-stones/react-native-readium/commit/a85a065dc8956c5a03f59f2be379e6ee7f1e02ae))
229
+
230
+
231
+ ### Features
232
+
233
+ * **ios, android, web:** Move from deprecated UserSettings API to the new Preferences API ([#80](https://github.com/5-stones/react-native-readium/issues/80)) ([784f7fe](https://github.com/5-stones/react-native-readium/commit/784f7fe072f12bfdc8ff8e8c2ea1109e007619a0)), closes [#79](https://github.com/5-stones/react-native-readium/issues/79)
234
+
235
+
236
+ ### BREAKING CHANGES
237
+
238
+ * **ios, android, web:** This update moves the library to the newer Preferences API for managing the reader font size, theme, etc.
239
+
240
+
241
+
242
+ ## [3.0.2](https://github.com/5-stones/react-native-readium/compare/v3.0.1...v3.0.2) (2025-05-20)
243
+
244
+
245
+
246
+ ## [3.0.1](https://github.com/5-stones/react-native-readium/compare/v3.0.0...v3.0.1) (2025-03-05)
247
+
248
+
249
+ ### Bug Fixes
250
+
251
+ * **android:** fix android build errors in newer versions of react-native ([487febb](https://github.com/5-stones/react-native-readium/commit/487febbb7ef7e16fc39db3594bbef10a61f28b07))
252
+
253
+
254
+
255
+ # [3.0.0](https://github.com/5-stones/react-native-readium/compare/v2.0.2...v3.0.0) (2025-02-11)
256
+
257
+
258
+ ### Bug Fixes
259
+
260
+ * **android:** remove tap toggles ui visibility ([81ca01a](https://github.com/5-stones/react-native-readium/commit/81ca01a4f38e2fb451023ce4aae31985f3613eb1))
261
+
262
+
263
+ ### BREAKING CHANGES
264
+
265
+ * **android:** Tapping will no longer toggle the system ui visibility.
266
+
267
+
268
+
269
+ ## [2.0.2](https://github.com/5-stones/react-native-readium/compare/v2.0.1...v2.0.2) (2024-10-08)
270
+
271
+
272
+ ### Bug Fixes
273
+
274
+ * **web:** Handle location not defined in reading order ([080b4a9](https://github.com/5-stones/react-native-readium/commit/080b4a911bea77ae174face2cf24b90ae0d58b32))
275
+
276
+
277
+
278
+ ## [2.0.1](https://github.com/5-stones/react-native-readium/compare/v2.0.0...v2.0.1) (2024-10-03)
279
+
280
+
281
+ ### Bug Fixes
282
+
283
+ * **web:** estimate the totalProgression if it is not provided ([3d849dc](https://github.com/5-stones/react-native-readium/commit/3d849dc01cb23298acdfbfecead84c084bd4b1b2))
284
+
285
+
286
+
287
+ # [2.0.0](https://github.com/5-stones/react-native-readium/compare/v2.0.0-rc.2...v2.0.0) (2024-09-10)
288
+
289
+
290
+ ### Bug Fixes
291
+
292
+ * **web:** update reader when file url changes ([21eda29](https://github.com/5-stones/react-native-readium/commit/21eda2950ba01469220549387bbfc9f74b2e9047))
293
+
294
+
295
+
296
+ # [2.0.0-rc.2](https://github.com/5-stones/react-native-readium/compare/v2.0.0-rc.1...v2.0.0-rc.2) (2024-07-29)
297
+
298
+
299
+ ### Bug Fixes
300
+
301
+ * **android:** don't set the brightness of the activity. instead rely on device/app settings ([8af916b](https://github.com/5-stones/react-native-readium/commit/8af916b86a3c42a9abc02a63aa239fa6e8c4e8a5))
302
+ * **readiumview:** fix an issue when no forwardRef is passed on Android ([bbc1967](https://github.com/5-stones/react-native-readium/commit/bbc1967d0278db6ba1af4948f5afd67d2a4d12b5))
303
+ * **ReadiumView:** fix react warning regarding forwardRefs ([45792e6](https://github.com/5-stones/react-native-readium/commit/45792e6f92e9526282c1fc2e6d5f8f57e199ecd7))
304
+
305
+
306
+
307
+ # [2.0.0-rc.0](https://github.com/5-stones/react-native-readium/compare/v1.2.1...v2.0.0-rc.0) (2024-07-26)
308
+
309
+
310
+ ### Features
311
+
312
+ * **android, example:** upgrade react-native support to 0.74.3 and android to kotlin-toolkit@2.4.1 ([1479382](https://github.com/5-stones/react-native-readium/commit/1479382214d1acd59d7f76690d933459c745c5c7))
313
+
314
+
315
+
316
+ ## [1.2.1](https://github.com/5-stones/react-native-readium/compare/v1.2.0...v1.2.1) (2023-05-10)
317
+
318
+
319
+ ### Bug Fixes
320
+
321
+ * **web:** restructure reader imports in order to fix SSR ([37a2e6a](https://github.com/5-stones/react-native-readium/commit/37a2e6ae8380b902f8e2b38b46e027b1965bfde6))
322
+
323
+
324
+
325
+ # [1.2.0](https://github.com/5-stones/react-native-readium/compare/v1.1.0...v1.2.0) (2022-12-14)
326
+
327
+
328
+ ### Features
329
+
330
+ * **web:** remove next and previous buttons in favor of a ref api ([0e03366](https://github.com/5-stones/react-native-readium/commit/0e033667eef2abf06dfb949ef831b68f9dc51d2c))
331
+
332
+
333
+
334
+ # [1.1.0](https://github.com/5-stones/react-native-readium/compare/v1.0.4...v1.1.0) (2022-12-10)
335
+
336
+
337
+ ### Features
338
+
339
+ * **web:** add basic web implementation and example ([d55a457](https://github.com/5-stones/react-native-readium/commit/d55a457b71213de4536294709788b50b74076622))
340
+
341
+
342
+
343
+ ## [1.0.4](https://github.com/5-stones/react-native-readium/compare/v1.0.3...v1.0.4) (2022-12-06)
344
+
345
+
346
+ ### Bug Fixes
347
+
348
+ * **android:** fix an issue resulting in initial android settings not being applied correctly ([9f48874](https://github.com/5-stones/react-native-readium/commit/9f488746759f51effdbf62b3da1ffe036369bffd))
349
+
350
+
351
+
352
+ ## [1.0.3](https://github.com/5-stones/react-native-readium/compare/v1.0.2...v1.0.3) (2022-12-05)
353
+
354
+
355
+ ### Bug Fixes
356
+
357
+ * **android, ios:** allow location and initialLocation to be either Link or Locator objects ([ebc1030](https://github.com/5-stones/react-native-readium/commit/ebc103075d305bcdf8db263d7455d5b07536288b))
358
+
359
+
360
+
361
+ ## [1.0.2](https://github.com/5-stones/react-native-readium/compare/v1.0.1...v1.0.2) (2022-12-01)
362
+
363
+
364
+ ### Bug Fixes
365
+
366
+ * **android:** fix android release builds by adding networking security config ([f9b0ff8](https://github.com/5-stones/react-native-readium/commit/f9b0ff80676f9e673352546857faab2163e8a1bb))
367
+
368
+
369
+
370
+ ## [1.0.1](https://github.com/5-stones/react-native-readium/compare/v1.0.0...v1.0.1) (2022-12-01)
371
+
372
+
373
+ ### Bug Fixes
374
+
375
+ * **android:** update readium dependencies to deal with removed nanohttpd dependency ([764f6eb](https://github.com/5-stones/react-native-readium/commit/764f6ebc1de0ddd509b7ca89dd736eace4348d3d))
376
+
377
+
378
+
379
+ # [1.0.0](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.10...v1.0.0) (2022-08-22)
380
+
381
+
382
+
383
+ # [1.0.0-alpha.10](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2022-04-05)
384
+
385
+
386
+ ### Bug Fixes
387
+
388
+ * **android, ios:** fix an issue with background color not staying in sync with appearance setting ([fca2f8e](https://github.com/5-stones/react-native-readium/commit/fca2f8e20e3ed0b5558caf1b3f2abd5f4f8bb3d5))
389
+
390
+
391
+
392
+ # [1.0.0-alpha.9](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2022-04-01)
393
+
394
+
395
+ ### Bug Fixes
396
+
397
+ * **locator:** update the Locator interface to represent the minimum data required ([61c8be1](https://github.com/5-stones/react-native-readium/commit/61c8be1073e92a9c408ecde995e764502f2a5538))
398
+
399
+
400
+ ### Features
401
+
402
+ * **android, ios, example:** add the ability to register to receive the table of contents ([94ef6ae](https://github.com/5-stones/react-native-readium/commit/94ef6ae790efe53cce8b3b945bfc4f0bd712e178))
403
+
404
+
405
+
406
+ # [1.0.0-alpha.8](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2022-03-31)
407
+
408
+
409
+ ### Bug Fixes
410
+
411
+ * **android:** fix an issue with android crashing due to a "no view found for id" exception ([5440662](https://github.com/5-stones/react-native-readium/commit/54406625dfbca5c1dcfa23030df8325d53d2ddbb))
412
+
413
+
414
+
415
+ # [1.0.0-alpha.7](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2022-03-31)
416
+
417
+
418
+ ### Bug Fixes
419
+
420
+ * **android:** fix a race-condition with the settings prop causing crashes ([11ebde3](https://github.com/5-stones/react-native-readium/commit/11ebde35184622ff045a41e8f971b46a389c0dc0))
421
+
422
+
423
+
424
+ # [1.0.0-alpha.6](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2022-03-29)
425
+
426
+
427
+ ### Features
428
+
429
+ * **android:** strip the 'file://' prefix from the path if it's passed ([1171f1e](https://github.com/5-stones/react-native-readium/commit/1171f1e2ec553f51c7be1aa1b3973433f3bd6939))
430
+
431
+
432
+
433
+ # [1.0.0-alpha.5](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2022-03-28)
434
+
435
+
436
+ ### Bug Fixes
437
+
438
+ * **android:** remove unused exoplayer deps to prevent conflicts with other projects ([96086b4](https://github.com/5-stones/react-native-readium/commit/96086b4cf0305b9799b6c632c4c6e57422375479))
439
+
440
+
441
+
442
+ # [1.0.0-alpha.4](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.3...v1.0.0-alpha.4) (2022-03-24)
443
+
444
+
445
+ ### Bug Fixes
446
+
447
+ * **ios:** fix an issue causing crash when used in conjunction with react-native-screens ([d250bf8](https://github.com/5-stones/react-native-readium/commit/d250bf8294e133a7fd29d3eb92e68f9682f46f63))
448
+
449
+
450
+
451
+ # [1.0.0-alpha.3](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.2...v1.0.0-alpha.3) (2022-03-24)
452
+
453
+
454
+ ### Bug Fixes
455
+
456
+ * **ios:** add ios.deployment_target of 13.0 ([ca1b199](https://github.com/5-stones/react-native-readium/commit/ca1b199bae3dea3347aed26135f1e1de61c61fff))
457
+
458
+
459
+
460
+ # [1.0.0-alpha.2](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.1...v1.0.0-alpha.2) (2022-03-24)
461
+
462
+
463
+ ### Bug Fixes
464
+
465
+ * **podspec:** specify swift version in podspec ([cc7d7cd](https://github.com/5-stones/react-native-readium/commit/cc7d7cd8ae7fc65623b06825f0431b7b79612ec1))
466
+
467
+
468
+ ### Features
469
+
470
+ * **ios, android:** remove unused dependencies and code ([1d35cdd](https://github.com/5-stones/react-native-readium/commit/1d35cdd6ba9bfda33f72381bb880cb4a401e4154))
471
+
472
+
473
+
474
+ # [1.0.0-alpha.1](https://github.com/5-stones/react-native-readium/compare/v1.0.0-alpha.0...v1.0.0-alpha.1) (2022-03-23)
475
+
476
+
477
+ ### Bug Fixes
478
+
479
+ * **ios:** fix view sizing on iOS ([5e6e451](https://github.com/5-stones/react-native-readium/commit/5e6e451e6c4c75dcf35a11a1b348f8911660247f))
480
+
481
+
482
+ ### Features
483
+
484
+ * **android:** implement a basic ebook reader view for android ([63e3d70](https://github.com/5-stones/react-native-readium/commit/63e3d70016675bbf3b2d2dea1acb47c32824dc7c))
485
+ * **example:** react-native upgrade ([74997a2](https://github.com/5-stones/react-native-readium/commit/74997a20d0821dbd80493d5051a45e1ba9cec9b1))
486
+
487
+
488
+
489
+ # [1.0.0-alpha.0](https://github.com/5-stones/react-native-readium/compare/47d18e28b8ee9a7e6cb83eb93837fbe6169d9180...v1.0.0-alpha.0) (2022-03-11)
490
+
491
+
492
+ ### Features
493
+
494
+ * **src, ios:** Basic functional implementation of epub reader for iOS ([47d18e2](https://github.com/5-stones/react-native-readium/commit/47d18e28b8ee9a7e6cb83eb93837fbe6169d9180))
495
+
496
+
497
+
package/README.md CHANGED
@@ -1,12 +1,46 @@
1
1
  # react-native-readium
2
2
 
3
- [![NPM version](https://img.shields.io/npm/v/react-native-readium.svg?color=success&label=npm%20package&logo=npm)](https://www.npmjs.com/package/react-native-readium)
3
+ > **This is a fork of [5-stones/react-native-readium](https://github.com/5-stones/react-native-readium) maintained on the [`open-citadel-main`](https://github.com/dr-33-m/react-native-readium/tree/open-citadel-main) branch for the [Open Citadel](https://github.com/dr-33-m/open-citadel) project.**
4
+ > Published to npm as [`@dr33m/react-native-readium`](https://www.npmjs.com/package/@dr33m/react-native-readium).
5
+ >
6
+ > See [What this fork adds](#what-this-fork-adds) for the full list of changes on top of upstream.
7
+
8
+ [![NPM version](https://img.shields.io/npm/v/%40dr33m%2Freact-native-readium/next.svg?color=success&label=npm%20package&logo=npm)](https://www.npmjs.com/package/@dr33m/react-native-readium)
4
9
  [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
5
10
  ![PRs welcome!](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)
6
11
  ![This project is released under the MIT license](https://img.shields.io/badge/license-MIT-blue.svg)
7
12
 
8
13
  ---
9
14
 
15
+ ## What this fork adds
16
+
17
+ This fork is built on top of `5.0.0-rc.17` of the upstream package and adds the following on the `open-citadel-main` branch:
18
+
19
+ ### Text-to-Speech (TTS)
20
+
21
+ Full TTS support for EPUB books on Android and iOS:
22
+
23
+ - **Android** — powered by the Readium `readium-navigator-media-tts` module, which uses the platform `TextToSpeech` engine (no ExoPlayer dependency).
24
+ - **iOS** — powered by `AVSpeechSynthesizer` via the Readium Swift Toolkit's `PublicationSpeechSynthesizer`.
25
+ - New prop **`tts`** — pass a `TTSConfig` object to start, stop, pause, resume, or seek TTS playback.
26
+ - New callback **`onTTSStateChange`** — fires whenever TTS state changes (`playing`, `paused`, `stopped`).
27
+ - New callback **`onTTSLocatorChange`** — fires with the current `Locator` as TTS advances through the book, allowing the UI to follow along.
28
+ - New callback **`onTTSError`** — fires with an error message if TTS fails to initialise or encounters a read error.
29
+
30
+ ### Android Storage Access Framework (SAF) support
31
+
32
+ `ReaderService.openPublication` now accepts `content://` URIs (Android SAF) in addition to raw file paths. The display name is resolved from the content resolver so bookId and file extension are always correctly extracted.
33
+
34
+ ### EPUB-only routing
35
+
36
+ PDF support has been removed from this fork (it was experimental and caused crashes). Only EPUB publications are opened; any other format logs a warning and returns gracefully. `pdfFactory` is explicitly set to `null` in `DefaultPublicationParser`.
37
+
38
+ ### Readium Kotlin Toolkit bump
39
+
40
+ Android native dependencies updated to `readium-kotlin-toolkit 3.1.2` (from `3.1.0` in upstream rc.17). The `readium-adapter-pdfium` dependency is removed entirely.
41
+
42
+ ---
43
+
10
44
  ## Have A Bug/Feature You Care About?
11
45
 
12
46
  We :heart: open source. We work on the things that are important to us when
@@ -60,13 +94,13 @@ This library uses [Nitro Modules](https://nitro.margelo.com/) and supports both
60
94
  **NPM**
61
95
 
62
96
  ```sh
63
- npm install react-native-readium react-native-nitro-modules
97
+ npm install @dr33m/react-native-readium@next react-native-nitro-modules
64
98
  ```
65
99
 
66
100
  **Yarn**
67
101
 
68
102
  ```sh
69
- yarn add react-native-readium react-native-nitro-modules
103
+ yarn add @dr33m/react-native-readium@next react-native-nitro-modules
70
104
  ```
71
105
 
72
106
  #### iOS
@@ -237,6 +237,7 @@ abstract class BaseReaderFragment : Fragment() {
237
237
  }
238
238
  },
239
239
  onUtterance = { locator, text ->
240
+ applyTTSDecoration(locator) // Apply decoration natively — no JS round-trip
240
241
  viewScope.launch {
241
242
  channel.send(ReaderViewModel.Event.TTSUtterance(locator, text, null, null))
242
243
  }
@@ -262,14 +263,47 @@ abstract class BaseReaderFragment : Fragment() {
262
263
  }
263
264
  }
264
265
 
265
- fun ttsStop() { ttsManager?.stop() }
266
+ fun ttsStop() {
267
+ ttsManager?.stop()
268
+ clearTTSDecoration()
269
+ }
266
270
  fun ttsPause() { ttsManager?.pause() }
267
271
  fun ttsResume() { ttsManager?.resume() }
268
272
  fun ttsSetRate(rate: Float) { ttsManager?.setRate(rate) }
269
273
  fun ttsSkipNext() { ttsManager?.skipNext() }
270
274
  fun ttsSkipPrevious() { ttsManager?.skipPrevious() }
271
275
 
276
+ private fun applyTTSDecoration(locator: Locator) {
277
+ if (!isNavigatorReady) return
278
+ val decorableNavigator = navigator as? DecorableNavigator ?: return
279
+ val viewScope = viewLifecycleOwner.lifecycleScope
280
+ viewScope.launch {
281
+ decorableNavigator.applyDecorations(
282
+ listOf(
283
+ Decoration(
284
+ id = "tts-current",
285
+ locator = locator,
286
+ style = Decoration.Style.Highlight(
287
+ tint = android.graphics.Color.argb(89, 0xF2, 0xCA, 0x50) // #f2ca50 @ 35%
288
+ )
289
+ )
290
+ ),
291
+ "tts"
292
+ )
293
+ }
294
+ }
295
+
296
+ private fun clearTTSDecoration() {
297
+ if (!isNavigatorReady) return
298
+ val decorableNavigator = navigator as? DecorableNavigator ?: return
299
+ val viewScope = viewLifecycleOwner.lifecycleScope
300
+ viewScope.launch {
301
+ decorableNavigator.applyDecorations(emptyList(), "tts")
302
+ }
303
+ }
304
+
272
305
  override fun onDestroyView() {
306
+ clearTTSDecoration()
273
307
  ttsManager?.cleanup()
274
308
  ttsManager = null
275
309
  super.onDestroyView()
@@ -318,6 +318,16 @@ class HybridReadiumView: HybridReadiumViewSpec {
318
318
  ))
319
319
  }
320
320
  manager.onUtterance = { [weak self] locator, text in
321
+ // Apply TTS decoration natively — bypass React prop round-trip
322
+ if let nav = self?.readerViewController?.navigator as? DecorableNavigator {
323
+ let tint = UIColor(red: 0.949, green: 0.792, blue: 0.314, alpha: 0.35) // #f2ca50 @ 35%
324
+ let decoration = RDecoration(
325
+ id: "tts-current",
326
+ locator: locator,
327
+ style: .highlight(tint: tint, isActive: false)
328
+ )
329
+ nav.apply(decorations: [decoration], in: "tts")
330
+ }
321
331
  self?.onTTSUtterance?(TTSUtteranceEvent(
322
332
  locator: readiumLocatorToNitro(locator),
323
333
  utterance: text,
@@ -343,7 +353,12 @@ class HybridReadiumView: HybridReadiumViewSpec {
343
353
  )
344
354
  }
345
355
 
346
- func ttsStop() { readerViewController?.ttsManager?.stop() }
356
+ func ttsStop() {
357
+ if let nav = readerViewController?.navigator as? DecorableNavigator {
358
+ nav.apply(decorations: [], in: "tts")
359
+ }
360
+ readerViewController?.ttsManager?.stop()
361
+ }
347
362
  func ttsPause() { readerViewController?.ttsManager?.pause() }
348
363
  func ttsResume() { readerViewController?.ttsManager?.resume() }
349
364
  func ttsSetRate(rate: Double) { readerViewController?.ttsManager?.setRate(Float(rate)) }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dr33m/react-native-readium",
3
- "version": "5.0.0-rc.18",
3
+ "version": "5.0.0-rc.20",
4
4
  "description": "A react-native wrapper for https://readium.org/",
5
5
  "main": "lib/src/index",
6
6
  "types": "lib/src/index.d.ts",
@@ -61,7 +61,12 @@
61
61
  "e-reader",
62
62
  "read"
63
63
  ],
64
- "repository": "http://github.com/5-stones/react-native-readium",
64
+ "repository": {
65
+ "type": "git",
66
+ "url": "https://github.com/dr-33-m/react-native-readium.git",
67
+ "directory": ".",
68
+ "branch": "open-citadel-main"
69
+ },
65
70
  "author": "Jacob Spizziri <jspizziri@weare5stones.com> (https://github.com/jspizziri)",
66
71
  "license": "MIT",
67
72
  "bugs": {
@@ -191,4 +196,4 @@
191
196
  },
192
197
  "packageManager": "yarn@3.6.4",
193
198
  "stableVersion": "1.2.1"
194
- }
199
+ }