Commit graph

1325 commits

Author SHA1 Message Date
Satindar Dhillon
5f2a667bec track last tap location to show android highlight menu in right place 2022-12-01 10:26:50 -08:00
Satindar Dhillon
cc4001161e regenerate bundled web readers 2022-12-01 10:26:19 -08:00
Satindar Dhillon
96f720ae24 generate new js bundles for native mobile apps 2022-12-01 10:25:52 -08:00
Jackson Harper
8997f2457f Add GQL Server used for generating swift gql bindings 2022-12-01 15:44:53 +08:00
Jackson Harper
af685ddb4b Make highlight labels relationship many to many 2022-12-01 14:12:48 +08:00
Jackson Harper
2cdd75ac18 Rename highlights + notes to notebook 2022-12-01 13:59:29 +08:00
Jackson Harper
ab64e56ab4 Better cancelation of offline audio downloads, menu cleanup 2022-12-01 13:52:58 +08:00
Jackson Harper
3e4f9409df Dont fully close audio player on error
This gives users the ability to change the selected language if
the error was related to language / voice.
2022-12-01 12:50:59 +08:00
Jackson Harper
983e15bdda Add two slower playback speed options 2022-11-30 21:36:38 +08:00
Jackson Harper
b285ce94f1 use the system font for text to speech
This gives a better layout for Tamil and Hindi languages than
Inter which seemed to have issues calculating line height.
2022-11-30 21:31:55 +08:00
Jackson Harper
1b57d879ed Better handling of errors in javascript while waiting in swift
Two main changes here:

- Wait for JS highlight methods to complete, if an error occurs
post that error back to Swift.

- When creating a highlight with a note, post a message back to
Swift to signify success. We wait for that message instead of
closing immediately, so that a user doesn't lose their note if
creating the highlight failed.
2022-11-30 21:09:02 +08:00
Jackson Harper
6f0f0ec8b5 Update bundle 2022-11-30 21:08:21 +08:00
Jackson Harper
600427d2b5 Add Hindi and Tamil samples 2022-11-29 19:00:50 +08:00
Jackson Harper
df11add608 Add samples for LK, MY, and SG versions of Tamil 2022-11-29 19:00:04 +08:00
Jackson Harper
25a22e4289 On iPad we need to hide the list row separator on the top 2022-11-29 15:59:06 +08:00
Jackson Harper
8ff154e2f4 Squarer label chips on web 2022-11-29 15:27:54 +08:00
Jackson Harper
29b2cedcf0 Update bundle 2022-11-29 15:24:24 +08:00
Jackson Harper
77c071c099 Add Hindi and Tamil as text to speech options 2022-11-29 14:49:45 +08:00
Jackson Harper
53c9881fe0 Allow setting highlight labels by clicking a highlight 2022-11-29 11:58:32 +08:00
Jackson Harper
9665cfdb76 Better placeholder text 2022-11-29 11:25:42 +08:00
Jackson Harper
3ee5cc3265 Update layout / design of the highlights view 2022-11-29 11:23:09 +08:00
Jackson Harper
545c15cd01 Make labels less rounded 2022-11-29 10:20:45 +08:00
Jackson Harper
395b3d7ac7 Allow setting labels on highlights 2022-11-28 21:32:42 +08:00
Jackson Harper
aef72f00f0 Add labels to highlights 2022-11-28 16:19:00 +08:00
Jackson Harper
179d791a73 Update GQL schema adding labels to highlights 2022-11-28 15:33:58 +08:00
Jackson Harper
d2ad0d63ae Fix comment replacement, remove debug 2022-11-28 15:06:02 +08:00
Jackson Harper
ef8e78380b Save PDF configuration changes
These get reloaded after change, so if we don't save them, they
wont be applied to the document. The appearance setting doesn't
get reloaded so that one does not need to be saved (and we don't
have access to it).
2022-11-28 12:58:47 +08:00
Jackson Harper
18fc5d19a4 Display an info alert if a user taps on Highlight but does not have a highlight 2022-11-25 15:10:02 +08:00
Jackson Harper
a3b53485ed Allow editing author on iOS 2022-11-25 14:42:56 +08:00
Jackson Harper
23af75594d Reduce max sync amount, defer after the second sync 2022-11-25 14:04:22 +08:00
Jackson Harper
c68dfef447 Remove work around for syncing latest items 2022-11-25 13:43:15 +08:00
Jackson Harper
a0def56965 Use descending savedAt search when syncing to pull in newest items 2022-11-25 13:42:58 +08:00
Jackson Harper
cd91b3b8bf Update schema 2022-11-25 13:42:12 +08:00
Jackson Harper
32b58de025
Merge pull request #1458 from omnivore-app/fix/temp-search-sync
Temporarily perform a search to get the most recently saved items on iOS
2022-11-25 13:18:59 +08:00
Jackson Harper
e70a15de55 Temporarily perform a search to get the most recently saved items on iOS 2022-11-24 17:39:43 +08:00
Jackson Harper
eb920eeae8
Merge pull request #1455 from omnivore-app/feat/delete-confirmation-preview
Show the being deleted item in the confirmation modal
2022-11-24 17:21:36 +08:00
Jackson Harper
1b731ece90 Make delete language consistent on iOS and web 2022-11-24 14:57:41 +08:00
Jackson Harper
d7290044a8 Save listen position independent of read position when listening to articles
When you restart an audio session it will start at the previous
listen position.
2022-11-24 13:58:30 +08:00
Jackson Harper
188221b018 Handle paragraph breaks in the share extension preview text 2022-11-22 17:28:42 +08:00
Jackson Harper
fc2e4f7d8c Display some UI for highlight on save 2022-11-21 22:39:10 +08:00
Jackson Harper
1e4658b771 Consistent function declaration syntax 2022-11-21 22:39:10 +08:00
Jackson Harper
dfaba9dbb3 Start to display a highlight banner in the share extension 2022-11-21 22:39:10 +08:00
Jackson Harper
64e2bb39b6 Before adding any markers to local HTML ensure we dont have any already 2022-11-21 22:39:10 +08:00
Jackson Harper
39b0cbd453 Use strings for highlight marker elements 2022-11-21 22:39:10 +08:00
Jackson Harper
2ec4328a90 Linting 2022-11-21 22:39:10 +08:00
Jackson Harper
bf97194208 Create a highlight of the selected text when a user saves 2022-11-21 22:39:10 +08:00
Jackson Harper
2e7b7c1bb5 Make warning message on reader match library 2022-11-21 22:39:10 +08:00
Jackson Harper
062215afa4 If there is no search term but there is an applied filter, perform a search after updating from the synced items
This fixes issues with filters that have very few items in them
not showing historical data if the filter is applied.
2022-11-21 22:39:10 +08:00
Jackson Harper
75a5e9fb03 MOve the lastItemSyncTime into the dataservice so we can reset the instance value 2022-11-21 22:39:10 +08:00
Jackson Harper
8c6798a467 Remove the preview image from the share extension 2022-11-21 22:39:10 +08:00
Jackson Harper
35a9de657a Use a task group and a detached task to prefetch in the background 2022-11-21 22:39:10 +08:00
Jackson Harper
c523010427 Prefetch content and update share extension info after saving items 2022-11-21 22:39:10 +08:00
Jackson Harper
60a663e9bb Make sure deleted highlights are synced to iOS 2022-11-21 22:39:10 +08:00
Jackson Harper
5e4095f47e Remove debug, fix formatting 2022-11-21 22:39:10 +08:00
Jackson Harper
c74911ea86 Improve how we handle loading the initial items on iOS 2022-11-21 22:39:10 +08:00
Jackson Harper
9814570380 Always show the loading headers now that filtering is faster 2022-11-17 18:45:36 +08:00
Satindar Dhillon
ef6f9307b9 bump ios to v1.21.0 2022-11-15 17:52:14 -08:00
Jackson Harper
9daece4010 Set the ITSAppUsesNonExemptEncryption flag 2022-11-15 13:32:19 +08:00
Jackson Harper
bbfb8a8b8b Feature flag on the ultra realistic voices 2022-11-15 08:54:01 +08:00
Jackson Harper
2b8f1da881 Remove unneeded isPresented check 2022-11-15 08:50:25 +08:00
Jackson Harper
c93375d4fb Remove old comment 2022-11-15 08:44:23 +08:00
Jackson Harper
5845b736de Increase label padding 2022-11-15 08:43:37 +08:00
Jackson Harper
3cb2ce3167 Remove more debug 2022-11-15 08:36:57 +08:00
Jackson Harper
a35e14b322 Remove debug 2022-11-15 08:36:30 +08:00
Jackson Harper
6eab360da3 Move download audio option, clean up menus 2022-11-14 10:35:17 +08:00
Jackson Harper
fa99af3f6a Better handling of articles with stub URLs that shouldn't be used (happens with newsletters that dont have a URL') 2022-11-11 15:56:03 +08:00
Jackson Harper
be941faf39 Handle case where AVQueuePlayer doesnt update the current item for shorter audio segments 2022-11-11 15:55:28 +08:00
Jackson Harper
98df7164e5 When enabling ultra realistic voices, if granted select a default voice 2022-11-11 15:55:28 +08:00
Jackson Harper
1613af79a6 Fix Read Now button with light theme 2022-11-11 15:55:28 +08:00
Jackson Harper
6ba5b6165b Pass in feature auth header for TTS if set 2022-11-11 15:55:28 +08:00
Jackson Harper
a4419e58bc WIP: toggle for realistic voices 2022-11-11 15:55:28 +08:00
Jackson Harper
59271882a5 Use currentAudioIndex, this will give us the option to force it to a differnt value
Sometimes the play item isn't updated very quickly, the timeElapsed
can be greater than the duration in those cases. We could probably
force the currentItemIndex to increment in those cases to get
speech cards to update.
2022-11-11 15:55:28 +08:00
Jackson Harper
a0f17185d8 Update the share extension view to newer design 2022-11-11 15:55:28 +08:00
Jackson Harper
878cb51533 Separate out the speechplayeritem class, implement a queued prefetch 2022-11-11 15:55:28 +08:00
Jackson Harper
ed6cea3a87 Only show the ultra voices prompt on the en voice list 2022-11-11 15:55:28 +08:00
Jackson Harper
5865be5982 Update ultra voice list 2022-11-11 15:55:28 +08:00
Jackson Harper
48b0ea09bd Add sample voice files / Stop sample voices when unpausing 2022-11-11 15:55:28 +08:00
Jackson Harper
b47b1ca49a Add samples for voices 2022-11-11 15:55:28 +08:00
Jackson Harper
aad1a51da8 Allow speechmarks data to be empty 2022-11-11 15:55:28 +08:00
Jackson Harper
3d9976e06a WIP: Adding ultra realistic voice support 2022-11-11 15:55:28 +08:00
Jackson Harper
eaaf1c052b Fix typo 2022-11-11 15:39:47 +08:00
Hongbo Wu
f56de45ed0
Merge pull request #1389 from omnivore-app/rate-limiting-on-tts
Add a realistic voice api provider
2022-11-10 17:25:08 +08:00
Satindar Dhillon
751699ab53 update swift gql schema 2022-11-09 20:17:39 -08:00
Satindar Dhillon
5f9e517456 bump ios to 1.20.0 2022-11-07 10:48:23 -08:00
Jackson Harper
a29a430f91 Fix bug causing quotes to appear around notes on iOS
When serialized to a JSON string quotes are added, so we were
double quoting our strings.
2022-11-07 08:16:21 +08:00
Jackson Harper
472e11e9db Add three new fonts, display fonts in the font selector 2022-11-02 18:04:55 +08:00
Jackson Harper
3a901620e8
Merge pull request #1383 from omnivore-app/fix/twitter-embed-formatting
Fixup some styling for embedded tweets
2022-11-02 13:06:46 +08:00
Jackson Harper
88a5086276 Fixup some styling for embedded tweets
- Improves username links, embedded links, and photos
2022-11-02 12:36:27 +08:00
Satindar Dhillon
df2fba0747 bump ios app to 1.19.0 2022-11-01 20:27:52 -07:00
Satindar Dhillon
0639342154 use chevron on font changer row for now 2022-11-01 09:18:01 -07:00
Jackson Harper
c999aec024 Improve styling for static tweets to handle dark modes 2022-11-01 22:45:05 +08:00
Jackson Harper
e5947ee7d7 Remove unneeded update to showHighlightAnnotationModal. This is already true 2022-11-01 21:02:29 +08:00
Jackson Harper
531275a013 Remove some more temp theme stuff, update reader bundle 2022-11-01 18:27:05 +08:00
Jackson Harper
70cf8eb87b Revert some theme stuff 2022-11-01 18:17:48 +08:00
Jackson Harper
e9ed8e6138 Better handling of errors when dispatching annotation events to JS 2022-11-01 18:15:49 +08:00
Jackson Harper
01ce025720 Revert some theme changes, update reader, fix theme clearing 2022-11-01 17:53:25 +08:00
Jackson Harper
16d06f8f6f Add missing import 2022-11-01 17:42:08 +08:00
Jackson Harper
00350d9ffa Update appreader bundle 2022-11-01 17:41:12 +08:00
Jackson Harper
2c07dbf8ff Better handling of errors when dispatching annotation events to JS 2022-11-01 17:40:13 +08:00
Jackson Harper
467a37e8cc WIP: New themes and reader preferences for iOS 2022-11-01 17:40:11 +08:00
Jackson Harper
8712a3efef
Merge pull request #1373 from omnivore-app/fix/substack-embedded-tweets
Handle embedded tweets in substack emails
2022-11-01 15:04:03 +08:00
Jackson Harper
f504f37ef8 Update bundled app reader 2022-11-01 12:37:59 +08:00
Jackson Harper
12ea8959b3 Fix typo in description of newsletter emails 2022-10-28 22:49:46 +08:00
Satindar Dhillon
10efce23c1 add webControlButtonBackground to colors 2022-10-25 08:55:04 -07:00
Satindar Dhillon
67049e4c0b animate bottom bar opacity when onAppear event called 2022-10-25 08:37:55 -07:00
Jackson Harper
8eb204b4c0 Add new action bar at bottom of iOS reader that shows when user reaches end 2022-10-25 16:09:15 +08:00
Jackson Harper
fe62f24d85
Merge pull request #1338 from omnivore-app/fix/audio-expanded-player
Split the expanded player into a new view and use a sheet to present it
2022-10-25 12:20:06 +08:00
Satindar Dhillon
d9fe2ddae5 bump apple apps to v1.18.0 2022-10-24 13:07:07 -07:00
Jackson Harper
f14f92499b Dont show the mini player when expanded player is open on iPad landscape 2022-10-21 16:46:53 +08:00
Jackson Harper
126d79446b Clean up body of expanded audio player, remove dead code 2022-10-21 16:23:27 +08:00
Jackson Harper
a59c9910a0 Set the tab index when the expanded player is shown 2022-10-21 16:11:13 +08:00
Jackson Harper
0c7f5174c7 Open the audio player expanded the first time the user uses it. Minimize animation issues 2022-10-21 14:11:26 +08:00
Jackson Harper
663ccc1dc1 Remove NavigationView so iPad aligns to top of sheet
Also animate the miniplayer away so its not visible on ipad
when open in landscape mode.
2022-10-21 12:23:33 +08:00
Jackson Harper
578b9c6790 Split the expanded player into a new view and use a sheet to present it 2022-10-20 17:33:25 +08:00
Jackson Harper
bca82068bd Fix alert/row flicker when removing items on iOS
This also updates the message to be consistent with Web.
2022-10-20 12:26:37 +08:00
Jackson Harper
2542c5dbed
Merge pull request #1315 from omnivore-app/feat/subscription-icons
Display subscription icons in the iOS subscription view
2022-10-19 10:29:12 +08:00
Jackson Harper
fe3fb3ea4c
Merge pull request #1314 from omnivore-app/fix/highlight-empty-state
Empty state for the Highlights View
2022-10-19 10:28:56 +08:00
Satindar Dhillon
f73ae0a02a revert the #ifCanImport conditional. Doesn't work :( 2022-10-17 14:23:16 -07:00
Satindar Dhillon
cbc290e8e2 update pspdfkit conditional import in package.swift 2022-10-17 13:26:05 -07:00
Satindar Dhillon
66cec7f9ea bump apple versions to 1.17.0 2022-10-17 13:13:30 -07:00
Jackson Harper
fa35168bb4 Display subscription icons in the iOS subscription view 2022-10-17 16:54:37 +08:00
Jackson Harper
68a304664c Empty state for the Highlights View 2022-10-17 15:13:05 +08:00
Satindar Dhillon
53c40c1550 use nsworkspace to deep link to mac app 2022-10-15 19:51:57 -07:00
Jackson Harper
d9c91c3137 Reset tabIndex when state is reset to loading
We track the state of the current index in two places: the audio
controller, which updates as audio as played, the tabView has its
own binding of the current index, this is to allow scrolling.

When the audio item being played changes, we need to reset the
state of the tabIndex. We do this by watching for state loading
which occurs when new audio is loaded.
2022-10-13 15:37:37 +08:00
Jackson Harper
fe1f4ee51d Update the scrubber max value when items change 2022-10-13 15:20:28 +08:00
Jackson Harper
bafe1bd338 Ensure the audio index is updated when items are changed 2022-10-13 15:04:57 +08:00
Jackson Harper
2e9bda7835 Dont instantiate TabView with zero items
Seems this prevents the crash when the TabView tries to set
its index to 0/0.
2022-10-13 14:02:17 +08:00
Satindar Dhillon
cd1b62b85b add min size to macos email login view frame 2022-10-12 13:33:59 -07:00
Satindar Dhillon
b3310c61c7 update buttons on welcome screen to work for macos 2022-10-12 13:23:22 -07:00
Satindar Dhillon
903e58b3c5 add empty subscriptions list message 2022-10-12 13:16:33 -07:00
Satindar Dhillon
8fcbfbbd2e fixes after rebasing 2022-10-12 12:58:32 -07:00
Satindar Dhillon
d84f41767f create a mac specific nav card 2022-10-12 10:11:11 -07:00
Satindar Dhillon
c287eb4a59 add os conditionals so the mac app compiles 2022-10-12 10:11:09 -07:00
Jackson Harper
5278fdd4a1 Set the X-OmnivoreClient request header 2022-10-12 12:46:10 +08:00
Jackson Harper
706021de77 Add highlighted filter option to see all items with highlights 2022-10-11 21:38:28 +08:00
Jackson Harper
25055598e3 Update read position while listening to audio 2022-10-11 17:22:40 +08:00
Jackson Harper
f047775532 Improve the replay button, give an overlay behind so its easier to see 2022-10-11 16:41:23 +08:00
Jackson Harper
476d44fbb4 Try to prevent index out of bounds issues with the tab controller 2022-10-11 16:34:52 +08:00
Jackson Harper
68f9d9d1da Give the audio controller access to the dataService so it can update read positions 2022-10-11 16:20:04 +08:00
Jackson Harper
08c06a6dff Add a button to reset read location
This will be more useful when text to speech updates read position
while listening, gives the user more control and makes it easier
to handle scrolling back in an article.
2022-10-11 15:12:25 +08:00
Jackson Harper
3709628a93 Update the advanced search suggestions + typeahead when selected 2022-10-11 14:57:09 +08:00
Jackson Harper
188b51b293 Fix the spacing on top of the library list
On iPad the navigation bar size was set too larger without
specifying inline.

Without the spacer we get some re-layout glitches after loading
completes.
2022-10-11 13:13:51 +08:00
Jackson Harper
4149299b68 Move the shimmer out of the library list 2022-10-11 12:47:55 +08:00
Jackson Harper
bca7b650d6 We still need to show the filtersheader if there is a search term but no results 2022-10-11 12:32:46 +08:00
Jackson Harper
a1fabcc564 Set the searchbar to first responder when advanced search or term updates are used 2022-10-11 12:01:46 +08:00
Jackson Harper
015167af60 Remove old code 2022-10-11 11:33:53 +08:00
Jackson Harper
2d5bc56712 Remove old code 2022-10-11 11:33:09 +08:00
Jackson Harper
7267f07880 Use a new modal for search 2022-10-11 11:27:33 +08:00
Jackson Harper
783e25b63a Remove text to speech feature flag, its enabled for everyone now 2022-10-11 11:27:33 +08:00
Jackson Harper
3160f3ed60
Merge pull request #1263 from omnivore-app/feat/appstore-screenshots
Automation of appstore screenshots
2022-10-07 17:27:59 +08:00
Jackson Harper
933b186cf1
Merge pull request #1272 from omnivore-app/feat/follow-along
WIP: follow along text for tts
2022-10-07 11:35:37 +08:00
Satindar Dhillon
c4fe39ec02 bump ios version to 1.16.0 2022-10-06 18:06:55 -07:00
Jackson Harper
ea826af9b4 A couple small layout tweaks on the highlight card view 2022-10-06 13:16:41 +08:00
Jackson Harper
e831ba54ae Better sizing on webview nav bar items 2022-10-06 12:34:16 +08:00
Jackson Harper
42b0921ab6 More work on the player UI, more consistent nav bar item sizing 2022-10-06 12:34:16 +08:00
Jackson Harper
ca725b4908 Improve text to speech follow UX 2022-10-06 12:34:15 +08:00
Jackson Harper
b983a4336b Dont try to highlight beyond the last item despite speech marks offset data 2022-10-06 12:34:15 +08:00
Jackson Harper
f9e2809a10 WIP: follow along text for tts 2022-10-06 12:34:15 +08:00
Satindar Dhillon
36e5e76809 add copy and delete options to highlight list cards 2022-10-05 12:35:35 -07:00
Satindar Dhillon
e36920e96e reload web view if article highlights had been mutated from the highlits list modal 2022-10-05 12:02:08 -07:00
Satindar Dhillon
db9246553f message web container view when highlight view is dismissed and mutations have occurred 2022-10-05 12:02:08 -07:00
Satindar Dhillon
c5ad8a238c persist annotation changes from highlights view 2022-10-05 12:02:08 -07:00
Satindar Dhillon
49e911f023 show highlight annotation sheet when tapping on note or 'add a note' 2022-10-05 12:02:08 -07:00
Satindar Dhillon
cffdfa4342 sort highlights by createdAt 2022-10-05 12:02:08 -07:00
Satindar Dhillon
79875706e9 add note section to highlights view 2022-10-05 12:02:08 -07:00
Satindar Dhillon
18760d9043 style highlights card 2022-10-05 12:02:08 -07:00
Satindar Dhillon
29d14b3e8d create highlight list card 2022-10-05 12:02:08 -07:00
Satindar Dhillon
397fb5d9f7 add a basic highlights list view 2022-10-05 12:02:08 -07:00
Satindar Dhillon
d82ffa4432 add view highlights context menu to home feed items 2022-10-05 12:02:08 -07:00
Satindar Dhillon
89a657eec8 generate swift gql 2022-10-03 08:09:06 -07:00
Jackson Harper
c109f80d30 Automation of appstore screenshots
- This doesn't completely automate the process but makes it
easier to create screenshots across devices.
2022-09-30 14:08:26 +08:00
Jackson Harper
59d6ae583b Disable audio preload by default 2022-09-30 13:21:55 +08:00
Satindar Dhillon
8144cf8d37 disable pspdfkit feature that asks for author name for annotations 2022-09-29 20:45:19 -07:00
Satindar Dhillon
a3de8fc1a3
Merge pull request #1260 from omnivore-app/fix/ios-item-delete
Link Deletion Race Fix - iOS
2022-09-29 20:36:56 -07:00
Satindar Dhillon
26cc06e2a8 bump ios to v 1.15.0 2022-09-29 20:36:18 -07:00
Satindar Dhillon
924592ab6b mark highlights and labels for deletion before server sync 2022-09-29 20:24:43 -07:00
Satindar Dhillon
157edb0ae3 use viewContext to remove item from home feed 2022-09-29 13:42:09 -07:00
Satindar Dhillon
96ed76e562 make sure coredata is updated before popping delted item 2022-09-29 11:30:31 -07:00
Satindar Dhillon
6b6a2c381d delete link from view context rather than background context 2022-09-29 08:39:31 -07:00
Jackson Harper
e2d823b3d5 Tagline and font changes to the welcome page 2022-09-28 12:29:35 +08:00
Jackson Harper
8e5fb98432 Add missing MarqueTextView file 2022-09-28 11:22:23 +08:00
Jackson Harper
12395c2385 Dont show the language changer on the settings voice picker 2022-09-27 16:29:46 +08:00
Jackson Harper
8e1ac67d80 Use a UIViewRepresentable to set slider images instead of introspection
The slider was losing the custom images when being opened/closed
sometimes because introspection doesn't get called.
2022-09-27 16:22:02 +08:00
Jackson Harper
d77f893e06 Use marquee text on audio player for long titles/info sections 2022-09-27 14:36:00 +08:00
Satindar Dhillon
2be59bdf89 stub logs in for web action handler in web reader view Model 2022-09-26 19:20:01 -07:00
Satindar Dhillon
30c6252360 update mobile app reader bundle 2022-09-26 19:19:58 -07:00
Satindar Dhillon
e49410196f update bundle.js for native apps 2022-09-26 19:19:27 -07:00
Satindar Dhillon
1d619dda5d add javascript interface to android webView so messages can be sent from web to android 2022-09-26 19:18:58 -07:00
Jackson Harper
247fcf0eb3 Dont display loading indicator if audio is not playing when voice is changed 2022-09-26 20:46:28 +08:00
Jackson Harper
5bb0b1246b Add the voice selection view 2022-09-26 17:47:06 +08:00
Jackson Harper
a66b4eeccc Update the bundled app reader 2022-09-26 17:26:12 +08:00
Jackson Harper
6002074b74 Dont display our GCS storage domain for PDFs 2022-09-26 17:24:00 +08:00
Jackson Harper
f902f74cd2 Refactor voices code, show an indicator when switching voices 2022-09-26 17:19:24 +08:00
Jackson Harper
ecdf45e447 Remove Change Language button, add German and Spanish options 2022-09-26 11:34:20 +08:00
Jackson Harper
be6e52fbab Display headphones if playing another audio item 2022-09-24 11:19:14 +08:00
Jackson Harper
09bea6d8c1 Improve byline display, centralize the code a bit 2022-09-24 10:05:04 +08:00
Jackson Harper
9598a3c686 Display default artwork if there is no image or image download fails 2022-09-24 09:45:37 +08:00
Jackson Harper
cad8df31a3 Better placeholder image when no URL is set 2022-09-23 18:27:34 +08:00
Jackson Harper
b4ae822199 More contrast on the share extension buttons and text 2022-09-23 17:50:07 +08:00
Jackson Harper
fbd6e97be6 Handle async threading error with read now accessing the currentViewer property 2022-09-23 17:49:45 +08:00
Jackson Harper
b610a7f734 Better sizing of the headphones image 2022-09-23 17:01:09 +08:00
Jackson Harper
d11091a458 Make tts preload optional, use headphones for tts icon, language ux 2022-09-23 16:38:21 +08:00
Jackson Harper
461100d359 Better voice selection, handle failures fetching audio, handle seeking when paused better 2022-09-23 14:06:13 +08:00
Jackson Harper
e249a97bfd Improve the UI for voice selection 2022-09-22 22:57:54 +08:00
Jackson Harper
89fd9b9f0c Add audio session events 2022-09-22 12:05:32 +08:00
Satindar Dhillon
97ffef34bf
Merge pull request #1216 from omnivore-app/feature/android-bundled-web-reader
Bundled Web Reader - Android
2022-09-21 08:34:40 -07:00
Hongbo Wu
74a0ac1c0d Update app bundle 2022-09-21 13:44:14 +08:00
Hongbo Wu
8e8cc1f516 Update app bundle 2022-09-21 13:42:33 +08:00
Jackson Harper
a23760a296 A few bug fixes
- Only set durations if we have successfully loaded
audio data.

- Use weak self in the completion handler so we clean up
properly.

- Handle cases where there are no utterances in a document

- When a user selects to download audio, force overwrite
the cached data.
2022-09-20 21:57:52 +08:00
Jackson Harper
8c71c0b384 Make Christopher the default voice, fix linter warnings 2022-09-20 16:07:30 +08:00
Jackson Harper
d05c030501 Remove the playbackTask. This is now handled by AVPlayer 2022-09-20 16:00:31 +08:00
Satindar Dhillon
1250e07645 update stubbed content for android webview 2022-09-19 22:17:45 -07:00
Jackson Harper
667962cccc Update appreader to include new CSS for newsletter tables 2022-09-19 22:02:37 +08:00
Jackson Harper
3b83a8cd84 Only preload non-PDF audio items 2022-09-19 18:04:29 +08:00
Jackson Harper
40adb4c4a8 Generate a queue of player items when speech synthesis starts
This should better handle cases where playback catches up to
audio synthesis/download, and will have the player items put
into a wait state.

This does make seeking a little less performant, as AVPlayer
wont aggresively pre-load as we were before.
2022-09-19 17:34:44 +08:00
Jackson Harper
37beb3f9c9 Add a little padding between title/author 2022-09-16 16:29:50 +08:00
Jackson Harper
899cd406e8
Merge pull request #1204 from omnivore-app/fix/ios16-lookup-menu
Update to handle iOS16 menus
2022-09-16 16:15:46 +08:00
Jackson Harper
d3099e8611 Update to handle iOS16 menus
On iOS16 the way context menus are built is slightly changed, this
was causing "Look up" to be removed from our menu.
2022-09-16 16:10:40 +08:00
Jackson Harper
da7ec3f5d4 Remove label top padding as these are spaced now 2022-09-15 17:23:28 +08:00
Jackson Harper
1a338e8854 Reset the scrub state after seeking 2022-09-15 15:54:39 +08:00
Jackson Harper
fd2df9f926 Dont scroll the miniplayer when the user is scrubbing audio 2022-09-15 15:54:21 +08:00
Jackson Harper
e1f28ec189 Remove extra top padding on feedcards, this is applied by the HStack spacing 2022-09-15 15:46:20 +08:00
Jackson Harper
9c3b9f0523 Dont update the scrub state from the timer
This prevents the slider from jumping back during a seek operation.
2022-09-15 15:18:50 +08:00
Jackson Harper
fa9780722f Only update nowPlaying data if the timeElapsed is accurately calculated 2022-09-15 14:08:15 +08:00
Jackson Harper
de73c81345 Pause player before seeking into another player item. fireTimer if seeking within 2022-09-15 14:07:37 +08:00
Jackson Harper
fcd52cf149 Remove debug 2022-09-15 14:05:32 +08:00
Jackson Harper
460ba07e30 Update UI after seeking, dont try to detect end of stream using currentTime
This helps with two issues:
- after seeking sometimes you will see the loading spinner even
after audio has resumed.

- sometimes if we are still pulling data we might detect that
we are at the end of the stream.
2022-09-15 13:42:48 +08:00
Jackson Harper
bc0f2f1b97 Clean up memory handling in the audio controller
Ideally this wouldn't need a ref to the synthesizer either.
2022-09-14 22:10:12 +08:00
Jackson Harper
01eb7bc451 Make sure we access currentViewer on the main thread 2022-09-14 17:45:29 +08:00
Satindar Dhillon
eab6911bcb mask bottom of mini player safe area so list view doesn't peek through there 2022-09-13 08:39:23 -07:00
Satindar Dhillon
28826970fc dismiss current reader view when tapping view article from audio sheet 2022-09-13 08:10:04 -07:00
Jackson Harper
56441b5958 Download audio artwork 2022-09-13 17:06:38 +08:00
Jackson Harper
e73072e224 Updates after rebasing, implement download for offline audio 2022-09-13 16:03:34 +08:00
Satindar Dhillon
9b1ce21f6f remove explicit try call for decoding SpeechDocument 2022-09-13 15:27:48 +08:00
Satindar Dhillon
c4152a05a0 create a LinkedItemAudioProperties struct that can be passed to AudioController (instead of passing LinkedItem) 2022-09-13 15:27:48 +08:00
Jackson Harper
bc9b0b0752 Increase timer interval, better handling of seeking near the bounds of audio 2022-09-13 15:27:48 +08:00
Jackson Harper
e39888158d Better handling of end of stream detection 2022-09-13 15:27:48 +08:00
Jackson Harper
ab7d34337f Improve voice changing during playback 2022-09-13 15:27:48 +08:00
Jackson Harper
73841bc2da Implement voice switching during playback
This assumes voices are approx the same duration, which is
more accurate than rebuilding durations off of the estimates.
2022-09-13 15:27:48 +08:00
Jackson Harper
f5c5cd76ec When seeking into a new player item make sure we seek to the correct offset 2022-09-13 15:27:48 +08:00
Jackson Harper
1950e3626c Add 1.1 as a playback rate option 2022-09-13 15:27:48 +08:00
Jackson Harper
6c2333fd65 Update durations when playback rate changes. Fire timer to update UI 2022-09-13 15:27:48 +08:00
Jackson Harper
8c4c88a51a Recalculate durations when speed is changed 2022-09-13 15:27:48 +08:00
Jackson Harper
65c77a9bdf Sort voices alphabetically, add Singapore voice 2022-09-13 15:27:48 +08:00
Jackson Harper
6c0c8e8d26 Send rate as a string 2022-09-13 15:27:48 +08:00
Jackson Harper
be2d0e03dd Remove audio info alert 2022-09-13 15:27:45 +08:00
Jackson Harper
9796646742 Start preloading audio speechfiles, use new domains 2022-09-13 15:26:51 +08:00
Jackson Harper
5af9ff0e89 Remove unused CachingPlayerItem 2022-09-13 15:26:51 +08:00
Jackson Harper
8883975979 Use AppStorage for voice and playback rate 2022-09-13 15:26:51 +08:00
Jackson Harper
8db3b397d7 UI for changing playback rate 2022-09-13 15:26:51 +08:00
Jackson Harper
c4bbf4f618 Continue naming refactor. Session -> Controller 2022-09-13 15:26:48 +08:00
Jackson Harper
77e9dc7094 Remove extra spacing at top of fullscreen player 2022-09-13 15:22:09 +08:00
Jackson Harper
ae5c8269ff Fix typo in string setting secondary voice 2022-09-13 15:22:09 +08:00
Jackson Harper
1d0b19f909 Full row width tappable area 2022-09-13 15:22:09 +08:00
Jackson Harper
213cf781a0 Allow voice changing 2022-09-13 15:22:09 +08:00
Jackson Harper
f7de80f87d Comment out the notification to highlight being spoken items 2022-09-13 15:22:09 +08:00
Jackson Harper
339745a93b Rename AudioSession to Controller, we should create a smaller class that handles the state of a individual playback session 2022-09-13 15:22:09 +08:00
Jackson Harper
79ea2c06ee Rename AudioSession to Controller, we should create a smaller class that handles the state of a individual playback session 2022-09-13 15:22:09 +08:00
Jackson Harper
8a9c1f4100 Fix duration estimation based on word count 2022-09-13 15:22:09 +08:00
Jackson Harper
66ea008f05 WIP: fetch speech files, show some follow along 2022-09-13 15:22:09 +08:00
Jackson Harper
a6313f60e0 Updates to streaming audio using new utterances API 2022-09-13 15:22:09 +08:00
Jackson Harper
2f15a31851 Update to use URLRequest so we can post data 2022-09-13 15:22:09 +08:00
Jackson Harper
46cb17efb7 messing around with authed URL 2022-09-13 15:22:09 +08:00
Jackson Harper
0a5e02ec6b WIP: add CachingPlayerItem and switch to AVPlayer for streaming audio 2022-09-13 15:22:09 +08:00
Satindar Dhillon
ff6698c12d set linkIsActive on audio session article open 2022-09-12 22:37:03 -07:00
Satindar Dhillon
64ee55d829 remove tap handler on FeedCard 2022-09-12 22:16:31 -07:00
Satindar Dhillon
64dbafece1 track nav link selection from viewModel 2022-09-12 22:09:16 -07:00
Jackson Harper
1ada0f02cf Add the Lookup (define) menu item to PDF
We removed this to get extra menu space, but users find it useful.
Especially ESL readers.
2022-09-12 11:43:19 +08:00
Jackson Harper
7cba83d13e
Merge pull request #1160 from omnivore-app/feature/text-to-speech-reader-shortcut
Text to Speech Reader Shortcut
2022-09-02 13:21:47 +08:00
Jackson Harper
4b04d3bbc9 Add a non-working sheet for changing voice 2022-09-02 13:16:36 +08:00
Jackson Harper
111029a3f6 Add menus for view article, changing play rate
Also removes the matched geom for animations on the play/pause
button, this lets these buttons just get replaces and the
animation looks a bit better.
2022-09-02 12:33:18 +08:00
Jackson Harper
1c9e73e2c7 Move tap gesture to the article title, use an animation on transition 2022-09-02 11:38:19 +08:00
Satindar Dhillon
4aca2c1c8f require two taps on mini player to open reader view 2022-08-31 06:57:21 -07:00
Satindar Dhillon
41a5603593 use nsnotification to open web reader when selected from audio session 2022-08-31 06:56:18 -07:00
Satindar Dhillon
d075b03a57 open web reader when user taps on image in expanded audio player 2022-08-30 15:00:37 -07:00
Jackson Harper
43c02f2987 Improve snack bar colours in light mode 2022-08-30 23:04:06 +08:00
Jackson Harper
e46d7c7c9e Make offline audio download a user action during beta
This gets us past our cold start problem with audio, giving the
user the control to start downloading items.
2022-08-30 23:03:18 +08:00
Jackson Harper
6c5525ccd8 Disable preloading in iOS 2022-08-29 23:19:03 +08:00
Jackson Harper
b34e062df6 Add audio download types so we can also download speechmarks files 2022-08-29 20:59:20 +08:00
Hongbo Wu
a94dca8932 Prioritize synthesis over playing audio over pre-fetching 2022-08-29 15:45:21 +08:00
Jackson Harper
2beb75d747 isDark is a string in Swift so we need to check for "true" 2022-08-29 11:31:07 +08:00
Jackson Harper
b63c9b0265 Make event names match in Swift and JS 2022-08-29 11:28:54 +08:00
Satindar Dhillon
32711ef657 remove image cache 2022-08-25 21:52:13 -07:00
Satindar Dhillon
b70a8a8585 remove AsyncLoadingImage struct 2022-08-25 21:45:33 -07:00
Satindar Dhillon
357ed7a8ec use async image for profile card and linked item cards 2022-08-25 21:40:18 -07:00
Jackson Harper
d186e28b68 Use AsyncImage to fix issue with image not updating when playing audio changes 2022-08-26 12:29:01 +08:00
Jackson Harper
112932ecdd Dont scale image during drag close animation 2022-08-26 11:12:35 +08:00
Jackson Harper
bf5ef63656 Remove test code causing iOS slider to be in wrong position when first opened if paused 2022-08-26 11:09:25 +08:00
Jackson Harper
169149b3e1 Dont force unwrap author and title 2022-08-25 20:40:29 +08:00
Jackson Harper
809acd4e8b Use the US voice as the default 2022-08-25 20:40:29 +08:00
Jackson Harper
4837a63ecb Preload audio files when the user opens the app
This kicks off generation and download of audio files. Pending
files are put in a queue and re-attempted. In the UI if a user
hits the pending state they just get some UI now.
2022-08-24 22:19:04 +08:00
Jackson Harper
886d5fbe2c Add a share button for exporting MP3s, mostly useful for debugging 2022-08-24 22:18:01 +08:00
Jackson Harper
24901f9c01 add shadow back to miniplayer 2022-08-24 17:00:32 +08:00
Jackson Harper
f91fbfc79d Return success when scrubbing via media controls 2022-08-24 16:59:03 +08:00
Jackson Harper
76ac1fd3c0
Merge pull request #1118 from omnivore-app/feature/android-login-screens
Draft: Android Welcome Screen
2022-08-24 14:08:14 +08:00
Jackson Harper
b0d8d29edd Clean up expand animation transition 2022-08-23 22:11:20 +08:00
Jackson Harper
c3a4f16486 WIP: gesture to drag open/closed the miniplayer 2022-08-23 17:41:14 +08:00
Jackson Harper
b60f00bb6f Handle canceling downloads, start on messaging for queued downloads 2022-08-23 16:46:50 +08:00
Jackson Harper
25abf451bf Better layout on iPad 2022-08-23 16:46:34 +08:00
Jackson Harper
210eb62823 Handle audio session interruptions 2022-08-23 15:45:58 +08:00