Passer au contenu principal

Feuille de route Roam

Travail accompli pour la prochaine mise à jour

  • Ajout de widgets de contrôle : Lecture, Muet, Changer le volume et Sélectionner depuis le centre de contrôle !
  • Amélioration de la gestion des champ de texte pour de nombreuses applications roku
    • Ouverture automatique du champ de texte lorsque l'édition de texte est disponible
    • Copier, Couper, Coller depuis macOS (avec le clavier)
    • Copier, Couper, Coller + Édition généralisée sur iOS
  • Meilleur rapport sur les autorisations du réseau local et la connectivité
  • Amélioration de la fonctionnalité du clavier
  • Améliorations de la stabilité de la connexion

À venir prochainement

  • Ajoutez des options de pression longue aux touches

    • Appui long sur la flèche droite pour avancer rapidement
    • Appui long sur la flèche gauche pour reculer rapidement
    • Appui long sur mute pour long-mute
      • Rendre le +30 configurable à 30, 15, options de mute de 60 secondes
      • Afficher la bannière avec +30 sec, x pour annuler, indicateur de progression linéaire en arrière-plan
        • Afficher sous le panneau principal de boutons pour qu'il soit proche de mute
      • Annule lorsque mute à nouveau (et fait également appel à l'API)
  • Réparation des widgets macOS

  • Futur : Fournir une vue minimaliste optionnelle sur iOS qui réplique de près la vue de la télécommande Siri

Idées générales pour le futur

Corrections de bugs

  • Essayez de comprendre si la boucle d'appels à nextPacket a du sens.
    • Au lieu de boucler toutes les 10ms et d'espérer que le timing est correct, devrais-je plutôt boucler sur les paquets reçus et essayer de les programmer à l'heure de l'hôte 10ms * globalSequenceNumber + startHostTime et sampleTime à sequenceNumber * Int64(lastSampleTime.sampleRate) / packetsPerSec + startSampleTime
    • Ensuite, je peux passer d'une boucle for await sur l'horloge à une boucle while !Task.isCancelled avec un Task.sleep dedans.
    • Donc, nous devons boucler toutes les 10 ms et essayer de retirer le dernier paquet puis de le planifier à ce moment-là
    • Chaque fois que nous faisons une synchronisation audio
      • Nous avons lastRenderTime + un paquet de synchronisation
      • Estimez le numéro du paquet que nous devrions être en train d'envoyer + le temps de synchronisation
        • Render Time + additionnel

Améliorez la communication des informations sur la gestion de l'information/de l'état/des capacités

  • Lorsque vous allumez l'appareil avec WOL et que vous ne vous connectez pas après 5 secondes, ou lorsque vous allumez l'appareil et que vous échouez immédiatement, affichez un message d'avertissement sous le wifi
    • « Nous n'avons pas pu réveiller votre Roku » (En savoir plus) (Ne plus afficher pour cet appareil), (X)
    • En savoir plus montre certaines raisons pourquoi
      • Vous n'êtes pas connecté au même réseau (Montrez le dernier nom de réseau de l'appareil. Demandez si l'utilisateur est connecté à ce réseau)
      • Votre appareil est en veille profonde (n'a pas été éteint récemment) et ne peut pas être réveillé
        • Votre appareil ne supporte pas le WWOL et est connecté en wifi
        • Votre appareil ne supporte ni le WWOL ni le WOL
      • Votre réseau n'est pas configuré de manière à nous permettre d'envoyer des commandes de réveil à l'appareil
  • Lorsque vous cliquez sur un bouton désactivé, indiquez une notification indiquant pourquoi il est désactivé
    • Afficher un indicate d'information sur le bouton pour indiquer que des informations peuvent être reçues lorsqu'il est cliqué ?
    • Le mode écouteurs est désactivé -> parce que l'appareil ne supporte pas le mode écouteurs pour cette application
    • Le contrôle du volume est désactivé -> parce que le son est envoyé par HDMI qui ne supporte pas les contrôles de volume?
  • Lors de la numérisation active des appareils et qu'aucun nouveau n'est trouvé, affichez un message d'avertissement sous la liste des appareils
    • « Nous n'avons pas pu réveiller votre Roku » (Pourquoi), (X)
    • En savoir plus montre une popup avec certaines raisons pour lesquelles cela peut se produire
  • Ajoutez un badge pour supportsWakeOnWLAN et supportsAudioControls

À mettre à jour lors de l'abandon du support pour iOS 17/macOS 14 (février 2026)

  • Faire le tour et enlever les balises @available(iOS 18)
  • Utiliser les traits de prévisualisation pour injecter des données d'échantillon dans les prévisualisations
  • SwiftData
    • Utiliser le nouveau macro #Index pour les modèles
    • Utiliser le nouveau macro #Unique pour les modèles
    • Utiliser la suppression en batch
  • TipKit