Git Product home page Git Product logo

ios's People

Contributors

arthurkowalsky avatar koderfpv avatar lukasz-szyszkowski avatar mareknowakholdapp avatar mpodgorski avatar namedix avatar oz-13ms avatar pkleczko avatar qlb avatar rafalsgm avatar rmalczynski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ios's Issues

"Nickname is too short"

Is your feature request related to a problem? Please describe.
I wanted to add a one letter nickname and the app didn't allow me to do so.

Describe the solution you'd like
One letter nicknames should be allowed.

Describe alternatives you've considered
Well, I can always add a longer nickname as I think it is basically meaningless but the limitation doesn't make any sense from the user's perspective.

Licencja

Po pierwsze chciałbym pochwalić wybór licencji GPL!
iOS jest o tyle problematyczny, że jeśli chcecie akceptować kod z zewnątrz (a zakładam że to jest jeden z celów publikacji) to każdy autor musi się zgodzić na publikację w AppStore. Najlepiej od razu wymagać CLA z odpowiednim zapisem o prawach autorskich, inaczej w przyszłości ktoś może odebrać Wam prawa do swojego kodu za złamanie licencji GPL (ograniczenie ilości instalacji narzucane przez AppStore).

Info: https://apple.stackexchange.com/a/59495
Oczywiście nie jestem prawnikiem.

Rozróżnienie innych zastosowań Beacon ID na poziomie typów.

Aktualnie struktury BeaconId oraz ExpiringBeaconId są używane zarówno w roli lokalnej (własna pula BeaconId) oraz zdalnej (BeaconId pobierane od innych użytkowników). Jedną z propozycji usprawnienia implementacji jest wprowadzenie nowych typów LocalBeaconId, RemoteBeaconId lub odpowiedników.

Aplikacja sprawdza wersję i ew. prosi o aktualizację

Po uruchomieniu, aplikacja sprawdza czy zainstalowana wersja jest najnowsza i w przeciwnym wypadku Użytkownik proszony jest o zainstalowanie nowszej wersji i przekierowany jest do odpowiedniego sklepu z aplikacjami.

Umożliwienie kompilacji projektu zewnętrznym programistom

Wskazówki zawarte w readme pomijają kwestie podpisywania aplikacji certyfikatem, który obsługuje notyfikacje push, przez co próba kompilacji kończy się błędem:

"Your development team, [nazwa], does not support the Push Notifications capability."

Proszę o dodanie self-signed certyfikatów do repozytorium, tak jak robi to np. Telegram, które umożliwią kompilacje każdemu zainteresowanemu.

Inną zaletą tych certyfikatów będzie umożliwienie zewnętrzynm programistom kompilacji projektu i tworzenia pull requestów. W Niemczech stworzony został specjalny profil dla społeczności (ENACommunity), który to umożliwia, wraz ze zmockowanym Exposure Notification API.

No option to read the full notification

Describe the bug
I received the notification that I was exposured... i click on the notification, it goes to the app but no more text or history of notyfications is available.
So if accidentaly I will clear my notyfications I will not know that I am „in danger”.

Expected behavior
A new tab with notyfications history, to be able to see them and read them.
Screenshots
The notyfications was available here:
5EDB8EB9-1865-454E-BF85-47AC4341CBA5

Smartphone (please complete the following information):

  • Device model: iPhone SE -2nd gen
  • OS:1 iOS 14.0.1
    Additional context
    I think that this user (M4g3r) has the same issue
    EFD30260-3DFC-4BFA-B565-0665EC16E024

Usunięnie nadmiarowego stanu SynchronizedBeaconId

Aktualna implementacja przeprowadza proces synchronizacji poprzez prostą maszynę stanów. Stan SynchronizedBeaconId jest aktualnie nieużywany w praktyce i może warto go usunąć z implementacji.

Where are the keys stored in ProteGo-Safe?

The CoronaRiskScoring project is trying to assess how different contact tracing apps are being parametrized. For this purpose, we need to know how many TEKs get published per day, and their risk levels (all public information).

Project considered
We are looking at ProteGO-Safe in our issue #10.

What we need
We need to have a procedure describing how to pull down the keys reliably.

What we see
We see the documentation here.

This looks relevant:

However when we reach out to endpoint https://exp.safesafe.app/index.txt or https://exp.safesafe.app/1 we get that the "specified key does not exist".

It does not look like we would need to authenticate though. Is the directory currently empty?

Aplikacja działa w tle

Aplikacja działa w tle i na bieżąco zapisuje informacje o wykrytych urządzeniach. W przypadku jeśli aplikacja zostanie wyłączona podejmuje próbę włączenia się ponownie.

Exposure log was not checked since almost a week

Describe the bug
My exposure log was not checked since almost a week.

Expected behavior
I thought that my exposure log will be checked every 24h.

Screenshots
image
image
image

Smartphone (please complete the following information):

  • Device: iPhone XS
  • OS: iOS 13.5.1
  • Version 4.2.0
  • my device has internet connection and it wasn’t in the battery saving mode

Refactor nawigacji części aplikacji pokazywanej podczas flow wysyłania historii

Opis prozypozycji rozwiązania

Podczas review PR związanego z UI ekranami pokazywanymi podczas wysyłania historii spotkań padł pomysł (#57 (comment)) aby uwspólnić nawigację tej częsci z resztą aplikacji.

Aktualnie wykorzystywany jest na UINavigationController, a reszta aplikacji korzysta z customowego rozwiązania podmieniającego child view controllery
Ze wzgledu na to, że jest to sprawa czysto architektoniczna i nie ma wpływu dla użytkownika, postanowiliśmy przesunąć pracę nad tą częścią po wypuszczeniu wersji 1.0

Usprawnienia działania aplikacji w tle.

Aby rozwiązanie było użyteczne aplikacja powinna nadawać oraz odbierać Beacon ID w tle według możliwości. Należy mieć na uwadze zużycie baterii oraz ograniczenia nakładane na planer systemu operacyjnego.

Stan aktualny:

  • Aplikacja zawsze rozgłasza się, gdy jest aktywna.
  • Gdy aplikacja przechodzi do tła, rozgłaszanie jest włączane i wyłączane naprzemiennie (bez tego mechanizmu iOS bardzo szybko usuwał proces).
  • Używane są BackgroundTask na czas połączenia oraz rozgłaszania aby kontynuuować aktywność po wejściu do tła.
  • Używany jest BackgroundProcessingTask do wybudzania aplikacji co ok. 15 min.

Wątek ten otwieram w celu dalszej dyskusji co do usprawnień w tym obszarze. Wszelkie uwagi będą mile widziane.

Aplikacja nie działa na iOS 14, zgłasza że system jest za stary.

J.w.
Skoro Ministerstwo Cyfryzacji wydało aplikacje, to musi mieć dostęp do chociaż jednego konta deweloperskiego Apple. Moim zdaniem to jest bardzo dobry pomysł żeby devteam zainstalował chociaż na jednym urządzeniu tą betę i to załatał zanim Apple zacznie wydawać te aktualizacje i aplikacja nie będzie działać u obywateli.

Aplikacja nie działa na iOS 12.5.1

Describe the bug
Aplikacja nie działa na iOS 12.5.1 mimo ze Apple wprowadził do niej exposure notification.

To Reproduce
Steps to reproduce the behavior:
N/A
Current behavior
Aplikacja wyswietla notyfikacje ze znajduje sie w trybie offline i trzeba uruchomic moduł BT, (moduł BT jest uruchomiony) a aplikacja pozostaje w trybie offline
Expected behavior
Aplikacja będzie współpracowała z iOS 12.5.1.
Screenshots
N/A
Smartphone (please complete the following information):

  • Device model: iPhone 6
  • OS: iOS 12.5.1
    Additional context
    N/A

Generowanie pliku .xcworkspace

Opis prozypozycji rozwiązania

Projekt, nad którym pracuje kilka osób w tym samym czasie powoduje wiele problemów podczas merge kilku równoległych PR. Konflikty najczęściej dotyczą plików projektowych, w tym przypadku .xcworkspace

Opis alternatywnych rozwiązań

Proponuję użycie jednego z narzędzi:

Dodatkowe informacje

Jeśli uważacie to za dobre rozwiązanie, mogę się tym zająć

Brak możliwości skonfigurowania powiadomień na iOS 14.1

W dniu dzisiejszym wykonałem świeżą instalację aplikacji na iOS 14.1 (wersja finalna) na iPhone XR.

Ustawienia powiadomień COVID w iOS wyczyszczone. Dane aplikacji ProteGO usunięte i aplikacja również. Następnie świeża instalacja aplikacji i w momencie włączenia funkcji powiadomień w systemie apka przechodzi do systemowych powiadomień o COVID (API iOS) i po przejściu do tego ekranu jest on pusty… Nie da się nic wybrać. Próbowałem w drugą stronę, czyli wybrać z systemu Polskę jako kraj powiadomień i iOS przekierowuje do Appstore i sugeruje instalację ProteGO.
Tym samym nie da się obecnie poprawnie dokończyć instalacji aplikacji i używania powiadomień i wymiany informacji via Bluetooth.

Screeny (na czerwono miejsca, w które klikam):
IMG_1839

IMG_1840

IMG_1841

I na koniec:
IMG_1842

deviceType zwraca nazwę urządzenia nadaną przez użytkownika zamiast typu urządzenia

Opis błędu

deviceType w requeście do API wysyła nazwę urządzenia nadaną przez użytkownika, zamiast typ urządzenia.

Kroki

Oczekiwany zachowanie aplikacji

deviceType powinien wysyłać typ urządzenia

Urządzenie (proszę wypełnij poniższe informacje dotyczące urządzenia):

  • System operacyjny: iOS
  • Wersja aplikacji ProteGO Dev 1.0.37

Środowisko

  • Wersja środowiska: dev

Usprawnienie odczytu RSSI oraz TX power.

Aktualna implementacja nie odczytuje i nie propaguje informacji o TX power. Jest ona konieczna wraz z wartością RSSI do lepszego oszacowania odległości między urządzeniami.

Sugerowane zmiany:

  • Dodanie i propagowanie TX power pobranego z Advertisement Data
  • Usprawnienie mechanizmu zbierania próbek RSSI dla lepszego oszacowania odległości:
    • Zwiększenie ilości pobieranych próbek podczas rozgłaszania i połączenia.
    • Ustalenie algorytmu, który decyduje, czy wartość RSSI jest "stabilna" i użyteczna do kalkulacji.

Stan aktualny:

  • Brak pobierania informacji o TX power
  • RSSI jest sczytywane podczas procesu discovery, ale opcja AllowDuplicates nie jest aktualnie używana (w czasie działania w tle nie jest ona dostępna).
  • RSSI jest pobierane tylko raz podczas połączenia.
  • W momenice, gdy inne urządzenie zapisuje swój BeaconId (klasa Advertiser) nie jest pobierane RSSI. (czy istnieje API po stronie PeripheralManager by to osiągnąć?)

Crash po próbie wejścia w menu

Opis błędu

Po naciśnięciu przycisku menu na głównym ekranie aplikacja crashuje.

Kroki

  1. Otwórz aplikację.
  2. Przejdź onboarding bez podawania numeru telefonu.
  3. Nacisnąć przycisk menu w prawym głównym rogu.
  4. Aplikacja crashuje

Oczekiwany zachowanie aplikacji

Aplikacja nie powinna crashować i powinna pokazać menu.

Urządzenie (proszę wypełnij poniższe informacje dotyczące urządzenia):

  • Nazwa: iPhone 6 Plus
  • System operacyjny: iOS
  • Wersja systemu operacyjnego: iOS 12.4.3
  • Wersja aplikacji: 1.0.47

Środowisko

  • Wersja środowiska: Dev

Dodatkowe informacje

W konsoli urządzenia widzę taką wiadomość: Fatal error: Use of unimplemented initializer 'init(nibName:bundle:)' for class 'ProteGO.HistoryRootViewController'. Na innym urządzeniu (iPhone XS) aplikacja otwiera menu prawidłowo.

Brak walidacji długości nr telefonu

Opis błędu

Użytkownik może wpisać i potwierdzić nr telefonu o długości innej niż 9 cyfr

Kroki

  1. Przejdź przez onboarding
  2. Wpisz nr telefonu z zakresu <0,8> <9, )
  3. Potwierdź nr telefonu

Oczekiwany zachowanie aplikacji

Aplikacja powinna uniemożliwić potwierdzenie nr telefonu o innej długości niż 9 cyfr.
Pole nr telefonu powinno zawierać komunikat błędnej walidacji numeru.

Urządzenie (proszę wypełnij poniższe informacje dotyczące urządzenia):

  • Nazwa: iPhone 7
  • System operacyjny: iOS
  • Wersja systemu operacyjnego: iOS 13.4
  • Wersja aplikacji 1.0.35

Środowisko

  • Wersja środowiska: stg

Aplikacja przypomina o włączeniu Bluetooth jeśli jest wyłączony

Kolejne uruchomienie
Aplikacja sprawdza czy Bluetooth jest włączony. Jeśli nie, użytkownik proszony jest o włączenie Bluetooth. Aplikacja nie pozwala pójść dalej bez włączenia Bluetooth (chyba że nie da się skutecznie sprawdzić stanu Bluetooth, wtedy tylko przypomina i przechodzi).

Aplikacja wyświetla powitanie

Pierwsze uruchomienie
W przypadku kiedy aplikacja uruchamiana jest po raz pierwszy (nie mamy user_id), następuje rejestracja aplikacji. Użytkownikowi pokazywane są ekrany startowe:

Powitanie w aplikacji
Akceptacja regulaminu. Regulamin jako link otwierany w przeglądarce.
Wyjaśnienie jak działa aplikacja (może być kilka ekranów)
Prośba o włączenie Bluetooth. Aplikacja nie przechodzi dalej bez włączenia Bluetooth (chyba że nie da się skutecznie sprawdzić stanu Bluetooth, wtedy przechodzi).

Add English Localization

As there are many foreigners living in Poland it would be a good idea to have English localization available in the app. Even if most contents from Government won’t be translated the general app information and questionnaire should be possible to do in English.

A disgrace to the developer community.

Is your feature request related to a problem? Please describe.
I'm ashamed to be living in a country where a PWA app is priced at 2.5m PLN.
Describe the solution you'd like
Make an actual native app, or ask someone else to do this properly.

Describe alternatives you've considered
Not using this app.

Additional context
I beg you, create an actual iOS app that works as it should. I can even make one but please, remove this monstrosity out of the internet.

Dostosowanie konfiguracji algorytmu skanera przed wypuszczeniem aplikacji

Aktualna implementacja skanera jest konfigurowana zestawem parametrów przedstawionych poniżej (ustawionych w czasie wstępnych testów). Wartości te powinny zostać odpowiednio zmodyfikowane przed wypuszczeniem aplikacji:

  • BackgroundTaskEarliestBeginDate (15 min) - czas uruchomienia BackgroundProcessingTask w celu kontynuuowania skanowania/rozgłaszania. Według dokumentacji Apple jest to wartość zalecana.
  • PeripheralSynchronizationCheckInSec (5 sec) - cykliczny czas sprawdzania stanu znanych urządzeń.
  • PeripheralSynchronizationTimeoutInSec (15 sec) - czas po którym skaner zrywa połączenie, gdy peryferium nie jest w stanie wykonać wszystkich przewidzianych operacji.
  • PeripheralIgnoredTimeoutInSec (60 sec) - czas ograniczający wysłanie kolejnego "spotkania" w przypadku, gdy jesteśmy w stanie zidentyfikować dane urządzenie jako takie same.
  • PeripheralMaxConcurrentConnections (3) - maksymalna liczba równoległych połączeń obsługiwanych przez klasę CentralManager.
  • PeripheralMaxConnectionRetries (3) - maksymalna liczba ponowień połączenia w przypadku, gdy przewidujemy, że urządzenie będzie miało "stały" MAC address (Android zmienia MAC address co połączenie).
  • AdvertisingOnTimeout (15 sec) - czas przez który rozgłaszanie jest włączone w tle.
  • AdvertisingOffTimeout (45 sec) - czas przez który urządzenie nie rozgłasza się w tle.
  • ScanningOnTimeout (15 sec) - czas przez który skanowanie jest włączone w tle.
  • ScanningOffTimeout (45 sec) - czas przez który urządzenie nie skanuje w tle.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.