Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DuckPlayer] - Base Implementation #2981

Merged
merged 29 commits into from
Jun 24, 2024

Conversation

afterxleep
Copy link
Collaborator

@afterxleep afterxleep commented Jun 21, 2024

Task/Issue URL: https://app.asana.com/0/1204099484721401/1207593922684284/f
Tech Design URL: https://app.asana.com/0/1204099484721401/1207530480716552/f

Description:

  • Implements base DuckPlayer functionality based on macOS code
  • Abstract navigation logic and Adds a YoutubeNavigationHandler to TabViewController that is used when DuckPlayer is enabled
  • Adds App Settings to Manage DuckPlayer State
  • Adds Tests for the Navigation Handler to ensure redirect works as expected and completion calls are always called

Steps to test this PR:

  1. Make yourself internal User
  2. Go to Settings > DuckPlayer and Select 'Always'
  3. Navigate to youtube.com and tap on a video
  4. Confirm video loads in DuckPlayer
  5. Go Back
  6. Confirm you're taken back to the Main YouTube page
  7. Enter a Duck URL in the Omnibar, like. duck://player/0HZPyhnErFo
  8. Confirm video is loaded in DuckPlayer
  9. Go back to settings and disable DuckPlayer
  10. Confirm YouTube video links no longer load in Duck player

⚠️ Known issues / Work in progress

This is the first of several PRs and is still missing features

  • AlwaysASK mode does not work
  • Youtube Video overlays do not work
  • DuckPlayer UI uses macOS HTML views (mobile views are WIP)
  • DuckPlayer UI buttons do not work
  • Settings Design is not fully implemented

Internal references:

Software Engineering Expectations
Technical Design Template

@github-actions github-actions bot added the bot: not in app board Added by automation for pull requests with tasks not added to iOS App Board Asana project label Jun 21, 2024
Copy link

github-actions bot commented Jun 21, 2024

Warnings
⚠️ PR has more than 500 lines of code changing. Consider splitting into smaller PRs if possible.

Generated by 🚫 dangerJS against 12f9f01

@afterxleep afterxleep force-pushed the daniel/duckplayer/1.base.implementation branch from 14a2b84 to b4331de Compare June 21, 2024 11:48
# Conflicts:
#	Core/UserDefaultsPropertyWrapper.swift
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
#	DuckDuckGo/SettingsViewModel.swift
@afterxleep afterxleep removed the bot: not in app board Added by automation for pull requests with tasks not added to iOS App Board Asana project label Jun 21, 2024
@afterxleep afterxleep marked this pull request as ready for review June 21, 2024 12:03
@afterxleep afterxleep requested a review from Bunn June 21, 2024 13:42
Copy link
Contributor

@Bunn Bunn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, added some comments but nothing looks critical

@afterxleep afterxleep merged commit ceaa45b into main Jun 24, 2024
14 checks passed
@afterxleep afterxleep deleted the daniel/duckplayer/1.base.implementation branch June 24, 2024 14:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants