Version 1.3.00 – Released 14th February 2020
- Enh: Warning added on PodSync and DeviceSync pages to warn that background operations may be suspended when device is in power-saving mode.
- Fix: Addressed regression where a mounted podcast would unload from UVC when app is suspended
- Fix: Addressed regression where currently playing podcast would show an error warning
Version 1.2.06 – Released 30th January 2020
- Fix: Purge duplicates episode Ids in a playlist
- Fix: Send email UI in About section doesn’t suppress the window whilst sending….
- Fix: Corrected situation where an app reset/reinstall overwrote DeviceSync configuration to reset state.
- Fix: Download library reset method completion message had superfluous prefix text.
- Fix: When creating a favourite and the user opts to add a new category, sometimes the category list isn’t updated.
- Fix: On very bad internet connections, mediaplayer would get locked on “opening” the stream and would jam the player in playback mode. Hitting pause would have no effect. Now times-out after 20 seconds of trying.
- Fix: Addressed duplicate episode issue where server returned MediaURL containing non-constant parameters. Also better copes with a media server change.
- Fix: Corrected grammar on cached episodes message.
- Fix: Corrected odd sizing of the border in Current Playlists section
- Fix: Removing single item from 1-item current playlist triggered an exception
- Fix: Fixed scenario where there is no internet, no local cache file, but user not warned with a toast message.
- Fix: Completed episodes didn’t show as finished in the player
- Fix: Attempted correction for “method called at unexpected time” exception
- Fix: Issue where downloadprogress routine suffered a div by 0 exception in certain circumstances
- Fix: Adjusted toast messages where in some cases they were set to show for 2 secs, not 4 secs.
- Fix: Corrected alignment of error text on player page and UVC footer.
- Fix: If an episode fails to play, then playback is stopped rather than bouncing to the next track.
- Enh: Adjusted log file routine to not purge old logs when debug flag set
- Enh: Made buffering message on player screen more obvious
- Enh: Auto-generated playlists are given a title linked to the parent podcast
- Enh: Reworked the add podcast by URL routine for greater portability
- Enh: Built in support to allow app to cope with a corrupted database
- Enh: Logging inserts date if delta between actions is > 1s
- Enh: All OneDrive routines now better cope with poor quality connections reducing the number of connection errors.
- New: Historic playlists now show time remaining to be played
- New: Added find functionality to the episode listing view
Version 1.2.05 – Released 1st November 2019
- Fix: Corrected some jarring colour assignments on light mode
Version 1.2.04 – Released 31st October 2019
- Enh: Updated title bar colour scheme to match with black/white themes
- Fix: Moved UI download routine to run on different thread for performance improvements
- Fix: Improved reliability of DeviceSync register upload
- Fix: bug with append log where a null check wasn’t performed
- Fix: Clearing podcast sync status variables when sync is disabled
- Fix: Improved the status messaging
- Fix: Improved checks when OneDrive gets blocked by firewall
- Fix: OneDrive upload routine adjusted for greater dependability (DevSync)
- Fix: PodSync settings page renamed
- Fix: Device Sync reliably refreshes status on settings page when it has completed
- Enh: Added underlying support for OneDrive special folders (not yet implemented in UI)
- Enh: Added ability to have PL wallpaper
Version 1.2.03 – Released 4th June 2019
- Fix: Downloads in Pokemon Rollout were failing on some episodes.
- Fix: Download progress bars were not showing progress in some instances.
Version 1.2.02 – Released 29th May 2019
- Fix: Download location settings incorrectly suppressed in non-beta version
Version 1.2.1 – Released 28th May 2019
- Fix: Routine to suppress the categories list is ignored if only one custom category configured
- Fix: Initials method was returning the initials in the wrong order
- Fix: Addressed issue where a background download could not get correctly reflected in the UI after resuming app.
- Fix: Internet timeout scenario would cause Top 100 listing to fail with exception and no error.
- Fix: No ability to retry when a collection failed to load. Now added a retry button.
- Enh: Useragent correction enabled for non-beta users
- Enh: Improved reporting of network timeout issues to user
- Enh: JSON responses are now validated before parsing
- Enh: HTTP redirects are committed back to favourites database
- New: Added greater clarity for internet timeout errors for slow networks
- New: Reinstated podcast directory functionality with new directory provider Listen Notes
- New: Podcast directory can be configured by region
- New: Added the ability to report a failing podcast to Igneous
- New: Added Acast as a collection provider
- New: Added the ability to tap a DeviceSync toast error message and go straight to settings
- New: Added ability to access Storage Management from within Downloads area
Version 1.2.0 – Released 22nd May 2019
Summary:
- Over 7 individual fixes and 3 enhancements since the last release
- Added support for changing the download location in full
- Enhanced the reliability and compatibility of the RSS feed parser
- Added the winners and finalists of the British Podcast Awards 2019 under Discover.
Detail:
- Enh: Improved error reporting for OneDrive network connectivity errors.
- New: Device sync no longer on beta
- New: User now has the ability to change the location of their download folder
- New: App requests that user sends a bug report if an exception previously closed the app
- New: Added new option in reset section to clear OneDrive credentials
- Fix: Updated copyright notices to point to 2019
- Fix: Storage tools report 0 downloads whilst list is being compiled. Now suppressed.
- Fix: Location detail within downloads did not wrap
- Fix: Scrolling to the end of Top100 listing incorrectly triggered a server error.
- Fix: Podcast directory page removed temporarily due to loss of 3rd party service.
- New: Updated the OneDrive error message to guide the user to the reset credentials section.
- New: Updated to include the new 2019 British Podcast Awards results
- Enh: Added under-hood support for a car mode with accessible UI. Not yet available in UI.
- Enh: Set a user-agent string on HTTP downloads to deal with some server rejection scenarios (Accidental Tech Podcast etc.)
- Fix: Null reference exception error in file cleanse routine.
- Fix: New download location functionality wasn’t available to all testers
Version 1.1.2 – Released 17th December 2018
Summary:
- Fix: 8 individual fixes and 4 enhancements since November release.
- Under the hood infrastructure for ability to change download locations. Available in beta build, coming to public version soon.
- Improvements to the system providing user feedback to Igneous.
Detail:
- Enh: CleanseDownloadsFolderOrphanedDownloadFiles() now works with alternative download locations
- Enh: User now prompted for an email address when sending a crash report
- Enh: Emails generated but could not be sent (no internet etc.) are saved for later
- Enh: Only favourites set from search results bounce user back to favourites page
- Fix: Issue where orphaned downloads caused a null ref exception when app launches and runs DiscoverActiveDownloads()
- Fix: Issue where failed feedback emails would continuously attempt to resend
- Fix: In the downloads section, choosing to delete all downloads produced a warning message where the users response was ignored and deletes were performed anyway.
- Fix: In the downloads sub-section, the delete all downloads method failed as it was linked to selected episodes.
- Fix: Elevating an old playlist with no entries to current causes a null reference exception
- Fix: Updated parser to better cope with malformed RSS feeds in some cases
- Fix: Corrected checks in DevSync and Maint tasks to properly abort if extant log object detected
- Fix: DownloadProgress routine did not properly return in some instances during early integrity check failures
Version 1.1.1 – Released 25th November 2018
Summary:
- Fix: Over 50 individual fixes and over 10 enhancements over the course of 2 months
- New: Added new podcast manipulation controls on the player page. Tap the graphic just like in the original Podcast Lounge.
- Enh: Adding foundations to allow users to change download locations. This will be tested within beta ring shortly.
Detail:
- Fix: Corrected checks in DevSync and Maint tasks to properly abort if extant log object detected
- Fix: DownloadProgress routine did not properly return in some instances during early integrity check failures
- Fix: Favourites update bar did not update reliably for large quantities of podcasts
- Fix: Addressed issue where DeviceSync events were not being setup because the OneDrive object took too long to connect
- Fix: RSS parser wasn’t actually sorting episodes correctly, meaning that the new flag was getting the wrong date for newly created favourites which came un-ordered in the RSS.
- Fix: Parallel RSSParsing was using the same timer flag. Fixed.
- Fix: Removed references updating PodSync status from DeviceSync agent
- Fix: Refreshing favourites when there is no internet now warns the user
- Fix: User with > 100 favourites was triggering two favs syncs causing race condition
- Enh: OneDrive DriveSync reset routine adjusted to avoid unnecessary attempts to unregister device
- Fix: Adjusted all async methods purely relying on task return
- Fix: RefreshSmartPlaylistResults() now recovers if no temp playlist is found
- Fix: Buffering message is cleared on episodes that have a playback failure
- Fix: Attempting to play a track that needs data connection, pause button is shown after error message
- Fix: When removing the last remaining viable entry in current mounted playlist, app crashed.
- Fix: Progress ring isn’t disappearing on add podcast by URL failures.
- Fix: Reordering the current playlist with something mounted, now commits and updates player correctly
- Enh: Failed playback items now show as failed on player view and on UVC
- Enh: Adding a URL did not check for an internet connection before commencing
- Enh: Active downloads are now sorted with downloads underway placed at the top
- Enh: Adding a URL method now disables buttons when operation is underway
- Fix: Device sync recovery did not validate the backup file before restoring resulting in a situation where a corrupt backup file would perpetuate.
- Fix: Corrections to some await routines which were resulting in unexpected method exceptions
- Fix: Added support to detect scenario when two background tasks start at the same time and are given shared memory spaces. Log object check and null setting at end of task.
- Fix: Enhanced CommitLogToFile routine to better cope with locked file scenarios.
- Fix: Podcasts were only being checked after 6 hours from previous refresh. Changing this to 2 hrs.
- Fix: Retry message on the episodes page now forces a cache clear to purge a corrupt cache file
- Fix: Made enhancements to the player page to more reliably show the active playing item consistently
- Fix: Addressed bug where marking an episode as finished would trigger it to start playing again.
- Fix: Scenario where DetectStringContainsXML() parsed XML with single line comment and nothing else, resulting in an exception when user tried to add podcast.
- Enh: Added exception checks to the DeviceSync JSON deserialisation routines for added reliability.
- Enh: Selecting a podcast as played in full did not trigger a delete
- Enh: Added check before register is committed to ensure that register object is not null
- Enh: Normalised argument null checking across all submenu items for consistent checks
- New: Added additional podcast manipulation options to the player page in line with original Podcast Lounge. Tap the podcast graphic to reveal.
- Fix: Buttons to delete all downloads from within the downloads area now ask the user to confirm even if the user has previously overridden the query.
- Fix: Overhauled feedback system using a new service. This should correct the send failures that testers and users have been experiencing in the last few days.
- Fix: Attempting to provide feedback with no internet connection resulted in the feedback message having to be rewritten.
- Enh: Added disk space check on launch of the main app
- Fix: CurrentPlayer_MediaEnded() null reference exception
- Fix: When a smart playlist is updated through device sync and the user is on the smart playlist page, the list is now updated to reflect the changes
- Fix: When a smart playlist is updated through device sync and the user is editing smart playlist, the edit mode is cancelled and returned to updated listing
- Enh: Added current page notification to debug reports
- Fix: Episode details page was passed full object, rather than an episode ID. Fixed.
- Fix: When a play history is updated through device sync and the user is on the play history page, downloads/downloads sub pages, episodes page, or playlist page, the list is now updated to reflect the change
- Fix: Downloads sub page was being driven by a full object, rather than a programme ID. Fixed.
- Fix: Memory check routines converted to safe routines to avoid odd FNF error.
- Fix: Category changes from a device sync now properly trigger list updates if the user happens to be on a page with category options.
- Fix: UpdatePlaybackPositionStatus() null reference exception fix
- Fix: ResumeAllDownloads() now checks for null episode references
- Fix: Downloads when paused due to lack of connectivity, and then resumed, often didn’t update their status properly on the screen
- Fix: Huge overhaul of methods that link episodes with active downloads and current playlist to drive out database concurrency exceptions that were happening in some scenarios.
- Fix: EpisodeDetails page corrected to properly match mounted playlist without relying on double-updating everything.
- Fix: Issue where items marked as played in full within current playlist and downloads pages did not indicate finished on the status line until the page was refreshed.
- Fix: When a stoptrack is initiated from the player page, the navigation service goes back a page.
- Fix: When cancelling active downloads, the other pivot views within the downloads area was not being correctly updated.
- Fix: The user question dialog on phones with the checkbox mode was causing an immediate exception. Most obvious when user chose to delete a download.
- Enh: When resetting downloads table or podcast downloads, active downloads are now cancelled.
- Enh: Setting a podcast as a favourite from within podcast details page now shows a toast banner
- Fix: OnDeleteItemClicked() null reference exception
- Fix: OnNavigatingFromAsync() null reference exception on SmartPlaylistCompileResultsViewModel page
- Fix: DownloadProgress() null reference exception.
- Fix: RefreshEpisodesClicked() exception.
- Fix: DownloadMountLatestDeviceStateOneDrive() exception when files list was null
- Fix: UserMessageDialog() was not correctly checking parameters and was failing with a null parameter
- Fix: Added semaphore to prevent DownloadMountLatestDeviceStateOneDrive() running concurrently
- Fix: Made the podcast recommendation routine cope better with bad data
- Fix: Enhancements to PodcastDetailsPage to better cope with a null programme entry
- Fix: Corrected UVC slider ring alignment
Version 1.1.0 – Released 28th September 2018
Summary:
- Fix: Over 70 individual fixes and over 30 enhancements over the course of 3 months
- New: Episodes played in full are now greyed, just like the original Podcast Lounge
- New: User can now turn off the live tile counters in settings
- New: Initial XBOX integration (Beta)
- New: Podcast volume setting is now persisted between sessions
- New: Support contact infrastructure allowing users to get in touch more easily
- New: Cross-device app state synchronisation engine syncing favourites, play history, playlists and settings. This will remain in beta whilst we test with a larger population.
Detail:
- Fix: Normalised all Dispatcher routines to check if running without UI. This addresses TrimPlaylist() exceptions from background tasks and also UnexpectedTask exceptions.
- Fix: Making updates to the DeviceSync settings wasn’t triggering a sync state change
- Fix: DeviceSync settings were not registering correctly
- Fix: Changed email methods to use different service
- Fix: GetPlayHistoryByDate() was struggling with large numbers. Set a maximum.
- Fix: LastSyncDate properly initialised at DateTime – 1 year
- Fix: Null reference exception when user disabled Device Sync when not connected to OneDrive
- Fix: GetCurrentItemURL() method returning empty string caused problem with next stage
- Fix: Background sync process wasn’t initialising database before starting Device Sync
- Fix: Corrected theme styles for HighContrast mode
- Fix: DeviceSync friendly name was being backed-up/restored which caused problems if restored to another machine
- Fix: Added additional check for DeviceSync register update where file doesn’t get created properly
- Fix: DeviceSync process exception within BuildNewSmartPlaylistIds()
- Fix: McgMarshal exception for DeviceSync trigger events
- Fix: Corrected Favourites listview formatting
- Fix: Corrected null reference exception for BuildNewSmartPlaylistIds()
- Fix: Out of range exception on FindNextPlayableTrack() when index was outside of bounds
- Fix: Corrected crash when Podcast was selected as a favourite twice in the same session
- Fix: Corrected notice to user when old crash logs were detected
- Fix: Corrected scenario where syncing play history would fail if the playhistory entry is linked to a favourite that no longer exists.
- Fix: Added exception tracking for GetLicenceStatusReport() method
- Fix: Ensured play history device sync would still work even if favourites/categories option is not selected.
- Fix: Improved robustness of IsDownloadExceptionHandled() method when sub-elements were null
- Enh: Added fourth option for new installs to pull in Device Sync config
- Enh: Re-instated ability to send log files from background sync exceptions
- Fix: Addressed First() routines not finding a result and crashing with a noelements exception within download routines. Code strengthened to cover this condition.
- Fix: Index out of range error on AppendLog fixed.
- Fix: Addressed null reference exception when bad parameters were sent to GetFileSize
- Fix: Exception in DeviceSync where a playlist entry move exceeded list boundaries
- Enh: Added further debug support for mounted playlist remote/downloaded files
- Fix: Addressed UpdateEpisodePlaybackStatus() null reference exception
- Fix: Addressed AddFavouriteAsync() null reference exception
- Fix: Addressed FindNextPlayableTrack() null reference exception
- Enh: Refactoring and corrections following code review
- Fix: Corrected situation where the volume on phone may be set lower than 100% and UI isn’t available to change it.
- Fix: Corrected issue where if an episode in the current playlist was modified within the episode details page, any UI updates wouldn’t flow back to the playlist when the user hit back.
- Fix: Corrected issue that was causing background to sync to fail whenever a Device Sync was activated in certain circumstances.
- Fix: Previous episode was being deleted even if it hadn’t been played in full
- Fix: Episode details page required buttons to be clicked twice due to a focus bug
- Fix: Episode details page did not show an active download. Corrected.
- Enh: Added Hockey logging support for the background sync tasks
- Enh: Now checks on playback whether an episode has been downloaded in the time following mounting the playlist. If episode is downloaded, the player switches across.
- Fix: Favourites list view wasn’t formatting correctly
- Fix: Selected favourite was showing up with grey text
- Fix: Device sync routine wasn’t pulling download status from database causing crashes when user attempts to download afterwards
- Enh: Changed email address field inputscope to support quicker email entry.
- Fix: Corrected missing error information on device sync page
- Fix: Further fixes for Device Sync current playlist where active entry wasn’t being properly set in UI
- Enh: Player volume setting is now saved between sessions
- Fix: Issue with pausing on suspend causing a null reference exceptionÂ
- Fix: IsTrialMode() RPC error exception
- Fix: Change made for varying volume issue with some users
- Enh: historySourceURL method duplicated in two locations
- Enh: Activated a major release update message to test the upgrade experience
- Fix: Only beta users will get nagged about exception reports
- Fix: Vastly improved process of updating current playlist from another client, particularly if something is already mounted/playing.
- Fix: Podcast Lounge wasn’t saving play position if UWP app closed on desktop whilst still playing.
- Enh: Removed dependence on UWP Email client as it wasn’t compatible with all configurations
- Enh: Users get option to push/pull a sync update depending on current state
- Fix: Device Sync now linked with licencing engine correctly
- Fix: Device sync now checks for a good internet connection before commencing
- Fix: Device sync wasn’t correctly recording SmartPlaylist fields resulting in full recreation
- New: Episodes played in full are now greyed out
- New: Device sync now synchronises custom favourite overrides including sort & filtering
- New: Device sync now synchronises play history between devices
- Enh: If podcast settings page is open, entries are refreshed if the favourites have been updated
- Enh: Beta testers now get a separate update history
- Enh: More accurate episode duration information is now committed back to the database once loaded into player
- Enh: Better cope with episode RSS feeds that are missing duration tag. Estimate based on file size.
- Enh: Updated Device Sync to propagate better episode duration information
- Fix: Revised reset function to clear OneDrive cache earlier
- Fix: Update for sizing of backup and Gpodder sync controls being too wide for phone
- Fix: Certain smart playlist configurations ignored specific favourite selection returning results from all favourites.
- Fix: Couple of scenarios where sync would be initiated even if it wasn’t enabled, causing an exception
- Fix: Smart playlist results – marking them as played in full did not correctly update status as “Finished”
- Fix: Smart playlist results – play history adjustments were not getting committed correctly
- Fix: Smart playlist results – selecting a specific episode to start playback was ignored
- Fix: When playing all from current/smart playlist, first entry would play even if played in full
- Fix: Clicking Play All on current playlist now simply resumes playback rather than starting from 0 index.
- Fix: Devicesync mount routine too eager to reset if it had a problem. Now less aggressive.
- Enh: Clicking Play All within downloads section follows similar convention to current playlist Play All.
- Enh: Some initial Xbox integration built in with a new settings menu to fine tune settings
- Enh: Added ability to send the device sync log
- Enh: DeviceSync code refactored for greater recovery of bad states
- Enh: Added DeviceSync recovery option for register
- Enh: Added the ability to reset OneDrive storage as part of reset page
- Enh: Disabling Device Sync gives the user the option to remove the device from the ring
- Enh: Refactored email methods into separate helper
- Fix: Updates to the current playlist were not shown if current playlist page was open
- Fix: Episode playback position wasn’t properly syncing across DeviceSync
- Fix: Password field was missing for Gpodder sync
- Enh: Adjusted sizing of import and backup/restore buttons for larger screens
- New: Added ability to turn off tile counter on pinned tile of main app
- Enh: Moved Template10 PCL into a .NetStandard library
- Fix: Corrected metered download warning message when user asked to be warned every time
- Fix: Corrected issue in RSS parser where episode graphics were incorrectly interpreted as media to play
- Fix: Temp folder now properly cleaned up after device sync
- Fix: Routine to upload device sync status was not firing when episode paused
- Enh: Adjusted logging system out of a helper and into a class object
- Fix: Fixes for Smart Playlist editor not committing selected favourites properly/reliably
- New: Enabled additional DeviceSync functions for Current Playlist, Smart Playlists and Settings
- Fix: Accidental Tech Podcast http request was failing. Added user-agent header to fix.
- Fix: Projector Room within collections had the wrong search identifier
- Fix: Potential fix for “A method was called at an unexpected time” exception on launch
- Fix: Bug where server did not return ContentType, thus causing a null reference exception
- Enh: Split the user update history between both beta and public versions
- Enh: Made the update history work with the app theme
- Enh: URI launch triggers now open episode view on favourites already existing within the app
- Enh: Sync status text is refreshed if the page is open when resuming app
- New: Added foundation support for cross-device synchronisation – favs/cats sync only for moment
Version 1.0.5 – Released 17th June 2018