Guild icon
Dziennikowy Serwer
CMENTARZ / sdk
https://github.com/wulkanowy/sdk
Avatar
Z dziennika programisty: wszystko idzie zgodnie z planem Mode.HYBRID -> { api.getStudents().flatMapObservable { Observable.fromIterable(it) }.flatMapSingle { api.run { studentId = it.studentId classId = it.classId } api.getToken().flatMap { getApiStudents(it.token, it.pin) }.map { apiStudents -> apiStudents.map { apiStudent -> apiStudent.copy(loginMode = Mode.HYBRID) } } }.toList().map { it.flatten() } }
Avatar
Oranż Metylowy 01.05.2019 14:48
Nice. Muszę nadrobić zaległości
Avatar
Kolejny dzień zmagań: działa już hybrydowe logowanie i poglądowa wersja ocen pobieranych przez mobilne api
13:31
W buildach z brancha sdk-integration jedynym dostępnym typem logowania jest na razie logowanie hybrydowe
13:36
Ważne: w formularzu logowania trzeba ręcznie wprowadzić klucz api
Avatar
Oranż Metylowy 03.05.2019 13:37
Właśnie. Jak to obejdziesz?
Avatar
To znaczy przynajmniej na razie
Avatar
Oranż Metylowy 03.05.2019 13:39
Ale czy prawnie możecie ten klucz wklejać na stałe do aplikacji? Bo chyba dla jakiegoś powodu nie ma go np w request signer
Avatar
Właśnie z powodu tych wątpliwości go tam na stałe nie wklejałem
Avatar
Oranż Metylowy 03.05.2019 13:41
Ale jednak kiedyś będzie trzeba 🤔
13:47
A dasz klucz?
13:47
Bo nie mam na tel źródeł dzienniczka
Avatar
wejdź na stronę uonet request signera i kliknij w implementację w javie
Avatar
Oranż Metylowy 03.05.2019 13:50
Hm chyba nie. Tam jest 012345...
Avatar
Nieoficjalne API do dzienniczka elektronicznego UONET+ - kapi2289/vulcan-api
13:55
ups
Avatar
Oranż Metylowy 03.05.2019 14:01
Ejejej co jest
14:02
I dlaczego TA1 jak to konto używa 3S1
14:03
..poza tym to nie działa
Avatar
XDDDDDDDDDD
Avatar
Oranż Metylowy 03.05.2019 14:11
..czyli prosty sposób na podsłuchiwanie zapytań dzienniczka+ i podstawianie semestrów w nieaktywnych kontach
14:11
Tak czy inaczej, nawet z tym hackiem logowanie powinno działać ale nie działa
14:11
Tylko @mklkj skąd się tam wzięło
Avatar
Właśnie, weź mi powiedz skąd
14:12
Ej sprawdź logcata
14:12
bo aktualnie jest włączone pełne logowanie z response i request body zapytań mobilnego api
Avatar
Oranż Metylowy 03.05.2019 14:20
Hack tez loguje
Avatar
Ale mów dalej, bo to mi nic nie mówi
Avatar
Oranż Metylowy 03.05.2019 14:23
Wulkanowy nie zrobił żadnego zapytania do mobilnego
14:23
14:23
XD już wiem
Avatar
Ale logcata sprawdź, bo tutaj to jest wynik, a nie powód
14:24
pewnie masz jakieś podmienianie adresów w locie włączone albo jakąś inną magię
Avatar
Oranż Metylowy 03.05.2019 14:24
TA1,https to początek następnej linii RouteRules
14:24
I on to bierze jako część nazwy hosta
Avatar
Dobra, ale skąd się tam wzięła twoja domena
Avatar
Oranż Metylowy 03.05.2019 14:26
Mam hosts podmienione komponenty.vulcan..
14:26
I wulkanowy nie widzi line break
Avatar
źle pewnie plik zapisałeś
Avatar
Oranż Metylowy 03.05.2019 14:27
Windows
Avatar
w sensie ten oryginalny ma line break na \r\n
Avatar
Oranż Metylowy 03.05.2019 14:27
To może zapisałem na Androidzie
14:27
Dlatego nie działa
14:29
Jak wykryje domenę to będzie działać
Avatar
dobra w sumie to od razu zmienię, bo ciężko mi będzie testy inaczej zrobić
Avatar
Oranż Metylowy 03.05.2019 15:05
Czemu ciężko? Przecież ty nie korzystasz z tego hacka
Avatar
mówię o lokalnych testach jednostkowych
Avatar
Oranż Metylowy 03.05.2019 15:07
NVM.. jak będzie działać to mogę sprawdzić
Avatar
Oranż Metylowy 03.05.2019 15:26
Dodałem / do pliku i złapało ale jest błąd z JSONem
Avatar
Dominik Korsa 03.05.2019 15:27
To dzwon do Dzejsona
15:27
Polskie znaki w Overlayu
Avatar
No ewidentnie zepsułeś
15:28
Po co dawałeś ten znak tam
Avatar
Oranż Metylowy 03.05.2019 15:28
XD nic nie dawałem
15:29
On nawet zapytania wykonał
15:29
*nie wykonał
15:31
W ogóle nie łączyło się z mobilnym api
Avatar
Co się wykonało jako ostatnie?
Avatar
Oranż Metylowy 03.05.2019 15:59
A bo ja wiem.. nawet nie zaczął się logować
15:59
Tzn do ucznia może tak ale do mobilnego nie
16:00
Nie mogę włączyć powiadomień debugowania bo jestem ciągle na login
Avatar
Dobra, najpierw sdk na branchu zaktualizuje
Avatar
@Oranż Metylowy sprawdź teraz
20:03
Certyfikat i listę uczniów pobrał. Odpowiedz serwera prawidłowa.
Avatar
źle ustaliłem typy właściwości
Avatar
Oranż Metylowy 03.05.2019 20:04
Pewnie wina tego że testuję ze starym kontem. Macie stronę vulcana i ListaDziennik czy coś więc i tak może działać.
20:06
takiego mniej więcej dostaję jsona u siebie
20:06
masz gdzieś nulla w jakimś innym polu
Avatar
Oranż Metylowy 03.05.2019 20:07
{\"Status\":\"Ok\",\"TimeKey\":1556906397,\"TimeValue\":\"2019.05.03 19:59:57\",\"RequestId\":\"\",\"DayOfWeek\":5,\"AppVersion\":\"19.03.0001.32916\",\"Data\":[{\"IdOkresKlasyfikacyjny\":0,\"OkresPoziom\":0,\"OkresNumer\":0,\"OkresDataOd\":0,\"OkresDataDo\":0,\"OkresDataOdTekst\":null,\"OkresDataDoTekst\":null,\"IdJednostkaSprawozdawcza\":2,\"JednostkaSprawozdawczaSkrot\":\"ZS Kleszcz\",\"JednostkaSprawozdawczaNazwa\":\"Zesp\u00f3\u0142 Szk\u00f3\u0142\",\"JednostkaSprawozdawczaSymbol\":\"000414\",\"IdJednostka\":0,\"JednostkaNazwa\":null,\"JednostkaSkrot\":null,\"OddzialSymbol\":null,\"OddzialKod\":null,\"UzytkownikRola\":\"opiekun\",\"UzytkownikLogin\":\"***@***\",\"UzytkownikLoginId\":1234,\"UzytkownikNazwa\":\"****\",\"Id\":69,\"IdOddzial\":0,\"Imie\":\"****\",\"Imie2\":\"****\",\"Nazwisko\":\"****\",\"Pseudonim\":\"\",\"UczenPlec\":1,\"Pozycja\":0,\"LoginId\":null}]}" Mam nadzieję że sobie od-escapujesz
Avatar
tak, dzięki
20:08
łaaaaa, ale nulli
Avatar
Oranż Metylowy 03.05.2019 20:11
Moje ulubione
Avatar
o i jeszcze widzę konto rodzica
20:11
masz może konto ucznia?
Avatar
Oranż Metylowy 03.05.2019 20:12
Nie a to jakiś problem?
20:12
Tzn.. tak ale nie mam do niego dostępu
20:12
Sam certyfikat od znajomej
Avatar
bo do tego to jeszcze już nie aktywne konto
20:13
a tego się nie spodziewałem
Avatar
Oranż Metylowy 03.05.2019 20:13
Mam aktywne chyba ucznia.. ale dla was to problem ze nieaktywne?
Avatar
To znaczy nie zastanawiałem się jeszcze nad tym
20:15
OkresDataDo jest nullem
20:15
co w sumie logiczne
20:15
ale nie pomyślałem jak się zachowa wulkan jak uczeń będzie absolwentem
Avatar
Oranż Metylowy 03.05.2019 20:15
A jak nie zda? :p
20:16
A czy lista dziennik nie ma dat?
20:16
Powinna, bo ja sobie spreparowałem odpowiedz z datami
Avatar
Czekaj, o czym teraz mówisz?
20:18
ja na razie o tym response od ciebie, gdzie są nulle w miejscu dat
Avatar
Oranż Metylowy 03.05.2019 20:18
To działa w dzienniczku+
20:18
Response ten co dałem idzie od vulcana. Ten na screenie ja zrobiłem ale teraz go nie używam
20:19
I on działa bez problemu w dzienniczku+. Loguje, zwraca oceny i wszystko, dla roku 2016 (edited)
20:25
Podłożyłem ten plik ze screena do wulkanowego. Przy logowaniu pokazał 3x tego samego ucznia (klasa ze screena). Co ciekawe, dało się zaznaczyć wszystkie opcje oprócz wyłącznie 1 i 2 - wtedy Sign In był szary. 1, 2 i 3 już działało. Zaznaczyłem pierwszy lepszy i pobrał oceny dla 3 klasy gimnazjum - okres 322
Avatar
nic przypadkiem napisałem
Avatar
znaczy bo na razie zrobiłem tak, że po pobraniu listy uczniów przez scrapper (który rozdziela jednego ucznia z różnych klas do różnych uczniów) każdego z nich osobno rejestruje
20:31
to trzeba będzie jeszcze poprawić
Avatar
Oranż Metylowy 03.05.2019 20:33
No ale ogólnie działa, jak podstawiłem okresy i daty.
Avatar
Oranż Metylowy 03.05.2019 22:08
A no i pokazało imie i nazwisko rodzica a nie ucznia, więc wygląda jakby to ten rodzic chodził do gimnazjum
Avatar
Czekaj, ale to niemożliwe
Avatar
Oranż Metylowy 04.05.2019 10:22
Jak to nie. Wzięło UzytkownikNazwa
Avatar
Okej, masz rację. Zmienię to później
Avatar
Kolejny dzień zmagań:
  • naprawiłem (tak mi się wydaje) imie ucznia, które pokazywało wcześniej nazwę właściciela konta (czyli np. rodzica zamiast ucznia)
  • sprawdziany są teraz pobierane przez mobilne api
18:33
+ w chuckerze pokazują się treści i odpowiedzi zapytań 🎉
Avatar
Oranż Metylowy 14.05.2019 18:34
- sprawdziany są teraz pobierane przez mobilne api dla kont z poprzednich lat mobilne api nie zwraca żadnego sprawdzianu, mimo oczywiście podania poprawnych dat
Avatar
to znaczy mówisz o kontach, które nie mają aktywnego semestru?
18:38
na swoim koncie mogę pobrać sprawdziany od początku szkoły, z września 2015 roku
Avatar
Oranż Metylowy 14.05.2019 18:40
tak, o tych co nie mają semestru
18:40
czyli tych których nie da się zalogować w dzienniczek
Avatar
czeeekaj, ty nie testowałeś szkolnego na koncie kogoś, kto skończył szkołę?
Avatar
Oranż Metylowy 14.05.2019 18:42
testowałem ale z semestrem podstawionym przez hack
18:42
(sprawdzianów nie było)
Avatar
btw ciekawą rzecz zauważyłem
18:44
jak ustawisz id semestru na 0, to dostaniesz pustego jsona, aale jak dasz 1, to już nie będzie pusto
Avatar
Oranż Metylowy 14.05.2019 18:44
w sprawdzianach?
18:45
to znaczy tam też
18:45
IdOkresKlasyfikacyjny ustawiasz na 1 i powinno ci coś zwrócić
Avatar
Oranż Metylowy 14.05.2019 18:46
niezależnie od okresu daje mi to { "Status": "Ok", "TimeKey": 1557852328, "TimeValue": "2019.05.14 18:45:27", "RequestId": "46ba66da-4453-4518-9fe8-b451de23e018", "DayOfWeek": 2, "AppVersion": "19.04.0000.33271", "Data": [] }
18:46
w ocenach tak samo
18:47
co rozumiesz przez coś? normalne dane takie jakbyś podał normalne ID?
Avatar
coś, czyli niepustą listę
18:48
jakie masz klucze w request body?
18:49
{ "DataPoczatkowa": "2015-09-01", "DataKoncowa": "2015-09-25", "IdOddzial": 1, "IdOkresKlasyfikacyjny": 1, "IdUczen": 1, "RemoteMobileTimeKey": 1524661083, "TimeKey": 1524661082, "RequestId": "xxx", "RemoteMobileAppVersion": "18.4.1.388", "RemoteMobileAppName": "VULCAN-Android-ModulUcznia" }
Avatar
Oranż Metylowy 14.05.2019 18:50
no coś takiego, datę na 2018 (brak dat nic nie zmienia) i IdOddzial i IdUczen ustawione prawidłowo
Avatar
to może jest tak jak mówisz (edited)
18:51
chociaż to trochę dziwne, że tylko sprawdzianów nie pokazuje
Avatar
Oranż Metylowy 14.05.2019 18:52
no, dziwne. Jak wstawię 0 lub 1 w ocenach to też pusta, normalnie są
18:52
ale korzystając z mobilnego api mogę na starym koncie ciągle wysyłać wiadomości XD
18:52
(nawet do siebie)
18:53
kiedy strona na to nie pozwala
18:54
w sumie wystarczy coś takiego "NadawcaWiadomosci": "Andrzej Duda (też łapie)", "Tytul": " ", "Tresc": " ", "Adresaci": [ { "LoginId": 4907, "Nazwa": "" } ],
Avatar
Udało mi się dzisiaj dodać mappery do kolejnych endpointów i w ten sposób wulkanowy może już używać źródła danych jako mobilne api vulcana z następujących zasobów:
  • oceny z podsumowaniem
  • frekwencja
  • uwagi
  • zadania domowe
  • plan lekcji
Avatar
Oranż Metylowy 14.06.2019 22:19
👏
22:20
Podziwiam że ciągle rozwijacie projekt pomimo że skończyliście szkołę
Avatar
chciałem skończyć tą integrację z sdk mimo wszystko
22:26
gdyby ktoś chciał przetestować live to tu najnowszy build https://app.bitrise.io/artifact/16802922/p/86ab7eea091e7cf1f9dc40b84d019e6a
Bitrise is a cloud based automatic app builder and distribution system
Avatar
po co ten api key? i czy musze go podawac?
22:41
@mklkj
22:41
to ten drugi
22:42
error mi wywala
Avatar
zaloguj się na fakeloga
22:45
api key wtedy to
22:45
012345678901234567890123456789AB
22:45
włącz pokazywanie powiadomień debugowania i spróbuj zalogować się na swoje konto jeszcze raz
22:46
i wtedy pokaż ostatni response z powiadomień
Avatar
na fakeloga tez nie moge
Avatar
racja, na fakelogu coś nie działa
Avatar
juz patrze
Avatar
@Popke udało ci się zalogować?
12:38
na fakeloga
12:38
juz sprawdzam na swoim
12:39
tez dziala
Avatar
i jest nawet podzial na grupy tak jak w dzienniczku minus
Avatar
Co to za kanal?
Avatar
tak i się zastanawiam czy tak zostawić, dać opcję do zmiany tego, czy zostawiać tylko lekcje oddziału do którego uczeń chodzi
12:41
@doteq robię integrację z sdk, które umożliwi łatwą podmianę źródła danych ze aktualnego scrappera na mobilne api dzienniczka i odwrotnie
Avatar
ja bym zrobił tak jak w dzienniczku-
12:43
domyślnie pokazuje tylko jedna grupe i jest przełącznik (edited)
Avatar
fajnie
Avatar
Masz włączone lekcje zrealizowane w szkole?
14:06
chociaż nie, to się coś innego musiało popsuć
14:08
masz coś na czerwono w logach z powiadomienia?
Avatar
w dzienniku powiadomien?
14:14
bo tego powiadomienia nie da sie wcisnac
Avatar
powinieneś mieć dwa powiadomienia
14:16
jedno to i drugie z chuckera
Avatar
a to nie mam na czerwono
14:24
mam tylko na zolto error 400
Avatar
pokaż go
14:25
w sensie jaki adres to był i jaki response
14:26
Avatar
jak odświeżysz ręcznie sprawdziany to nie ma żadnego błędu? (edited)
Avatar
nie dziala
Avatar
to tylko przy sprawdzianach?
Avatar
czyli musiałem coś zepsuć
14:29
okej dzięki
Avatar
o teraz dostalem czerwony
Avatar
to pewnie dlatego, że plan nie zdążył się załadować bo kliknąłeś szybciej na kolejny dzień
Avatar
i są kolejne problemy z zastepstwami
14:32
i z przeniesionymi lekcjami
14:33
ten sam dzien co wczesniej wysylalem
Avatar
masz dzienniczka-? pokaż jak tam to wygląda
14:34
robiłem to trochę po omacku, więc się nawet nie dziwię, że może nie do końca działać
14:35
@Oranż Metylowy wiesz może jak działa oznaczanie wiadomości jako przeczytanych w mobilnym api vulcana?
14:37
a tu wulkanowy ze sklepu
Avatar
dzienniczek to też jakoś dziwnie wyświetla (edited)
14:39
bo są tak jakby dwie lekcje
Avatar
i przy 2 lekcji jest zastepstwo a nie ma strzalki
Avatar
co jest w szczegółach historii z 7 lekcji?
Avatar
ale jak wcisne 2 to pokazuje zastepstwo
14:40
14:41
a tu dwie 6 lekcje
Avatar
okej, to jeszcze tak źle nie działa
14:43
pokaż tą informatykę szczegóły
14:44
i to co się pokazuje w dzienniczku i wulkanowym ze sklepu
Avatar
Dev - tu wszystko ok tylko nie ma strzalki
14:46
sklep - nauczyciel nie powinien byc skreslony
Avatar
na dzienniczku- jest jakoś ta lekcja informatyki zaznaczona?
14:56
a dobra, przecież musi być czerwony tekst pod
Avatar
Oranż Metylowy 15.06.2019 19:01
@mklkj jeszcze potrzebujesz? Jak tak to za ok.30min powiem
Avatar
Tak, bo na nie wiem
Avatar
Oranż Metylowy 15.06.2019 19:04
Ok jak dojadę
Avatar
Oranż Metylowy 15.06.2019 19:18
Ale chodzi ci o wiadomości odebrane czy wysłane ?
Avatar
Jest jakaś różnica?
Avatar
Oranż Metylowy 15.06.2019 19:29
Yyy
19:29
No nie wiem o co ci chodzi
19:30
Czy chcesz wiedziec o przeczytaniu wiadomości odebranych Czy chcesz wiedzieć o przeczytaniu wysłanych przez nauczyciela
Avatar
Chcę oznaczyć wiadomość jako przeczytaną
19:31
Żeby w dzienniku na stronie wiadomość była przeczytana, a nie taka pogrubiona
Avatar
Oranż Metylowy 15.06.2019 19:31
Aa
19:31
Nigdy tego nie robiłem
19:31
Ale masz w dokumentacji przecież
19:33
Zapomniałem
19:33
Już widzę
Avatar
okej, zrobiłem na razie same wiadomości, tj. lista w odebranych i pozostałych kartach jest pobierana z mobilnego api. Oznaczanie jako przeczytane trzeba jeszcze przemyśleć https://app.bitrise.io/artifact/16815325/p/69d3282ae5797786262d36c254f8629f
Bitrise is a cloud based automatic app builder and distribution system
Avatar
sdk.getTimetable(of(2018, 1, 1), of(2018, 1, 2)); Jak te daty wpisać w javie?
Avatar
Musisz dodać u siebie threteen abp do zależności
12:47
I wtedy zamiast of() używasz LocalDate.of()
12:48
Udało ci się pobrać listę uczniów?
Avatar
tak ❤
Avatar
to rzuć gwiazdką na githubie pod sdk
⭐ 1
Avatar
robię sdk.getTimetable(LocalDate.of(2019, 5, 17),LocalDate.of(2019, 5, 17)).blockingGet(); i dostaje error 400 z tego adresu: https://lekcjaplus.vulcan.net.pl/zielonagora/001250/mobile-api/Uczen.v3.Uczen/Slowniki
21:55
${adres REST API}/${symbol}/${symbol jednostki sprawozdawczej}/mobile-api/Uczen.v3.Uczen/Slowniki
Avatar
ustawiłeś classId i studentId?
Avatar
pokaż jak konfigurujesz obiekt Sdk()
Avatar
sdk.setApiBaseUrl("https://lekcjaplus.vulcan.net.pl/zielonagora"); sdk.setMode(Sdk.Mode.API); sdk.setSchoolSymbol("001250"); sdk.setStudentId(32959); sdk.setClassId(1375);
Avatar
musisz podać jeszcze apiKey, certificate i certKey
21:57
wszystko znajdziesz w Student zwracanym w pierwszym kroku
21:57
oczywiście prócz apiKey
Avatar
a api key moge wziac to z githuba?
Avatar
na githubie jest key działający tylko z fakelogiem
Avatar
CE75EA598C7743AD9B0B7328DED85B06
21:59
to dać tak?
Avatar
a czemu w tym co dostaje podczas logowania w certyfikatach sa puste wartości? ...className=3Ag, classId=1149, loginType=STANDARD, loginMode=SCRAPPER, apiHost=, scrapperHost=vulcan.net.pl, ssl=true, certificateKey=, certificate=)] (edited)
Avatar
pokaż jak się logujesz
22:07
w sensie jak skonfigurowane masz wtedy Sdk
22:08
powinieneś mieć ustawione mode na API (edited)
Avatar
a ja ustawiłem SCRAPPER bo chciałem emailem
22:09
się logować (edited)
Avatar
no to musisz dać HYBRID
Avatar
Oranż Metylowy 21.06.2019 22:09
uuu
Avatar
wtedy dostaniesz wszystkie możliwe dane
Avatar
Oranż Metylowy 21.06.2019 22:09
to już działa. wow
Avatar
tak, nawet działa
22:10
możesz użyć w szkolnym
Avatar
teraz tylko zrobić dokumentacje dla publicznych metod
Avatar
dobra super działa wszystko
Avatar
@mklkj a co gdyby tak zrezygnować z rxJavy aby było to bardziej uniwersalne
Avatar
myślałem o tym, ale po pierwsze musiałbym to wszystko przepisywać
22:12
a po drugie
Avatar
mogę pomóc z przepisywaniem
Avatar
nooo wtedy byłyby domyślne Call'e z retrofita
Avatar
Oranż Metylowy 21.06.2019 22:12
@mklkj jasne że użyję
Avatar
w rejestracji jak potrzeba zrobić kilka subzapytań… no nie wiem czy da się to tak ładnie pogodzić wtedy
22:13
znaczy nie wiem, bo nie szukałem
Avatar
okej fakt rxjava jest wygodna
Avatar
nowe api i to sdk powstało już po naszej pierwszej randce z rxjavą
22:14
a to była miłość od pierwszego dodania zależności
Avatar
Oranż Metylowy 21.06.2019 22:15
ehh czuję się biedny bez rxjavy, zależności i innych czarów
Avatar
no to czas na rxjavę
22:15
reactive extensions
22:15
wtedy będziesz promieniował
22:15
szczęściem
Avatar
i tak to co my robimy w wulkanowym jest baaaardzo biedne wykorzystanie rxjavy
22:16
bo robimy to po najmniejszej linii oporu (edited)
Avatar
aktualnie jej użycie wygląda w zasadzie tak samo jak zaraz po przepisaniu wszystkiego na nową architekturę
Avatar
Oranż Metylowy 21.06.2019 22:18
tylko nie wiem co ma rxjava do zależności..
22:18
i nie wiem o co w ogóle z tymi zależnościami chodzi..
22:18
w arduino tego nie uczyli
Avatar
no że nowe implementation w build.gradle xd
22:19
ooo tak
Avatar
Oranż Metylowy 21.06.2019 22:19
ah że to XD myślałem że o jakimś wstrzykiwaniu zależności teraz mówisz...
Avatar
a wstrzykiwanie zależności to np Dagger
22:20
ale nie jest to związane z gradlem lecz już z samym kodem
Avatar
Oranż Metylowy 21.06.2019 22:20
wiem tylko że rxjava to chyba jakieś wątki, obserwatory, itp
22:20
jeśli tak to mi się kojarzy z EventBus którego używam gdzieśtam
Avatar
no dobrze kojarzysz
22:22
tylko jest to duuuuuuuuuużo potężniejsze i bardziej rozubudowane narzędzie niż tylko jeden bus stworzony przez EventBus
22:22
mówię o RxJavie
Avatar
Oranż Metylowy 21.06.2019 22:22
jeśli mi wyeliminuje problemy z przechodzeniem między wątkami w requestach i callbackach to biorę
Avatar
w zasadzie…
Avatar
Oranż Metylowy 21.06.2019 22:23
tylko ostatnie pytanie. czy mogę to zaimplementować jakby później czy wymagało by to przepisania połowy kodu?
Avatar
zależy
22:24
zależy jak masz aplikację napisaną
Avatar
Oranż Metylowy 21.06.2019 22:24
dekompilowałeś, przecież wiesz XD
Avatar
@Fajerbejs to ty to uczyniłeś
Avatar
ja dekompilowałem
22:25
i trudno coś powiedzieć z zaciemnionego kodu
22:25
na pewno pamiętam że nie używałeś żadnego wzorca i masz tzw god class
Avatar
Oranż Metylowy 21.06.2019 22:26
czym jest god class?
Avatar
klasa Bóg
22:26
wszechpotężna
22:26
wszechmocna
22:26
robi wszystko bo może
Avatar
In object-oriented programming, a God object is an object that knows too much or does too much. The God object is an example of an anti-pattern. A common programming technique is to separate a large problem into several smaller problems (a divide and conquer strategy) and cre...
Avatar
ktoś kto to tak nazwał był chyba ateistą
Avatar
Oranż Metylowy 21.06.2019 22:27
ja
22:27
ale nie wiem na jaką klasę u mnie to przełożyć.. chodzi o api czy Application
Avatar
nie pamiętam 😄
Avatar
jak nie jesteś pewny to pewnie o obie
Avatar
a nie mam kodu teraz
22:28
a co masz w application że tak dużo masz?
Avatar
Oranż Metylowy 21.06.2019 22:29
po prostu nie jestem pewien o co chodzi.. o to że klasa jest baardzo długa i np pobiera wszystkie dane z dziennika? czy o to że w Application mam kilka obiektów do których uzyskuję dostęp z pozostałych miejsc w aplikacji (taki jakby singleton)?
22:30
mam tam np klienta http, gsona, jakieś sharedprefs, instancje api dzienników
Avatar
jak masz taką długą klasę, to znaczy że robisz w niej za dużo, tak jak wujek Bob powiedział
22:32
znaczy sory, poszedłem na uproszczenie
22:32
ale wiecie o co chodzi
Avatar
Oranż Metylowy 21.06.2019 22:32
wiem i zamierzam właśnie przejść na kotlina przenieść różne kawałki w osobne klasy. np logowanie, pobieranie ocen, pobieranie wydarzeń itp. Pozwoli mi to np mieć jedną metodę pobierania danych z kilkoma metodami logowania w librusie
Avatar
poprostu trudniej się w niej wtedy połapać dlatego wymyślono rożne wzorce aby oddzielić kod odpowiedzialny za widok, dostarczanie danych i pobieranie danych ze różnych źródeł
22:33
polecam ci się zapoznać ze wzorcami np MVP lub MVVM
Avatar
@Oranż Metylowy zamiast wrzucać wszystko tam powinieneś użyć daggera, który ci te obiekty wstrzyknie na żądanie tam gdzie potrzebujesz
22:33
dependency injection pattern
Avatar
ale dagger fajnie tylko musi ogranąć kod bo dagger wtedy nic nie pomoże
Avatar
ja teraz mvvm zamierzam ogarniać w mojej autorskiej aplikacji filmowy
Avatar
i mozna pracować bez daggera
Avatar
jasne, wszystko można
22:35
chodzi tylko o to, że czasem jest łatwiej z niektórymi rzeczami
22:35
i może sobie hehe np. zajrzeć do kodu wulkanowego i się zainspirować
Avatar
Oranż Metylowy 21.06.2019 22:35
znaczy wiesz.. teoretycznie mam pobieranie danych (api), widoki (np fragmenty) i dostarczanie danych (DAO) w osobnych miejscach... ale to chyba nie o to chodzi
Avatar
a my daggera mamy i w ogóle mvp rxjavy roomy i te sprawy
Avatar
ale też trzeba zrozumieć ich działanie
Avatar
Oranż Metylowy 21.06.2019 22:36
zanim się zainspiruję to muszę to ogarnąć
22:36
@mklkj co będzie robił filmowy?
Avatar
klient filmwebu, ale nowocześniejszy i w ogóle a Rafał sobie zażyczył, żeby dało się tam zaznaczać obejrzane odcinki serialów i żeby były powiadomienia o nowym odcinku/jak się sezon skończy
Avatar
@Oranż Metylowy to jest taki przykład jak może wyglądać działanie aplikacji w MVP
22:38
poprostu rozdzielenie odpowiedzialności
22:39
Filmweb ma całkiem fajną stronę internetową ale aplikację to mają do bani
Avatar
Oranż Metylowy 21.06.2019 22:39
nie wiem, korzystam z netflixa, kodi+yatse
Avatar
to nie do tego
Avatar
znaczy filmweb to jest taka baza filmów i seriali
Avatar
Oranż Metylowy 21.06.2019 22:40
wiem co to filmweb 😛
Avatar
bo zabrzmiało jakbyś nie wiedział
Avatar
Oranż Metylowy 21.06.2019 22:40
ale kodi łączy się z filmwebem, imdb, tvdb i pobiera opisy odcinków, ratingi itp.
22:41
yatse na androidzie mi to wyświetla w świetny sposób i pozwala na odtwarzanie
Avatar
dobra chłopcy na #offtopic
Avatar
Tak BTW skąd macie to apiKey vulcana?
Avatar
ze zdekompilowanej aplikacji dzienniczka- znaleźliśmy w internecie
Avatar
Gorzej jak go zmienią
Avatar
jak zmienią to ich apki przestaną działać
22:43
nie zrobią tego z dnia na dzień
Avatar
Oranż Metylowy 21.06.2019 22:43
zmienią to po wakacjach
22:43
ta nowa apka czymś musi się różnić
22:44
ale to już @Vulcan spy powinien wiedzieć
Avatar
może api v4
Avatar
Jak już mówiłem - wiem tylko tyle że mają ją w planach i że mieli szkolenie dt. Material Designu XD
Avatar
Oranż Metylowy 21.06.2019 22:45
i zabezpieczania połączeń przed dekompilowaniem i podszywaniem się pod apkę
Avatar
Hehe
Avatar
a będzie plus w nazwie?
Avatar
będzie ++
Avatar
dzienniczek#
Avatar
no to zrobimy dzienniczek--
22:53
@Vulcan spy nie wiesz jak sie bedzie nazywac?
Avatar
Oranż Metylowy 21.06.2019 22:54
Vinformacje
Avatar
Vdezinformacje
Avatar
Oranż Metylowy 21.06.2019 22:54
Czy tam vinformacja
Avatar
vdeformacje
Avatar
Dodacie do sdk planu lekcji wartość PlanUcznia=true/false z api vulcana?
14:11
bo teraz jak klasy mają podział na grupy to pokazuje sie zamiast 1 lekcji to 2
Avatar
zaraz dodam
14:44
użyj jako numeru wersji hasha ostatniego commita
14:44
czyli w tym przypadku aa732bf
Avatar
sdk.getStudentId(); po zalogowaniu zwraca mi 0
Avatar
to jest w zasadzie taki zwykły setter, którego stan możesz sprawdzić
15:07
to znaczy
15:07
studentId może być potrzebny api, ale api go samo nie ustawia
15:07
hm, nie pomyślałem, że to może być mylące
Avatar
czyli studentID musze jakoś z tego wyciągnąć? resultLogin = sdk.getStudents().blockingGet().toString();
Avatar
noo tak, Students() zwraca listę obiektów Student, które zawierają komplet danych, których musisz użyć do konfiguracji Sdk żeby wykonywać resztę zapytań (edited)
Avatar
jak te lekcje posortować według numerów xd?
Avatar
używasz javy 7 czy 8?
Avatar
Collections.sort(lessons,new Comparator<Lesson>(){ @Override public int compare(final Lesson first , final Lesson second) { return Integer.compare(first.getNumber(), second.getNumber()); });
10:44
tak to mniej więcej na javie 7 będzie wyglądać
Avatar
Oranż Metylowy 23.06.2019 10:51
W 8 tez Chyba że masz min api 24
Avatar
znaczy w javie 8 można zastosować lambdy 😄
Avatar
Oranż Metylowy 23.06.2019 10:52
Iii chyba zapomniałeś jednej }
10:52
A no chociaż coś
10:52
Ale.stream nie użyjesz
Avatar
ale można zrobić coś takiego
10:56
list.sort(Comparator.comparing(Lesson::getNumber));
Avatar
Oranż Metylowy 23.06.2019 10:56
lessons.sortBy { it.number } 😄
Avatar
no tak to kotlin 😄
10:57
w javie też coś takiego jest ale trzeba używać tego Comparatora nadal
10:57
java list.sort(Comparator.comparing(a -> a.getNumber());
Avatar
Oranż Metylowy 23.06.2019 10:59
Avatar
arduino to C++?
Avatar
Oranż Metylowy 23.06.2019 11:01
Tak
11:01
I 2kB ramu
11:01
Ale zabawka fajna (edited)
Avatar
based on this iOS applications (reusing code with Android) Embedded systems/IoT (e.g., Arduino and beyond) I wondered if there is progress? Just read that avr-llvm was merged into the main tree som...
11:09
no ale strony można pisać w kotlinie 😄
Avatar
można by naszego wulkanowego bota napisać w kotlinie hmm...
Avatar
Dominik Korsa 23.06.2019 11:19
Discordowego?
Avatar
no tak ale to tylko takie przemyślenia (edited)
Avatar
Dominik Korsa 23.06.2019 11:20
Jak nie checie stracić ważnego członka grupy bota Nazywa się chyba @Dominik Korsa to proponuję zostawić.
Avatar
nie prędzej zrobiłbym jakiegoś forka i zobaczył jak to działa i czy w ogóle to działa
11:22
po to jest github aby dzielić się kodem i eksperymentować
Avatar
sforkować swoje własne repo 🤔
Avatar
Czemu nie
12:35
Bot należy do organizacji a ja bym sforkowal prywatnie
Avatar
można też stworzyć branch'a osobnego
Avatar
Oranż Metylowy 23.06.2019 13:58
Wulkanowy Inc.
Avatar
cześć wam, mam kolejny głupi problem 😆 w emulatorze super wszystko działa logowanie ale jak odpale apke na telefonie (też android 9) już logowanie nie działa i mam null na students = sdk.getStudents().blockingGet();
22:19
sdk.setApiKey("CE75EA598C7743AD9B0B7328DED85B06"); sdk.setMode(Sdk.Mode.HYBRID); sdk.setSymbol("zielonagora"); sdk.setScrapperHost("vulcan.net.pl"); sdk.setEmail(txt_email); sdk.setPassword(txt_password); sdk.setDeviceName("Elektron++"); sdk.setSsl(true); students = sdk.getStudents().blockingGet();
Avatar
Dodałeś w manifestcie atrybut z cleartext communication?
Avatar
o a o tym nic mi nie było wiadomo xD
22:38
mam takie coś w manifest: android:usesCleartextTraffic="true"
Avatar
I z tym też nie działa?
22:38
to już miałem
Avatar
Masz ten jakiegoś try catcha?
22:38
Jakimś wyjątkiem powinno rzucić
Avatar
try { sdk.setApiKey("CE75EA598C7743AD9B0B7328DED85B06"); sdk.setMode(Sdk.Mode.HYBRID); sdk.setSymbol("zielonagora"); sdk.setScrapperHost("vulcan.net.pl"); sdk.setEmail("email");//txt_email sdk.setPassword("pass");//txt_password sdk.setDeviceName("Elektron++"); sdk.setSsl(true); students = sdk.getStudents().blockingGet(); certKey = sdk.getCertKey(); }catch (Exception e){e.printStackTrace();} (edited)
Avatar
I nie ma żadnego stacktracea?
Avatar
właśnie nie ma
Avatar
hasło schowaj
22:40
Ustaw setLogLevel()
22:40
Na Basic
Avatar
Oranż Metylowy 24.06.2019 22:40
kuurde nie zdążyłem
Avatar
Chociaż powinno być
22:40
Nie ma niczego w logcatcie?
22:40
No właśnie, logi pokaż
Avatar
eee? org.threeten.bp.zone.ZoneRulesException: No time-zone data files registered
Avatar
Masz w zależnościach threteen abp?
Avatar
Dałeś w głównej klasie Application Threeten.init(this)?
Avatar
nope 😃
Avatar
No to pasowałoby dodać xd
Avatar
dobra działa dzięki
Avatar
W ogóle co tam za konkurencje wulkanowego modzisz?
Avatar
dodatkowa funkcja apki szkolnej
Avatar
Czy .getExams() semestrID to 1 i 2?
22:50
1= pierwszy semestr, 2= drugi ?
22:50
bo coś mi nie dziła xD
22:51
ogólnie to trzeba użyć getSemesters() żeby pobrać listę semestrów
22:51
I stamtąd wyciągnąć semesterId
Avatar
Na śmierć zapomniałem i implementacji getSemesters() w wersji tylko Mode.API
Avatar
Oranż Metylowy 25.06.2019 22:53
aaa da się tak?
Avatar
ou error: cannot access Semester class file for io.github.wulkanowy.api.register.Semester not found
Avatar
@Oranż Metylowy wtedy bym zwracał tyko bieżący semestr xd
22:57
@wybran kod pokaż
Avatar
Oranż Metylowy 25.06.2019 22:57
no to stara sztuczka -1
Avatar
Sdk sdkExam = new Sdk(); sdkExam.setApiKey("CE75EA598C7743AD9B0B7328DED85B06"); sdkExam.setCertificate(vulcanCert); sdkExam.setCertKey(vulcanCertKey); sdkExam.setApiBaseUrl("https://lekcjaplus.vulcan.net.pl/zielonagora"); sdkExam.setMode(Sdk.Mode.API); sdkExam.setSchoolSymbol("001250"); sdkExam.setStudentId(vulcanStudentID); sdkExam.setClassId(vulcanClassID); semestry = new Gson().toJson(sdkExam.getSemesters());
Avatar
Co to jest semestry?
Avatar
String
Avatar
A, dobra, ogarniam
Avatar
tak samo pobieram timetable i wszystko jest git
Avatar
tak jak pisałem, nie ma jeszcze wersji getSemesters() w wersji Sdk.Mode.API
09:04
zaraz dopisze
Avatar
aa oki
Avatar
@wybran zaktualizuj sdk
Avatar
72abb94?
Avatar
nie, skąd to wziąłeś?
09:46
Kotlin SDK for VULCAN UONET+. Contribute to wulkanowy/sdk development by creating an account on GitHub.
09:46
tu znajdziesz ostatnie
09:46
albo na głównej stronie repa w tym miejscu
09:47
Avatar
dostałem takie coś: {"mapper":{},"source":{}}
09:52
nie moge tego sdkExam.getSemesters() do jsona robić?
Avatar
nie wiem, powinno się dać
10:05
po co w ogóle to do jsona wrzucasz?
Avatar
Tak jakoś chciałem zobaczyć
Avatar
jak zrobisz samo System.out.println(sdk.getSemesters()) to powinno się coś pokazać
10:07
Semester ma toString() zaimplementowane
Avatar
sdkExam.getSemesters().blockingGet().toString() daje null
13:51
sdkExam.getSemesters(); daje null
Avatar
żadnego wyjątku?
13:52
co jest w logach?
Avatar
o mam coś
13:53
java.lang.RuntimeException: java.net.UnknownHostException: Unable to resolve host "lekcjaplus.vulcan.net.plzielonagora": No address associated with hostname
13:53
ale tu jest z " / "
Avatar
bardzo dziwne
13:56
Kotlin SDK for VULCAN UONET+. Contribute to wulkanowy/sdk development by creating an account on GitHub.
13:56
ctrl+lewy przycisk myszy na metodzie getSemesters()
13:57
potem koło tych numerów linii klikasz i wybierasz to
13:57
potem aplikację tym odpalasz
Avatar
a kurde dałem Line
Avatar
i potem takie coś powinieneś zobaczyć
13:59
i napisz co masz w polach apiBaseUrl i symbol
14:00
line by też mogło być
Avatar
musisz jeszcze ręcznie ustawić symbol
14:01
sdk.setSymbol("symbol") (edited)
14:01
docelowo zrobię to tak, żeby nie trzeba było tego robić albo żeby w apiBaseUrl go nie było, zobaczymy
Avatar
no i super działa
14:03
dziękuje bardzo jak zawsze 😃
14:07
Czy teraz we wrześniu będę mieć drugi obiekt z tym semestrem, czy ten zmieni swoją wartość?
Avatar
jak nie zaktualizujesz sdk to się zmieni, ale chce zrobić żeby były zawsze przynajmniej 2 z pierwszym i drugim semestrem (edited)
Avatar
siema, czy normalne jest to że przy logowaniu przez sdk zawsze tworzą mi się po 2 dostępy mobilne?
Avatar
Nie, to jeszcze niedopracowane. Trzeba poprawić
15:32
Masz dwóch uczniów na koncie?
Avatar
gim i technikum
Avatar
Bo teraz sdk loguje się po kolei na każdego ucznia i rejestruje dla każdego po jednym urządzeniu mobilnym
16:36
Trzeba to zoptymalizować
Avatar
Cześć czy będzie to dostępne w sdk?
Avatar
Nie będę miał dostępu już do konta z takim aktywnym uczniem
16:23
Ale gdybyś pomógł to można by dodać
Avatar
Oranż Metylowy 08.08.2019 16:23
A SDK to nie jest mobilne api?
Avatar
SDK ma tryb HYBRID
16:24
Scrapper + mobilne API
Avatar
Oranż Metylowy 08.08.2019 16:24
I przypadek że właśnie przejeżdżałem obok autobusu z dużym napisem "HYBRID"🤔
Avatar
To była reklama
16:24
@wybran to screen z teraz?
Avatar
Otwórz źródło strony (nie Inspektora ani zbadaj element i spróbuj znaleźć kod HTML tego kafelka (edited)
Avatar
Oranż Metylowy 08.08.2019 16:27
A w nowym uczniu tego nie ma nigdzie? Dni wolnych?
Avatar
Jest, ale musiałbyś po kolei tygodnie scrappować
16:27
A tu jest tak zbiorczo
16:28
Podobnie jak kafelek z ostatnimi nieobecnościami
Avatar
Oranż Metylowy 08.08.2019 16:28
Hm no ja już tak musiałem robić XD
16:28
Po kolei każdy tydzień od początku roku, będąc w maju
Avatar
Mobilne API zwraca info o dniu wolnym?
Avatar
Oranż Metylowy 08.08.2019 16:28
Niee
Avatar
A to z frekwencją
16:29
To wyjaśnia czemu odświeżanie jego u ciebie trochę dłużej trwa niż innych danych
Avatar
Oranż Metylowy 08.08.2019 16:29
Masz MobiDziennik?🤔
Avatar
Nie, tylko Vulcan
16:30
Ale było czuć lekko dłuższy response jak pobierasz frekwencje od początku roku
Avatar
Oranż Metylowy 08.08.2019 16:31
To musi być przypadek bo takie dziwne rozwiązanie jest tylko w Mobi. Poza tym, nie pobieram wszystkich tygodni za każdym razem. sztuczna inteligencja wybiera które tygodnie pobrac
16:31
Może przez dużą ilość danych i wkładanie ich do bazy..
Avatar
To jak inaczej obliczasz procent frekwencji?
Avatar
tu wyglada tak
Avatar
Ta, tylko te kafelki są we vue
16:33
Dlatego pytam o źródło
Avatar
Oranż Metylowy 08.08.2019 16:33
Ctrl+u
Avatar
ok to szukam
Avatar
W sumie gdyby leciało to później jsonem to by było lepiej dla nas
Avatar
Oranż Metylowy 08.08.2019 16:34
Procent frekwencji obliczam ręcznie, licząc po kolei wszystkie kategorie. W przypadku vulcana nie licząc bodajże zwolnień albo spóźnień 🤦
Avatar
Ale mi chodzi, że musisz je najpierw pobrać ze wszystkich dni na początku xd
Avatar
Oranż Metylowy 08.08.2019 16:35
Noo tak ale to jest jedno wielkie zapytanie
16:36
Chyba
Avatar
Noo tak, da się tak
16:36
Które trwa chwilę dłużej, booo... bo tak
Avatar
Oranż Metylowy 08.08.2019 16:37
Bo serwer musi zebrać archiwalne dane
16:37
Odpalić stare dyski
16:37
Nie wiem czemu
Avatar
<!-- Dni wolne --> <div v-if="tiles.freeDays.showForWorker tiles.freeDays.showForClient" v-show="tiles.freeDays.showForWorker && filter.worker tiles.freeDays.showForClient && filter.client" class="panel kalendarz pracownik klient"> <div class="imagedHeader"> <div class="dniwolneImg appImg"></div> <div class="name">Najbliższe dni wolne</div> <div v-show="!tiles.freeDays.open" style="float: right; cursor: pointer;" v-on:click="openTile('freeDays')"><i class="fas fa-angle-double-down"></i></div> <div v-show="tiles.freeDays.open" style="float: right; cursor: pointer;" v-on:click="closeTile('freeDays')"><i class="fas fa-angle-double-up"></i></div> </div> <div v-show="tiles.freeDays.open" class="separator"></div> <div v-show="tiles.freeDays.open && !tiles.freeDays.source.length" class="subDiv pCont">Brak danych do wyświetlenia</div> <div v-show="tiles.freeDays.open" class="subDiv pCont"> <div v-for="item in tiles.freeDays.source"> <div v-show="item.Nazwa" class="headerMain"> <div class="name">{{item.Nazwa}}</div> </div> <div class="subDiv pCont"> <div class="subDiv" v-for="el in item.Zawartosc"> <span>{{el.Nazwa}}</span> </div> </div> </div> </div> </div>
16:47
o a tego jeszcze nie widziałem: (edited)
16:47
<!--Zagrozenia ucznia--> <div v-if="tiles.studentThreats.showForWorker tiles.studentThreats.showForClient" v-show="tiles.studentThreats.showForWorker && filter.worker tiles.studentThreats.showForClient && filter.client" id="panel_zagrozen" class="panel zagrozenia klient szary"> <div class="imagedHeader"> <div class="zagrozeniaImg appImg"></div> <div class="name">Zagrożenia</div> <div v-show="!tiles.studentThreats.open" style="float: right; cursor: pointer;" v-on:click="openTile('studentThreats')"><i class="fas fa-angle-double-down"></i></div> <div v-show="tiles.studentThreats.open" style="float: right; cursor: pointer;" v-on:click="closeTile('studentThreats')"><i class="fas fa-angle-double-up"></i></div> </div> <div v-show="tiles.studentThreats.open" class="separator"></div> <div v-show="tiles.studentThreats.open && !tiles.studentThreats.source.length" class="subDiv pCont">Brak danych do wyświetlenia</div> <div v-show="tiles.studentThreats.open" class="subDiv pCont"> <div v-for="item in tiles.studentThreats.source"> <div v-show="item.Nazwa" class="headerMain"> <div class="name">{{item.Nazwa}}</div> </div> <div class="subDiv pCont"> <div class="subDiv" v-for="el in item.Zawartosc"> <span>{{el.Nazwa}}</span> </div> </div> </div> </div> </div>
Avatar
Oranż Metylowy 08.08.2019 16:48
Hmm tutaj nie ma samej zawartości
Avatar
Ta, tylko to jest szablon
Avatar
Oranż Metylowy 08.08.2019 16:48
Ciekawe to
Avatar
'freeDays': { source: [], open: true, showForWorker: false, showForClient: true, name: 'freeDays', action: 'GetFreeDays'
Avatar
aa dobra, wszystko jasne
16:51
@Fajerbejs mamy pomysł na ekran startowy w wulkanowym
Avatar
Oranż Metylowy 08.08.2019 16:52
{"data":[{"IkonkaNazwa":null,"Num":null,"Zawartosc":[{"IkonkaNazwa":null,"Num":null,"Zawartosc":[],"Nazwa":"Czwartek (15.08.2019) - Wniebowzięcie Najświętszej Maryi Panny","Url":null,"Symbol":null,"Nieaktywny":false}],"Nazwa":"","Url":null,"Symbol":null,"Nieaktywny":false}],"success":true,"errorMessage":null,"feedback":null}
Avatar
oo i szczęśliwy numerek w jsonie
16:52
@Librus
Avatar
Jaki pomysł
Avatar
przenieść jeden do jednego kafelki z głównej strony po zalogowaniu, w czym pomogą nam endpointy, których screen wysłałem wyżej
Avatar
Oranż Metylowy 08.08.2019 17:46
1.0 chyba jeszcze trochę poczeka, prawda? (edited)
Avatar
plan był na początek roku szkolnego
17:47
ale
17:47
zobaczymy
17:47
nikt nam przecież za to nie płaci
Avatar
Oranż Metylowy 08.08.2019 17:47
Dofinansowanie sobie weźcie
17:50
Planujecie coś po 1.0?
Avatar
Trochę wersja 1.0 się opóźni bo przyznam się że przeprowadzam się do Łodzi bo dostałem tam pracę
Avatar
Oranż Metylowy 08.08.2019 17:52
(czyli po przeniesieniu wszystkich funkcji dziennika)
Avatar
Przeniesienie funkcji to jedno ale chce poprawić wygląd i sposób nawigowania w apce
Avatar
@wybran dodałem te te te, powinno działać, sprawdź ostatnią wersję sdk
Avatar
Oo super wieczorem sprawdzę
Avatar
Na Sdk.Mode.HYBRID .getFreeDays().blockingGet().toString() dostaje nulla
Avatar
pokaż logi
Avatar
a dobra mam błąd
23:25
System.err: io.github.wulkanowy.api.ApiException: Email and password are not set
23:25
to na HYBRID musze ustawiąc email i hasło?
Avatar
no a jak chcesz się zalogować bez tego?
23:25
nic się nie zmieniło pod tym względem
Avatar
You must first specify LoginType before logging in
23:35
sdkHome.setLoginType();
23:35
co mam tam w te ( ) dać ?
Avatar
powinieneś mieć podpowiedzi w AS
23:37
Kotlin SDK for VULCAN UONET+. Contribute to wulkanowy/sdk development by creating an account on GitHub.
Avatar
w logach łączy mi się z fakelog.cf D/OkHttp: --> GET https://uonetplus.fakelog.cf/zielonagora/Start.mvc/GetFreeDays h2 D/OkHttp: <-- 404 https://uonetplus.fakelog.cf/zielonagora/Start.mvc/GetFreeDays (186ms, unknown-length body)
23:43
a mam ustawione sdkHome.setApiBaseUrl("https://lekcjaplus.vulcan.net.pl/zielonagora");
Avatar
musisz osobno ustawić dla scrappera
23:44
Kotlin SDK for VULCAN UONET+. Contribute to wulkanowy/sdk development by creating an account on GitHub.
23:45
nie robiłeś tego już?
Avatar
no nie
23:54
java.lang.RuntimeException: io.github.wulkanowy.api.interceptor.VulcanException: Wystąpił nieoczekiwany błąd. Wystąpił błąd aplikacji. Prosimy zalogować się ponownie. Jeśli problem będzie się powtarzał, prosimy o kontakt z serwisem.
23:55
Może źle adres ustawiłeś
23:55
Nie ma jeszcze zrobionej walidacji tych pól
23:55
dobry adres
Avatar
Wygląda jakby nie zalogowało
23:56
Hmm
Avatar
czym się różnią te Sdk.ScrapperLoginType.
23:57
mam teraz Sdk.ScrapperLoginType.STANDARD
Avatar
Przy getStudents() powinieneś dostać w każdym obiekcie takiego enuma
23:58
Różne dzienniki mają inny wygląd ekranu logowania
00:00
Inne rzeczy działają? Ustaw mode na Scrapper
Avatar
działają
Avatar
getLastGrades() też?
Avatar
wszystko dziła tylko nie te nowe rzeczy z home vulcana
Avatar
Sprawdzę to jeszcze dokładniej jutro
Avatar
ok dzięki
Avatar
O kurde coś nowego wprowadzili? To GetFreeDays
02:11
Aaa to dlatego szczęśliwy numerek nie działał
02:11
W życiu bym nie pomyślał żeby sprawdzić requesty
02:11
Nie spodziewałem się tego naprawdę O.o
Avatar
@wybran ogarnąłem
19:44
zaktualizuj do 5b8665c
Avatar
oo już aktualizuje
Avatar
kurde co jest
19:55
ERROR: Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.github.wulkanowy:sdk:5b8665c.
Avatar
Spróbuj jeszcze raz
Avatar
no nie idzie cały czas, może za parę minut dopiero coś
Avatar
wszystko działa już
20:18
dzięki!
Avatar
siema, Vulcan znowu coś zmienił i nie dziła już w sdk pobieranie tych kafelków z głównej typu ostatnie oceny
15:17
Avatar
coś z tym już próbowałem robić
15:21
aktualizowałeś sdk do ostatniego commita?
Avatar
nie, tylko widze ze mi w aplikacji nie dziła pobieranie
Avatar
sprawdź czy jak najpierw pobierzesz np. listę sprawdzianów, a potem te ostatnie oceny z kafelka, to czy zadziała
Avatar
oni wogle zrobili teraz tak że ten .json sie dopiero pobiera po naciśnięciu i otwarciu danego kafelka
15:23
a wcześniej się pobierało wszystko od razu po otwarciu strony głownej
Avatar
optymalizacja
15:24
bo trochę tych requestów po zalogowaniu się robiło
15:25
w ogóle to jest zepsute teraz, bo jak wejdziesz na stronę, która jest widoczna po zalogowaniu, ale nie będziesz zalogowany, to dostajesz „nieznany błąd” zamiast przekierowanie na stronę logowania
Avatar
Polska oświata
15:26
¯\_(ツ)_/¯
Avatar
https://uonetplus.vulcan.net.pl/zielonagora/Start.mvc/GetLastNotes wcześniej też jak wchodziłem na ten link będąc zalogowany w 2 karcie dostawałem plik .json a teraz Wystąpił nieoczekiwany błąd
Avatar
D/OkHttp: <-- 200 https://uonetplus.vulcan.net.pl/zielonagora/Start.mvc/GetLastTests (60ms, 1074-byte body) W/System.err: java.lang.RuntimeException: io.github.wulkanowy.api.login.NotLoggedInException: Wystąpił nieoczekiwany błąd} w każdym kafelku to samo :/
Avatar
zrób podczas tej samem sesji wcześniej pobranie frekwencji czy coś
16:04
bo przez ten błąd vulcana, api nie wie, że użytkownik nie jest zalogowany i nie próbuje nawet logować
🇯 1
🇩 1
Avatar
dalej to samo
Avatar
pokaż logi od pierwszego requestu
Avatar
na pewno masz ostatnią wersję sdk?
16:31
powinieneś mieć 96544d1
Avatar
a dobra mam 5b8665c
16:35
ok dziła, dzięki 🙂
Avatar
siema, zaktualizowałem do najnowszego commita i mam problem
14:29
robie sdk.setScrapperBaseUrl("https://vulcan.net.pl");
14:29
i dostaje błąd Expected URL scheme 'http' or 'https' but no colon was found at okhttp3.HttpUrl$Builder.parse(HttpUrl.java:1333)
Avatar
Bardzo dziwne
14:31
Którą masz dokładnie wersję?
Avatar
com.github.wulkanowy:sdk:cb195f3
Avatar
Dziwne, u mnie działa
14:38
Sprawdzę to
Avatar
@mklkj A nie wiaze sie to moze z tym moim problemem z sdk (zostal juz naprawiony)
Avatar
Jakiś związek na pewno ma
Avatar
nie ale serio, to powinno działać
18:31
w wulkanowym działa, w testach też działa
18:31
Kotlin SDK for VULCAN UONET+. Contribute to wulkanowy/sdk development by creating an account on GitHub.
18:35
@wybran jakie masz jdk?
18:36
i kiedy dokładnie ten błąd dostajesz
Avatar
bo chyba ja coś źle się wogle loguje
16:43
kiedyś to inaczej było .getStudents
16:43
a teraz daje tak: students = sdk.getStudentsHybrid(txt_email, txt_password, "https://vulcan.net.pl/", "zielonagora", "CE75EA598C7743AD9B0B7328DED85B06").blockingGet();
16:44
i jest błąd
16:44
D/OkHttp: --> POST https://lekcjaplus.vulcan.net.pl/zielonagora/mobile-api/Uczen.v3.UczenStart/ListaUczniow (196-byte body) D/OkHttp: <-- 400 https://lekcjaplus.vulcan.net.pl/zielonagora/mobile-api/Uczen.v3.UczenStart/ListaUczniow (304ms, 11-byte body) W/System.err: retrofit2.adapter.rxjava2.HttpException: HTTP 400 W/System.err: at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:54)
Avatar
zmieniłem ostatnio
16:45
to tamtego błędu już nie ma?
Avatar
nie no jest ale teraz dopiero zobaczyłem że logowanie nie działa wogle
16:51
czemu mi to getStudentsHybrid wywala 😦
16:51
16:51
to jest dobre?
Avatar
raczej tak
16:51
ale po logu wnioskuję, że coś przy pobieraniu tokena nie działa
Avatar
bo tak wcześniej miałem sdk.setSymbol("zielonagora");
Avatar
przy pierwszym logowaniu jest spoko, specjalnie zmieniłem to tak, żeby było od razu widać jakie dane są potrzebne do logowania, a nie zgadywać które właściwości obiektu są wymagane
16:53
ale urządzenie mi jakieś dodało do konta
Avatar
okej, w takim razie request po listę uczniów nie działa
16:54
jak coś to prawie na pewno bug w sdk
Avatar
mam 2 szkoły jak coś na koncie
16:54
ale wcześniej działało normalnie z dwoma
Avatar
może dlatego się wywala, bo coś zmieniałem w tamtym miejscu
16:56
chciałem coś zrobić, żeby nie rejestrowało niepotrzebnie tyle razy urządzenia
16:56
ej możesz sprawdzić, czy na tej wersji apki masz ten sam błąd? https://app.bitrise.io/artifact/26584940/p/8dba9a0ed86134bf4c978091c4d86be1 (edited)
Bitrise is a cloud based automatic app builder and distribution system
Avatar
już pobieram
16:58
tu działa
16:59
pyta się którą szkołę chce i dostaje oceny swoje itp
16:59
ajednak nie
17:00
jak wybrałem Hybrydowe
17:00
to mam to samo
17:00
wywala błą
Avatar
jaki tam stacktrace jest?
Avatar
retrofit2.adapter.rxjava2.HttpException: HTTP 400 at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:54) at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37) at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:47) at io.reactivex.Observable.subscribe(Observable.java:12285) at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34) at io.reactivex.Observable.subscribe(Observable.java:12285) at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35) at io.reactivex.Single.subscribe(Single.java:3666) at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34) at io.reactivex.Single.subscribe(Single.java:3666) at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34) at io.reactivex.Single.subscribe(Single.java:3666) at ...
Avatar
okej, czyli bug w sdk
17:03
ile razy ci tym razem zarejestrowało urządzeń?
17:03
przy logowaniu
17:04
a musze sie tym hybrydowym logować?
Avatar
jeśli chcesz używać hybrydowego trybu, to tak
Avatar
bo chce głównie te kafelki z głównej strony pobierać
Avatar
to wtedy powinien wystarczyć ci tryb scrapper
17:05
ale ten, poczekaj jeszcze
17:05
pomożesz mi naprawić ten błąd co znalazłeś
Avatar
zaraz wyślę lekko zmodyfikowaną wersję i sprawdzisz czy się coś zmieniło
17:11
@wybran 2df19f7
DrakeHyperYea 1
Avatar
to samo
17:15
D/OkHttp: <-- 200 https://lekcjaplus.vulcan.net.pl/zielonagora/mobile-api/Uczen.v3.UczenStart/Certyfikat (561ms, 2877-byte body) D/OkHttp: --> POST https://lekcjaplus.vulcan.net.pl/zielonagora/mobile-api/Uczen.v3.UczenStart/ListaUczniow (196-byte body) D/OkHttp: <-- 400 https://lekcjaplus.vulcan.net.pl/zielonagora/mobile-api/Uczen.v3.UczenStart/ListaUczniow (323ms, 11-byte body) W/System.err: retrofit2.adapter.rxjava2.HttpException: HTTP 400 W/System.err: at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:54) at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37) at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:47) at io.reactivex.Observable.subscribe(Observable.java:12267)
Avatar
te różne szkoły są w tym samym symbolu?
Avatar
no to w takim razie ab5c08f @wybran
solve 1
Avatar
D/OkHttp: --> GET http://komponenty.vulcan.net.pl/UonetPlusMobile/RoutingRules.txt D/OkHttp: <-- 200 OK http://komponenty.vulcan.net.pl/UonetPlusMobile/RoutingRules.txt (126ms, unknown-length body) D/OkHttp: --> POST https://lekcjaplus.vulcan.net.pl/zielonagora/mobile-api/Uczen.v3.UczenStart/Certyfikat (459-byte body) D/OkHttp: <-- 200 https://lekcjaplus.vulcan.net.pl/zielonagora/mobile-api/Uczen.v3.UczenStart/Certyfikat (901ms, 2877-byte body) D/OkHttp: --> POST https://lekcjaplus.vulcan.net.pl/zielonagora/mobile-api/Uczen.v3.UczenStart/ListaUczniow (196-byte body) D/OkHttp: <-- 400 https://lekcjaplus.vulcan.net.pl/zielonagora/mobile-api/Uczen.v3.UczenStart/ListaUczniow (283ms, 11-byte body) W/System.err: retrofit2.adapter.rxjava2.HttpException: HTTP 400 W/System.err: at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:54) W/System.err: at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37) at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:47) at io.reactivex.Observable.subscribe(Observable.java:12267) at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34) at io.reactivex.Observable.subscribe(Observable.java:12267) at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35) at io.reactivex.Single.subscribe(Single.java:3666)
Avatar
wklej loga od początku na https://hastebin.cf (edited)
Avatar
ustaw dla Sdk.logLevel = HttpLoggingInterceptor.Level.BODY
17:29
i interesuje nas response dla Uczen.v3.UczenStart/Certyfikat i request do Uczen.v3.UczenStart/ListaUczniow
17:30
a i jak możesz to sprawdź jeszcze w tej wersji wulkanowego czy działa tryb Mobile API
Avatar
nie moge cos tego .logLevel
Avatar
val sdk = Sdk() (edited)
17:31
sdk.logLevel
Avatar
a dobra jest .setLogLevel
Avatar
sory zapominam że używasz javy xd
Avatar
ej no nie wiem jak to w javie zrobić
17:33
HttpLoggingInterceptor
17:33
nie mam czegoś takiego
17:35
Mobile API w tym Wulkanowy DEV też nie działa, to samo jest
Avatar
sory, zapomniałem jeszcze o jednym
17:39
implementation "com.squareup.okhttp3:logging-interceptor:3.12.6"
17:39
dodaj na chwilę do zależności
17:39
muszę zrobić tak, żeby nie trzeba było tego robić
solve 1
Avatar
968d85b
solve 1
Avatar
działa!
18:21
18:21
zalogowało ale nie pobiera mi danych
18:21
powiedz mi co jest wymagane do pobierania tych kafelków
18:21
bo etraz mam tak:
18:22
sdkHome.setLoginType(Sdk.ScrapperLoginType.STANDARD); sdkHome.setMode(Sdk.Mode.SCRAPPER); sdkHome.setSymbol("zielonagora"); sdkHome.setEmail(vulcanEmail); sdkHome.setPassword(vulcanPassword); sdkHome.setSchoolSymbol("001250"); sdkHome.setStudentId(vulcanStudentID); sdkHome.setClassId(vulcanClassID); sdkHome.setScrapperBaseUrl("https://vulcan.net.pl");
18:22
pewnie niektóre nie są tu wogle potrzebne
18:23
no i robie potem sdkHome.getLastExams().blockingGet() i dostaje nulla
18:23
W/System.err: io.github.wulkanowy.sdk.scrapper.ScrapperException: Student or/and diaryId id are not set at io.github.wulkanowy.sdk.scrapper.service.ServiceManager.prepareStudentService(ServiceManager.kt:104) at io.github.wulkanowy.sdk.scrapper.service.ServiceManager.getStudentService(ServiceManager.kt:92)
18:24
o mam jednak błąd
18:24
diaryId to to samo co StudentID?
Avatar
nie, to co innego
18:27
potrzebujesz semestry jeszcze pobrać
18:27
czekaj
Avatar
a to mam też
Avatar
Kotlin SDK for VULCAN UONET+. Contribute to wulkanowy/sdk development by creating an account on GitHub.
Avatar
to w diary id dać semstr?
Avatar
zrobiłem mały tutorial
18:30
musisz pobrać listę semestrów i w nich będzie id semestru
Avatar
no i teraz pobieram już semstry, biore aktualny i dostaje taki błąd: D/OkHttp: <-- 200 https://uonetplus-uczen.vulcan.net.pl/zielonagora/001250/Oceny.mvc/Get (166ms, 48-byte body) W/System.err: java.lang.NullPointerException: The mapper function returned a null value. W/System.err: at io.reactivex.internal.functions.ObjectHelper.requireNonNull(ObjectHelper.java:39) at io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:57) at io.reactivex.internal.operators.single.SingleFlatMap$SingleFlatMapCallback$FlatMapSingleObserver.onSuccess(SingleFlatMap.java:111) at io.reactivex.internal.operators.single.SingleJust.subscribeActual(SingleJust.java:30) at io.reactivex.Single.subscribe(Single.java:3666)
18:49
to chcę pobrać: sdkHome.getGradesSummary(semestr).blockingGet()
Avatar
co dokładnie masz w zmiennej semestr?
Avatar
Integer semestr = 7347;
18:50
to jest to DiaryID z jsona
Avatar
data class Semester( val diaryId: Int, val diaryName: String, val schoolYear: Int, val semesterId: Int, val semesterNumber: Int, val current: Boolean, val start: LocalDate, val end: LocalDate, val classId: Int, val unitId: Int )
18:51
val diaryId
18:51
val semesterId
18:51
to są dwie różne rzeczy
Avatar
aaa xd
18:54
i teraz działa, dzięki 🙂
Avatar
też dzięki za znalezienie buga xd
Avatar
@doteq jak ci idzie implementacja przywracania hasła?
Avatar
Wciągnąłem się w wiedźmina, przepraszam 🙈
Avatar
mklkj tesco value 12.12.2019 13:39
w vulcanie od dzisiaj/wczoraj już nie można się przełączać pomiędzy mailami nie znając linka do tego
13:39
13:39
13:41
jak ręcznie przejdę na https://uonetplus.eszkola.opolskie.pl/opole/LoginEndpoint.aspx?rebuild=[drugi_mail] to działa
13:42
ale trzeba ten link znać, a powinien być w takim kafelku
13:42
Avatar
W wulkanowym działa?
13:44
Bo powinno być chyba odporne na takie zmiany
Avatar
mklkj tesco value 12.12.2019 13:44
działa z ||
13:44
ale to tak od zawsze
Avatar
Btw wypróbuj builda z sdk-integration z #bot jeśli jeszcze tego nie zrobiłeś
13:46
Odświeżanie ocen i innych rzeczy w trybie hybrid powinno być dużo szybsze u ciebie (edited)
Avatar
mklkj tesco value 12.12.2019 13:47
to daj linka bo ja chyba z gplay zainstalowałam
13:48
czekaj, hybrid?
13:48
że i api i www?
Avatar
Tak, co się da przez api a resztę scrapper (edited)
Avatar
mklkj tesco value 12.12.2019 13:49
nice
Avatar
mklkj tesco value 12.12.2019 13:55
to coś zepsuliście xD
13:56
zaraz po zalogowaniu
13:56
13:57
urządzenie się zarejestrowało
13:57
14:01
Jak będziesz mógł to wyślij logcata
14:02
adb logcat -s "Wulkanowy"
14:05
@mklkj tesco value w trybie scrapper działa?
Avatar
mklkj tesco value 12.12.2019 14:16
scrapper się wysypuje
14:16
API działa
Avatar
Scrapper na tym samym, czy coś innego?
Avatar
mklkj tesco value 12.12.2019 14:18
An unexpected error, skopiowałam teraz i zaraz dam linka
Avatar
ooo
14:19
😄
Avatar
XDDDD
Avatar
mklkj tesco value 12.12.2019 14:20
w logcat tylko doszedł ten request
14:20
12-12 14:18:21.566 19849 21458 D Wulkanowy: --> POST https://uonetplus-uczen.eszkola.opolskie.pl/opole/OpoleZSE/Oceny.mvc/Get (14-byte body) 12-12 14:18:22.180 19849 21458 D Wulkanowy: <-- 200 OK https://uonetplus-uczen.eszkola.opolskie.pl/opole/OpoleZSE/Oceny.mvc/Get (611ms, 257-byte body)
Avatar
(gdyby ktoś nie znał https://youtu.be/4V2C0X4qqLY )
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
14:21
Pierwszy raz widzę taki błąd
14:21
Jaki to Android?
Avatar
mklkj tesco value 12.12.2019 14:25
Android 9, LineageOS with microG 16
Avatar
wersja z GP działa normalnie?
Avatar
mklkj tesco value 12.12.2019 14:28
tak, tylko sprawdzę jaka to jest konkretnie
14:29
ok fajnie, dev mi wysłał powiadomienie push o ocenach teraz xDDDDDDD
14:29
0.12.0
Avatar
zaaktualizuj do 0.13.0
14:30
powinna być na GP a jak nie to z naszej strony
Avatar
mklkj tesco value 12.12.2019 14:31
to zrobię jak aurorę naprawią bo mi się wyjebała xD
Avatar
mklkj tesco value 17.12.2019 21:37
luźna propozycja - opcja "podłączenia się" do osobnego serwera obsługującego specyficzne dla szkoły integracje
Avatar
mów dalej
Avatar
mklkj tesco value 17.12.2019 21:38
np. niepytane numerki, jeśli nie są ustawiane w dzienniku tylko na stronie szkoły
Avatar
bo nic prócz jakichś super specyficznych rzeczy, których nie dałoby się użyć gdziekolwiek indziej nie przychodzą mi do głowy
21:39
jakby to mogło działać?
21:40
przychodzi mi na myśl określenie jakiegoś standardu serwera pośredniczącego, który działałby np. per szkoła
21:40
wulkanowy mógłby posiadać adresy tych serwerów i zależnie od tego czy dla danej szkoły taki serwer istnieje, pobierać z niego dodatkowe dane
21:40
brzmi fajnie
Avatar
mklkj tesco value 17.12.2019 21:41
powiedzmy że użytkownik ustawia sobie adres integracji na https://selfisekai.rocks/wulkanowy-integration/opolezse
21:42
{ "integrations": ["lucky_number"] }
21:43
https://selfisekai.rocks/wulkanowy-integration/opolezse/lucky_numer: { "lucky_number": "21" "lucky_number_future": { "tommorow": "37" } }
21:44
a serwer scrapuje ze strony, np. takiej jak tutaj
21:44
Avatar
to mogłoby być naprawdę niezłe
Avatar
Oranż Metylowy 17.12.2019 21:45
też o tym myślałem jakiś tydzień temu
21:45
konkretnie o numerku (edited)
Avatar
żadna inna apka by tego nie miała
21:45
z mojej byłej szkoły dodałbym jeszcze opcję zastępstw ze strony szkoły
Avatar
mklkj tesco value 17.12.2019 21:46
ja do swojej już w sumie napisałam nawet parser
Avatar
do tego pasowałby chyba osobny klient, nie? żeby nie mieszać w to już wulkanowy/sdk które miało się tylko komunikować z vulcanem, a nie jakimiś innymi serwerami (edited)
Avatar
Wulkanowy bot BOT 17.12.2019 21:49
Kotlin SDK for VULCAN UONET+
Gwiazdki
3
Avatar
@Fajerbejs
Avatar
co?
Avatar
co myślisz o tym? Klient poszerzający api vulcana w osobnej libce czy zintegrowany w sdk?
Avatar
Oranż Metylowy 18.12.2019 12:22
Integracja z librusem
Avatar
nie podpuszczaj mnie
Avatar
Oranż Metylowy 18.12.2019 16:36
Mam nadzieję że w końcu to dodacie
16:36
Przed końcem roku
Avatar
Może i librus w przyszłości byłby fajna rzecza
22:51
Ale to wtedy musiałby być kompletnie nowy projekt
22:51
Librusowy
Avatar
Oranż Metylowy 18.12.2019 23:02
szkolny
23:02
uniwersalnie
Avatar
Sam nie wiem która nazwa jest gorsza
Avatar
Oranż Metylowy 18.12.2019 23:07
wulkanowy vs szkolny vs librusowy
Avatar
wulkanowy to okropna nazwa
23:09
kto to w ogóle wymyślił
Avatar
Oranż Metylowy 18.12.2019 23:10
wy?
23:10
dlaczego okropna
Avatar
Lepsza niż szkolny albo librusowy
23:12
Ale źle się o tej apce rozmawia z tą nazwą, fakt
Avatar
Ludzie nie ogarniają tej gry słów, niektórzy nawet mylą vulcan z wulkanowym, tworząc coś pośredniego jak "wulkan". Z jednej strony to dobrze dla nas, co się kojarzy jednoznacznie, a z drugiej to przekleństwo, bo ciężko zrozumieć o co chodzi jak ktoś nie widzi różnicy
Avatar
Bo "wulkanowy dzienniczek" jest za długie a samo "wulkanowy" brzmi dziwnie
23:13
Bynajmniej na moje
Avatar
Oranż Metylowy 18.12.2019 23:13
zbyt ambitna może
Avatar
Chciałem kiedyś napisać całą poprawną deklinację na naszej stronie domowej, żeby odsyłać tam ludzi, którzy robią to źle
Avatar
Oranż Metylowy 18.12.2019 23:14
XD
Avatar
W sumie to ma sens
23:14
Ale do tego by trzeba dodać słowniczek co jest czym (edited)
Avatar
Oranż Metylowy 18.12.2019 23:16
niby samo szkolny się dobrze odmienia i łatwo mówi, ale tego .eu to nikt chyba nie wymawia
23:16
to takie zbędne trochę
Avatar
Może
23:17
Ale mi by jakoś samo szkolny nie pasowało
Avatar
tld w nazwie aplikacji jest rzadko spotykane
23:18
Tak jakby w nazwie apki Facebooka było na końcu com, albo Allegro pl
Avatar
Oranż Metylowy 18.12.2019 23:18
OLX.pl
23:19
TheMemeBay.tk
23:19
wszystkie gry .io
23:19
😄
Avatar
Vinted i Gumtree się sprzedało
Avatar
Oranż Metylowy 18.12.2019 23:20
olx po zainstlaowaniu ma .pl
Avatar
@mklkj tesco value możesz jeszcze raz wysłać loga z tego błędu logowania?
Avatar
mklkj tesco value 21.12.2019 14:55
@mklkj z czego?
Avatar
To samo co wtedy, tylko może wklej na hastebin.cf
Avatar
mklkj tesco value 21.12.2019 14:58
nie mam zapisanych nigdzie
14:58
i co najlepsze nie chce mi się zreprodukować na tym samym apk xDDDD
14:59
po prostu działa teraz
Avatar
W takim razie problem fixed
14:59
Zamykam
Avatar
mklkj tesco value 21.12.2019 15:00
następnym razem użyj opcji szukaj
Avatar
Wypróbowałeś wszystkie tryby logowania?
15:01
W miarę możliwości wyczyść dane aplikacji przed logowaniem w innym trybie (edited)
Avatar
mklkj tesco value 21.12.2019 15:31
scrapper zadziałał
15:31
hybrid zadziałał
15:36
albo nie
15:36
z czyszczeniem danych scrapper sam działa
15:37
ale hybrid się sypie
15:43
samo api działa
15:43
🤔
Avatar
@mklkj
Avatar
mklkj tesco value 21.12.2019 15:44
kurwa, jak mi życie utrudniają starzy czasami
15:44
dajcie mi chwilę
15:44
15:45
to się wywaliło na hybrid postawionym po wyczyszczeniu danych
Avatar
Pokaż logi
15:56
@mklkj tesco value
Avatar
ej serio potrzebuję testerów
19:00
@v0id możesz sprawdzić logowanie w trybie hybrid?
Avatar
tryb hybrid?
19:02
sorry ale ja nie jestem ostatnio na bieżąco :D
19:03
zainstaluj
19:03
i na ekranie logowanie Inne opcje
19:03
potem Hybrid i spróbuj się zalogować
19:09
@Finon możesz pomóc?
Avatar
Dobra
19:11
@mklkj
Avatar
@v0id co dokładnie zrobiłeś? albo co wpisałeś
Avatar
@v0id Ty masz z Rzeszowa czy jak ja masz inne
Avatar
Resman
Avatar
No to możesz na stabilnej robić
Avatar
nie o to chodzi
19:17
zależy mi, żeby tryb hybrydowy przetestowały osoby z różnymi dziennikami
19:17
z tymi które się teraz loguje również
19:18
@Finon jak u ciebie?
Avatar
Działa
Avatar
to hybrydowe, tak?
Avatar
Sprawdzałem hybrydowe na najnowszym update i się appka wyłączyła i się zalogował
Avatar
dooobra, zaraz będzie kolejny build do testowania
Avatar
Teraz mnie przy hybrydowym gdy się loguje to wywala mnie na pulpit
Avatar
wiesz co to jest albo używałeś kiedyś adb?
Avatar
To chyba te wgrywanie twrp i miui polska
Avatar
powiedzmy
19:49
masz na komputerze może?
20:07
od razu po zalogowaniu
Avatar
lepsze to niż crash
20:07
możesz sprawdzić logcata?
Avatar
jak przypomnisz się za godzinę
20:09
zajęty trochę jestem aktualnie
20:09
wybacz :P
Avatar
jasne
20:09
przypomnę się o równej 21:00
Avatar
Oranż Metylowy 21.12.2019 20:10
21:09
Avatar
o fajnie że jesteś
20:11
mógłbyś też przetestować?
Avatar
Oranż Metylowy 21.12.2019 20:11
co takiego?
20:11
W Inne opcje tryb hybrydowy
Avatar
Oranż Metylowy 21.12.2019 20:13
no ok
20:13
20:13
fajne
Avatar
sprawdź logcata
Avatar
Oranż Metylowy 21.12.2019 20:14
20:14
polecam 10/10
Avatar
wyczyść dane aplikacji (edited)
Avatar
Oranż Metylowy 21.12.2019 20:14
oh
20:14
czemu
20:15
co teraz
Avatar
no i spróbuj jeszcze raz
Avatar
Oranż Metylowy 21.12.2019 20:15
20:15
działa
Avatar
Inne opcje
20:16
Avatar
Oranż Metylowy 21.12.2019 20:16
20:16
podałem symbol
20:16
ale pyta
20:17
Avatar
jakie to masz konto?
Avatar
Oranż Metylowy 21.12.2019 20:17
doopa
20:17
20:17
a takie mam konto
Avatar
eh, takie to ja też mam
Avatar
Oranż Metylowy 21.12.2019 20:19
20:19
a teraz mam takie
Avatar
coś tu nie gra
20:21
powinno być Wulkanowy DEV has stopped
Avatar
Oranż Metylowy 21.12.2019 20:21
haha
20:21
drugim razem tak samo
20:21
zobacz na launcher
20:21
też nie ma DEV
Avatar
bez logów to ja nic nie poradzę
Avatar
o widzisz
20:27
jeden zły import
Avatar
Bitrise is a cloud based automatic app builder and distribution system
20:53
@Finon też możesz
Avatar
@v0id
21:10
przypominam się
Avatar
Oranż Metylowy 21.12.2019 21:10
👌
Avatar
sie robi szefie
21:16
który link?
Avatar
ostatni (edited)
Avatar
Oranż Metylowy 21.12.2019 21:19
to samo
21:19
też crashuje
Avatar
jaki błąd?
Avatar
Oranż Metylowy 21.12.2019 21:20
inny
Avatar
logcat mnie nienawidzi
21:31
co chwila połączenie zrywa
Avatar
declaration of 'org.apache.commons.codec.binary.Base64' appears in /system/framework/org.apache.http.legacy.boot.jar
22:33
@Oranż Metylowy co ty masz za androida
Avatar
Oranż Metylowy 21.12.2019 22:35
7.1
22:40
Avatar
Bitrise is a cloud based automatic app builder and distribution system
23:40
sprawdźcie, może będą jakieś nowe błędy
Avatar
Oranż Metylowy 21.12.2019 23:41
wielkość pliku zmalała o 200kB, czyli pewnie dałeś jeszcze mniej importów
23:42
o kurde
23:42
zalogowało
23:44
23:44
to mi się bardzo nie podoba
23:44
ten ucięty swipe to refresh
Avatar
tym się zajmę później
Avatar
działa
Avatar
Wam też bitrise teraz minutę aplikacje pobiera?
Avatar
@Oranż Metylowy co to ma być
15:02
XD
Avatar
Oranż Metylowy 23.12.2019 15:06
screenshot
Avatar
Caused by io.github.wulkanowy.sdk.exception.VulcanException: could not execute query [ EXEC [dbo].[UP_PRC_GetLoginUprawnieniaWJednostce] @idsLogin=@p0, @idJednostkaSprawozdawcza=@p1, @userPesel=@p2 ] Name:idsLogin - Value: Name:idJednostkaSprawozdawcza - Value:11 Name:userPesel - Value:052xxxxxxx [SQL: EXEC [dbo].[UP_PRC_GetLoginUprawnieniaWJednostce] @idsLogin=@p0, @idJednostkaSprawozdawcza=@p1, @userPesel=@p2] (edited)
Avatar
patrzcie tu jaka śmieszna ocena
16:43
Pięknie napisałeś ten sprawdzian Przemek dostajesz 0++
Avatar
Czyli... 1
16:46
x++ = x+1 x+ = x+0.33 /*2 x++ = x+0.66 x+1 =/= x+0.66 (edited)
16:47
oszukali
Avatar
@mklkj możesz powiedzieć co z tym przywracaniem jest nie tak?
22:55
Mówiłeś że na innych dziennikach nie działa
Avatar
na innych dziennikach pole na hasło ma różne name, a ustaliłem na sztywno tylko jedno, pod vulcan.net.pl
Avatar
Oranż Metylowy 14.01.2020 23:30
A ogólnie, to czy oprócz adresu i pól formularza, dzienniki się między sobą czymś różnią?
23:30
Chodzi mi głównie o logowanie
23:31
I czy strona startowa oraz moduł UCZEŃ są takie same?
Avatar
różni się tylko logowanie
23:32
po wysłaniu ostatniego certyfikatu (albo pierwszego w przypadku vulcan.net.pl) i przejściu przez przekierowania zawsze jest ten sam ekran z kafelkami
23:32
zakładając tą samą wersję dziennika, bo to też nie jest takie oczywiste
23:33
tarnów chyba najdłużej się ociąga z aktualizacją
Avatar
Oranż Metylowy 14.01.2020 23:33
Czyli inne mają jakieś dodatkowe certyfikaty?
23:34
To nie jest jeden który otrzymujemy po wysłaniu hasła, i przesyłamy na LogOn?
23:34
Czy gdzieś tam
Avatar
to znaczy na adfsach są tak jakby dwa certyfikaty. Pierwszy (wysyłany na adfs, potem jest przkierowanie na cufs) dostaje się po wysłaniu loginu i hasła, potem jest drugi i po jego wysłaniu lądujemy już na uonetplus.{domena dziennika}
23:38
takie single sing on
23:38
gdzie dostawcą tożsamości nie jest cufs tylko adfs
23:38
tak bym to chyba wytłumaczył
Avatar
Oranż Metylowy 14.01.2020 23:39
No ok
23:39
Teoretycznie..
23:40
Czy dało by się po prostu wyszukać URL w htmlu otrzymanym, i jeśli do jest coś typu "Working..." To przesłać postem wszystkie pola ukryte na ten URL?
23:40
Miało by szansę działać?
23:41
I teoretycznie mieć logowanie automatyczne, przesyłając ręcznie tylko form z loginem i hasłem
Avatar
Tak, myślę że tak
23:42
to powinno zadziałać
23:42
trzeba jeszcze wspomnieć, że żeby dostać się do formularza logowania na eszkole opolskiej musisz przejść przez wybór typu logowania
23:43
to znaczy trzeba wysłać formularz z tymi ukrytymi polami i wybraną opcją, bo inaczej nie puści dalej
23:43
poza tym to by się wszystko zgadzało
Avatar
Oranż Metylowy 14.01.2020 23:44
Te ukryte pola są zawsze stałe czy generowane?
23:44
Wybór typu
Avatar
generowane
23:46
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTU0NzUyNzIyMGQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgEFE1Bhc3NpdmVTaWduSW5CdXR0b27qayH5RfNRXZtYkzzUh81aK/i8Hg==" /> </div> <div> <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="1736B89C" /> <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWBQLr3+H5BQLnmcnFAQLSqoWCCwKJ/5GLDQKyoLzyCe85dDxGjSdAUJ1popOpTy2g/osa" /> </div><input type="hidden" name="__db" value="14" /
23:46
gdyby to było stałe to by nie było problemu
Avatar
Oranż Metylowy 14.01.2020 23:46
Ahhh
23:46
Asp
23:46
View state
23:46
Idziennik
23:46
Xd
23:47
To można zostawić stałe
23:47
Btw
23:47
W sensie ja używam od roku tych samych wartości
23:47
I ciągle działa
Avatar
hm, może dałoby się uprościć conieco
23:48
tylko boję się tego ruszać, bo nikt się nie pali żeby to testować na bieżąco a ja nie mam dostępu do konta na żadnym innym dzienniku (edited)
Avatar
Oranż Metylowy 14.01.2020 23:49
Nom
Avatar
Gdzie ty masz w przywracaniu konta pole na hasło?
Avatar
Sorry, email
Avatar
Bb, ok
Avatar
już sprawdzam
18:39
18:39
strona nawet nie wysyła tam requestu
Avatar
o widzisz
Avatar
może ktoś sprawdzić jak wygląda teraz response ze sprawdzianami? bo wcześniej było { "Id": 21558, "IdPrzedmiot": 307, "IdPracownik": 3, "IdOddzial": 97, "IdPodzial": null, "PodzialNazwa": null, "PodzialSkrot": null, "Rodzaj": true, "Opis": "Figury na płaszczyźnie.", "Data": 1578873600, "DataTekst": "2020-01-13" }
19:46
podobno doszło pole RodzajNumer
Avatar
Oranż Metylowy 15.01.2020 19:48
[{ "Id": 2740, "IdPrzedmiot": 118, "IdPracownik": 94, "IdOddzial": 52, "IdPodzial": null, "PodzialNazwa": null, "PodzialSkrot": null, "Rodzaj": true, "RodzajNumer": 1, "Opis": "Bajki - Ignacy Krasicki", "Data": 1579215600, "DataTekst": "2020-01-17" }]
Avatar
blisko jesteś tego @contributora
😍 2
19:49
dzięki 👍
Avatar
jak już jesteśmy w temacie to są jakieś zmiany w wiadomościach? { "WiadomoscId":28973, "Nadawca":"Kowalski Jan", "NadawcaId":2137, "Adresaci":null, "Tytul":"Tytuł", "Tresc":"Dużo różnych treści.\nBardzo dużo,\nbardzo długie to potrafi być", "DataWyslania":"05.04.2018", "DataWyslaniaUnixEpoch":1522921875, "GodzinaWyslania":"11:51", "DataPrzeczytania":null, "DataPrzeczytaniaUnixEpoch":null, "GodzinaPrzeczytania":null, "StatusWiadomosci":"Widoczna", "FolderWiadomosci":"Odebrane", "Nieprzeczytane":null, "Przeczytane":null }
22:03
mowa o WiadomosciOdebrane
Avatar
Oranż Metylowy 15.01.2020 22:13
już chwila
22:16
{ "WiadomoscId": 10838, "Nadawca": "Kowalski Nauczyciel", "NadawcaId": 494, "Adresaci": [{ "LoginId": 566, "Nazwa": "Kowalski Adresat - opiekun - Kowalski Uczeń 4A (Szkola Przyszlosci)" }], "Tytul": "Temat wiadomosci", "Tresc": "no a tu wiadomosc, nudy nudy", "DataWyslania": "08.01.2020", "DataWyslaniaUnixEpoch": 1578493827, "GodzinaWyslania": "15:30", "DataPrzeczytania": null, "DataPrzeczytaniaUnixEpoch": null, "GodzinaPrzeczytania": null, "StatusWiadomosci": "Widoczna", "FolderWiadomosci": "Odebrane", "Nieprzeczytane": null, "Przeczytane": null }
22:16
wygląda na to że adresaci działają
22:16
pomijam to że przez jakiś czas pokazywali się wszyscy adresaci wiadomości
Avatar
W tym razie ciekawe jak działa ta ostatnia opcja
Avatar
Oranż Metylowy 15.01.2020 22:19
no... nie działa
22:19
przecież w zapytaniu jest IdUczen
Avatar
no i to pole było już wcześniej
22:25
czyli jak odznaczę to wyśle jakieś -1 albo 0 tam?
22:25
dobra sam mogę sprawdzić
Avatar
Oranż Metylowy 15.01.2020 22:26
hmmmmm
22:26
tego nie wiem
Avatar
pomijam to że przez jakiś czas pokazywali się wszyscy adresaci wiadomości
Avatar
kolejna udana interwencja Vulcan spy
Avatar
co byście beze mnie zrobili (edited)
Avatar
Oranż Metylowy 15.01.2020 22:31
co by vulcan zrobił
22:31
racja
Avatar
gdyby niebezpiecznik o tym napisał to musieliby kupować książki
Avatar
Oranż Metylowy 15.01.2020 22:34
właśnie. czemu niebezpiecznik nie napisał o żadnej luce którą znalazłeś?
22:34
to by był taki fejm
Avatar
bo zamiast tego napisałem do firmy
22:49
btw wspominali o mojej historii na jednej konferencji kiedyś XD
22:49
tzn konferencji firm z całej Polski
Avatar
Dominik Korsa 15.01.2020 22:56
Nice
Avatar
dependencies { implementation 'com.github.dominik-korsa:sdk:feature~attendance-summary-total-SNAPSHOT' }
Avatar
Dominik Korsa 29.01.2020 20:47
😄
20:47
Tak naprawę już znalazłem
Avatar
Zamiast tego na końcu lepiej ci uczyć hasha commita
Avatar
Dominik Korsa 29.01.2020 21:54
@mklkj #30
Avatar
Wulkanowy bot BOT 29.01.2020 21:54
Brak opisu
Typ
Pull request
Stan
Merged
Avatar
Dominik Korsa 29.01.2020 21:54
wulkanowy/sdk#30
Avatar
Wulkanowy bot BOT 29.01.2020 21:54
Kotlin SDK for VULCAN UONET+
Gwiazdki
6
Avatar
Dominik Korsa 29.01.2020 21:54
Ahh nie działa Bo niezaprogramowane (edited)
21:54
Return total attendance as last element of AttendanceSummaryResponse.mapAttendanceSummaryList. AttendanceSummary.month is null for total attendance.
Avatar
Wiesz co, ja to chciałem zrobić ale w apce
Avatar
Dominik Korsa 29.01.2020 22:00
Za późno
Avatar
Tak jak liczona jest obecność całkowita
22:01
Trzynasty miesiąc to takie średnie rozwiązania
Avatar
Dominik Korsa 29.01.2020 22:01
Z jeden strony wiem, ale jednak tak jest w API Nowego Ucznia
22:03
Avatar
Ciężko to nazwać API
Avatar
Dominik Korsa 29.01.2020 22:05
upvote
Avatar
Aplikacja już i tak sama liczy podsumowanie wiec może policzyć resztę
Avatar
@doteq ogarnąłem już wysyłanie żądania zmiany hasła
20:00
teraz trzeba tylko zrobić w sdk error handling
20:01
bo będzie teraz rzucać wyjątkiem jeśli jest coś nie tak z captchą albo nie udało się znaleźć konta
20:01
będziesz coś z tym teraz robił? Bo bym się pobawił
Avatar
Baw sie, smialo
23:15
Sprawdze tylko czy wszystko opublikowałem na githuba
23:17
Jest wszystko
Avatar
jest tu jakaś dobra dusza? potrzebuje htmla strony głównej widocznej po zalogowaniu. Interesuje mnie template ze szczęśliwym numerkiem
20:35
@Contributor @Tester
Avatar
Oranż Metylowy 26.02.2020 20:39
<div v-if="tiles.kidsLuckyNumbers.showForWorker || tiles.kidsLuckyNumbers.showForClient" v-show="tiles.kidsLuckyNumbers.showForWorker && filter.worker || tiles.kidsLuckyNumbers.showForClient && filter.client" class="panel szczesliweNumery klient"> <div class="imagedHeader"> <div class="szczesliweNumeryImg appImg"></div> <div class="name">Szczęśliwy numer w dzienniku ucznia</div> <div v-show="!tiles.kidsLuckyNumbers.open" style="float: right; cursor: pointer;" v-on:click="openTile('kidsLuckyNumbers')"><i class="fas fa-angle-double-down"></i></div> <div v-show="tiles.kidsLuckyNumbers.open" style="float: right; cursor: pointer;" v-on:click="closeTile('kidsLuckyNumbers')"><i class="fas fa-angle-double-up"></i></div> </div> <div v-show="tiles.kidsLuckyNumbers.open" class="separator"></div> <div v-show="tiles.kidsLuckyNumbers.open && !tiles.kidsLuckyNumbers.source.length" class="subDiv pCont">Brak danych do wyświetlenia</div> <div v-show="tiles.kidsLuckyNumbers.open" class="subDiv pCont"> <div v-for="item in tiles.kidsLuckyNumbers.source"> <div v-show="item.Nazwa" class="headerMain"> <div class="name">{{item.Nazwa}}</div> </div> <div class="subDiv pCont"> <div class="subDiv" v-for="el in item.Zawartosc"> <span v-html="el.Nazwa"></span> <div class="subDiv" v-for="x in el.Zawartosc"> <span v-html="x.Nazwa"></span> </div> </div> </div> </div> </div> </div> że to? (edited)
Avatar
a czemu ty masz tam vue @Oranż Metylowy ?
Avatar
Oranż Metylowy 26.02.2020 20:40
bo to jest źródłowy html
20:41
wątpię żeby mklkj potrzebował generowany html, jeśli wulkanowy i tak takiego nie widzi
Avatar
dzięki @Oranż Metylowy
20:42
jedyny sprawiedliwy
Avatar
Oranż Metylowy 26.02.2020 20:42
<div class="panel szczesliweNumery klient isotope-item" style="position: absolute; left: 0px; top: 0px; opacity: 1; transform: translate3d(380px, 332px, 0px) scale3d(1, 1, 1);"><div class="imagedHeader"><div class="szczesliweNumeryImg appImg"></div> <div class="name">Szczęśliwy numer w dzienniku ucznia</div> <div style="float: right; cursor: pointer; display: none;"><i class="fas fa-angle-double-down"></i></div> <div style="float: right; cursor: pointer;"><i class="fas fa-angle-double-up"></i></div></div> <div class="separator" style=""></div> <div class="subDiv pCont" style="display: none;">Brak danych do wyświetlenia</div> <div class="subDiv pCont" style=""><div><div class="headerMain" style="display: none;"><div class="name"></div></div> <div class="subDiv pCont"><div class="subDiv"><span>ZS Szkoła</span> <div class="subDiv"><span>Szczęśliwy numer w dzienniku: 12</span></div></div></div></div></div></div>
Avatar
próbuję rozgryźć z jakiego jsona takie coś wychodzi
Avatar
Oranż Metylowy 26.02.2020 20:45
zaraz ci powiem
20:49
Avatar
no ładnie
Avatar
dzięki dobry człowieku
20:59
mam nadzieję, że to to
21:03
Kotlin SDK for VULCAN UONET+. Contribute to wulkanowy/sdk development by creating an account on GitHub.
Avatar
Oranż Metylowy 26.02.2020 21:04
Avatar
Oranż Metylowy 26.02.2020 21:09
ale tu zamieszałeś
21:11
21:11
take this
21:12
czyli jak rozumiem, to 002547 to jest szkoła (ten id co na górze jest), SPL i T1 to jednostki?
Avatar
w Vulcanie jest Vue? 😮
Avatar
Oranż Metylowy 26.02.2020 21:13
no wow
Avatar
to też trochę moja sprawka XD
21:13
bo przekonywałem ich programistę do Vue jak u nich byłem
Avatar
tak to wygląda u innego użytkownika
Avatar
Oranż Metylowy 26.02.2020 21:16
ich dziennik jest bardzo niskiej jakości
Avatar
Oranż Metylowy 12.03.2020 20:34
jeśli dobrze rozumiem patrząc na kod sdk, w dziennikach nie-domyślnych po wysłaniu formularza z danymi są dwa certyfikaty przesyłane?
Avatar
Oranż Metylowy 12.03.2020 20:36
i oba HTMLe (te z "Working...") są takie same?
20:36
tzn szablon ten sam
Avatar
jeden z nich do adfs* a drugi cufs
20:36
ogólnie wyglądają tak samo
Avatar
Oranż Metylowy 12.03.2020 20:37
ok
20:40
i wysłanie certyfikatu pierwszego pokazuje od razu HTMLa z drugim?
Avatar
post z pierwszym certyfikatem daje po przekierowaniu drugi
Avatar
Oranż Metylowy 12.03.2020 20:42
mmm
20:42
wybornie
20:44
czyli samo CUFS jest uzywane tylko w standardowym dzienniku, a pozostałe mają zawszeADFS ?
Avatar
adfs* to jest jakiś tam specyficzny dla danego dziennika system uwierzytelniania, którzy przekazuje poświadczenie do cufsu, a w przypadku vulcan.net.pl sam cufs zajmuje się uwierzytelnianiem i wystawia formularz logowania
Avatar
Oranż Metylowy 12.03.2020 20:47
uhmm
20:47
ok
Avatar
@Oranż Metylowy @Librus jak oznaczacie wiadomość jako przeczytaną w vulcanie? jaki request i pod jaki adres? w wulkanowym leci post pod https://lekcjaplus.vulcan.net.pl/xxxx/0000xx/mobile-api/Uczen.v3.Uczen/ z body https://github.com/wulkanowy/sdk/blob/0.16.0/sdk-mobile/src/main/kotlin/io/github/wulkanowy/sdk/mobile/messages/MessageStatusChangeRequest.kt
Kotlin SDK for VULCAN UONET+. Contribute to wulkanowy/sdk development by creating an account on GitHub.
Avatar
Oranż Metylowy 13.03.2020 12:30
a mógłbyś po polsku?
12:30
ewentualnie po JSONowemu
Avatar
Przecież wiesz jak działa retrofit xD
Avatar
Oranż Metylowy 13.03.2020 12:31
apiGet(TAG, "/mobile-api/Uczen.v3.Uczen/ZmienStatusWiadomosci", parameters = mapOf( "WiadomoscId" to messageObject.id, "FolderWiadomosci" to "Odebrane", "Status" to "Widoczna", "LoginId" to data.studentLoginId, "IdUczen" to data.studentId ))
12:31
mniej więcej tak to robimy w szkolnym @mklkj (edited)
Avatar
o widzisz
12:31
gdzieś mi zjadło ZmienStatusWiadomosci
12:31
dzięki
Avatar
fajne rzeczy w intellij dla retrofita
😮 1
Avatar
Oranż Metylowy 13.03.2020 19:41
😮
Avatar
@mklkj Jest jakiś endpoint do listy uczniów wraz z ich id?
Avatar
UczenDziennik na nowym uczniu
19:47
Tak naprawdę to tam jest lista dzienników z semestrami, ale da się z tego zrobić listę uczniów z tymi podstawowymi danymi
Avatar
A lista szkół jest scrapowana?
Avatar
Noo nie ma wyjścia
20:03
No jest tylko na głównej stronie w htmlu
20:04
To jest chyba jedyny kafelek, który nie leci w jsonie
Avatar
Mógłbyś powiedzieć jak w sdk jest to scrapowane (w sensie jaki element) albo wysłać mi w którym miejscu w kodzie to jest? nie mogę znaleść w repo
Avatar
co konkretnie?
Avatar
Linki do dzienników (żeby z nich id szkoły wyciągnąć)
16:01
Na razie zrobiłem na appLink, ale w fakelogu widze że klasę appLink mają też inne elementy
16:03
16:03
to jest to?
Avatar
Kotlin SDK for VULCAN UONET+. Contribute to wulkanowy/sdk development by creating an account on GitHub.
Kotlin SDK for VULCAN UONET+. Contribute to wulkanowy/sdk development by creating an account on GitHub.
16:04
noo tak
16:04
ten selektor z uonetplus-opiekun oczywiście olej
16:15
Dobra dzieki
Avatar
btw weź to na bieżąco dokumentuj
16:16
commituj do #sdk-node
Avatar
będę
Avatar
jak najszybciej
Avatar
Co oznacza to ?: false
Avatar
Oranż Metylowy 24.03.2020 21:19
jeśli null to false
Avatar
to znaczy że król nadal żyje
21:19
Elvis Presley wiecznie żywy
Avatar
Oranż Metylowy 24.03.2020 21:20
wiesz że raczej tego nie zrozumie jeśli nie pisze w kotlinie zbytnio?
Avatar
domyślam się, ale już odpowiedziałeś to pomyślałem że mogę pożartować
Avatar
Oranż Metylowy 24.03.2020 21:21
ok xD
Avatar
no i doteq pisał już w kotlinie, 3 PRy już w wulkanowym otworzył
Avatar
Oranż Metylowy 24.03.2020 21:33
A okej
Avatar
zastanawiam sie jak to optymalnie przetlumaczyc na node
Avatar
noo tym akurat się nie masz jak przejmować, bo w js nie ma takich nullabli
21:39
to się samo zrzutuje na false
Avatar
Ale jak zrobie selectFirst("span").hasClass(CLASS_MOVED_OR_CANCELED) a selectFirst bedzie undefined to błąd wywali
Avatar
chociaż czekaj, bo ty w ts to piszesz
Avatar
tam nie ma optional chaining?
Avatar
no niby jest
21:42
a, dobra
21:43
nvm
Avatar
Dominik Korsa 07.04.2020 19:45
Dobra, dotychczasowe podsumowanie badań:
19:45
Wiadomosc.mvc/GetAdresaciPrzeczytaliWiadomosc { "success":true, "data":[ { "Nazwa":"Nazwisko Imię [IN] - pracownik (SPmiejscowosc)", "Data":"2019-03-02 16:45:25", "Id":711799 } ] } (edited)
19:46
Wiadomosc.mvc/GetAdresaciNiePrzeczytaliWiadomosci { "success": true, "data": [ { "Id": "1817054", "Nazwa": "Nazwisko Imię [NI] - Nauczyciel (SPMiejscowosc)", "IdLogin": 6084, "IdJednostkaSprawozdawcza": null, "Rola": 0, "PushWiadomosc": null, "Hash": "mrAlBOzPCam7H64kKq10+XSTw0hjQTlyMV7x2tiytp8=" } ] }
19:47
Adresaci.mvc/GetAdresaci (to są wszyscy dostępni adresaci, a nie adresaci konkretnej wiadomości) { "success": true, "data": [ { "Id": "447rNauczyciel", "Nazwa": "Nazwisko Imię [NI] - Nauczyciel (SPMiejscowosc)", "IdLogin": 6084, "IdJednostkaSprawozdawcza": 5, "Rola": 6, "PushWiadomosc": null, "Hash": "mrAlBOzPCam7H64kKq10+XSTw0hjQTlyMV7x2tiytp8=" }, ] }
19:47
Więc identyfikatory są jakieś dziwne
19:47
Bardzo dziwne
19:47
Bo wszędzie inne
Avatar
Oranż Metylowy 07.04.2020 19:48
to jest okropne XD
Avatar
Dominik Korsa 07.04.2020 19:48
Ogarniasz to?
19:48
Bo ja nie
Avatar
Oranż Metylowy 07.04.2020 19:48
ale co tu ogarniać
Avatar
Dominik Korsa 07.04.2020 19:48
Różne ID
19:48
Co jest co
Avatar
Oranż Metylowy 07.04.2020 19:48
IdLogin to wiadomo
19:49
ID w adresatach to nie wiem, ale ono jest takie mniej więcej w kolejności przeważnie, nie ma jakichś dużych dziur
19:49
a ID w przeczytanych/nieprzeczytanych to pewnie ID odbiorcy wiadomości (czyli jak masz tabele messages i teachers, to tabela złączeń messageRecipients)
Avatar
Oranż Metylowy 07.04.2020 19:57
meanwhile api szkolnego: { "deviceId": "1234567890123456", "lastSync": 1586191450764, "notifications": [{ "profileName": "Jakub Szczodrzyński", "text": "Homework from pracownia aplikacji internetowych for 7 kwietnia", "type": 10 }, { "profileName": "Jakub Szczodrzyński", "text": "New grade (5) from pracownia urządzeń techniki komputerowej", "type": 5 }, { "profileName": "Jakub Szczodrzyński", "text": "Today 14 is the lucky number.", "type": 14 }], "userCodes": ["zslpoznan:kubasz😂:2774", "zslpoznan:kubasz:2774"], "users": [] }
Avatar
Oranż Metylowy 07.04.2020 19:59
taki miałem login w mobidzienniku
20:01
@Dominik Korsa w hebe nauczyciele mają dodatkowo ID w postaci e-59
Avatar
Dominik Korsa 07.04.2020 20:01
O Jezu (edited)
20:02
Dlaczego
20:02
Dlaczego nie można jednego wspólnego id w całym systemie
Avatar
Oranż Metylowy 07.04.2020 20:03
tak
20:03
o, mają nawet api do lekcji zrealizowanych
20:04
apka to pobiera mimo że widok jest wyłączony przez administatora 😮
Avatar
Dominik Korsa 07.04.2020 20:05
Hmmmmmm
20:05
Nie zgłaszamy tego
Avatar
Oranż Metylowy 07.04.2020 20:05
nie
20:05
@Vulcan spy ty też nie
Avatar
oooo
20:05
XDDD
20:06
Vulcan ❤️
Avatar
coo gdzie, gdzie jest api do lekcji zrealizowanych?
Avatar
Dominik Korsa 07.04.2020 20:53
internetexplorer.jpg
(edited)
Avatar
Oranż Metylowy 07.04.2020 21:12
w hebe są zrealizowane
Avatar
Oranż Metylowy 08.04.2020 12:23
@mklkj
12:23
jak w logowaniu macie wysyłanie tych certyfikatów do ADFS
12:24
te co wysyłają dwa certyfikaty
12:24
to dokąd idzie pierwszy?
Avatar
pierwszy leci na adfs., a drugi na cufs.
12:25
to znaczy, z tego co widzę to sdk wyciąga adres docelowy z action formularza
Avatar
Oranż Metylowy 08.04.2020 12:25
właśnie
12:25
o to mi chodzi
12:25
bo załóżmy że logujemy się na https://uonetplus.vulcan.net.pl/default/LoginEndpoint.aspx
12:26
dostajemy certyfikat który ma audience https://uonetplus.vulcan.net.pl/default/LoginEndpoint.aspx (edited)
12:26
i to koniec logowania
12:26
i teraz patrzę pod kątem iDziennika, bo tam też jest logowanie ADFSem możliwe
12:27
więc przy logowaniu na https://iuczniowie.eduportal.koszalin.pl/Default.aspx dostajemy certyfikat z takim samym audience, i to koniec
12:27
tylko jeden jest, mimo że to ADFS
Avatar
chyba o czymś nie wiem, gdzie jest to audience?
Avatar
Oranż Metylowy 08.04.2020 12:29
więc czy to działa tak, że w vulcanie po zalogowaniu na adfs. otrzymujemy pierwszy cert, który jest wysłany do cufs., i potem dostajemy cert z pierwotnym audience? np. https://uonetplus.umt.tarnow.pl/tarnow/LoginEndpoint.aspx
12:29
12:29
audience tu jest
Avatar
a, o tym mówisz
Avatar
Oranż Metylowy 08.04.2020 12:30
i to jest jakby pierwotny wtrealm
Avatar
wiesz, przeglądałem tego xmla w poszukiwaniu rzeczy, które się mogą przydać, ale i na końcu wyszło tak, że po prostu odtwarzam to, co zrobiłaby przeglądarka
Avatar
Oranż Metylowy 08.04.2020 12:30
i się zastanawiam, czy przy vulcanowym ADFS+CUFS ten drugi cert ma audience ustawiony na pierwszy realm,czy coś innego
12:32
12:33
w tym przypadku pierwszy cert (otrzymany od razu po logowaniu na adfs.) pewnie idzie na cufs.umt.tarnow.pl, który potem zwraca cert który idzie na uonetplus.
12:33
nie wiem czy mam rację
12:34
ale jeśli tak, to adres pierwotny i adres ostatni otrzymany z certyfikatu powinny być identyczne
Avatar
Oranż Metylowy 08.04.2020 15:29
Getting realm https://uonetplus.vulcan.net.pl/default/LoginEndpoint.aspx Redirecting to https://cufs.vulcan.net.pl/default/FS/LS?wa=wsignin1.0&wtrealm=https%3a%2f%2fuonetplus.vulcan.net.pl%2fdefault%2fLoginEndpoint.aspx&wctx=https%3a%2f%2fuonetplus.vulcan.net.pl%2fdefault%2fLoginEndpoint.aspx - wtrealm: https://uonetplus.vulcan.net.pl/default/LoginEndpoint.aspx - wctx: https://uonetplus.vulcan.net.pl/default/LoginEndpoint.aspx Redirecting to https://cufs.vulcan.net.pl/default/Account/LogOn?ReturnUrl=%2Fdefault%2FFS%2FLS%3Fwa%3Dwsignin1.0%26wtrealm%3Dhttps%253a%252f%252fuonetplus.vulcan.net.pl%252fdefault%252fLoginEndpoint.aspx%26wctx%3Dhttps%253a%252f%252fuonetplus.vulcan.net.pl%252fdefault%252fLoginEndpoint.aspx - wtrealm: null - wctx: null Finished at https://cufs.vulcan.net.pl/default/Account/LogOn?ReturnUrl=%2Fdefault%2FFS%2FLS%3Fwa%3Dwsignin1.0%26wtrealm%3Dhttps%253a%252f%252fuonetplus.vulcan.net.pl%252fdefault%252fLoginEndpoint.aspx%26wctx%3Dhttps%253a%252f%252fuonetplus.vulcan.net.pl%252fdefault%252fLoginEndpoint.aspx
15:29
czy wulkanowy przechodzi po kolei przez te URLe i redirecty, czy od razu buduje sobie końcowy URL formularza?
Avatar
sdk buduje sobie tylko początkowy url do cufsu, potem już korzysta z urli zwracanych przez dziennik
15:31
robiąc logowanie starałem się jak najmniej rzeczy hardcodować
15:31
z różnym skutkiem
15:31
Kotlin SDK for VULCAN UONET+. Contribute to wulkanowy/sdk development by creating an account on GitHub.
Avatar
Oranż Metylowy 08.04.2020 15:31
ta, widziałem
Avatar
i odpowiadając na pytania - tak, wulkanowy przechodzi przez wszystkie redirecty, nie da się chyba inaczej
Avatar
Oranż Metylowy 08.04.2020 15:33
chodzi mi o redirecty przed wysłaniem formularza, nie po
15:35
różnie próbowałem, ale opole nie puszczało bez przejścia przez ten formularz wyboru między kartą a zwykłym logowaniem, trzeba było ten formularz z wyborem wysłać
15:35
nie pamiętam czy sprawdzałem dokładnie co się zapisuje w ciasteczkach, ale raczej vulcan to w sesji trzyma
Avatar
Oranż Metylowy 08.04.2020 15:35
nie dotarłem jeszcze do tego etapu
15:37
waaait, gdansk nie korzysta z cufsu?
Avatar
wszystkie dzienniki vulcana korzystają z cufsu (edited)
Avatar
Oranż Metylowy 08.04.2020 15:38
to chyba zły url mam https://aplikacje.edu.gdansk.pl/
Avatar
to chyba nie jest samego dziennika subdomena
15:40
z tego co do tej pory widziałem, to logowanie w dziennikach mogą mieć tylko różne frontendy. Na vulcan.net.pl jest od razu cufs, na edu.lublin jest logowanie.edu.lublin.eu, na opolskiej eszkole jest adfs, resman ma adfslight
Avatar
Oranż Metylowy 08.04.2020 15:40
to jak się wchodzi na dziennik w Gdańsku
Avatar
gdzie ten link dokładnie znalazłeś? Ja tu tylko do portal. widzę
Avatar
Oranż Metylowy 08.04.2020 15:41
a gdańsk jaki ma type?
15:42
o, tu
Avatar
mają wspólne logowanie do jakichś aplikacji
15:42
czekaj, kto tu był z gdańska
15:43
@Deleted User wiesz coś więcej na ten temat? (edited)
15:43
makes sense
Avatar
Deleted User 08.04.2020 15:44
Potrzebny jestem?
15:45
Avatar
znaczy możesz powiedzieć co jest pod tym kafelkiem Aplikacje Gdańskiej Platformy Edukacyjnej?
15:45
o
15:45
i jaki ten kafelek edziennik ma href?
15:46
stąd return url na taki ustawiony, i pewnie ten link wchodzi od razu na dziennik po zalogowaniu
Avatar
Deleted User 08.04.2020 15:46
Avatar
Oranż Metylowy 08.04.2020 15:46
no, haha
Avatar
upewnić się chciałem (edited)
Avatar
Oranż Metylowy 08.04.2020 15:46
okej
15:47
@Deleted User masz jakieś IDE do javy/kotlina?
Avatar
Deleted User 08.04.2020 15:48
Eee
15:48
No mam Android Studio
Avatar
Oranż Metylowy 08.04.2020 15:48
ok
Avatar
Oranż Metylowy 08.04.2020 17:26
CUFS Realm: https://uonetplus.umt.tarnow.pl/tarnow/LoginEndpoint.aspx ADFS Realm: - wtrealm: https://cufs.umt.tarnow.pl:443/tarnow/Account/LogOn - wctx: rm=0&id=adfs&ru=%2Ftarnow%2FFS%2FLS%3Fwa%3Dwsignin1.0%26wtrealm%3Dhttps%253A%252F%252Fuonetplus.umt.tarnow.pl%252Ftarnow%252FLoginEndpoint.aspx%26wctx%3Dhttps%253A%252F%252Fuonetplus.umt.tarnow.pl%252Ftarnow%252FLoginEndpoint.aspx iDziennik ADFS Realm: - wtrealm: https://iuczniowie.eduportal.koszalin.pl:443/Default.aspx - wctx: rm=0&id=passive&ru=%2F
17:27
👌
17:27
już prawie
Avatar
sam nie do końca wiem co kombinujesz
Avatar
Oranż Metylowy 08.04.2020 17:27
bo jeszcze nie skończyłem
Avatar
chcesz mieć uniwersalną obsługę adfsów do różnych dzienników?
Avatar
Oranż Metylowy 08.04.2020 17:28
taka klasa która potrafi się logować do CUFS, ADFS i CUFS+ADFS
17:28
i zwraca gotowy certyfikat końcowy
17:28
do przesłania na pierwotny realm
17:29
z najmniejszą możliwą ilością przekierowań
Avatar
udało ci się zejść poniżej tych, które są wykonywane w przeglądarce?
Avatar
Oranż Metylowy 08.04.2020 17:30
noo to na pewno
17:30
wulkanowy przecież też schodzi
17:30
raczej
Avatar
no chyba nie za bardzo
17:32
jak masz konto na tarnowie to sprawdź w chuckerze co robi wulkanowy
Avatar
Oranż Metylowy 08.04.2020 17:32
nie mam
17:33
mam tylko na cufs i adfs idziennikowym
Avatar
Oranż Metylowy 08.04.2020 17:55
17:55
super
17:55
formularze które nie dają żadnych redirectów
Avatar
Oranż Metylowy 08.04.2020 18:45
val realms = listOf<BaseRealm>( CufsRealm(host = "vulcan.net.pl", symbol = "default"), CufsRealm(host = "vulcan.net.pl", symbol = "powiatketrzynski").toAdfsLightRealm(id = "ADFSLight", isScoped = true), CufsRealm(host = "resman.pl", symbol = "rzeszow").toAdfsLightRealm(id = "ADFS"), CufsRealm(host = "umt.tarnow.pl", symbol = "tarnow").toAdfsRealm(id = "adfs"), CufsRealm(host = "edu.lublin.eu", symbol = "lublin").toAdfsLightRealm(id = "AdfsLight", domain = "logowanie"), CufsRealm(host = "edu.gdansk.pl", symbol = "gdansk").toAdfsRealm("adfs"), AdfsRealm(hostPrefix = "iuczniowie", host = "eduportal.koszalin.pl", path = "Default.aspx", id = "passive") ) (edited)
18:45
co myślisz? 😉
Avatar
hm, nie głupie
18:54
tylko powiedz co jest w tych *Realmach
Avatar
Oranż Metylowy 08.04.2020 18:54
i to mi zwraca pięknie URL for vulcan.net.pl is: https://cufs.vulcan.net.pl/default/Account/LogOn?ReturnUrl=%2Fdefault URL for vulcan.net.pl is: https://adfslight.vulcan.net.pl/powiatketrzynski/LoginPage.aspx?Retur URL for resman.pl is: https://adfslight.resman.pl/LoginPage.aspx?ReturnUrl=%2F%3Fwa%3Dwsignin1. URL for umt.tarnow.pl is: https://adfs.umt.tarnow.pl/adfs/ls/?wa=wsignin1.0&wtrealm=https%3A%2F URL for edu.lublin.eu is: https://logowanie.edu.lublin.eu/LoginPage.aspx?ReturnUrl=%2F%3Fwa%3Dw URL for edu.gdansk.pl is: https://adfs.edu.gdansk.pl/adfs/ls/?wa=wsignin1.0&wtrealm=https%3A%2F URL for eduportal.koszalin.pl is: https://adfs.eduportal.koszalin.pl/adfs/ls/?wa=wsignin1.0&wtr (edited)
Avatar
bo nie do końca wiem co to ma dokładnie robić
Avatar
Oranż Metylowy 08.04.2020 18:54
chwila
18:54
^uciąłem bo za długie
18:55
kazdy realm tworzy url na którym znajduje się formularz logowania
18:55
bez redirectów
18:55
z obsługą idziennika też
Avatar
a, okej
Avatar
Oranż Metylowy 08.04.2020 18:56
i potem to myślę że będzie w miarę łatwo wysłać po prostu form, odebrać certyfikat
Avatar
u nas tą rolę pełni getADFSUrl, które nie jest zbyt czytelne, ale przynajmniej działa
18:57
niby proste, ale po drodze czeka wiele pułapek
Avatar
Oranż Metylowy 08.04.2020 18:57
no, czyli mówiłem że robicie gotowe url bez przekierowań
18:59
i te realmy odpowiadają mniej więcej tym rodzajom w wulkanowym
Avatar
Oranż Metylowy 08.04.2020 19:29
ejej
19:29
19:29
widziałeś kiedyś coś takiego? XD
19:32
aa i ten krok jest niepotrzebny
Avatar
nie, tego basic autha nie widziałem
19:34
jak pomijasz ten krok z wybraniem sposobu logowania? Jakieś ciastko?
Avatar
Oranż Metylowy 08.04.2020 19:34
nie
19:34
wgl w trakcie całego logowania mam brak żadnych ciastek
19:34
19:34
no to nieźle XD
Avatar
czyli co, od razu hasło wysyłasz pod adres formularza?
Avatar
Oranż Metylowy 08.04.2020 19:36
prawie
19:36
O MOJ BOZE
19:36
ZALOGOWALEM SIE TYM BASIC
Avatar
bo ta strona
19:36
i ta mają taki sam url
Avatar
Oranż Metylowy 08.04.2020 19:36
wiem
Avatar
chyba ze do tej drugiej wystarczy posta wysłać
19:36
kurde tego nie sprawdziłem
Avatar
Oranż Metylowy 08.04.2020 19:36
patrz:
19:36
musisz mieć i tak __EVENTVALIDATION & friends
19:37
ale ty to zdobywasz w wulkanowym dodatkowo, robiąc GET
19:37
19:37
robisz tak i masz od razu user+pass
19:38
ale paaaanie
19:38
ten basic auth
19:38
to kurde gites jest
Avatar
cóż, trzeba będzie tego login helpera trochę zaktualizować (edited)
Avatar
Oranż Metylowy 08.04.2020 19:42
teraz nie mogę się wylogować
Avatar
Oranż Metylowy 08.04.2020 19:56
ale tak jak udało mi się w przeglądarce, tak za chiny nie mogę w insomnii
19:56
bo to używa autoryzacji NTLM
20:00
ale jeśli by w końcu zadziałało, to mamy certyfikat za jednym zapytaniem
20:00
bez tych całych asp.net shitu z formularzy
20:06
dobra, teraz w przeglądarce też nie działa xd
Avatar
na tym sobie można szybko zdrowie zepsuć
Avatar
Oranż Metylowy 08.04.2020 20:07
co?
Avatar
nie nic, próbuję cię pocieszyć xd
Avatar
Oranż Metylowy 08.04.2020 20:08
ale hej
20:08
raz się udalo
20:09
nawet kilka
20:09
potem pewnie coś zablokowałem xd
Avatar
Oranż Metylowy 08.04.2020 21:47
hehe, tak jak myślałem pewnie zablokowałem konto od ilości błędnych prób, bo teraz z powrotem zaczęło działać
Avatar
Takie coś jest tylko na koszalinie?
Avatar
Oranż Metylowy 08.04.2020 21:50
raczej nie
21:50
do koszalina mam dostęp więc tam sprawdziłem
21:50
jak zgłosi się chętny z innego dziennika to powiem co i jak, i będzie mógł sobie sprawdzić czy działa
Avatar
Oranż Metylowy 08.04.2020 22:16
a więc mam więcej info
22:16
jeśli w tym miejscu @GET fun getForm(@Url url: String): Single<ADFSFormResponse>
22:16
wysłał byś __db=15 jako form, moglibyście całkowicie zrezygnować z podziału na AdfsLightCards
22:16
*ADFSCards
Avatar
o kurka
22:17
sprawdzę to
Avatar
Oranż Metylowy 08.04.2020 22:17
haha
22:17
tymczasem ja
22:17
22:18
tu widzisz cards, jak wyślesz __db=15 to masz bezpośrednio user+pass 👌
Avatar
rzeczywiście
Avatar
Oranż Metylowy 08.04.2020 22:23
noo
22:23
możesz w każdym ADFS to wysłać, bo przecież i tak musisz pobrać __VIEWSTATE
Avatar
Oranż Metylowy 09.04.2020 12:32
Exception in thread "main" javax.net.ssl.SSLHandshakeException: Server chose TLSv1, but that protocol version is not enabled or not supported by the client.
12:32
jak sobie z tym radzicie? XD
Avatar
hehehe 😄
Avatar
co, jaki serwer wybierze takie słabe szyfrowanie?
Avatar
Oranż Metylowy 09.04.2020 12:33
hmm, ale firefox pokazuje TLS1.2
Avatar
no i czemu to wyjątek na main threadzie
12:34
chyba czegoś nie wiem
12:34
sprawdź na ssllabs
Avatar
Oranż Metylowy 09.04.2020 12:35
nie robię tego na androidzie teraz
12:36
tylko w AS normalnie odpalając klasę Main
Avatar
Oranż Metylowy 09.04.2020 12:44
12:44
12:44
XD
Avatar
Oranż Metylowy 09.04.2020 12:46
ale tarnów też mi wywala
Avatar
jak ostatnio testowałem to wszędzie przynajmniej 1.1 było obsługiwane
12:47
tylko gdansk mi wywalało, ale to było coś z cert path
12:47
może emulator nie ten
Avatar
Oranż Metylowy 09.04.2020 12:47
no właśnie, firefox mi pokazuje TLS1.2 obsługiwane niby
12:47
ale Ssllabs nie
Avatar
Oranż Metylowy 09.04.2020 14:13
kolejne pytanie
14:13
czy każdy z tych systemów oprócz Opolskiego ma tylko jeden symbol?
Avatar
chciałbyś
14:14
nie
Avatar
mklkj tesco value 09.04.2020 14:14
gpe to samo miasto gdańsk z tego co wiem
Avatar
wulkanowy w ostatnich dwóch wersjach podaje domyślne dla tych dzienników, ale mogą tam być inne symbole
Avatar
Oranż Metylowy 09.04.2020 14:15
w tarnowie może być coś innego niż tarnow?
14:15
XD
Avatar
Oranż Metylowy 09.04.2020 14:15
to wiem, dlatego "oprócz opolskiego" (edited)
Avatar
mklkj tesco value 09.04.2020 14:16
no ale na opolskim to jest system dla całego województwa
Avatar
Oranż Metylowy 09.04.2020 14:16
wiem że na opolskim są różne, dlatego moje pytanie dotyczyło pozostałych
Avatar
mklkj tesco value 09.04.2020 14:16
stworzony przez jednostkę samorządu województwa - rcre/rzpwe
14:17
edu.gdansk.pl to już wydział rozwoju społecznego urzędu miasta gdańsk
Avatar
Oranż Metylowy 09.04.2020 14:17
@mklkj przykładowo jakie mogą być na innych systemach, inne niż domyślne?
Avatar
właśnie sprawdzam czy znajdę jakieś inne na innych dziennikach
Avatar
mklkj tesco value 09.04.2020 14:18
@mklkj tej części BrzegG1 tutaj nie trzeba używać
14:18
sam symbol miasta wystarczy
Avatar
wiem, skopiowałem ze strony z linka wyżej
Avatar
mklkj tesco value 09.04.2020 14:19
@mklkj tutaj jest pełna łącznie z przedszkolami lista: https://www.eszkola.opolskie.pl/_layouts/rejestrSzkol/RejestrSzkol.aspx
Avatar
Oranż Metylowy 09.04.2020 14:20
❤️
Avatar
mklkj tesco value 09.04.2020 14:20
hmmm
14:20
bo pokazują dokładnie to samo
Avatar
mklkj tesco value 09.04.2020 14:20
14:20
czekaj, spróbuję o siebie inny symbol szkoły wpisać w adresie
14:22
ok, nysa nie przechodzi w ogóle, ale to inny symbol miasta
14:22
Avatar
Oranż Metylowy 09.04.2020 14:23
to ma sens
14:23
a inny numer szkoły pokaże nieoczekiwany błąd
Avatar
no to tak, opole sie zachowuje tak jak vulcan.net
Avatar
mklkj tesco value 09.04.2020 14:23
nie, zła szkoła nie daje dostępu
14:23
14:23
tylko tyle kafelków mam
Avatar
Oranż Metylowy 09.04.2020 14:24
ale że w ogóle masz? 😮
14:24
ja mam to
Avatar
mklkj tesco value 09.04.2020 14:24
jak dam opolezse to działa
14:24
no i bez symbolu szkoły działa bez problemu
14:24
kafelek uczeń i tak do niego linkuje
14:25
na uonetplus-uczen już mam to
14:25
Avatar
Oranż Metylowy 09.04.2020 14:25
nom
14:26
to teraz wam pokażę magię
Avatar
w ogóle wszystkie strony szkół w gdańsku wyglądają tak samo
Avatar
Oranż Metylowy 09.04.2020 14:26
zaloguj się tu @mklkj tesco value
14:26
ciekawe czy wejdzie 😄
Avatar
mklkj tesco value 09.04.2020 14:26
ładuje w nieskończoność
Avatar
Oranż Metylowy 09.04.2020 14:27
nie pyta o login i hasło?
Avatar
mklkj tesco value 09.04.2020 14:27
keepassxc z jakiegoś powodu mnie zapytał czy może dostęp xD
14:27
ale Waiting for adfs.eszkola.opolskie.pl ciągle
Avatar
Oranż Metylowy 09.04.2020 14:28
to może zrób w incognito czy coś, bo tam jest komunikat o login+hasło, może keepass przeszkadza jakoś
Avatar
mklkj tesco value 09.04.2020 14:28
na tym pierwszym url który podałeś
Avatar
Oranż Metylowy 09.04.2020 14:28
14:28
to się powinno pojawić
Avatar
mklkj tesco value 09.04.2020 14:28
a mam cię skurwysynu mały
14:29
Avatar
Oranż Metylowy 09.04.2020 14:29
no widzisz
Avatar
mklkj tesco value 09.04.2020 14:29
ale wyboru nie mam
14:29
14:29
xD
Avatar
nie używam tego pluginu, wolę mieć kontrolę nad swoimi hasłami
Avatar
Oranż Metylowy 09.04.2020 14:29
to zrób dismiss i ręcznie wpisz/skopiuj
Avatar
mklkj tesco value 09.04.2020 14:29
ale on się mnie pytać musi o to czy może
14:30
na nie-incognito działa normalnie wybór konta
14:30
i jak wybieram swoje to mam to
14:30
14:30
https://adfs.eszkola.opolskie.pl/adfs/ls/auth/integrated/?wa=wsignin1.0&wtrealm=https%3A%2F%2Fcufs.eszkola.opolskie.pl%3A443%2Fopole%2FAccount%2FLogOn&wctx=rm%3D0%26id%3DeSzkola%26ru%3D%252Fopole%252FFS%252FLS%253Fwa%253Dwsignin1.0%2526wtrealm%253Dhttps%25253A%25252F%25252Fuonetplus.eszkola.opolskie.pl%25252Fopole%25252FLoginEndpoint.aspx%2526wctx%253Dhttps%25253A%25252F%25252Fuonetplus.eszkola.opolskie.pl%25252Fopole%25252FLoginEndpoint.aspx&wct=2020-04-09T12%3A25%3A29Z
14:31
a tu wejdzie normalnie?
Avatar
mklkj tesco value 09.04.2020 14:32
nie
14:32
chociaż czekaj
14:32
bo ja jestem zalogowana
Avatar
Oranż Metylowy 09.04.2020 14:32
no tak, więc powinno to drugie przenieść do dziennika teoretycznie
Avatar
Oranż Metylowy 09.04.2020 14:33
błąd ma taki sam adres?
Avatar
mklkj tesco value 09.04.2020 14:34
https://adfs.eszkola.opolskie.pl/adfs/ls/?wa=wsignin1.0&wtrealm=https%3A%2F%2Fcufs.eszkola.opolskie.pl%3A443%2Fopole%2FAccount%2FLogOn&wctx=rm%3D0%26id%3DeSzkola%26ru%3D%252Fopole%252FFS%252FLS%253Fwa%253Dwsignin1.0%2526wtrealm%253Dhttps%25253A%25252F%25252Fuonetplus.eszkola.opolskie.pl%25252Fopole%25252FLoginEndpoint.aspx%2526wctx%253Dhttps%25253A%25252F%25252Fuonetplus.eszkola.opolskie.pl%25252Fopole%25252FLoginEndpoint.aspx&wct=2020-04-09T12%3A31%3A31Z
14:34
lekko inny
Avatar
Oranż Metylowy 09.04.2020 14:34
nie no, taki sam jest
14:41
https://adfs.eszkola.opolskie.pl/adfs/ls/?wa=wsignin1.0&wtrealm=https%3a%2f%2fcufs.eszkola.opolskie.pl%2fopole%2fAccount%2fLogOn&wctx=rm%3d0%26id%3deSzkola%26ru%3d%252fopole%252fFS%252fLS%253fwa%253dwsignin1.0%2526wtrealm%253dhttps%25253a%25252f%25252fuonetplus.eszkola.opolskie.pl%25252fopole%25252fLoginEndpoint.aspx%2526wctx%253dhttps%25253a%25252f%25252fuonetplus.eszkola.opolskie.pl%25252fopole%25252fLoginEndpoint.aspx&wct=2020-04-09T12%3a36%3a42Z
14:41
albo na tym
Avatar
mklkj tesco value 09.04.2020 15:35
@Oranż Metylowy lipa jedna wielka
15:35
15:35
a potem i tak to
15:35
Avatar
Oranż Metylowy 09.04.2020 15:37
na żadnym linku nie działa?
15:37
przecież ten ostatni jest taki sam jak po wejściu przez tą listę szkół
Avatar
mklkj tesco value 09.04.2020 15:42
no na tym działa
15:42
https://adfs.eszkola.opolskie.pl/adfs/ls/?wa=wsignin1.0&wtrealm=http%3a%2f%2fcufs.eszkola.opolskie.pl%2fopole%2fAccount%2fLogOn&wctx=rm%3d0%26id%3deSzkola%26ru%3d%252fopole%252fFS%252fLS%253fwa%253dwsignin1.0%2526wtrealm%253dhttps%25253a%25252f%25252fuonetplus.eszkola.opolskie.pl%25252fopole%25252fLoginEndpoint.aspx%2526wctx%253dhttps%25253a%25252f%25252fuonetplus.eszkola.opolskie.pl%25252fopole%25252fLoginEndpoint.aspx&wct=2020-04-09T13%3a42%3a15Z
Avatar
Oranż Metylowy 09.04.2020 15:43
https://adfs.eszkola.opolskie.pl/adfs/ls/?wa=wsignin1.0&wtrealm=https%3a%2f%2fcufs.eszkola.opolskie.pl%2fopole%2fAccount%2fLogOn&wctx=rm%3d0%26id%3deSzkola%26ru%3d%252fopole%252fFS%252fLS%253fwa%253dwsignin1.0%2526wtrealm%253dhttps%25253a%25252f%25252fuonetplus.eszkola.opolskie.pl%25252fopole%25252fLoginEndpoint.aspx%2526wctx%253dhttps%25253a%25252f%25252fuonetplus.eszkola.opolskie.pl%25252fopole%25252fLoginEndpoint.aspx&wct=2020-04-09T12%3a36%3a42Z
15:43
a na tym nie>?
15:43
dobra, faktycznie, tam musi być HTTP a nie HTTPS....
Avatar
mklkj tesco value 09.04.2020 15:46
ale tu wszystko po https leci, wtf
15:47
oprócz dwóch obrazków
Avatar
Oranż Metylowy 09.04.2020 15:49
tak, ale http%3a%2f%2fcufs.eszkola.opolskie.pl
15:49
a nie https
15:49
inaczej nie działa pewnie
Avatar
Oranż Metylowy 09.04.2020 15:59
16:01
działa to już na vulcan.net? (edited)
Avatar
Oranż Metylowy 09.04.2020 16:02
tak
16:02
teoretycznie powinno działać na każde, oprócz opolskiego (bo ten http muszę zmienić)
16:02
ALE...
16:02
TLSv1 wywala
16:05
zaraz spróbuję to tu wysłać, i może jakiś miły użytkownik spróbował by przetestować (edited)
16:09
a, no i adfslight jeszcze nie wysyła cert
Avatar
Oranż Metylowy 09.04.2020 16:34
dobra, naprawiłem TLS (edited)
Avatar
co było nie tak?
Avatar
Oranż Metylowy 09.04.2020 16:37
.connectionSpecs(listOf(ConnectionSpec.COMPATIBLE_TLS))
16:37
to wystarczyło dodać
16:38
Avatar
Oranż Metylowy 09.04.2020 17:33
17:33
java -jar FSLogin.main.jar
17:35
@mklkj tesco value @Deleted User jesli moglibyście sprawdzić czy to działa to byłbym wdzięczny
Avatar
a ja już decompilator odpalałem :/
Avatar
Oranż Metylowy 09.04.2020 17:35
hahah po co
Avatar
Oranż Metylowy 09.04.2020 18:03
nie wiedzieć czemu, ale w FSLogin.kt nie działa mi lint
Avatar
Deleted User 09.04.2020 18:37
Śmiga
Avatar
Oranż Metylowy 09.04.2020 18:39
seeeerio?
18:40
o kurde
Avatar
Deleted User 09.04.2020 18:40
No zalogowałem się
18:40
I utworzyło plik
Avatar
Oranż Metylowy 09.04.2020 18:40
a pokaż co wyświetla w terminalu (tylko zamaż hasło)
Avatar
Deleted User 09.04.2020 18:42
Avatar
Oranż Metylowy 09.04.2020 18:42
ooo
18:42
cudownie
18:42
❤️
18:43
dzięki wielkie
Avatar
Deleted User 09.04.2020 18:45
Nowy terminal windows xD
Avatar
btw co tam robi 11.?
18:46
nie mów, ze librusa też to ma obsługiwać
Avatar
Oranż Metylowy 09.04.2020 18:47
nie, nie potrzebuję tego
18:47
ale obsługuje
18:47
¯\_(ツ)_/¯
18:47
(librus oświatawradomiu ma ADFS Light)
18:47
więc nie było żadnego problemu żeby to dodać
Avatar
Oranż Metylowy 09.04.2020 19:23
macie jakąś listę wszystkich cufs scoped? @mklkj
19:28
musiałbyś wziąć listę z dzienniczka+ i testować czy adfslight.vulcan.net.pl zwróci ekran logowania
Avatar
Oranż Metylowy 09.04.2020 19:29
albo czy uonetplus.vulcan.net.pl/symbol/LoginEndpoint przekieruje na adfs
Avatar
tak, tak samo jak cufs.vulcan.net
19:30
na tym opiera się nasze wsparcie dla tych adfsów, czyli że user podaje taki symbol a sdk samo ogarnia że to adfslight i odpowiednio się loguje
Avatar
Oranż Metylowy 09.04.2020 19:31
nom
19:31
google dla "Platforma VULCAN wersja" też daje rezultaty
19:31
i to całkiem sporo
19:32
nie każda ma uoneta scoped, ale jednak sporo
19:33
to pierwszy raz widzę
Avatar
Oranż Metylowy 09.04.2020 19:33
tak, coś dziwnego zamiast resmana
19:34
czym jest to 30 kiloniutonów to nie wiem
19:34
uuu, niektóre platformy vulcan mają librusa 😮
Avatar
Oranż Metylowy 09.04.2020 19:43
Avatar
mklkj tesco value 09.04.2020 20:21
@Oranż Metylowy nie działa
Avatar
Oranż Metylowy 09.04.2020 20:21
oh.
20:21
ale.. ale jak to
20:21
co wyświetla?
Avatar
Oranż Metylowy 09.04.2020 20:22
nie no, działa
20:22
idealnie jest
20:23
pokazało cert
20:23
(wresult)
Avatar
mklkj tesco value 09.04.2020 20:23
chodzi o te <DigestValue> w tym xml?
Avatar
Oranż Metylowy 09.04.2020 20:23
chodzi o cały xml
20:23
jak wyślesz go na https://uonetplus.eszkola.opolskie.pl/opole/LoginEndpoint.aspx POSTem to będziesz zalogowana
20:24
a ten warning to pewnie z powodu JDK 12 na którym to uruchamiasz
20:24
bo na JDK 1.8 tego nie miałem, a na JDK 12 tak
Avatar
mklkj tesco value 09.04.2020 20:27
< HTTP/1.1 302 Found < Cache-Control: no-cache, no-store, must-revalidate < Pragma: no-cache < Content-Length: 342 < Content-Type: text/html; charset=utf-8 < Expires: -1 < Location: https://cufs.eszkola.opolskie.pl/opole/FS/LS?wa=wsignin1.0&wtrealm=https%3a%2f%2fuonetplus.eszkola.opolskie.pl%2fopole%2fLoginEndpoint.aspx&wctx=https%3a%2f%2fuonetplus.eszkola.opolskie.pl%2fopole%2fLoginEndpoint.aspx < Server: Microsoft-IIS/7.5 < Set-Cookie: ARR_uonetplus.eszkola.opolskie.pl=[redacted];Path=/;Domain=uonetplus.eszkola.opolskie.pl < Set-Cookie: UonetPlus_ASP.NET_SessionId=; domain=eszkola.opolskie.pl; expires=Wed, 08-Apr-2020 18:25:33 GMT; path=/ < Set-Cookie: EfebSsoAuthCookie=null; domain=.eszkola.opolskie.pl; expires=Fri, 31-Dec-1999 23:00:00 GMT; path=/; HttpOnly < X-Frame-Options: SAMEORIGIN < X-UA-Compatible: IE=edge < X-Powered-By: ARR/2.5 < X-Powered-By: ASP.NET < Date: Thu, 09 Apr 2020 18:25:33 GMT < <html><head><title>Object moved</title></head><body> <h2>Object moved to <a href="https://cufs.eszkola.opolskie.pl/opole/FS/LS?wa=wsignin1.0&amp;wtrealm=https%3a%2f%2fuonetplus.eszkola.opolskie.pl%2fopole%2fLoginEndpoint.aspx&amp;wctx=https%3a%2f%2fuonetplus.eszkola.opolskie.pl%2fopole%2fLoginEndpoint.aspx">here</a>.</h2> </body></html>
Avatar
Oranż Metylowy 09.04.2020 20:27
oh, well, prawie
20:27
nie że samego XML
20:27
ale forma z wa=wsignin1.0&wctx=https://uonetplus.eszkola.opolskie.pl/opole/LoginEndpoint.aspx&wresult=<tu idzie XML>
20:28
urlencoded
Avatar
mklkj tesco value 09.04.2020 20:28
a, ok
20:28
to mi się nie chce sprawdzać już xD
20:28
ale powinno być wpisywańsko symbolu
Avatar
Oranż Metylowy 09.04.2020 20:29
wiem, na razie dałem hardcoded
20:29
ale to nie ma znaczenia, na typie 5 z brzeg też byś się zalogowała
20:29
(raczej)
Avatar
raczej nie do końca, byłby chyba ten sam ekran co na vulcanie jak próbujesz wejść na nie ten symbol
20:33
i zależy co rozumiesz przez zalogowanie
Avatar
Oranż Metylowy 09.04.2020 20:33
miałem na myśli że dostanie cert
20:34
ten program nie wysyła nigdzie go dalej
Avatar
Oranż Metylowy 10.04.2020 14:03
ogólnie to permissions już nie jest wymagane
Avatar
dziennik na stronie wysyła?
Avatar
Oranż Metylowy 10.04.2020 14:05
chyba tak
14:06
ale tego nie sprawdza
Avatar
to na razie nie ruszam, bo jak im się odmieni to będzie niefajnie
Avatar
Oranż Metylowy 10.04.2020 14:06
wiem
14:06
taka tylko ciekawostka
14:06
i kolejna:
14:06
(nwm, może to już wiesz)
14:07
jak dostaniesz błąd 429 i przez to cię wyloguje (The custom error module...cośtam) to wystarczy przywrócić EfebSsoAuthCookie do prawidłowej wartości i nie musisz tworzyć+przesyłać nowego certyfikatu
14:08
i to jest jedyne ciasteczko wymagane do podania w całym vulcanie (chyba)
14:11
wylogowanie polega na ustawieniu EfebSsoAuthCookie=null (słownie null), ale robi to jedynie wtedy, kiedy zgadza się jednocześnie symbol oraz liczby szkoły
14:11
(w sensie oba wskazują na prawidłową szkołę, ale nie ma do nich dostępu na tym koncie)
Avatar
znaczy wiem, że nie zawsze trzeba wykonywać pełne logowanie jak wywali podobny błąd, czasem wystarczy przejść na strone cufsu i certyfikat bez podawania hasła zwróci
Avatar
Oranż Metylowy 10.04.2020 14:11
no to tak, wystarczy ciągle wysyłać ten sam cert
14:11
dopóki nie wygaśnie
14:12
EfebSsoAuthCookie może być odświeżane w nieskończoność chyba, czyli teoretycznie masz sesję bez żadnego ponownego logowania (to właśnie robi /Home.mvc/RefreshSession)
Avatar
Oranż Metylowy 10.04.2020 18:29
18:29
o
Avatar
najgorzej jak UczenDziennik.mvc zwraca takie coś [ Diary( id=1, studentId=39669, studentName=Jan, studentSecondName=Jan, studentSurname=Kowalski, isDiary=false, diaryId=0, kindergartenDiaryId=0, level=0, symbol=null, name=null, year=0, semesters=null, fullName=Jan Kowalski ) ]
19:09
wtf vulcan, wtf
Avatar
Oranż Metylowy 10.04.2020 19:10
w sensie te 0?
Avatar
w sensie to wszystko, ani semestrów, ani dzienników, same zera
Avatar
Oranż Metylowy 10.04.2020 19:11
oh ojej
19:11
i czemu ludzie mówią że vulcan jest lepszy od librusa
Avatar
mklkj tesco value 10.04.2020 20:19
lepsze wsparcie community dla uczniów chyba
20:20
bo jednak choćby taki wulkanowy
Avatar
Oranż Metylowy 10.04.2020 20:20
szkolny też ma community
Avatar
mklkj tesco value 10.04.2020 20:21
sorry, ale szkolny jest masakryczny
Avatar
ah shit, here we go again (edited)
Avatar
mklkj tesco value 10.04.2020 20:22
jedyne co jest lepsze względem wulkanowego (zakładając że tylko tego vulcana się użżywa) to powiadomienia i zmiana imienia
20:22
chociaż słyszałam że to drugie też nie do końca
Avatar
Oranż Metylowy 10.04.2020 20:22
xD
20:23
no to jest właśnie to
20:23
każdy mówi że ble, a sam nawet nie sprawdzał nigdy
Avatar
mklkj tesco value 10.04.2020 20:23
ale ja mam ten szkolny na telefonie
Avatar
Oranż Metylowy 10.04.2020 20:23
no dobra, nie każdy, bo jesteś drugą osobą która mi powiedziała że ble
20:24
to pod jakim względem jest masakryczny?
Avatar
mklkj tesco value 10.04.2020 20:25
wygląd, mieszanie języków w aplikacji, funkcjonalność tylko z mobile-api
Avatar
Oranż Metylowy 10.04.2020 20:26
no tak ,to są faktycznie najbardziej użyteczne funkcje które kompletnie dyskryminują użyteczność apki
Avatar
mklkj tesco value 10.04.2020 20:26
jak mam do wyboru wulkanowego, to wybór jest oczywisty
20:27
jak na grupce rozmawiam to szkolnego tylko na librusach używają
Avatar
Oranż Metylowy 10.04.2020 20:27
zaskoczenie, bo nie tylko
Avatar
mklkj tesco value 10.04.2020 20:28
znaczy, nie ma nikt nic innego niż vulcan i librus wśród tych ludzi
Avatar
Oranż Metylowy 10.04.2020 20:28
mhm
20:28
wygląd to był brzydki w 3.x i starszych, teraz jest zdaniem moim i wielu innych znacznie lepszy
20:29
niepełne tłumaczenia na angielski są już poprawione i czekają na wydanie w aktualizacji
20:30
ale no, dwie narzekające osoby na kilkadziesiąt tysięcy to chyba nie znaczy że jest do śmieci
Avatar
jak dla mnie to jest powód do śmierci
Avatar
Oranż Metylowy 10.04.2020 20:32
Minionek to syn Zbyszka, wiadomo
20:33
jeszcze to samo urządzenie XD
20:34
fakt jest taki że z librusa mam 6x więcej userów niż z vulcana
Avatar
przy librusie nie masz praktycznie żadnej konkurencji
20:35
masz statsy ile twoich userów używa vulcana?
Avatar
Oranż Metylowy 10.04.2020 20:41
zbyt mało żebym chciał się tym chwalić
20:42
co ciekawe, idziennika używa więcej niż vulcana i mobi razem wziętych
Avatar
wysnuwam tezę, że brakujący userzy vulcana są u nas
Avatar
mklkj tesco value 10.04.2020 20:54
niepełne tłumaczenia na angielski są już poprawione i czekają na wydanie w aktualizacji
@Oranż Metylowy właśnie odwrotnie xD
20:54
mam teraz ustawiony polski w szkolnym a się miesza z angielskim
20:56
zresztą na początku po zmianie to w ogóle nie załapało i wyrzucało nowe powiadomienia po angielsku ciągle
Avatar
Oranż Metylowy 10.04.2020 20:59
a idźcie sobie wszyscy
20:59
nie mam czasu na kłótnie
Avatar
Oranż Metylowy 10.04.2020 21:11
Co?
Avatar
Oranż Metylowy 13.04.2020 17:52
wyjaśnienie: login składa się z trzech pierwszych liter imienia, czterech pierwszych nazwiska i cyfry.
17:52
jak myślisz, @mklkj można na tym polegać i robić regexa który to waliduje?
Avatar
możesz próbować, ale jest niezerowe prawdopodobieństwo, że komuś zablokujesz logowanie
17:54
jak robiłem walidację symbolu to uznałem, że mogą tam być tylko litery aż się okazało, że ktoś się nie może zalogować a jest symbol to była w stylu nazwamiasta2
Avatar
Oranż Metylowy 13.04.2020 17:55
tu mamy przynajmniej jakieś oficjalne potwierdzenie od vulcana
Avatar
mklkj tesco value 13.04.2020 17:55
@Oranż Metylowy niektóre nie pasują
17:56
przejrzyj sobie konta na https://outlook.office.com/people/
Avatar
Oranż Metylowy 13.04.2020 17:57
każe mi się logować
Avatar
mklkj tesco value 13.04.2020 17:57
na konto z eszkoły z adfs wejdź
Avatar
Oranż Metylowy 13.04.2020 17:57
nie mam xD
Avatar
mklkj tesco value 13.04.2020 17:58
ja daję [login]@eszkola.opolskie.pl i normalnie jest wszystko
17:59
w sensie przenosi na adfs do logowania i wracam na office.com
Avatar
ten moment kiedy ludzie myślą że zawołać ma konta we wszystkich możliwych dziennikach
Avatar
Oranż Metylowy 13.04.2020 17:59
xD
17:59
no niestety nie jest tak pięknie
17:59
a eduportal nie wchodzi
Avatar
mklkj tesco value 13.04.2020 18:00
ja mogę sobie oglądać dane uczniów i nauczycieli z całego województwa na tym xD
18:00
👏
Avatar
Oranż Metylowy 13.04.2020 18:02
xDD
Avatar
mklkj tesco value 13.04.2020 18:03
18:03
ten pierwszy z brzegu login by przez taki regex nie przeszedł, bo ma 4 litery tylko
18:04
część loginów z jakiegoś powodu ma najpierw nazwisko, a potem imię
Avatar
Oranż Metylowy 13.04.2020 18:20
Ale każdy ma najpierw litery a potem cyfry?
Avatar
mklkj tesco value 13.04.2020 18:23
jestem praktycznie pewna że jak poszukam to znajdę taki co nie będzie miał
18:28
w ogóle nie wiem dlaczego, ale wyraźnie niektórzy nauczyciele mają drugie konto "Pracownik [nazwisko]"
18:31
niektóre konta mają przypisanego maila na innych domenach
18:31
18:33
te nazwisko w tym z eszkoły jest inne, podejrzewam że po zmianie nazwiska nie mają jak zmienić login
Avatar
Oranż Metylowy 16.04.2020 17:33
Vulcan zmienił placeholder stronę kiedy wpiszesz zły symbol
17:34
17:34
tekst trochę bardziej user-friendly
17:36
" Adres strony systemu należy wpisać do górnego paska przeglądarki, nie do wyszukiwarki Google. " XD
Avatar
szanuję
17:37
sam czasem odpisywałem czymś podobnym na emaile
17:37
nie wiem czemu ludzie nas o to pytali, no ale widocznie zyskaliśmy ich zaufanie
17:43
ale też trochę nieprawdziwy komunikat, jeśli to się pokazuje przy adresie bez podanego id szkoły
17:43
bo to nie do końca jest baza szkoły
Avatar
Oranż Metylowy 16.04.2020 17:44
to się pokazuje przy złym symbolu
Avatar
Oranż Metylowy 16.04.2020 18:22
https://github.com/kuba2k2/FSLogin/tree/master ładne readme i gotowe, mozna wstawiać do apki
ADFS & Vulcan CUFS Login module. Contribute to kuba2k2/FSLogin development by creating an account on GitHub.
18:24
Avatar
Oranż Metylowy 16.04.2020 18:24
😄
18:25
LoginHelper.kt jest helpful
Avatar
Oranż Metylowy 17.04.2020 09:57
@mklkj do czego służy RegisterRepository.getLoginType()?
Avatar
Chciałem zrobić dynamiczną obsługę innych dzienników, gdzie SDK samo sobie dobiera sposób logowania
10:37
Działa to z różnym skutkiem
Avatar
Oranż Metylowy 17.04.2020 10:39
🤔
10:39
nie rozumiem xd
Avatar
Nooo podajesz główną domenę dziennika, a SDK zgaduje typ logowania (dlatego w LoginType jest AUTO)
Avatar
Oranż Metylowy 17.04.2020 10:40
a
10:42
ymm, jedno konto może być na kilku symbolach?
Avatar
Oczywiście że tak
Avatar
Oranż Metylowy 17.04.2020 10:42
mmm
10:43
to czeka mnie porządna migracja xD
10:43
bo symbolu nie schowałem per-profile -_-
10:43
a nie per-account
Avatar
Nie wszystko da się przewidzieć
Avatar
Oranż Metylowy 17.04.2020 10:44
no, dla mobile-api to działało, bo nie mogło być kilku symboli
10:45
umm, de facto wszystko muszę przeniesć
10:46
certyfikat do mobilnego chyba też, bo przecież jedno konto może mieć kilka różnych symboli, czyli kilka różnych cert
Avatar
W ogóle jak dużo chcesz scrapera zrobić? Tylko do logowania i pobierania pinu/tokena?
Avatar
Oranż Metylowy 17.04.2020 10:47
głównie tak, ale też do szczęśliwego numerka
10:47
i do późniejszego przeniesienia na hebe
10:47
no i takie rzeczy których nie ma w mobile-api i hebe
Avatar
Hm, ciekawe czy Hebe skończą do wakacji
Avatar
Oranż Metylowy 17.04.2020 10:48
ciekawe czy będzie coś jeszcze dodane
Avatar
Ciekawe czy coś jeszcze mocno zmienią
Avatar
Oranż Metylowy 17.04.2020 11:03
tak, w następnym updacie przestanie działać
Avatar
Oranż Metylowy 17.04.2020 15:46
czy URL dziennika to zawsze https://uoneplus.$host/$symbol/LoginEndpoint.aspx?
Avatar
w sensie chodzi o ten ostateczny adres, na który wysyła się cert?
Avatar
Oranż Metylowy 17.04.2020 15:50
tak
Avatar
no to tak, chyba tak
15:50
nasze sdk nie ma tego zapisanego na stałe jak pewnie zauważyłeś, więc nie dam 100% pewności
15:50
ale raczej tka
Avatar
Oranż Metylowy 17.04.2020 15:51
jakoś musi generować URLe do przesłania na symbolach z UserInstances
Avatar
mklkj tesco value 17.04.2020 19:18
@Oranż Metylowy literówka
19:18
uonet
Avatar
Oranż Metylowy 17.04.2020 19:22
a, no tak
19:22
pisałem z palca więc nie ma problemu że w kodzie błąd xd
Avatar
Oranż Metylowy 17.04.2020 21:44
@mklkj masz gdzieś HTMLa albo coś jak wygląda vulcan przy kilku uczniach w różnych szkołach?
21:44
gdzieś widziałem na githubie takie przykładowe wycinki z htmla, ale nie wiem gdzie to było
21:44
tam był różne ciekawe przypadki
Avatar
wszystko jest w sdk-scrapper/src/test/resources
21:46
w paczce login
Avatar
Oranż Metylowy 17.04.2020 21:46
oo, dzięki
Avatar
Oranż Metylowy 18.04.2020 12:25
jakiś pomysł czemu jspoon w wresult daje coś takiego?
12:25
<trust:RequestedAttachedReference> <o:SecurityTokenReference k:TokenType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1" xmlns:k="http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <o:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID">_eafb68ff-0aa5-439d-8ac4-7d9727617686</o:KeyIdentifier> </o:SecurityTokenReference> </trust:RequestedAttachedReference> <trust:RequestedUnattachedReference> <o:SecurityTokenReference k:TokenType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1" xmlns:k="http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <o:KeyIdentifier ValueType=&t;http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID">_eafb68ff-0aa5-439d-8ac4-7d9727617686 </o:KeyIdentifier> </o:SecurityTokenReference> </trust:RequestedUnattachedReference>
12:25
chodzi mi o &t; w drugim ValueType
12:25
przez to cert nie chce wejść do vulcana
Avatar
nawet nie wiesz ile ja na tym nerwów zjadłem
Avatar
Oranż Metylowy 18.04.2020 12:26
na tym dokładnie?
Avatar
tak, bo też mi w tym miejscu czasem źle decodowało encje
Avatar
Oranż Metylowy 18.04.2020 12:26
ale tylko w tym miejscu
12:27
i to czasami
12:27
i wiesz czemu?
12:29
to jest na etapie certificateAdapter, czy czegoś podobnego
Avatar
jaką masz wersję jsoupa?
Avatar
Oranż Metylowy 18.04.2020 12:30
nie mam jsoupa
Avatar
dodaj jawnie do zależności, bo jspoon używa starej wersji
12:31
a może już to naprawili
Avatar
Oranż Metylowy 18.04.2020 12:31
oo
12:31
spróbuję
Avatar
w sdk robiłem obejście przez Jsoup.parse() na samym wresult
Avatar
Oranż Metylowy 18.04.2020 12:33
czyli że LoginHelper.login() nie jest uzywane jakby? (edited)
12:34
ale sendCredentials i tak robi certificateAdapter.fromHtml
Avatar
czekaj pomyliłem, tak, robię to wtedy jeszcze raz przez jspoona
12:35
gdyby nie ten błąd to nie byłoby tam certificateAdaptera
Avatar
Oranż Metylowy 18.04.2020 12:36
ohh
Avatar
i sendCredentials() i podobne zwracałyby od razu Document albo Element
Avatar
Oranż Metylowy 18.04.2020 12:39
ymm to zależy chyba od konta xD
12:39
bo na jednym jest błąd, na innym nie ma
Avatar
to zależy od danych w certyfikacie
12:39
ten błąd wyszedł u nas dopiero po kilku miesiącach
Avatar
Oranż Metylowy 18.04.2020 12:39
tak też mozna
Avatar
w resourcach mam tam przykład dokumentu z certyfikatem, który psuje jsoupa
Avatar
Oranż Metylowy 18.04.2020 12:40
aaaa
Avatar
myślałem żeby zgłaszać błąd w jsoupie, ale mi się odechciało
Avatar
Oranż Metylowy 18.04.2020 12:40
nie wiedziałem o co chodziło z tym htmlem
12:41
update jsoupa nie pomógł
12:47
lol, faktycznie adapterem to działa dobrze..
Avatar
Your Short Boi 18.04.2020 13:21
Mam pytanie co odczytywania kodu qr z vulcana
13:21
UONET+ QR Code converter. Contribute to wulkanowy/qr development by creating an account on GitHub.
13:21
Wszystko z tego rozumiem, ale skąd wziąć hasło?
13:27
a hasła do api i qr są tutaj
Avatar
Your Short Boi 18.04.2020 14:17
Dziękuję
Avatar
Oranż Metylowy 18.04.2020 22:35
SDK wysyła permissions jako form, a strona jako JSON
22:35
hmm
Avatar
musieli to zmienić niedawno
Avatar
Oranż Metylowy 18.04.2020 22:39
tak czy inaczej nie jest potrzebne
22:40
//Jesli sa bledy po stronie kontrolera to lepiej cokolwiek dobrego przypisac - mhojwa 😄
Avatar
Oranż Metylowy 19.04.2020 13:40
{ "IkonkaNazwa": null, "Num": null, "Zawartosc": [ { "IkonkaNazwa": null, "Num": null, "Zawartosc": [ { "IkonkaNazwa": null, "Num": null, "Zawartosc": [], "Nazwa": "Szczęśliwy numer w dzienniku: 37", "Url": null, "Dane": null, "Symbol": null, "Nieaktywny": false } ], "Nazwa": "T", "Url": null, "Dane": null, "Symbol": null, "Nieaktywny": false } ], "Nazwa": "002547", "Url": null, "Dane": null, "Symbol": null, "Nieaktywny": false },
13:41
czy Zawartosc (linijka 4) może mieć więcej elementów?
Avatar
sprawdź w fixturach w paczce homepage
Avatar
Oranż Metylowy 19.04.2020 13:42
ymm stąd to wziąłem właśnie
13:42
zastanawia mnie czemu jest tu podany symbol szkoły
13:42
a w pojedynczym numerku nie ma
Avatar
właśnie dlatego
Avatar
Oranż Metylowy 19.04.2020 13:42
a w obu przypadkach jest też skrót szkoły
Avatar
znaczy nie wiem, pytaj vulcana
13:43
to zależy od tego ile jest uczniów na koncie, ile z nich ma numerki
Avatar
Oranż Metylowy 19.04.2020 13:44
mmm
13:44
chyba każdy symbol cyferkowy odpowiada jednej szkole
Avatar
on nie musi być cyferkowy
Avatar
Oranż Metylowy 19.04.2020 13:45
to wiem (edited)
Avatar
a jeśli jest w tej postaci to jest taki sam jak ten po symbolu grupującym jak wejdziesz na moduł ucznia
Avatar
Oranż Metylowy 19.04.2020 13:46
taak
13:46
"IdJednostkaSprawozdawcza": 3, "JednostkaSprawozdawczaSkrot": "SP Wilkow", "JednostkaSprawozdawczaNazwa": "Szkoła Podstawowa w Wilkowie", "JednostkaSprawozdawczaSymbol": "025678", "IdJednostka": 5, "JednostkaNazwa": "Szkoła Podstawowa w Wilkowie", "JednostkaSkrot": "SP Wilkow",
13:46
to jest w starym API
13:46
"Unit": { "Id": 3, "Symbol": "025678", "Short": "SP Wilkow", "DisplayName": "Szkoła Podstawowa w Wilkowie" }, "ConstituentUnit": { "Id": 5, "Short": "SP Wilkow", "Name": "Szkoła Podstawowa w Wilkowie" },
13:46
a to w nowym
13:47
wskazywało by że ConstituentUnit to nie jest JednostkaSprawozdawcza (edited)
13:48
nie rozumiem 😄
Avatar
ta szkoła nie była wcześniej zespołem szkół? tj. przed transformacją z gimnazjów
Avatar
Oranż Metylowy 19.04.2020 13:50
a nie wiem
13:50
chodzi mi o format danych bardziej
13:50
JednostkaSprawozdawcza ma podany skrót, a ConstituentUnit nie ma
13:50
czyli wskazywało by że Unit == JednostkaSprawozdawcza ConstituentUnit == Jednostka
13:51
a db w sumie nieważne
Avatar
mklkj tesco value 19.04.2020 18:04
w8 dam wam moje z zespołu
Avatar
Oranż Metylowy 19.04.2020 18:04
class CufsCertificate { @Selector(value = "EndpointReference Address") val targetUrl: String = "" @Selector(value = "Lifetime Created") val createdDate: String = "" @Selector(value = "Lifetime Expires") val expiryDate: String = "" @Selector(value = "Attribute[AttributeName=UserInstance] AttributeValue") val userInstances: List<String> = listOf() }
18:04
mklkj może miałeś podobny problem
18:05
Unable to find @Selector on type 'class pl.szczodrzynski.edziennik.data.api.edziennik.vulcan.login.CufsCertificate', or its fields. Is this type intended for parsing HTML? (edited)
18:05
wyrzuca jak zrobię Jspoon.create().adapter(CufsCertificate::class.java)
Avatar
po pierwsze to ten cert jest xmlem
18:07
elementy tam mają namespace'y (edited)
Avatar
Oranż Metylowy 19.04.2020 18:07
nie xd, usunąłem namespace
Avatar
mklkj tesco value 19.04.2020 18:07
"Unit": { "Address": "ul.Tadeusza Kościuszki 39-41, 45-062 Opole", "DisplayName": "Zespół Szkół Elektrycznych im.Tadeusza Kościuszki", "Id": 3, "Name": "Zespół Szkół Elektrycznych ", "Patron": "Tadeusz Kościuszko", "RestURL": "https://uonetplus-komunikacja.eszkola.opolskie.pl/opole/OpoleZSE/api", "Short": "OpoleZSE", "Symbol": "OpoleZSE" }, "ConstituentUnit": { "Address": "ul.Tadeusza Kościuszki 39-41, 45-062 Opole", "Id": 3, "Name": "Publiczne Technikum Nr 5 w Zespole Szkół Elektrycznych im. Tadeusza Kościuszki w Opolu", "Patron": null, "SchoolTopic": "bab6ff93-23b6-e411-9b68-005056b435d0", "Short": "PT5" }, (edited)
Avatar
jak usunąłeś?
18:08
replacem?
Avatar
Oranż Metylowy 19.04.2020 18:08
tak
18:08
Avatar
wszystkie czy tylko "saml"?
Avatar
Oranż Metylowy 19.04.2020 18:09
ohh, jest tam k:, to pewnie też muszę wywalić
Avatar
chyba
Avatar
Oranż Metylowy 19.04.2020 18:09
ale to wywala nawet przed załadowaniem danych
Avatar
czemu robisz @Selector(value = zamiast @Selector(?
18:10
value jest niepotrzebne
18:10
na pewno dobrą annotację tam masz?
Avatar
Oranż Metylowy 19.04.2020 18:10
import pl.droidsonroids.jspoon.annotation.Selector
18:10
value to tylko named parameter, nie powinien przeszkadzać
Avatar
dobra, wiem już
18:11
zrobiłeś immutable encję, której nijak nie da się zmienić parametrów
18:11
zmień val na var
Avatar
Oranż Metylowy 19.04.2020 18:11
aaaaa
18:11
zobaczę (edited)
Avatar
bbbbb
Avatar
Oranż Metylowy 19.04.2020 18:20
działa, dziękuję bardzo
Avatar
ta szkoła nie była wcześniej zespołem szkół? tj. przed transformacją z gimnazjów
@mklkj to była od zawsze tylko podstawówka
ie 6
Avatar
❤️
Avatar
Skąd wziąć ten firebaseToken?
Avatar
#tests
Avatar
hm, gdyby tak zrobić apkę pomocniczą (z packageid pl.vulcan.uonetmobile) instalowaną z zewnętrznego źródła, która służyłaby do generowania certa i odbierania powiadomień
Avatar
Oranż Metylowy 23.05.2020 19:43
ojej
19:43
no niby działało by to
19:44
ale spójrz na to, że powiadomienia w dzienniczku+ też nie działają wcale chyba
Avatar
nie wiem, trochę tu osób pisało, że ze szkolnego mają natychmiastowe powiadomienia, a z wulkanowego wcale
👍 1
Avatar
Oranż Metylowy 23.05.2020 19:44
hmm
19:44
też mnie to dziwi
19:44
bo u mnie powiadomienia w szkolnym nie działają
19:45
(z vulcana)
Avatar
mklkj tesco value 24.05.2020 02:32
hm, gdyby tak zrobić apkę pomocniczą (z packageid pl.vulcan.uonetmobile) instalowaną z zewnętrznego źródła, która służyłaby do generowania certa i odbierania powiadomień
@mklkj polecam https://framagit.org/erupcja/apk-firebase-data-extractor
Avatar
Właśnie bawiłem się tym
02:33
W ogóle dodaj do readme jak się tego używa i requirements.txt, bo chwilę mi zajęło żeby to odpalić
02:34
A ogóle fajnie by było gdyby to generowało gotowy plik google-services.json który można od razu do apki wsadzić
Avatar
mklkj tesco value 24.05.2020 02:34
requirements pythonowych nie ma żadnych do pobierania z pip, wszystko built-in
02:35
a te spoza pip są w readme
02:35
co do google-services.json to nie wiem jak to wygląda
Avatar
Ten plik możesz sobie pobrać tworząc nowy projekt na firebase i klikając że chcesz androidowy projekt (edited)
Avatar
mklkj tesco value 24.05.2020 02:37
ToS te litery to kłopoty
Avatar
To byłby kolejny krok do automatyzacji generowania działających tokenów do rejestracji urządzeń w mobilnym API
Avatar
mklkj tesco value 24.05.2020 02:39
ja tylko przypomnę że zrobiłam już do tego moduł do node
Avatar
Działa to teraz? Bo od środy się coś zmieniło
Avatar
mklkj tesco value 24.05.2020 02:40
nie sprawdzałam
Avatar
Sprawdź
Avatar
mklkj tesco value 24.05.2020 02:40
to jak wstanę
Avatar
Oranż Metylowy 24.05.2020 10:04
Nawet jak wygrasz Google services.json to Nie zarejestrujesz dobrego tokenu dla vulcana
Avatar
Ciekawe
Avatar
mklkj tesco value 24.05.2020 12:00
@mklkj coś tam się generuje
Avatar
pytanie czy możesz odbierać tym powiadomienia
Avatar
mklkj tesco value 24.05.2020 12:14
a to tego jeszcze nie zakodziłam wbrew nazwie xD
12:14
więc nie mogło przestać działać
Avatar
Czy przy użyciu SDK można stworzyć Wulkanowego w C#?
Avatar
nie za bardzo, bo ono jest w kotlinie, a między jvm a irl nie ma interopa
Avatar
A jakaś inna opcja jest?
Avatar
przepisać xd
21:35
ktoś tu był kto pisał implementację scrapera w cs
21:35
o
21:36
dzienniczeksharp/VulcanAPI
Avatar
Wulkanowy bot BOT 25.05.2020 21:36
[WIP] C# wrapper for vulcan's web api. Based on wulkanowy api
Gwiazdki
2
Avatar
to chyba to czego szukasz
21:36
nie ma dużo rzeczy, ale łatwo pójdzie rozbudować to o resztę
Avatar
Dzięki, poszperam w tym
Avatar
dla chcącego nic trudnego jak to mówią
Avatar
ostatnio miałem na zajęciach si szarpa, to może sam się pobawię
Avatar
Nudzi mi się, a akurat nie ma działającej aplikacji na Windowsa chyba. Wiem, że jest dzienniczek+ na Microsoft Store, ale nie działa logowanie.
21:39
Stworzę repozytorium na Githubie, dzięki za pomoc
Avatar
jak coś to polecałbym forka zrobić. Mówię na wypadek gdybyś chciał kod kopiować bez tego
Avatar
Tak mogę potwierdzić, że powiadomienia w Szkolnym działają od razu
Avatar
kiedy sprawdzałeś?
11:32
kiedy ostatnie dostałes *
Avatar
też potwierdzam
Avatar
W końcu naprawiłem błąd z antiForgeryToken is empty przy wysyłaniu wiadomości w resmanie i lublin.eu
02:32
Fix w następnym updacie
Avatar
w ogóle zastanawiałem się, czy by nie przepisywać może sdk do coroutinesów
15:23
zawsze to jakieś wyzwanie a pomogłoby to tak mi się wydaje uprościć znacząco kod
Avatar
Oranż Metylowy 03.06.2020 15:26
XD
Avatar
i wtedy ty możesz ustawić wątek w sdk i wystawić tylko suspend
15:28
no i prosto da się dodać zgodność z rxjavą na czas tej przesiadki przez kotlinx-coroutines-rx2
15:28
kto parę lat temu myślał, że coroutinesy będą taką siłą na rynku
15:29
no i wtedy były jeszcze we wczesnym stadium rozwoju, a rxjava była w pełni rozwiniętą biblioteką
15:31
ta myśl się spotęgowała jak zobaczyłem tego stacktrace'a https://hastebin.cf/tuhehodote.properties
15:32
choć ten w sumie nie jest jeszcze taki długi
15:33
na starszych androidach te stacki powodowały przepełnienie stosu
Avatar
Przepisz sdk bez bibliotek javovych, sam kotlin
Avatar
bez retrofita nawet bym nie próbował
21:50
square/retrofit#3181
Avatar
Wulkanowy bot BOT 03.06.2020 21:50
Given that okio went multiplatform already, and okhttp is slowly going towards that direction, would it be possible for Retrofit to go multiplatform some day? I'm just curious what are the required steps for this, apart from the actual conversion to Kotlin (which is not planned yet, according to the issue I mentioned). I would see moving from reflection-based annotation parsing (as I assume it's not working in native) to compile-time annotation (...)
Repozytorium
square/retrofit
Typ
Issue
Stan
Otwarty
Avatar
jest już implementacja firebase'a?
Avatar
to znaczyy w sdk jest zrobiona obsługa przekazania tokena fajerbejsowego przy pierwszym logowaniu, jeśli o to chodzi
Avatar
czyli jeszcze pobranie tokena nigdzie nie siedzi ://
Avatar
no nie
18:33
prawdopodobnie się gdzieś wrzuci na stałe pare działających tokenów i będzie losu losu przy rejestracji z którego sdk ma skorzystać
Avatar
nie stworzy to problemów? XD
Avatar
kolega z konkurencji tak działa od prawie dwóch tygodni, na razie chyba bez problemów
18:34
ciężko powiedzieć co będzie dalej
Avatar
a te skrypty Laury już nieaktualne są rozumiem
Avatar
nie wiem, pytaj u źródła (edited)
Avatar
@mklkj tesco value
18:37
wiadomo już jak sprawa ze skryptami wygląda?
Avatar
mklkj tesco value 05.06.2020 18:47
rejestracja powinna dalej działać
18:48
spróbuję jeszcze zaimplementować samo nasłuchiwanie powiadomień
18:48
ale do rejestracji wystarczy tyle, że masz ten token
Avatar
jak taką ocenę traktować? NumberFormatException: For input string: "+5="
Avatar
że co
10:33
to taka ocena istnieje?
Avatar
właśnie się zdziwiłem
10:34
wywaliło mi mi taki error u dwóch userów
Avatar
Dominik Korsa 13.06.2020 10:56
Huhuhuh
Avatar
niby 5 na szynach
12:07
ale jeszcze jest plus z przodu
Avatar
Dominik Korsa 13.06.2020 12:07
W ogóle ocena "na szynach"
12:07
No po co to
Avatar
zrozumiem jeszcze 2=
12:08
no ale 5=
12:09
tego to vulcan pewnie nie liczy do średniej
12:09
bo sam nie wie jak to potraktować
Avatar
może ktoś wpisuje oceny [5, +5, +3, -2, +5=,16] xD
Avatar
XD
Avatar
Dominik Korsa 14.06.2020 12:23
Czy w API mobilnym zadania też są tylko z jednego tygodnia?
12:23
Czy może są wszystkie możliwe?
Avatar
mobilne api może ci zwrócić dla całego roku od razu, jak ustawisz odpowiednią datę na start i koniec
Avatar
Dominik Korsa 14.06.2020 12:25
A co teraz mam zrobić z trybem SCRAPPER?
Avatar
musisz koniecznie pobierać na miesiąc do przodu?
12:26
i co w ogóle robisz
Avatar
Dominik Korsa 14.06.2020 12:26
Powiadomienia (edited)
12:26
Na razie dałem miesiąc
12:26
Można mniej być może
Avatar
nawet trzeba
Avatar
Dominik Korsa 14.06.2020 12:27
Dlaczego?
Avatar
bo mi się teraz chce takie zmiany w sdk robić
12:28
no i to nie jest niezbędne do tej funkcji
12:28
więc nie masz wyjścia
Avatar
Dominik Korsa 14.06.2020 13:01
Jak to nie jest niezbędne?
Avatar
no bo potrzebujesz pobierać koniecznie miesiąc na przód dane żeby zrobić powiadomienia?
13:02
jaka to dla ciebie teraz przeszkoda?
Avatar
Dominik Korsa 14.06.2020 13:03
No jak pobiorę tylko aktualny tydzień, to powiadomienie o nowym zadaniu będzie dopiero w tym samym tygodniu
Avatar
to można zmienić niezależnie od tych powiadomień później
13:04
a nauczyciel jest jakoś ograniczony do jednego miesiąca w przód?
Avatar
Dominik Korsa 14.06.2020 13:04
Nie
13:04
Ale muszę jakiś okres wybrać
Avatar
jak wpisze na miesiąc + 1 dzień to też nie złapiesz
13:04
na razie daj tydzień i tyle
13:04
teraz jest koniec roku to i tak nikt pewnie tam już nic nie wpisuje
13:04
więc robimy to już trochę pod nowy rok szkolny
Avatar
Wulkanowy bot BOT 14.06.2020 18:30
Brak opisu
Typ
Pull request
Stan
Otwarty
Wersja robocza
Tak
Avatar
sdk oficjalnie przepisane w całości na coroutinesy
23:54
i zajęło to mniej niż dzień
23:57
hm, może by w ogóle rxjave wywalił z wulkanowego
Avatar
jakim cudem tak szybko
Avatar
nie jest idealnie, ale działa i rxjava wyleciała z zależności
00:07
możesz zajrzeć, może coś doradzisz, bo chyba więcej z nimi pracowałeś
Avatar
własnie tego jest tak sporo że trudno coś tu zobaczyć
Avatar
Oranż Metylowy 24.06.2020 18:19
właśnie przeglądałem ten commit z coroutinesami
18:20
api.getZadaniaDomowe
Avatar
specjalnie
18:21
i tak do usunięcia idzie
Avatar
dobra czas na zdecydowane kroki
21:25
właśnie wywaliłem threetena z sdk
21:25
na androidzie trzeba będzie użyć core library desugaring
21:26
a na jvm to min java 1.8
21:30
no i wylatuje obsługa starego ucznia
21:30
bo mi zaczyna zawadzać
Avatar
a jeśli używa się kotlina to kotlina też trzeba ustawić na używanie 1.8
Avatar
siema co wpisać w firebaseToken?
Avatar
Oranż Metylowy 03.08.2020 11:07
Token firebase
Avatar
sprawa jest delikatna
11:08
api przyjmie tylko token wygenerowany dla dzienniczka+
Avatar
Możesz rzucić okiem na kapi2289/vulcan-api
Avatar
Wulkanowy bot BOT 03.08.2020 16:10
Nieoficjalne API do dzienniczka elektronicznego UONET+
Gwiazdki
22
Avatar
I am using an external library for my project, that uses RxJava in it's api. The project is written in kotlin (and so is the library) using the Intellij Idea IDE and Gradle as a build tool. Here is...
11:59
O cholera
12:00
XD
Avatar
I am using an external library for my project, that uses RxJava in it's api. The project is written in kotlin (and so is the library) using the Intellij Idea IDE and Gradle as a build tool. Here is...
Avatar
czytaj posta do końca (edited)
Avatar
Deleted User 25.08.2020 17:01
import io.github.wulkanowy.sdk.Sdk import io.github.wulkanowy.sdk.pojo.Semester
(edited)
17:01
XD
17:02
@mklkj pomóż biednemu człowiekowi, to twój projekt, a on będzie miał zaszczyt że odpowiedział mu jeden z twórców XDD
Avatar
znaczy widać że ogarnął sam
17:03
nie wiem czemu tu nie pisał
17:03
a no tak, bo nie ma go tu
Avatar
Deleted User 25.08.2020 17:09
Zaproś go na discorda
👍 1
Avatar
Oranż Metylowy 25.08.2020 17:24
czyli ktoś buduje konkurencję wulkanowego
Avatar
Dominik Korsa 25.08.2020 17:29
Avatar
byłby chichot losu gdyby na naszym sdk powstała lepsza aplikacja
❤️ 2
Avatar
Dominik Korsa 25.08.2020 17:30
Szybko zmieniaj licencję
17:30
Tak jak Traffic API Map Google nie może być użyte do stworzenia aplikacji konkurencyjnej
Avatar
Oranż Metylowy 25.08.2020 17:56
byłby chichot losu gdyby na naszym sdk powstała lepsza aplikacja
@mklkj spokojnie, szkolny ma swoje sdk/api
(edited)
Avatar
znaczy ja nie miałbym żadnych wyrzutów do nikogo gdyby tak się rzeczywiście stało
17:57
i w głębi duszy cieszyłbym się, gdyby taki szkolny używał naszego sdk
Avatar
Dominik Korsa 25.08.2020 17:58
Damy VULCANa za Librusa
Avatar
fajnie jakby były osobne sdk do każdego dziennika
17:59
wtedy chcesz napisać coś super hiper przydatnego do niego to bierzesz sobie takie sdk i to po prostu robisz
Avatar
Dominik Korsa 25.08.2020 18:01
Yay strona mojego liceum
Avatar
Oranż Metylowy 25.08.2020 18:58
wtedy chcesz napisać coś super hiper przydatnego do niego to bierzesz sobie takie sdk i to po prostu robisz
@mklkj albo jedno sdk do każdego dziennika 😏
Avatar
jeśli będzie modułowe to czemu nie
Avatar
Oranż Metylowy 25.08.2020 18:58
oczywiście
Avatar
ale w takim tworze będzie trzeba iść na wiele ustępstw
Avatar
Oranż Metylowy 25.08.2020 18:58
tak
Avatar
tworzyć byty, które tak naprawdę w niektórych miejscach nie istnieją
Avatar
Oranż Metylowy 25.08.2020 18:59
i lekko inna zasada działania niż takie wulkanowy sdk
19:00
nie wystarczy wtedy np. proste sdk.getDyżurniKlasy() bo chyba tylko vulcan to ma
Avatar
o nie wiedziałem że vulcan takie coś ma
19:01
chyba że w hebe
Avatar
Dominik Korsa 25.08.2020 19:01
😮
Avatar
Oranż Metylowy 25.08.2020 19:01
niee, na stronie chyba
19:01
może się mylę
Avatar
Dominik Korsa 25.08.2020 19:01
U mnie w szkole nauczyciele mają
19:01
Ale uczniowie nie
Avatar
nie kojarzę
Avatar
Oranż Metylowy 25.08.2020 19:01
na stronie w kafelkach chyba widziałem
Avatar
Dominik Korsa 25.08.2020 19:01
I później nauczyciele się denerwują, że nie wiemy kto jest dyżurnym
Avatar
czyli co, zwracasz jakiś tam obiekt z danym dziennikiem do pobierania z niego danych?
Avatar
Oranż Metylowy 25.08.2020 19:02
nah, nie do konca
19:02
raczej jest jakiś wrapper/pośrednik do którego daje się prośby o dane, a on wtedy rozmawia z danym modułem dziennika
Avatar
nooo jak robisz modułowe sdk to nie ma innego wyjścia
Avatar
Oranż Metylowy 25.08.2020 19:03
nom
Avatar
nasze sdk ma główną klasę, przez którą można się dobrać do mobile-api albo scrapera
19:03
taka fasada
19:03
facade pattern
19:06
i jak myślisz ogarniać przełączanie między kontami?
19:06
tworzyć nowy obiekt z takim sdk czy rekonfigurować ten który już istnieje?
Avatar
Oranż Metylowy 25.08.2020 19:08
tak samo jak ogarniam to teraz, czyli podawać takie konto (Profile+LoginStore) do sdk
19:08
a każdy Profile i LoginStore ma zapisywany w sobie rodzaj dziennika oraz typ logowania
Avatar
no dobra, to brzmi jak początkowa konfiguracja
19:09
ale jak chcesz przełączyć na inne konto?
19:09
robisz nowy obiekt z sdk?
Avatar
Oranż Metylowy 25.08.2020 19:09
emm nie, podaję konto do sdk przy próbie synchronizacji/pobrania czegoś
Avatar
aa, czyli za każdym razem
19:14
w ogóle ogarnąłeś już kwestię wstrzykiwania zależności?
19:14
będziesz używał retrofita?
Avatar
Oranż Metylowy 25.08.2020 19:15
w ogóle ogarnąłeś już kwestię wstrzykiwania zależności?
@mklkj uczyłem się trochę daggera+hilta i mvvm
Avatar
ale o sdk mówię
Avatar
Oranż Metylowy 25.08.2020 19:15
wiem
Avatar
chociaż hmm
Avatar
Oranż Metylowy 25.08.2020 19:15
mvvm to nie do sdk
Avatar
ono będzie android-only?
Avatar
Oranż Metylowy 25.08.2020 19:15
nie
19:15
już się bałem
Avatar
Oranż Metylowy 25.08.2020 19:15
więc hilt odpada, ale dagger pewnie gdzieś tam będzie
Avatar
o DI pytam w kontekście sdk właśnie
Avatar
Oranż Metylowy 25.08.2020 19:16
retrofit na pewno do mojego API, bardzo możliwe że również do dzienników
19:16
aczkolwiek trzeba pamiętać że nie każdy ma JSONa/XML, czasami to parsowanie htmla jest
19:16
i wtedy to jakiś jspoon czy coś
19:16
ale niby też retrofit
Avatar
noo retrofit jest jak wiesz dość elastyczny pod tym względem
Avatar
Oranż Metylowy 25.08.2020 19:17
tak
19:17
tak czy inaczej, już od roku chyba używam retrofita do api szkolnego
Avatar
coraz większe te jsony z wiadomościami
23:07
przejmować się tym?
Avatar
Deleted User 26.08.2020 23:08
Tak
23:08
Bo pamięć przede wszystkim
23:08
😄
23:09
Ciekawe czy dojdzie do 10
Avatar
@Deleted User jak tam w Gdańsku, macie tam już nowego vulcana?
Avatar
Deleted User 26.08.2020 23:11
Nowego?
Avatar
aktualizację z wiadomościami
23:12
po których wulkanowy przestał je wyświetlać
23:12
po prostu sprawdź czy ci się wiadomości wyswietlają
Avatar
Deleted User 26.08.2020 23:12
Zobaczę
Avatar
Te jsony takie duze dlatego, ze key kazdego obiektu z wiadomoscia nazywa sie 'NewNieprzeczytanaWiadomoscFromNauczycielPracującyInPlacówkaOświatowaTypuLiceumOgólnokształcąceKorzystającejZVulcanUłomnetPlusWersja2137.420.0.0.0.1'?
Avatar
Deleted User 26.08.2020 23:13
404
23:13
Mamy
Avatar
hm, coś szybko zaktualizowali
23:16
Adresaci.mvc/GetAddressee
23:19
a ten json tyle waży, bo teraz do każdej wiadomości dodana jest lista wszystkich odbiorców
Avatar
Oranż Metylowy 26.08.2020 23:20
nawet do wiadomości odebranych?
Avatar
no tak, właśnie mówię o wiadomościach odebranych
Avatar
Oranż Metylowy 26.08.2020 23:21
yyyy
23:21
czyli widzisz np. wszystkich uczniów do których dyrektor wysłał wiadomość?
Avatar
Deleted User 26.08.2020 23:21
XD
23:21
RODO?
Avatar
Oranż Metylowy 26.08.2020 23:21
to się nazywa raczej "bug"
Avatar
chyba tak
23:22
bo w UI tych danych nie widzę
Avatar
Deleted User 26.08.2020 23:22
Więc API > UI
Avatar
Oranż Metylowy 26.08.2020 23:22
wulkan zaskakuje z każdym dniem coraz bardziej
Avatar
ładnie sobie serwery przed rozpoczęciem roku zarżną
Avatar
Deleted User 26.08.2020 23:23
Ojej
23:23
Ale narzędzie wymyśliłem
23:23
vulcan-cli
Avatar
Deleted User 26.08.2020 23:31
Ktoś robił (edited)
23:31
Nawet się zalogowałem
23:31
I działało
Avatar
dobra chyba ogarnąłem skąd wziąć ich nowe endpointy
Avatar
Oranż Metylowy 26.08.2020 23:38
co to?
23:38
source mapa jest czy co?
Avatar
intellij umie pokazać strukturę kodu co nie
23:42
no i to jest wynik jak skopiowałem kod źródłowy jednego pliku js
Avatar
kolejny błąd do kolekcji zdradzający trochę szczegółów o systemie The parameters dictionary contains a null entry for parameter 'date' of non-nullable type 'System.DateTime' for method 'System.Web.Mvc.JsonResult Get(System.DateTime, Int32, System.Nullable`1[System.Int32])' in 'Vulcan.Efeb.Uczen.Web.Controllers.Api.SprawdzianyZadania.HomeworkController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter. Parameter name: parameters
Avatar
już prawie oficjalnie: migrujemy z gsona na moshi
15:22
przy okazji dopiero teraz zauważyłem że vulcan zmienił scheme podsumowania punktowego ocen
15:22
{ "data": { "TableContent": "<table><thead><tr><th>Przedmiot</th><th>Uczeń</th><th>Średnia klasy</th></tr></thead><tbody></tbody></table>", "Items": [ …
Avatar
Oranż Metylowy 26.09.2020 16:53
a jakie zalety ma moshi?
Avatar
po pierwsze - jest ciągle rozwijane, gdzie gson został nawet przez googla zapomniany
16:55
za moshi są osoby które tworzyły gsona, ale już nie pracują w google'u
16:55
ma first-class support dla kotlina
16:55
ładniejsze komunikaty o błędach przy parsowaniu jsona
Avatar
Oranż Metylowy 26.09.2020 17:41
😮
17:41
to nice
Avatar
Jest tylko mały problem bo normalnie wymaga kotlin-reflect, ale można to obejść generatorem adapterów
Avatar
mklkj tesco value 26.09.2020 18:14
tymczasem twórca owm
18:14
Avatar
halko co to za wynoszenie
18:48
also dawno i nieprawda
Avatar
Oranż Metylowy 06.10.2020 23:18
Noo i co?
Avatar
nie nic
23:20
Avatar
@Luncenok bawiłeś się w wysyłanie wiadomości do samego siebie?
Avatar
tak
Avatar
to robiłeś na podstawie jakiejś wysłanej do nauczyciela wiadomości, nie?
15:23
masz może zapisany request przy takim wysyłaniu wiadomości?
15:23
chodzi mi o strukturę request body
15:23
nagłówków
15:24
próbuję ogarnąć czemu przy wysyłaniu wiadomości czasem vulcan zwraca pustą stronę
Avatar
Deleted User 10.10.2020 15:36
Mam zapisany request wysyłania wiadomości jako .har (edited)
15:36
To wystarczy?
Avatar
z kiedy?
Avatar
Deleted User 10.10.2020 15:37
I też mam takie coś zapisane
15:37
A coś się zmieniło? (edited)
15:37
Mogę zroboić test w trybie offline (edited)
Avatar
znaczy nie wiem, chodzi mi żeby to był zapis po 26 sierpnia, bo jakoś wtedy vulcan wydał aktualizację ze zmianami w module wiadomości
Avatar
Deleted User 10.10.2020 15:38
To zrobię teraz
15:43
O to chodzi?
Avatar
Deleted User 10.10.2020 15:44
A to w Adresatach: "Adresaci":[{"Id":"-14241rNauczyciel","IdReceiver":"","Name":"Imię Nazwisko [IN] - Nauczyciel (ZS\u0141)","Role":6,"UnitId":96,"IdLogin":153548
Avatar
dzięki! doceniam
Avatar
to powinno naprawić problem z crashowaniem się całego wątku https://github.com/wulkanowy/sdk/commit/4d7e031999a0d244bbfec4ac0997cb63166037c8
14:12
protip
Avatar
wulkanowy#992
Avatar
Wulkanowy bot BOT 13.10.2020 14:29
Brak opisu
Typ
Pull request
Stan
Otwarty
Wersja robocza
Nie
Avatar
todo: dodać obsługę błędów http w apce
14:29
jak będzie 404 to pokazać info że vulcan zepsuł endpointy i musimy wydać apdejta, a jak jest >=500 to że vulcan się sam zepsuł
14:30
a 429 to zwykle znaczy że się nie udało zalogować
Avatar
Oranż Metylowy 17.10.2020 14:40
ostatnio było coś że nowy adfs się pojawił, jaki to był?
Avatar
Tarnów?
Avatar
eduportal.koszalin.pl?
15:44
znaczy drugi nowy
15:44
pierwszy lekko inny
Avatar
Oranż Metylowy 17.10.2020 16:04
ok
16:04
bo trzeba się fslogin zająć
Avatar
jakbyś zrobił to na coroutinesach z wstrzykiwaniem swojego clienta okhttp to może byśmy to nawet użyli u nas
Avatar
Oranż Metylowy 17.10.2020 16:36
klienta okhttp możesz mu podać własnego
Avatar
jak nazwać po angielsku „zebrania”?
21:51
chodzi o to coś
Avatar
Deleted User 18.10.2020 21:51
Meetings?
Avatar
gathering?
21:52
chyba meetings będzie bardziej poprawne
21:53
bo te zebrania mogą być też online
21:53
Avatar
conference (edited)
21:54
Tłumaczenia w kontekście hasła "zebranie z rodzicami" z polskiego na angielski od Reverso Context: Jutrzejsze zebranie z rodzicami zostało przełożone.
Avatar
hm rzeczywiście
Avatar
Oranż Metylowy 20.10.2020 00:03
https://szkolny-eu.github.io/FSLogin/realms/ no, to teraz lista hostów jest open source
ADFS & Vulcan CUFS Login module
Avatar
Oranż Metylowy 20.10.2020 00:07
pewnie jutro zaktualizuję o te nowe
00:07
i sprawdzę czy działa dalej z tym updatem tarnowa
Avatar
Od razu ci powiem że nie zadziała
Avatar
Oranż Metylowy 20.10.2020 00:08
ok
00:08
to będzie naprawianko
Avatar
Ale wystarczy zmiana nazw tych pól formularza
Avatar
User: hej, jaką mam płeć? Vulcan:
Avatar
XDDDDD
Avatar
Dominik Korsa 22.11.2020 20:48
Płeć niebinarna nabiera nowego znaczenia (edited)
Avatar
Ty możliwe
20:49
1 - mężczyzna
20:49
0 - kobieta
Avatar
Dominik Korsa 22.11.2020 20:49
null?
Avatar
Hmmm... 🤔
20:50
User haven't got a płeć
Avatar
to też jest ciekawe
Avatar
Jak to brzmi
20:52
"CzyWidocznyPesel"
Avatar
Dominik Korsa 22.11.2020 20:52
O opiekuni jako osobne pola
20:52
A co jak jest więcej?
Avatar
mklkj tesco value 22.11.2020 20:53
1 - kobieta 0 - mężczyzna float - osoba niebinarna null - agender
Avatar
są dwa pola
20:53
Opiekun1 i Opiekun2
20:54
nie wiem czy przypadkiem nie ma w prawie, że mogą być max dwaj opiekunowie
Avatar
Dominik Korsa 22.11.2020 20:54
Hmm
Avatar
Deleted User 22.11.2020 20:54
> 1 - helikopter bobjwy
Avatar
Dominik Korsa 22.11.2020 20:55
This is getting serious, and I don't think I like it
Avatar
Deleted User 22.11.2020 20:57
PosiadaPesel?
Avatar
Polak: true
20:57
XDDDDD
Avatar
Dominik Korsa 22.11.2020 20:57
Fun fact: jeśli zmienisz płeć w Polsce, to dostajesz nowy PESEL
Avatar
A co jak PosiadaPesel: true
Avatar
Avatar
Dominik Korsa
Fun fact: jeśli zmienisz płeć w Polsce, to dostajesz nowy PESEL
no tak
Avatar
Deleted User 22.11.2020 20:58
Tak musi być
Avatar
bo w peselu jest zawarta twoja płeć
Avatar
Dominik Korsa 22.11.2020 20:58
No tak
Avatar
obcokrajowcy nie mają peseli
Avatar
Deleted User 22.11.2020 20:58
Fun fact: jeśli zmienisz datę urodzenia, to dostaniesz nowy PESEL
Avatar
chyba że dostaną obywatelstwo
20:58
IsDorośli: false
20:58
Co to ma znaczyć?
Avatar
Avatar
mklkj
obcokrajowcy nie mają peseli
Deleted User 22.11.2020 20:58
a czy vulcan przysyła pesel w tym responsie?
Avatar
Avatar
pengwius
Co to ma znaczyć?
wiesz że są szkoły dla dorosłych nie?
Avatar
A no w sumie
Avatar
Avatar
Deleted User
Fun fact: jeśli zmienisz datę urodzenia, to dostaniesz nowy PESEL
Dominik Korsa 22.11.2020 20:59
W Polsce nie można zmienić daty urodzenia (chyba)
Avatar
Avatar
Dominik Korsa
W Polsce nie można zmienić daty urodzenia (chyba)
Deleted User 22.11.2020 20:59
To żart był
👍 1
Avatar
Avatar
Deleted User
a czy vulcan przysyła pesel w tym responsie?
hm, nie mogę znaleźć
Avatar
Deleted User 22.11.2020 21:00
Zmiana daty by prowadziła do nadużyć, typu legalne przestępstwa
21:00
Omijanie zakazów
21:00
Dla pedofili też
Avatar
ale po co miałoby się dać zmienić datę urodzenia
21:01
przecież to by było fałszerstwo
Avatar
Deleted User 22.11.2020 21:01
Zmieniasz i nagle (nie)jesteś pełnoletni 🤔 (edited)
Avatar
co innego jakby zaszła pomyłka gdzieś w szpitalu
21:01
to pewnie dałoby się to wyprostować
Avatar
Deleted User 22.11.2020 21:01
To tak
Avatar
a nie, poprawka, bo my w Polsce jesteśmy
21:02
to niekoniecznie
Avatar
Dominik Korsa 22.11.2020 21:02
my nie mamy pomyłek w szpitalach
21:02
my nie mamy szpitali
❤️ 2
Avatar
Avatar
Dominik Korsa
Fun fact: jeśli zmienisz płeć w Polsce, to dostajesz nowy PESEL
mklkj tesco value 22.11.2020 22:15
nie takie proste niestety
22:17
wymaga sprawy sądowej przeciwko rodzicom, że Ci źle wpisali
22:17
jak nie żyją to w ich imieniu są wyznaczeni kuratorzy
22:18
gorzej jak żyją, bo mogą utrudniać i przeciągać latami
22:19
sąd wymaga dążenia do zmiany wyglądu (terapia hormonalna)
22:20
do tego chujotony badań, opinie biegłych sądowych
22:21
...tymczasem w Danii idziesz do urzędu, prosisz o zmianę danych i po paru miesiącach (okres na ewentualne rozmyślenie się) zmienione
23:11
Em
23:11
Zainteresowala mnie ta zmiana daty urodzenia
Avatar
data urodzenia się w takiej sytuacji chyba nie zmienia
Avatar
mklkj tesco value 22.11.2020 23:31
no zmienia się dane urzędowe jeśli się nie zgadzają
13:24
koszalin zmienił trochę stronę logowania
13:24
w ten sposób dołącza do tarnowa https://uonetplus.umt.tarnow.pl/tarnow
Avatar
mklkj tesco value 25.11.2020 14:06
w ogóle ten cert TLS
Avatar
@Fajerbejs dodałem już dane ucznia do sdk
Avatar
ok
Avatar
sprawdziłem teraz i wywala się na negocjacji połączenia w przypadku lublina, koszalina i gdanska na starych androidach
16:50
włączyłem tlsv1.2 dla tych trzech, ale gdansk ma nadal problem
16:51
CertPathValidatorException
16:52
Trust anchor for certification path not found
16:52
The SSL certificate is trusted on most Desktop computers, but only some Android devices. However, even on Android devices where the certificate is untrusted, the root certificate is installed. I m...
16:52
czyli mają zwaloną konfigurację certyfikatów
Avatar
Oranż Metylowy 07.12.2020 16:59
to jakby nie dziwi
Avatar
z ciekawości pokombinuję i spróbuję ręcznie dodać ten brakujący certyfikat do configu okhttp
17:00
a potem wywale wsparcie dla android 4.2 jak już osiwieję
Avatar
Oranż Metylowy 07.12.2020 17:17
Ale dopiero wtedy
Avatar
nie poddam się bez walki
Avatar
Oranż Metylowy 07.12.2020 17:18
Dodaj wsparcie 4.1
Avatar
dobra poddaję się
Avatar
czyli co robisz?
17:33
wywalamy wsparcie dla 4.x ? 😄
Avatar
nie no jeszcze nie
17:33
na razie tylko z tym gdańskiem jest problem
Avatar
znalazłem chyba sposób jak dodać obok systemowych certyfikatów jakiś customowy bez ładowania ciężkich bibliotek
10:33
rfreedman/android-ssl
Avatar
Wulkanowy bot BOT 18.12.2020 10:33
Example Android project using HTTPS/SSL with client certificates and self-signed server certificate
Gwiazdki
155
Avatar
Oranż Metylowy 18.12.2020 14:57
tego się nie robiło jakoś w okhttp?
14:57
custom certificate pinner czy coś
14:57
o, trust manager właśnie
15:00
a masz jakiś inny sprawdzony sposób?
Avatar
Oranż Metylowy 18.12.2020 15:32
nie
Avatar
mam plan wywalić z sdk możliwość modyfikowania danych logowania itp. bez tworzenia nowego obiektu - czyli do zmiany usera będzie potrzebne utworzenie nowego obiektu sdk
Avatar
wtedy zamiast wstrzykiwania w apce obiektu Sdk wstrzykiwałoby się coś w stylu SdkProvidera lub SdkFactory
17:38
już teraz na sdk i tak w każdym miejscu wywołujemy metodę switchDiary() zwracającą sdk, więc podmiana powinna być całkiem prosta
17:38
dodatkowe korzyści? możemy przechowywać w pamięci instancje sdk z zalogowanymi innymi użytkownikami, dzięki czemu przełączanie userów byłoby szybsze
17:39
korzyści od strony developerskiej? pozbędziemy się okropnego kodu w sdk związanego z konfigurowaniem i odświeżaniem obiektów przy zmianie konfiguracji
Avatar
Oranż Metylowy 25.12.2020 18:41
Osobne SDK dla każdego usera? Hmm musze pomyśleć
Avatar
tak, efektem ubocznym jest możliwość w miarę prostej implementacji tego, chyba
18:56
chyba że cookie manager będzie miał jakiś problem, ale nie powinien
18:58
na razie to się zastanawiam jeszcze jak ogarnąć inicjalizowanie sdk z różnymi danymi, bo np. przy rejestracji mamy mniej danych niż później będzie potrzebne przy pobieraniu reszty danych
Avatar
Oranż Metylowy 25.12.2020 19:53
Witamy w problemach implementacji 6 dzienników jednocześnie
19:53
Oh, wait..
Avatar
ej dobra chyba dałoby się przenieść sdk na kotlin/native
16:22
jest coś takiego jak ktor
16:22
i ten ktor potrafi używać różnych klientów http zależnie od platformy
16:22
na androidzie używa okhttp
16:23
a na ios NSURLSession
16:29
jeszcze tylko mulitplatformowy parser htmla i jesteśmy w domu
Avatar
Oranż Metylowy 29.12.2020 16:33
mmm
16:33
też o tym myślałem
16:34
ktorem fajne api można robić
16:34
w sensie serwerowe
Avatar
Dominik Korsa 09.01.2021 19:25
19:25
Co oznacza //dec
19:25
I dlaczego to jest string
19:25
To jest tu: sdk-scrapper/src/main/kotlin/io/github/wulkanowy/sdk/scrapper/grades/Grade.kt
Avatar
decimal
19:27
widziałeś kiedyś zapis koloru w inny sposób niż w hex lub w rgb?
19:27
to tu zobaczysz
Avatar
Dominik Korsa 09.01.2021 19:27
No właśnie
19:27
Avatar
półrocze minęło, na pewno znajdziesz jakąś kolorową ocenę
Avatar
Dominik Korsa 09.01.2021 19:27
19:28
No dobra, ale czemu to jest string?
19:28
W SDK Kotlinowym
19:28
A nie Int
Avatar
a, racja
19:28
nie wiem, nie pamiętam
19:28
jak zadziała u ciebie number to użyj number
Avatar
Dominik Korsa 09.01.2021 19:38
Co to za format?
19:38
Tak w ogóle
Avatar
dziesiętny (edited)
Avatar
Dominik Korsa 09.01.2021 19:40
Hmm
19:41
Chyba widzę o co chodzi
19:41
Zrobię zamianę na hex
Avatar
pomysł na projekt w stylu mulitplatform-soup, łączący jhy/jsoup i scinfu/SwiftSoup (edited)
Avatar
Wulkanowy bot BOT 10.01.2021 12:53
SwiftSoup: Pure Swift HTML Parser, with best of DOM, CSS, and jquery (Supports Linux, iOS, Mac, tvOS, watchOS)
Gwiazdki
2589
12:54
jsoup: the Java HTML parser, built for HTML editing, cleaning, scraping, and XSS safety.
Strona domowa
Gwiazdki
8383
Avatar
Dominik Korsa 11.01.2021 21:15
Czy Pedagog w szkole i nauczycielach ma jakiś format?
21:15
21:17
U mojej siostry jest tak
21:17
Dyrektor nie ma żadnego formatu
21:17
Ale pedagodzy mają format taki, jak Nauczyciele[i].Nauczyciel
21:20
Albo dobra, nie będę nic zakładał
21:20
Po prostu zwrócę ten string co dają
Avatar
Niby to jest tablica i można próbować ją prasować, się SDK tego nie robi, więc nie wiem czy zawsze tak jest
Avatar
Ciekawostka: mamy trochę crashy tego typu Fatal Exception: java.lang.IllegalStateException: Closing the body of Response{protocol=h2, code=302, message=, url=https://uonetplus.vulcan.net.pl/zamosc/} didn't close its backing stream. Bad interceptor? at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:190) ... z tego co doszedłem to ten wyjątek nie jest już rzucany od wersji 3.14.0 okhttp (sdk używa 3.12.12 bo to ostatnia wspierająca androida starszego niż 5.0) gdzie ten interceptor został dość mocno przebudowany (nawet nie wiedziałem że okhttp ogarnia tyle eventów) https://github.com/square/okhttp/pull/4645/files#diff-0ffdcb4ee90266c1cd93beecebacbe3ef43bb5d25fdddc7081204a30d71d68acL135 (edited)
Avatar
Więc może to zachętą do przejścia na minsdk 21
Avatar
Na pewno kolejny argument
Avatar
Dominik Korsa 25.01.2021 08:41
Co konkretnie zwraca NowaWiadomosc.mvc/GetJednostkiUzytkownika?
08:41
I kiedy może być więcej niż jeden element
Avatar
Taki numerek który jest potrzebny chyba do wyciągnięcia recipientów
08:43
dokładnie
Avatar
Dominik Korsa 25.01.2021 08:43
Avatar
Avatar
pengwius
dokładnie
Dominik Korsa 25.01.2021 08:43
No używasz [0]
08:43
A czy może być więcej?
Avatar
Nie wiem
Avatar
Dominik Korsa 25.01.2021 08:58
Mam dla was jedną odpowiedź
08:58
Na koncie absolwenta
08:58
Jest tak
08:58
Avatar
Avatar
Dominik Korsa
I kiedy może być więcej niż jeden element
Patrz w fixturach #sdk bo chyba obsługiwałem taki przypadek
Avatar
Dominik Korsa 25.01.2021 09:11
O jest fixture
09:11
Ale nigdzie nie używany
09:13
09:13
Wiadomo czym różni się schoolId (z URLa) od IdJednostkaSprawozdawcza?
Avatar
to pierwsze może być czasem literową nazwą, a drugie chyba zawsze liczbą (z paddingiem zer)
Avatar
Dominik Korsa 25.01.2021 09:18
Wait co
09:19
Tu jest liczba
09:19
A w URLu jest tak
Avatar
to id to jest takie userLoginId
09:20
skrót powinien być podobny do tego między "wieliczka" a "start"
Avatar
Dominik Korsa 25.01.2021 09:20
Kompletnie nie jest
09:21
U mnie to nazwa SP<miejscowosc>
Avatar
i to jest właśnie ten drugi przypadek
09:21
bo czasami jest 002032
09:21
przynajmniej z tego co wiem
Avatar
Dominik Korsa 25.01.2021 09:21
hmm
09:22
To czego lepiej użyć do identyfikacji
Avatar
usera chcesz identyfikować?
09:27
to id
09:28
id bywa identyczne jak student id dla kont ucznia
Avatar
Dominik Korsa 25.01.2021 09:28
A w jakim zakresie to id jest unikalne?
Avatar
dobre pytanie
09:28
domyślam się, że dla danego school id
Avatar
Dominik Korsa 25.01.2021 09:28
Halo Vulcan, mamy dobre pytanie
09:29
A jeśli user ma dwie szkoły (edited)
09:29
To co
09:29
Hmm
09:30
Czy wiadomości są wtedy osobne?
Avatar
a czy w adresie uonetplus-uzytkownik jest id szkoły?
Avatar
Dominik Korsa 25.01.2021 09:37
no nie
09:37
Avatar
Nie ma
Avatar
Dominik Korsa 25.01.2021 09:40
09:40
Hmm
09:41
Najpierw jest request do GetJednostki
09:42
09:42
Potem do GetGrupy
09:42
09:43
A następnie do GetOddzialy (edited)
09:44
A w GetAdresee jest coś takiego
09:45
09:46
IdLogin
09:46
I UnitId
09:46
Wszędzie jest to samo UnitId - 5
Avatar
Unit id powinno być unikalne w danym symbolu
09:59
Znaczy raczej na pewno jest
Avatar
Zaraz, zaraz
Avatar
Dominik Korsa 25.01.2021 10:00
Tylko problem jest taki, że użytkownik może być w kilku jednostkach
10:00
Bo może, tak? (edited)
Avatar
Czy mogę wysłać wiadomość do osoby z innej szkoły o tym samym symbolu?
Avatar
Avatar
Dominik Korsa
Tylko problem jest taki, że użytkownik może być w kilku jednostkach
Ale nie będzie miał aktywnego konta w dwóch szkołach jednocześnie
10:04
No bo nie możesz być jednocześnie uczniem w dwóch szkołach, nie?
10:04
Chooociaż
10:04
Ktoś ostatnio napisał że ma problem z logowaniem do dziennika szkoły muzycznej
10:05
A tu już można być w muzycznej wieczorowej i normalnie np. w technikum
Avatar
Dominik Korsa 25.01.2021 10:10
Wolałbym się na tym nie opierać
10:10
No nie wiem
10:11
Tzn. na tym, że uczeń nie będzie miał konta w dwóch szkołach
10:11
A jeśli to rodzic?
10:11
I ma dzieci w dwóch szkołach
Avatar
znaczy ja od początku mówię, żeby wziąć unitId/schoolId + userLoginId
Avatar
Dominik Korsa 25.01.2021 10:25
No rozumiem
10:25
Ale ja rozdzielam usera od ucznia
10:25
W Bridge
10:26
I daję dostęp do usera
Avatar
no to jaki to ma związek
10:26
jak chcesz mieć unikalnego ucznia, to dodajesz jeszcze studentId
Avatar
Dominik Korsa 25.01.2021 10:27
A user może być w kilku szkołach
10:27
Potrzebuję identyfikatora użytkownika
10:28
Ale on może mieć więcej niż jeden unitId
10:28
Albo nie mieć go wcale
Avatar
znaczy ja bym absolwentom w ogóle wyłączył możliwość logowania
10:29
bo po co ci dziennik jak jesteś absolwentem
Avatar
Dominik Korsa 25.01.2021 10:32
O jak próbuję wysłać wiadomość na koncie absolwenta to (edited)
10:32
*po kliknięciu przycisku Nowa wiadomość
10:32
Pewnie chce ustawić domyślny unitId
10:32
A takiego nie ma
Avatar
ja na koncie absolwenta nie mogę zrobić nic, bo mam ekran
10:34
chociaż nie, mam dostęp do wiadomości
10:35
ale tylko po wpisaniu adresu bezpośrednio
Avatar
Dominik Korsa 25.01.2021 10:35
No ja też
10:35
No dobra, zablokuję opcję logowania absolwentów
10:35
Chociaż w sumie i tak nie zadziała
Avatar
no nie zadziała, bo skąd weźmiesz info o uczniach
Avatar
Dominik Korsa 25.01.2021 10:36
Ale gorzej jak API będzie próbowało zrobić nowy request
10:36
Chociaż dobra
10:36
W końcu musi się przelogować (edited)
10:36
I wtedy pewnie zacznie wywalać
Avatar
możesz jeszcze wykrywać przy logowaniu na ekranie startowym czy jest ten tekst co wysłałem wyżej
10:39
i wtedy rzucać wyjątek
10:40
ahh
10:40
Aash
10:40
Aash Ketchup
10:40
Aash Kotlin
Avatar
bawił się tu ktoś w wysyłanie wiadomości? wiecie może jaka jest maksymalna długość tytułu wiadomości?
Avatar
Avatar
mklkj
bawił się tu ktoś w wysyłanie wiadomości? wiecie może jaka jest maksymalna długość tytułu wiadomości?
OgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenie
18:46
dokładnie tyle
Avatar
hm, czyli to nie to
18:47
szukam dalej przyczyny tych pustych odpowiedzi z vulcana przy wysyłaniu wiadomości
Avatar
różne mogą być przyczyny
Avatar
Na pewno nie ma żadnej literówki w body/headersach?
Avatar
to by wszystko wiadomości wywalało
18:48
a tu tylko część
Avatar
Zwraca puste 200 tak?
Avatar
To ja miałem złe ciastka
Avatar
może żle daje jakieś id
Avatar
java.io.EOFException: End of input at com.squareup.moshi.JsonUtf8Reader.nextNonWhitespace(JsonUtf8Reader.java:1144)
18:48
Ten problem doprowadził do 2062 błędów niekrytycznych, które dotyczą 542 użytkowników
Avatar
Jednak jak jest literówka w body to to samo się dzieje
Avatar
na pewno jak się cokolwiek zmieni w Adresaci: to wywala
18:49
puste
Avatar
gdzie w tym czasie wysłano tyle wiadomości
Avatar
Sprawdź czy np. Login i loginId jest to samo
18:49
Czy jakoś tak to się nazywało
Avatar
właśnie myślałem że tu jest problem
18:50
bo apka miała to pomieszane
18:50
ale teraz jest już niby ok a dalej takie błędy dostajemy, nic się nie zmieniło
Avatar
UnitId się zgadza?
Avatar
na wszystkicg wersjach?
18:52
hm, jest też opcja że coś źle wysyłamy i np. jakichś pól brakuje a są w tych przypadkach wymagane przez vulcana
18:52
Kotlin SDK for VULCAN UONET+. Contribute to wulkanowy/sdk development by creating an account on GitHub.
Avatar
{ "incomming":{ "Id":0, "Nieprzeczytane":0, "Przeczytane":0, "Nieprzeczytana":false, "FolderWiadomosci":0, "WiadomoscPowitalna":false, "Data":null, "Tresc":"https://www.youtube.com/watch?v=dQw4w9WgXcQ", "Temat":"OgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenie", "IdWiadomosci":0, "HasZalaczniki":false, "Zalaczniki":"", "Adresaci":[ { "Id":"44795", "IdReceiver":"", "Name":"Idziejczak Mateusz - ucze\u0144 10C (TK)", "Role":1, "UnitId":0, "IdLogin":44795, "PushWiadomosc":false, "Hash":"p8+7F16aJ4rAV1+F9e9vB4m+9qHjQjsE+h5V44JQ=", "Date":null, "IsMarked":false } ], "WyslijJako":"Dyrektor Szkoły", "WiadomoscAdresatLogin":"", "IdWiadomoscAdresatLogin":null, "RolaNadawcy":0, "NieprzeczytanePrzeczytane":"0/0", "NadawcaNazwa":"Brak nadawcy", "IdNadawca":0, "AdresaciNazwa":"Brak adresata" } } (edited)
Avatar
{ "incomming": { "Adresaci": [{ "Id": "1rPracownik", "Name": "Karolina Kowalska [AN] - pracownik (Fake123456)", "IdLogin": 1, "UnitId": 6, "Role": 2, "Hash": "NTVhNTQwMDhhZDFiYTU4OWFhMjEwZDI2MjljMWRmNDE=" }], "Id": 0, "Nadawca": {}, "Temat": "ndndjfjjfjfhf", "Tresc": "Rhhdhdhrhrhrhrhrhrhrbrbbrbrb" } }
19:14
Hmm
Avatar
Nie ma czegoś takiego jak Nadawca
19:16
czemu tak mało
Avatar
to było robione ze dwa lata temu
19:16
przez kapiego
Avatar
mmm
Avatar
i tyle wystarczało
Avatar
Avatar
Luncenok
{ "incomming":{ "Id":0, "Nieprzeczytane":0, "Przeczytane":0, "Nieprzeczytana":false, "FolderWiadomosci":0, "WiadomoscPowitalna":false, "Data":null, "Tresc":"https://www.youtube.com/watch?v=dQw4w9WgXcQ", "Temat":"OgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenieOgłoszenie", "IdWiadomosci":0, "HasZalaczniki":false, "Zalaczniki":"", "Adresaci":[ { "Id":"44795", "IdReceiver":"", "Name":"Idziejczak Mateusz - ucze\u0144 10C (TK)", "Role":1, "UnitId":0, "IdLogin":44795, "PushWiadomosc":false, "Hash":"p8+7F16aJ4rAV1+F9e9vB4m+9qHjQjsE+h5V44JQ=", "Date":null, "IsMarked":false } ], "WyslijJako":"Dyrektor Szkoły", "WiadomoscAdresatLogin":"", "IdWiadomoscAdresatLogin":null, "RolaNadawcy":0, "NieprzeczytanePrzeczytane":"0/0", "NadawcaNazwa":"Brak nadawcy", "IdNadawca":0, "AdresaciNazwa":"Brak adresata" } } (edited)
WyslijJako 😆
Avatar
oj
19:28
skopiowałem wersję co wszystkim w szkole wysłaałem
Avatar
XDDDDD
Avatar
Dyrektor: otwiera wiadomości Też dyrektor: odczytuje wiadomość od dyrektora
Avatar
ale by jazda była
19:40
jakbym dyrektora zrickrollował
Avatar
Ej a Vulcan escapuje HTMLa?
19:49
Może się da ramkę z YT osadzić
Avatar
nie da się
19:58
wszędzie wyświetla się <iframe.... a w szkolnym nic się nie wyświetla xDD
Avatar
szkolny ma chyba swój parser htmla
19:58
a przynajmniej nie zdziwiłbym się gdyby miał
Avatar
dobra, wiem czemu nie działa mimo że myślałem że poprawiłem to wysyłanie wiadomości
11:32
głupi jestem
11:32
naprawiłem zapisywanie w bazie recipientów
11:32
ale oni się odświeżają wyłącznie przy synchronizacji (edited)
11:33
więc powinniśmy jeszcze wyczyścić tabelę żeby mieć pewność że zadziała
Avatar
zaczynamy festiwal nulli
Avatar
nie lepiej było dać wszystko nullem? (edited)
Avatar
nie lubię tego podejścia
12:22
a dzięki temu to będziemy chociaż wiedzieć co rzeczywiście praktycznie może być nullem a co zawsze nim nie jest
Avatar
czyli lepiej bawić się w kotka i myszkę zamiast zrobić działającą apke
12:22
fajnie
Avatar
nie wiem czy zauważyłeś ale od zawsze tak robię
Avatar
no to może czas to zmienić
Avatar
niee, jeszcze poczekam
Avatar
gdybyś miał dokumentację to okej rozumiem takie podejście
12:23
ale nie masz
12:23
i zawsze może tam być null
Avatar
i w ten sposób ją poniekąd tworzą
12:24
popatrz na to z szerszej perspektywy
Avatar
kosztem użytkoników i opóźniania wersji 1.0
Avatar
dzięki temu będziemy mogli w przyszłości lepiej rozumieć dziennik i będziemy wiedzieć czego się spodziewać
12:25
jak dasz nulla wszędzie to niby bedzie działać, ale tak naprawdę niczego się nie nauczyłeś
12:25
co kosztem, 0.25.1 zaraz wleci
Avatar
ale nie zdobędziesz wszystkich informacji co ma byc nullem
12:26
zamiast uczyć się jak zjebane dane zwraca strona to lepiej zrobić apkę która dobrze działa
12:26
dla kilkudziesięciu tysięcy użytkowników (edited)
Avatar
wiem co może być nullem w planie lekcji, zadaniach domowych, ocenach, wiadomościach etc, to jest już przetestowane i przetrwało próbę czasu. Dzięki temu wiem na których danych mogę polegać, a na których nie (edited)
12:27
dałbym wszystko nullable i na początku by wszystko działało ale nie wiedziałbym czego się spodziewać w przyszłości
Avatar
dobra nie ważne, nie przekonam
Avatar
jakbym dał nulle np. przy pobieraniu jednostek organizacyjnych, to skąd bym miał wiedzieć że dane pole jest nullem i przez to nie działa logowanie, jakby żaden wyjątek nie poleciał
12:28
dawanie nulli to jest ukrywanie problemu
12:28
ciche błędy powstają
12:29
dzięki mojemu podejściu tego typu błędy łatwiej znaleźć i szybciej można rozwiązać
Avatar
to kiedy 0.25.1
12:29
data 1.0.0 się nie zmienia bo to nie crashe (edited)
12:30
@mklkj jest więcej tych nulli?
12:30
czy tylko nazwisko rodowe
Avatar
na razie tylko ten
12:31
u jednego użytkownika
Avatar
@Fajerbejs
Avatar
Czyli bez opiekunów?
Avatar
Oranż Metylowy 06.02.2021 11:43
może pełnoletni
Avatar
i w innym
Avatar
Avatar
Fajerbejs
Czyli bez opiekunów?
na to wychodzi
11:48
więc może być sytuacja, że nie będzie wpisany pierwszy albo drugi rodzic/opiekun
11:48
mam zmieniać sdk, żeby zwracało to w osobnych polach, niż jak teraz w liście?
11:55
wersja z osobnymi polami i zdeprecjonowanym polem z listą w wersji 31fa6d26 (edited)
Avatar
Ktoś serio nie ma matki i ojca JsonDataException: Non-null value 'motherAndFatherNames' (JSON name 'ImieMatkiIOjca') was null at $.data.ImieMatkiIOjca
Avatar
Deleted User 08.02.2021 10:57
XD
10:57
A może szkoła cię trolluje
10:58
I wstawli null
Avatar
Dominik Korsa 08.02.2021 15:31
Czy to wywala aplikację?
15:31
Czy tylko wam raportuje?
Avatar
to jest non fatal
15:31
pokazuje się tylko błąd wczytywania danych dla usera
Avatar
ej co to może znaczyć? IllegalArgumentException: Required value was null. ApiResponse(success=true, data=null, feedback=null, errorMessage=null)
20:57
komunikat po "Required value was null" to po prostu sparsowany obiekt odpowiedzi
Avatar
w ogóle bintray znika
Avatar
Oranż Metylowy 15.02.2021 22:29
noo 😦
Avatar
coooo?
Avatar
To streamline the productivity of the JFrog Platform we will be sunsetting Bintray (including JCenter), GoCenter, and ChartCenter services on May 1st, 2021.
22:30
dla javy polecają korzystać z maven central
Avatar
Oranż Metylowy 15.02.2021 22:40
nie znalazłem nigdzie jak tego używać XD
22:41
w skrócie robisz issue na ich jirze i dajesz linki do repo na gh
22:41
coś jak fdroid
Avatar
sdk 1.0.1 opublikowane zmiany względem 1.0.0: brak
Avatar
a nie poprawiłeś danych ucznia?
12:17
na nullalble
Avatar
przed 1.0.0 jeszcze poprawiałem
12:18
między 0.25.1 a 1.0.0
Avatar
wiem
Avatar
chyba nic nowego nie doszło
Avatar
ale czy nie ma jakiś nowych (edited)
Avatar
nie widziałem
Avatar
Oranż Metylowy 23.02.2021 07:57
07:57
Huh, od kiedy permissions ma jsona?
Avatar
Oranż Metylowy 23.02.2021 09:00
@mklkj
Avatar
Nie próbowałem tego wcześniej rozkodowywać
Avatar
Oranż Metylowy 23.02.2021 09:01
ok
09:01
bo się zastanawiam czy coś się nie zmieniło w vulcanie
Avatar
Możliwe że tak było od początku istnienia tej wartości
Avatar
Oranż Metylowy 23.02.2021 09:02
a,
09:02
bo rejestracja w szkolnym emailem działa na jednym koncie, nie działa na innym XD
Avatar
Oranż Metylowy 23.02.2021 11:19
a, dobra, trzeba przesłać ciastko "idBiezacyUczen"
11:19
co ciekawe.. na innym koncie nie trzeba XD
Avatar
a jest na obu tylko jeden uczeń?
Avatar
Oranż Metylowy 23.02.2021 11:20
tak
11:20
XD
11:21
lepiej, tam gdzie trzeba jest konto ucznia, a na koncie rodzica nie trzeba
11:21
nie wiem czy to ma jakieś znaczenie
11:22
ale te permissions to mi się podoba, uzyję tego przynajmniej sensownie
Avatar
Avatar
Oranż Metylowy
lepiej, tam gdzie trzeba jest konto ucznia, a na koncie rodzica nie trzeba
Oranż Metylowy 23.02.2021 11:25
w sumie to ma sens
Avatar
jak dla mnie to odwrotnie by miało sens
Avatar
Oranż Metylowy 23.02.2021 11:25
ma sens jak spojrzysz na permissions
Avatar
nigdy nie miałem w łapach konta rodzica
Avatar
Oranż Metylowy 23.02.2021 11:26
{"Units":[{"Nazwa":"1234","Skrot":"123456","Symbol":"123456","Id":8}],"AuthInfos":[{"JednostkaSprawozdawczaId":8,"LoginId":44795,"LoginValue":"uczen@gmail.com","UczenIds":[41348],"OpiekunIds":[],"PracownikIds":[],"Roles":[7],"LinkedAccountUids":[]}]} {"Units":[{"Nazwa":"5678","Skrot":"123456","Symbol":"123456","Id":3}],"AuthInfos":[{"JednostkaSprawozdawczaId":3,"LoginId":566,"LoginValue":"rodzic@wp.pl","UczenIds":[],"OpiekunIds":[1391,1478],"PracownikIds":[],"Roles":[6],"LinkedAccountUids":[]}]} {"Units":[{"Nazwa":"0123","Skrot":"123456","Symbol":"123456","Id":2}],"AuthInfos":[{"JednostkaSprawozdawczaId":2,"LoginId":4907,"LoginValue":"rodzic@outlook.com","UczenIds":[],"OpiekunIds":[173],"PracownikIds":[],"Roles":[6],"LinkedAccountUids":[]}]}
Avatar
o, opiekun ids
Avatar
Oranż Metylowy 23.02.2021 11:27
noo XD
11:27
inaczej:
  • vulcan chce weryfikować idBiezacyUczen, ale nie może tego robić na koncie rodzica
11:28
znaczy mógłby ale co z tego
11:28
uczeń ma jeden ID, więc sprawdza czy się zgadza
11:28
rodzic może mieć więcej, albo jak widać w permissions - wcale
Avatar
znaczy to chyba nie tyle weryfikuje, a opiera się na tym kogo dane chce zobaczyć
11:28
to jak rodzic zmieni ucznia na innego to co, nie ustawia się to ciastko?
Avatar
Oranż Metylowy 23.02.2021 11:28
taa ale dostęp mobilny jest na każde konto
Avatar
a dobra
Avatar
Avatar
mklkj
to jak rodzic zmieni ucznia na innego to co, nie ustawia się to ciastko?
Oranż Metylowy 23.02.2021 11:29
ustawia
Avatar
right
Avatar
Oranż Metylowy 23.02.2021 11:29
ono tak czy inaczej jest
Avatar
Avatar
Oranż Metylowy
taa ale dostęp mobilny jest na każde konto
Oranż Metylowy 23.02.2021 11:29
dlatego w ogóle ta "weryfikacja" jest głupia bardzo
11:30
cóż, przynajmniej wiem co naprawić
11:30
jak i tak przy okazji mam permissions
Avatar
noo, nie musisz pobierać osobno UczenDziennik
Avatar
Oranż Metylowy 23.02.2021 11:31
ta
Avatar
Oranż Metylowy 23.02.2021 12:08
permissions.split("|") .getOrNull(0) ?.toJsonObject() ?.getJsonArray("AuthInfos") ?.asJsonObjectList() ?.flatMap { authInfo -> authInfo.getJsonArray("UczenIds") ?.map { it.asInt } ?: listOf() } ?.let { data.app.cookieJar.set( data.webHost ?: "vulcan.net.pl", "idBiezacyUczen", it.firstOrNull()?.toString() ) }
12:08
aż nie wiem co powiedzieć
12:09
nie robiłem chyba nigdy takiego długiego chainu XD
Avatar
ja się pomału leczę z nadużywania let
Avatar
Oranż Metylowy 23.02.2021 12:17
tu akurat się ładnie sprawdziło
Avatar
tutaj byłoby czytelniej jakbyś to id wyciągnął wcześniej do zmiennej i na końcu dopiero wrzucił do jara
Avatar
Oranż Metylowy 23.02.2021 12:19
a, no, fakt
12:20
ale mnie wkurza jak AS nie kompiluje zmian które wprowadzam
12:20
tylko po prostu wgrywa od nowa stary plik
Avatar
ja na szczęście się oduczyłem nadużywani scope functions
12:21
a przynajmniej tak mi się wydaje
Avatar
val someVariableName = someMethod().someOtherMethod().variable
Avatar
Oranż Metylowy 23.02.2021 12:23
hmm, permissions na 100% wyglądał kiedyś inaczej
12:23
bo teraz regex przestał mi to rozpoznawać
12:24
i oczywiście nie kompiluje ehhhh
Avatar
Oranż Metylowy 25.02.2021 15:35
pytanie
15:35
albo ankieta
15:35
jak jest ADFS
15:35
to jest ten stary i ten nowy
15:35
15:36
zakładając że stary nazywa się w FSLogin AdfsRealm, jak mogę nazwać nowy?
15:36
AdfsNewRealm, Adfs2016Realm...
Avatar
AdfsRealm2
Avatar
Oranż Metylowy 25.02.2021 15:36
o nie
15:36
XD
15:36
najgorsza nazwa
15:37
w paru miejscach przewija się tam portal więc może AdfsPortalRealm
15:38
to jest plan
Avatar
Oranż Metylowy 25.02.2021 15:46
yaay
Avatar
Oranż Metylowy 25.02.2021 16:19
jak w wulkanowym rozpoznajecie czy adfs jest stary czy nowy?
Avatar
kiedyś robiłem to przez rozpoznawanie klas elementów
16:20
teraz mi się już nie chce i po prostu na podstawie nazwy hosta
16:21
a i tam jest taki myk, że dla GPE musisz dodać w przypadku loginu ciąg GPE\ przed loginem
16:21
podobnie dla koszalina jest inny ciąg i dla jeszcze jakiegoś dziennika
Avatar
Oranż Metylowy 25.02.2021 16:21
wiem wiem
16:21
w koszalinie jest vulcan?
16:21
😮
Avatar
Oranż Metylowy 25.02.2021 16:22
o
16:22
nie wiedziałem
Avatar
Avatar
mklkj
podobnie dla koszalina jest inny ciąg i dla jeszcze jakiegoś dziennika
mklkj tesco value 26.02.2021 13:42
opolska: ESZKOLY\
Avatar
ale to nie jest wymagane chyba?
13:43
Kotlin SDK for VULCAN UONET+. Contribute to wulkanowy/sdk development by creating an account on GitHub.
13:43
mamy na razie takie i wystarczają
Avatar
Oranż Metylowy 26.02.2021 14:35
W opolskiej nie trzeba, bo jest stary formularz ciągle
14:36
Zaktualizowałem w końcu FSlogin żeby działał z tą listą wszystkich dzienników
14:36
Używam w szkolnym teraz, i jest to całkiem wygodne
14:36
Bo bez problemu mogę dodać sobie nowe
Avatar
najgorzej jak kolejny dziennik będzie znowu lekko inny
14:37
i i tak trzeba będzie grzebać w kodzie
14:38
w ogóle wziąłeś poprawkę na to, że przy koszalinie bodajrze zamiast ADFS ma być adfs albo odwrotnie?
Avatar
Oranż Metylowy 26.02.2021 14:40
Ta
14:40
Do tego mam testy xd
Avatar
Avatar
mklkj
najgorzej jak kolejny dziennik będzie znowu lekko inny
Oranż Metylowy 26.02.2021 14:41
Może się różnić tylko formularz, a to są standardowe microsoftowe formularze tak czy inaczej
14:41
Chciałem kiedyś skonfigurować sobie taką domenę dla testów xD (edited)
14:41
W sensie na AD
14:41
Ale do tego chyba kilku serwerów trzeba
Avatar
dałoby się to chyba ogarnąć na jednym
14:44
w sumie fajne by to było tak zrobić
14:44
a te formularze to nie są standardowe, nie ma czegoś takiego jak standardowe
14:44
zmienią ci name inputa i już wszystko leży
14:45
to się zdarzało już wcześniej, choćby resman i lublin jakiś czas temu
14:45
zmienił się delikatnie wygląd i nasz parser się wywalił na zęby (edited)
Avatar
Oranż Metylowy 26.02.2021 14:48
po co wam parser?
14:49
ja nie mam nic takiego
14:49
i nie wiem co miałaby zmienić zmiana wyglądu
Avatar
Oranż Metylowy 27.02.2021 10:45
A co jakby zamiast sprawdzania wszystkich symboli z certyfikatu sprawdzać tylko te które faktycznie istnieją? Korzystając na przykład z waszego symbol generatora czy jak to tam było
10:46
W sensie z gotowej listy którą pobierała by aplikacja
Avatar
niby możesz, ale czy jest sens?
10:47
jest też szansa, że user ma symbol, o którym apka nie wie
10:47
no i zwykle user ma i tak jeden jedyny symbol + Default którego sami użyliśmy
Avatar
Oranż Metylowy 27.02.2021 10:48
Zwykle
10:48
Ale jednak nie zawsze
10:48
A w ogóle dlaczego czasami musisz podać symbol ręcznie?
10:49
I czy symbole w certyfikacie mają jakąś kolejność? Jakieś FIFO?
Avatar
jedyny przypadek jaki znam to przy pierwszym logowaniu
10:50
czyli rejestrujesz się
10:51
nauczyciel wpisuje twój email do dziennika
10:51
i próbujesz się od razu zalogować do aplikacji
10:51
to na liście symboli nie masz nic
10:51
co jest dość logiczne
10:51
lista jest posortowana według ostatniego użycia z ostatnim na górze
Avatar
Oranż Metylowy 27.02.2021 10:52
Hmmm okej
Avatar
Treść zgłoszenia: java.lang.IllegalArgumentException: Required value was null. ApiResponse(success=true, data=null, feedback=null, errorMessage=null) at io.github.wulkanowy.sdk.scrapper.repository.StudentRepository.getGrades(StudentRepository.kt:141) at io.github.wulkanowy.sdk.scrapper.repository.StudentRepository$getGrades$1.invokeSuspend(Unknown Source:12) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
13:44
i co ja mam z czymś takim zrobić
Avatar
chwila, vulcan zwrócił success=true jednocześnie nie wysyłając innych danych?
16:16
niezły ten ich success
Avatar
Treść zgłoszenia: io.github.wulkanowy.sdk.scrapper.exception.VulcanException: While preparing SELECT this_.Id as id1_294_0_, this_.NazwaIndeksu as nazwaindeksu2_294_0_, this_.InsertKom as insertkom3_294_0_, this_.DeleteKom as deletekom4_294_0_, this_.UniqueKom as uniquekom5_294_0_ FROM UP_KomunikatyIndeksow this_ an error occurred`
Avatar
Treść zgłoszenia: io.github.wulkanowy.sdk.scrapper.exception.VulcanException: Invalid object name 'dbo.UP_V_Planowanie_WycieczkaOddzial'.
10:07
Treść zgłoszenia: io.github.wulkanowy.sdk.scrapper.exception.VulcanException: Invalid object name 'dbo.UP_V_Planowanie_PlanLekcjiZeZmianami'.
Avatar
Deleted User 12.03.2021 11:14
Planowanie_PlanLekcjiZeZmianami
11:14
Ja chcę pracować w vulcanie
Avatar
SELECT this_.Id as id1_295_0_, this_.NazwaIndeksu as nazwaindeksu2_295_0_, this_.InsertKom as insertkom3_295_0_, this_.DeleteKom as deletekom4_295_0_, this_.UniqueKom as uniquekom5_295_0_ FROM UP_KomunikatyIndeksow this_ an error occurred
20:15
to samo co 11 marca, ale tym razem z 295 zamiast 294
20:16
i nasza klasyka
20:16
Object reference not set to an instance of an object.
Avatar
The timeout period elapsed prior to completion of the operation or the server is not responding.
20:18
I have many users on my web site (20000-60000 per day), which is a download site for mobile files. I have remote access to my server (windows server 2008-R2). I've received "Server is unavailable"
20:18
chyba mają zbyt ciężkie query do bazy
Avatar
Oranż Metylowy 03.04.2021 12:58
Wiosenna przerwa techniczna
Avatar
Jest już to zaimplementowane?
09:52
Avatar
ktoś chyba wysyłał
09:53
school government
Avatar
ja chyba kiedyś wysyłałem
09:54
ale znowu to wpisali
Avatar
bo przez jakiś czas nie miałem
Avatar
powinno być
09:54
dałoby się w apce wyświetlić
Avatar
ale to chyba trzeba jeszcze w sdk zrobić?
10:03
to z wrapperem dopisać
Avatar
jeśli nie ma to tak
Avatar
io.github.wulkanowy.sdk.scrapper.exception.VulcanException: While preparing SELECT this_.Id as id1_295_0_, this_.NazwaIndeksu as nazwaindeksu2_295_0_, this_.InsertKom as insertkom3_295_0_, this_.DeleteKom as deletekom4_295_0_, this_.UniqueKom as uniquekom5_295_0_ FROM UP_KomunikatyIndeksow this_ an error occurred
Avatar
Treść zgłoszenia: io.github.wulkanowy.sdk.scrapper.exception.VulcanException: Invalid column name 'IdPowodNieobecnosci'. Invalid column name 'IdSkutekNieobecnosci'. Invalid column name 'IdFormaZastepstwa'. Invalid column name 'IdFormaPlatnosci'. Invalid column name 'IdTypPlatnosci'. Invalid column name 'IdPowodNieobecnosciPracownikWspomagajacy'. Invalid column name 'IdSkutekNieobecnosciPracownikWspomagajacy'. Invalid column name 'IdFormaZastepstwaPracownikWspomagajacy'. Invalid column name 'IdFormaPlatnosciPracownikWspomagajacy'. Invalid column name 'IdTypPlatnosciPracownikWspomagajacy'. Invalid column name 'IdPowodNieobecnosciPracownikWspomagajacy2'. Invalid column name 'IdSkutekNieobecnosciPracownikWspomagajacy2'. Invalid column name 'IdFormaZastepstwaPracownikWspomagajacy2'. Invalid column name 'IdFormaPlatnosciPracownikWspomagajacy2'. Invalid column name 'IdTypPlatnosciPracownikWspomagajacy2'. at io.github.wulkanowy.sdk.scrapper.interceptor.ErrorHandlerTransformerKt.handleErrors(ErrorHandlerTransformer.kt:20)
Avatar
Deleted User 14.04.2021 09:32
Ojej
Avatar
IdFormaPlatnosciPracownikWspomagajacy2 (edited)
09:33
zarąbista nazwa
Avatar
Deleted User 14.04.2021 09:37
VulcanPrzypadek
09:37
Tak się nazywa ta pisownia
Avatar
To przez apdejt do dziennika w wersji 21.3.0.37 (edited)
Avatar
znowu te numery
09:41
build windowsa był identyczny
09:41
no bez zera
Avatar
Deleted User 14.04.2021 09:44
2137
Avatar
Treść zgłoszenia: io.github.wulkanowy.sdk.scrapper.exception.VulcanException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) at io.github.wulkanowy.sdk.scrapper.interceptor.ErrorHandlerTransformerKt.handleErrors(ErrorHandlerTransformer.kt:20)
11:23
i nasz ulubiony: Treść zgłoszenia: io.github.wulkanowy.sdk.scrapper.exception.VulcanException: Object reference not set to an instance of an object. at io.github.wulkanowy.sdk.scrapper.interceptor.ErrorHandlerTransformerKt.handleErrors(ErrorHandlerTransformer.kt:20)
Avatar
Avatar
mklkj
i nasz ulubiony: Treść zgłoszenia: io.github.wulkanowy.sdk.scrapper.exception.VulcanException: Object reference not set to an instance of an object. at io.github.wulkanowy.sdk.scrapper.interceptor.ErrorHandlerTransformerKt.handleErrors(ErrorHandlerTransformer.kt:20)
Oranż Metylowy 14.04.2021 11:39
Avatar
teraz w siedzibie vulcana
Avatar
zmienili jsona jak się wysyła wiadomości
18:06
bo dzisiaj jak próbowałem wysłać do siebie to było 200OK ale bez odpowiedzi że się wysłało i się nie wysłało
18:09
dodali "Nadawca":{ "rola":1, "jednostkaSprId":8 }
18:11
1.13 KB
18:11
983 bytes
Avatar
czyli nie działa nam wysyłanie wiadomości z apki?
Avatar
nie wiem
Avatar
to że pusta odpowiedź to się zdarzało już wcześniej
Avatar
szkoda że nie wyszukuje osób z samorządu to bym sprawdził od razu
18:23
a dobra
18:24
fałszywy alarm
18:24
@pengwius nie można już zmienić WyślijJako
Avatar
zauważyli że z tym szalejecie i zablokowali
Avatar
ogromne +1
Avatar
WyslijJako [*]
Avatar
Avatar
Luncenok
@pengwius nie można już zmienić WyślijJako
A co jest w response?
Avatar
nic
18:33
(edited)
Avatar
Napewno dobrze wysyłasz?
Avatar
jak dojdziesz kiedyś dlaczego tak się dzieje to dostaniesz nagrodę
18:33
bo u nas się to zdarza u ułamka osób
18:33
i ciągle nie wiem dlaczego
Avatar
W sensie pusty response?
Avatar
daj mi dane jakie masz
18:34
czy masz tylko info że pusty
Avatar
tak, puste response body
18:34
już o tym pisaliśmy gdzieś kiedyś
Avatar
Avatar
pengwius
Napewno dobrze wysyłasz?
dosłownie zmieniam tylko wyślijJako
Avatar
to doszliśmy tylko do tego, że wulkanowy w ogóle mało rzeczy wysyła
Avatar
ale requesta nie masz?
Avatar
nie no, skąd
Avatar
a no w sumoie
18:35
wrażliwe dane
Avatar
mogę najwyżej logować do crashlytics jakieś metadane
Avatar
Dobra, to ja będę szukać kolejnych luk w uonecie
18:35
Ale najpierw pr do szkolnego
18:35
I naprawienie powiadomień
Avatar
wow
18:40
rzeczywiście te id,temat,tresc,nadawca,adresaci wystarczy
18:40
zamiast takiego ogromnego jsona
18:44
wgl dziwne
18:44
bo w sdk nadawca jest
18:44
czyli to było kioedyś ale z tego zrezygnowali i znowu jest?
Avatar
to by było ciekawe
Avatar
nadawvy też nie musi być
18:47
i id
18:47
{ "incomming":{ "Tresc":"ngf", "Temat":"ngf", "Adresaci":[ { "Id":"44795", "IdReceiver":"", "Name":"Idziejczak Mateusz - ucze\u0144 32C (TK)", "Role":1, "UnitId":0, "IdLogin":44795, "PushWiadomosc":false, "Hash":"p8+7F144JQ=", "Date":null, "IsMarked":false } ] } }
18:47
takie coś wystarczy
Avatar
teraz jeszcze stripuj to co jest w adresatach
Avatar
{ "incomming":{ "Tresc":"ngf", "Temat":"ngf", "Adresaci":[ { "Id":"44795", "Name":"Idziejczak Mateusz - ucze\u0144 3C (TK)", "IdLogin":44795, "Hash":"p8+7F16aJ4reOAV1+F9e9vB4m+9qHjgQjsE+h5V44JQ=" } ] } }
18:49
piękne
Avatar
i w name chyba można wpisać coś innego niż to, nie?
18:50
albo się mylę
Avatar
nie
18:50
nie można
Avatar
te id też takie zdwojone
Avatar
musi być
18:51
{ "success": false, "feedback": { "FType": "Information", "Message": "Nie można wysłać wiadomości ponieważ na liście adresatów znajdują się odbiorcy nieaktywni w jednostkach sprawozdawczych." } }
18:51
^ bez idlogin
Avatar
Avatar
Luncenok
@pengwius nie można już zmienić WyślijJako
Oranż Metylowy 14.04.2021 19:11
a w hebe? 😄
Avatar
Oranż Metylowy 14.04.2021 19:12
w sensie.. jak podasz złe to się nie wyśle czy co?
Avatar
Oranż idzie testować
Avatar
tak
Avatar
Oranż Metylowy 14.04.2021 19:12
uh oh
Avatar
nie wiem jak w hebe
Avatar
Oranż Metylowy 14.04.2021 19:12
to będzie niemiłe dla szkolnego
Avatar
a szkolny zmienia?
Avatar
Oranż Metylowy 14.04.2021 19:13
nie... raczej nie wie jaki powinien być xD
19:13
bo tamte zasady są tak powalone
Avatar
najlepsze jest to że jak się zmieni to się nie wyśle ale jak się nie da wcale wyślij jako to się wyśle
Avatar
Oranż Metylowy 14.04.2021 19:14
😮
19:14
czyli w hebe pewnie działa
Avatar
no w szkolnym działa wysyłanie wiadomości
Avatar
Oranż Metylowy 14.04.2021 19:15
git
19:17
oo, hebe też podaje stack trace'y przy błędach XD
Avatar
o, poka jakiegoś
Avatar
Avatar
Luncenok
najlepsze jest to że jak się zmieni to się nie wyśle ale jak się nie da wcale wyślij jako to się wyśle
No i jaki będzie wtedy nadawca wiadomości?
Avatar
lubię stacktrace'y
Avatar
Oranż Metylowy 14.04.2021 19:18
System.IndexOutOfRangeException at Vulcan.Mobile.Services.Tokens.Token..ctor(String token) at Vulcan.Mobile.Services.Tokens.HebeLiteAuthToken..ctor(String token) at Vulcan.Efeb.Komunikacja.Web.ApplicationStart.<ExternalResourcesInitialize>b__2_0(Object[] arr) at Vulcan.Mobile.Integration.Framework.Handlers.MobileLogFactory.Invoke(String processor, Object[] parameters) at Vulcan.Mobile.Integration.Annotations.UnifiedExceptionsAttribute.OnException(HttpActionExecutedContext actionExecutedContext) at System.Web.Http.Filters.ExceptionFilterAttribute.OnExceptionAsync(HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken) --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Filters.ExceptionFilterAttribute.<ExecuteExceptionFilterAsyncCore>d__3.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__6.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__15.MoveNext() (edited)
19:18
nawet prawie nie ma polskiego
Avatar
Oranż Metylowy 14.04.2021 19:19
prawie xD
19:20
swoją droga ciekawe czemu wywala ...
Avatar
że te wyjątki?
19:21
w tych co wyżej wysyłałem dużo było sql'a
19:21
więc chyba migracja nie siadła
Avatar
Oranż Metylowy 14.04.2021 19:23
ten konkretny
19:24
jak próbuję skonfigurować pushe w koncie
19:24
co prawda nieaktywnym koncie
19:29
oh, tak jest w chyba każdym endpoincie na nieaktywnym koncie
19:31
oh, albo po prostu certyfikatu nie mam xd
19:36
oh, działa
19:36
a hebe weryfikuje hash przy wysyłaniu wiadomości
19:37
czyli no
Avatar
o pan prezydent
Avatar
todo: Non-fatal Exception: java.lang.NumberFormatException: For input string: "0++++" at java.lang.Integer.parseInt(Integer.java:615) at java.lang.Integer.parseInt(Integer.java:650) at io.github.wulkanowy.sdk.scrapper.grades.GradeCustomConvertersKt.getGradeValueWithModifier(GradeCustomConvertersKt.java:22) at io.github.wulkanowy.sdk.scrapper.grades.GradesMapperKt.mapGradesList(GradesMapperKt.java:13) at io.github.wulkanowy.sdk.scrapper.repository.StudentRepository.getGrades(StudentRepository.java:144) at io.github.wulkanowy.sdk.scrapper.repository.StudentRepository$getGrades$1.invokeSuspend(StudentRepository.java:12)
Avatar
Jezu
15:19
Co to za potwór
Avatar
c++++
Avatar
C++++ = C#
Avatar
C ++ ++
Avatar
Avatar
pengwius
C++++ = C#
Też tak mówią
15:43
Ce plotek
Avatar
__ | ++ | ++ —
Avatar
Ce hasztag
15:43
Ce kratka
15:43
Holy c
Avatar
Avatar
pengwius
__ | ++ | ++ —
Obrzydliwie to wygląda 😄
Avatar
Hmm a może uonet chciał przekazał c# w formie c++++
Avatar
Backend jest przecież w .NET napisany
15:44
😮
Avatar
No to wiem
15:45
Z responsów
Avatar
Jak my kryptografy jakieś
15:45
😄
Avatar
ludzie to nauczyciel wpisał
15:45
proszę się rozejść
15:45
bo zapomnę bo się zgubi
Avatar
Hmm aż jestem zdziwiony że te 4 plusy przeszły przeszły prawidłowo
15:48
Oczywiście przez system vulcana
Avatar
się dziwię że u nas przeszły do tego momentu, bo to znaczy że regex jest źle napisany
Avatar
to sobie rob issue na sdk
Avatar
nie chce mi się
Luncenok pinned a message to this channel. 15.04.2021 18:18
Avatar
i po problemie
Avatar
Treść zgłoszenia: io.github.wulkanowy.sdk.scrapper.exception.VulcanException: Dostęp zabroniony - nie odnaleziono aktywnej jednostki sprawozdawczej dla podanego symbolu klienta - 011xxx at io.github.wulkanowy.sdk.scrapper.interceptor.ErrorHandlerTransformerKt.handleErrors(ErrorHandlerTransformer.kt:20) at io.github.wulkanowy.sdk.scrapper.repository.StudentRepository.getGrades(StudentRepository.kt:141)
Avatar
Treść zgłoszenia: io.github.wulkanowy.sdk.scrapper.exception.VulcanException: While preparing SELECT this_.Id as id1_295_0_, this_.NazwaIndeksu as nazwaindeksu2_295_0_, this_.InsertKom as insertkom3_295_0_, this_.DeleteKom as deletekom4_295_0_, this_.UniqueKom as uniquekom5_295_0_ FROM UP_KomunikatyIndeksow this_ an error occurred
Avatar
Wersja aplikacji: 1.1.4-play Treść zgłoszenia: com.squareup.moshi.JsonDataException: com.squareup.moshi.JsonDataException: Expected a string but was NULL at path $.data.Oceny[0].OcenyCzastkowe[0].DataOceny at $.data.Oceny[0].OcenyCzastkowe[0].DataOceny
18:55
co jest (edited)
18:55
ocena bez daty (edited)
Avatar
coś uonetplus zmienił?
Avatar
a działa u ciebie?
Avatar
chwila
18:58
hmm działa
Avatar
no to raczej zepsuł a nie zmienił
18:59
pewnie jakiś edgecase
Avatar
@Fajerbejs załóż tu konto i podaj nazwę usera https://issues.sonatype.org/secure/Signup!default.jspa
17:28
bo robię deploy do maven central
17:28
i w razie czego dobrze jakby ktoś oprócz mnie mógł ręcznie go zrobić
Avatar
już
Avatar
Faierbel?
Avatar
tak
Avatar
co to jest tak w ogóle
17:47
tak się dodaje do mavena libki?
17:59
to jest ich bugtracker
18:00
i najpierw to leci do sonatype, a później jak cię zweryfikują (musisz jakoś poświadczyć, że paczka jest w twoim org name) to włączają synchronizacje z maven central
Avatar
o, całkiem szybko poszło
18:25
już mogę snapshoty wysyłać
Avatar
chyba pierwszy raz trafiam na pytanie i odpowiedź o dokładnie to, o co mi chodziło https://stackoverflow.com/questions/37337818/
I was going through the (seemingly intricate) procedures for getting a company's artifact on Maven Central. Then I got to the GPG signing part and entered a new world of confusion and conundrums. G...
Avatar
właśnie skompilowałem wulkanowego z sdk ze snapshota z sonatype
23:03
jest sukces
Avatar
nooo i chyba sdk jest już w maven central
Avatar
SPOILER
Image attachment
Avatar
69 road
Avatar
Hmm, jest jakaś debiloodporna dokumentacja bo to jest chyba trochę przestarzałe?
Avatar
oprócz tego że hybrid i mobile nie działa, to jest całkiem aktualne
12:05
nie zmieniło się tam dużo
12:06
po prawej masz po kolei od logowania do pobierania danych w skrócie
Avatar
Oranż Metylowy 04.05.2021 12:06
kiedy sdk hebe
Avatar
jak ktoś zrobi
Avatar
Avatar
Oranż Metylowy
kiedy sdk hebe
Zapraszamy do kontrybucji!
Avatar
Oranż Metylowy 04.05.2021 12:10
to sdk, więc i tak by nawet contributora nie dali 😄
Avatar
zmiany w app też by pewnie były potrzebne
Avatar
Mikołaj
12:11
czemu with
Avatar
patrz na datę
Avatar
tam powinno być apply
Avatar
sam sobie zadaję teraz to pytanie
Avatar
a
12:11
no to zmień bo mnie serce boli
Avatar
Oranż Metylowy 04.05.2021 12:12
a czemu with złe?
Avatar
vim Konfiguracja.md (edited)
Avatar
bo semantyka
12:13
nie jest to błąd kodu
12:13
a tylko semantyka (edited)
Avatar
kiedyś się pisało zagnieżdżone lety i apple, ale czytelne to to nie było
Avatar
Deleted User 04.05.2021 12:14
Działa to SDK na fakelogu?
Avatar
no tak
Avatar
jakoś muszą testować
Avatar
przecież apka z niego korzysta
Avatar
Deleted User 04.05.2021 12:15
No to cóż, będę miał co robić
Avatar
mało kto inny z niego korzysta przy innych projektach (chociaż jest na gplay jeszcze jedna apka z tym sdk z tego co wiem) więc pewnie jakieś nowe rzeczy wyjdą
Avatar
Oranż Metylowy 04.05.2021 12:16
cooo
12:16
jaka apka? (edited)
12:17
vulcan2?
Avatar
Deleted User 04.05.2021 12:17
Vulcanowy
Avatar
Oranż Metylowy 04.05.2021 12:17
Vulkaniczny
Avatar
Elektron++
Avatar
Oranż Metylowy 04.05.2021 12:20
a, fakt
12:20
pewnie ma port SDK do electrona
Avatar
electron.js
Avatar
Deleted User 04.05.2021 12:21
Ja wiem
12:21
Gejzer
12:21
no to co poczekamy na wakacje
Avatar
jednak przesunęli przez korone?
Avatar
Oranż Metylowy 04.05.2021 12:22
o nie
Avatar
Avatar
mklkj
jednak przesunęli przez korone?
tak (edited)
12:24
hmm HTML4
Avatar
jak działa to po co ruszać
Avatar
Deleted User 04.05.2021 12:24
XDD
Avatar
jeszcze odznaki od w3c
Avatar
a się czepiliście
12:25
kod klepać
12:25
a nie gadacie
Avatar
o nie, zostałem przykuty do biurka przez mkleja
Avatar
Avatar
Oranż Metylowy
jaka apka? (edited)
School application CKZiU No. 2 "Elektronik" in Zielona Góra
Avatar
Deleted User 04.05.2021 12:28
O chuj
Avatar
konkurencja
Avatar
ma lepszą ocenę od nas
12:28
😦
12:30
nawet open source nie jest ta apka
Avatar
nie musi być
Avatar
Deleted User 04.05.2021 12:34
Huh
12:34
Musicie zrobić SDK na GPL
Avatar
Avatar
mklkj
nie musi być
wiem, ale fajnie jakby była
Avatar
Deleted User 04.05.2021 12:34
wtedy rozjebiecie konkurencje
Avatar
Avatar
Deleted User
Musicie zrobić SDK na GPL
to nadal nic nie zmienia
12:35
bo kolega nie modyfikował źródeł sdk
Avatar
Deleted User 04.05.2021 12:36
Hn
Avatar
Siema
Avatar
Avatar
Damian
Click to see attachment 🖼️
coś się wysypało muszę naprawić
09:10
haha
Avatar
Deleted User 06.05.2021 09:11
😮
09:11
twórca przybył
09:11
alleluja
Avatar
przez wakacje chce tą apke napisać od nowa w reactcie ale coś się zabrać za to nie mogę
09:13
i nie wiem czy te react native na androida to fajne
Avatar
Avatar
wybran
hejka
no elo
Avatar
Avatar
wybran
i nie wiem czy te react native na androida to fajne
Deleted User 06.05.2021 09:17
@v0id
09:17
on robi hosting plików w reacie
09:18
i aplikacje na telefon w react native
Avatar
Avatar
wybran
przez wakacje chce tą apke napisać od nowa w reactcie ale coś się zabrać za to nie mogę
A będzie open source?
Avatar
Avatar
wybran
hejka
Siema
Avatar
Jak na niej nie zarabia, to czemu nie miałoby być?
Avatar
Avatar
Damian
A będzie open source?
tak
Avatar
Avatar
pengwius
Jak na niej nie zarabia, to czemu nie miałoby być?
zarabiało się do lutego jakoś
09:21
google mi zbanowało za "nachodzenia na siebie reklam i zawartości"
09:21
mimo że nic takiego nie było, był jeden baner na dole appki
Avatar
Avatar
wybran
i nie wiem czy te react native na androida to fajne
bardzo fajne
❤️ 3
Avatar
Deleted User 06.05.2021 10:17
jak się korzysta z tego sdk?
10:19
10:19
takie cos mam
Avatar
ups, zapomniałem zapdejtować wiki
10:30
apiBaseUrl -> mobileBaseUrl
10:30
scapperHost -> scrapperBaseUrl
10:30
i tu mała zmiana, bo teraz podaje się tam tak jakby pełny adres bez subdomeny, czyli np. https://fakelog.cf
Avatar
Deleted User 06.05.2021 10:40
ok
10:43
10:43
jak się zalogować?
10:43
nigdzie nie ma jebanej dokumentacji
Avatar
Oranż Metylowy 06.05.2021 10:43
Np. nie kopiować wszystkiego bezpośrednio
10:43
Podejrzewam że masz javadocs
Avatar
Deleted User 06.05.2021 10:43
e
Avatar
no nie wiem
Avatar
Oranż Metylowy 06.05.2021 10:44
Wystarczy umieć używać IDE
Avatar
ale source code jest na pewno dostępny
Avatar
Deleted User 06.05.2021 10:44
no nie wiem
10:44
:/
Avatar
Kotlin SDK for VULCAN UONET+. Contribute to wulkanowy/sdk development by creating an account on GitHub.
Avatar
Oranż Metylowy 06.05.2021 10:44
Jak nie ma docs, to wystarczy wejść w klasę sdk
Avatar
na to patrz
10:44
tutaj jest całe publiczne api
Avatar
Avatar
Oranż Metylowy
Jak nie ma docs, to wystarczy wejść w klasę sdk
Oranż Metylowy 06.05.2021 10:44
IDE to potrafi
Avatar
i przykład z when(Sdk()) kompletnie zły zrobiłem
10:45
zabawne że dopiero po półtorej roku ktoś to zauważył xd
Avatar
Oranż Metylowy 06.05.2021 10:45
Bo działa, więc co za problem
Avatar
Deleted User 06.05.2021 10:45
wrr
Avatar
właśnie nie działa
10:46
bo when zwraca Unit
Avatar
Deleted User 06.05.2021 10:46
napraw docsy
10:46
😫
Avatar
Oranż Metylowy 06.05.2021 10:46
Ah no tak XD
10:46
To dlatego nie działa
Avatar
Kotlin SDK for VULCAN UONET+. Contribute to wulkanowy/sdk development by creating an account on GitHub.
10:46
looknij na to
10:47
o dalej to jeszcze nawiązanie do rxjavy było
Avatar
Deleted User 06.05.2021 10:47
o, coś zaczyna działać
10:47
❤️
10:53
a jak takie coś naprawić
10:54
wrr
Avatar
Avatar
v0id
bardzo fajne
A próbowałeś coś z ionic? (edited)
Avatar
coroutinesy
10:54
więc
Avatar
Deleted User 06.05.2021 10:54
wr
Avatar
potrzebujesz jakiegoś bloku launch
Avatar
Avatar
Damian
A próbowałeś coś z ionic? (edited)
Jestem ciekaw jaka jest różnica
Avatar
Deleted User 06.05.2021 10:54
w sumie
Avatar
problemy asynchroniczności
10:55
najłatwiej owinąć całość w block Global.launch {}, albo wrzucić tam runBlocking {}
Avatar
Avatar
Damian
A próbowałeś coś z ionic? (edited)
nope
10:56
hmm
10:56
webview
Avatar
Eee to jednak ionic taki średni
Avatar
jeszcze jest flutter
Avatar
Niedługo MAUI będzie
11:08
W .NET
11:10
Chociaż jakbym miał pisać to już najprędzej napiszę apke na androida natywną
11:13
Przy użyciu kotlina
Avatar
Oranż Metylowy 06.05.2021 11:18
+1
Avatar
moja krew
Avatar
Płynie w nas ta młoda krew
Avatar
my słowianie wiemy jak
11:22
pisać natywne apki
Avatar
Idę pisać bocianie gniazda
Avatar
zamiast krwi mamy keczup w żyłach (edited)
Avatar
I wyspę 😎
Avatar
Avatar
Oranż Metylowy
IDE to potrafi
ciekawe czy vim potrafi
15:32
jak nie potrafi to gbaranski powie że niepotrzebne
13:28
fajne raporty
Avatar
potrzebuję pomocy
18:26
chciałbym sobię zbudować sdk lokalnie (edited)
Avatar
w sensie sdk
18:26
okej
18:26
i na czym polega problem?
Avatar
do pliku jar najprawdopodobniej
18:26
uruchomiłem gradle build
Avatar
opowiedz co chcesz zrobić to pomogę lepiej
18:27
bo jak chcesz np. wulkanowego zbudować później z tym swoim sdk to można inaczej
Avatar
właśnie to chcę zrobić
18:27
użyć lokalnego sdk
18:27
w wulkanowym
Avatar
./gradlew publishToMavenLocal
18:29
to zbuduje sdk i umieści je w lokalnym repo mavena
18:29
potem jeśli w apce nie ma ustawionego w configu to dodaj linijkę mavenLocal() w sekcji repositories {} w głównym pliku build.gradle
18:30
dla pewności podbij wersję sdk i wtedy dopiero wywołaj tę komendę
18:30
no i później też podbij w app/build.gradle
Avatar
dzięki, działa ❤️
Avatar
Co tam grzebiesz tak w ogóle? Jeśli to nie sekret
Avatar
Mógłbym ci powiedzieć, ale gdybym ci powiedział musiałbym cię zabić
19:12
to są nda
19:12
tajemnice wagi państwowej
Avatar
nda nie nda, ale licencja musi być nienaruszona
Avatar
Dopóki nikt się o tym nie dowie to żadnego naruszenia nie ma
Avatar
Mhhhh nowy kafelek
Avatar
Był już od jakiegoś czasu
23:54
ale pierwszy raz mam go aktywnego
Avatar
Ale będzie w wulkanowym
23:54
I widzę zajebista wycieczka
Avatar
na szczęście nie moja
23:55
brata
23:55
w ogóle IkonkaNazwa
23:55
co to xD
Avatar
Avatar
Fajerbejs
Ale będzie w wulkanowym
I na dashboardzie pewnie później też
Avatar
Avatar
Daxxxis
Click to see attachment 🖼️
I ta spacja po imieniu i nazwisku tam była jak coś
Avatar
@mklkj jakie nam jeszcze kafelki/sekcje zostały?
Avatar
nie wiem
10:05
zobacz jakie są w sdk a jakie masz na ekranie głównym
Avatar
Zostały tyłko te z najbliższymi wydarzeniami
10:07
I samorząd
10:08
Ale samorząd jest już w SDK
Avatar
pomysł na testowanie regresji po apdejtach vulcana: zrobić json schema responsów i okresowo sprawdzać je tym pwall567/json-kotlin-schema
Avatar
Wulkanowy bot BOT 22.08.2021 10:01
Kotlin implementation of JSON Schema (Draft 07)
Gwiazdki
16
Avatar
proszę pełnymi zdaniami
00:34
jest po północy
Avatar
W getSelfGovernments nie ma zwracanych danych
Avatar
no to jak nie ma to trzeba zrobić
Avatar
to tak się zawsze świeciło?
00:48
Avatar
projekt zbuduj
00:49
to jest generowany kod
Avatar
The transaction log for database 'tempdb' is full due to 'ACTIVE_TRANSACTION'. The data for table-valued parameter "@idsLogin" doesn't conform to the table type of the parameter. The statement has been terminated.
Avatar
Nie można wysłać wiadomości do wybranego adresata ponieważ nie ma on aktywnego konta. W razie potrzeby prosimy o skontaktowanie się z innym pracownikiem szkoły.
Avatar
Could not find stored procedure 'dbo.UP_PRC_V_Planowanie_PlanLekcjiZmiana'.
Avatar
Istnieje w vulcanie możliwość, aby w planie lekcji pokazywała się nazwa lekcji i nauczyciel (bez sali)? zawsze widzę tylko nazwę lekcji + sala
Avatar
Czy Twoja prośba o funkcję jest związana z problemem? Proszę opisz. Chodze do mojej szkoły od dwóch lat, i dalej nie pamiętam nazwisk nauczycieli :P Opisz żądane rozwiązanie W planie lek...
07:28
no dobra ale mklej pisze tam że nauczycieli nie ma w planie lekcji, a jak można zobaczyć w fakelogu - są
Avatar
No bo to fakelog
07:28
Tutaj my ustalamy zasady
07:29
Aplikacja obsługuje wyświetlanie nauczycieli
07:29
Jak strona podrzuci to Wulkanowy wyświetli
Avatar
dlatego pytam
07:29
jak wygląda w dzienniku coś takiego
07:29
że masz lekcje i nauczyciela
07:29
bez sali
07:30
bo np. w fakelogu są lekcje, sale i nauczyciele
Avatar
Jak szkoła nie wpisze sali to tak może być
Avatar
i czy coś takiego jest w ogóle możliwe
Avatar
I jak masz np. zastępstwo, to wtedy pojawia się nauczyciel
07:31
ok
Avatar
Tak, Vulcan ma bardzo skomplikowane działanie
07:31
Skomplikowane niepotrzebnie
07:32
Kiedyś wyświetlał nauczycieli w planie
07:32
Ale czasy się zmieniły (edited)
Avatar
ehhhh, nie mogę zaktualizować sdk na mavencentral bo serwer na który wrzuciłem klucze pgp padł http://keys.gnupg.net/pks/lookup?search=wulkanowy&fingerprint=on&op=index
Avatar
Avatar
mklkj
ehhhh, nie mogę zaktualizować sdk na mavencentral bo serwer na który wrzuciłem klucze pgp padł http://keys.gnupg.net/pks/lookup?search=wulkanowy&fingerprint=on&op=index
Avatar
gdzie to
Avatar
sks-keyservers.net
23:12
keys.gnupg.net to podobno był alias do tego
Avatar
hm, no cóż
23:13
dodałem teraz nasz klucz na 3 różnych serwerach
23:13
znaczy dwóch, bo na trzeci nie chciał wejść
23:13
nie powinno być więcej takiego problemu
Avatar
nieszczęścia chodzą parami
Avatar
While preparing SELECT this.Id as id1_311_0, this.NazwaIndeksu as nazwaindeksu2_311_0, this.InsertKom as insertkom3_311_0, this.DeleteKom as deletekom4_311_0, this.UniqueKom as uniquekom5_311_0 FROM UPKomunikatyIndeksow this an error occurred
Avatar
piękne errory sqlowe
Avatar
io.github.wulkanowy.sdk.scrapper.exception.VulcanException: While preparing SELECT this_.Id as id1_311_0_, this_.NazwaIndeksu as nazwaindeksu2_311_0_, this_.InsertKom as insertkom3_311_0_, this_.DeleteKom as deletekom4_311_0_, this_.UniqueKom as uniquekom5_311_0_ FROM UP_KomunikatyIndeksow this_ an error occurred
21:27
to chyba ten sam
Avatar
Coś zepsuli
Avatar
UP_KomunikatyIndeksow
21:27
fajna tabelka
Avatar
InsertKom
21:28
piękne mieszanie języków
21:28
brakuje mieszania hiszpańskiego z angielskim
21:29
kom3_3110
21:29
dziwna nazwa tabeli xd
Avatar
<div><span class='x-treelabel-ppl x-treelabel-inv'>testowanie i dokumentowanie projektu informatycznego</span> <span class='x-treelabel-ppl x-treelabel-inv'>A220</span><span class='x-treelabel-ppl x-treelabel-inv'> szerokopasmowa vacat</span>(nieobecność nauczyciela: uczniowie przychodzą później)</div> <div><span class='x-treelabel-ppl x-treelabel-zas'>testowanie i dokumentowanie projektu informatycznego</span> <span class='x-treelabel-ppl x-treelabel-zas'>A220</span><span class='x-treelabel-ppl x-treelabel-zas'> szerokopasmowa vacat</span>(zastępstwo: Eggert Jolanta)</div> <div><span class=''>testowanie i dokumentowanie projektu informatycznego</span> <span class=''>A220</span><span class=''> Jarosław Sikorski</span>(zastępstwo: Sikorski Jarosław)</div>
23:00
<div><span class='x-treelabel-ppl x-treelabel-inv'>Religia [rel]</span><span class='x-treelabel-ppl x-treelabel-inv'> </span><span class='x-treelabel-ppl x-treelabel-inv'> A3</span><span class='x-treelabel-ppl x-treelabel-inv'> Grzegorz Daroszewski</span>(nieobecność nauczyciela: uczniowie zwolnieni do domu)</div>
Avatar
Avatar
jel
<div><span class='x-treelabel-ppl x-treelabel-inv'>testowanie i dokumentowanie projektu informatycznego</span> <span class='x-treelabel-ppl x-treelabel-inv'>A220</span><span class='x-treelabel-ppl x-treelabel-inv'> szerokopasmowa vacat</span>(nieobecność nauczyciela: uczniowie przychodzą później)</div> <div><span class='x-treelabel-ppl x-treelabel-zas'>testowanie i dokumentowanie projektu informatycznego</span> <span class='x-treelabel-ppl x-treelabel-zas'>A220</span><span class='x-treelabel-ppl x-treelabel-zas'> szerokopasmowa vacat</span>(zastępstwo: Eggert Jolanta)</div> <div><span class=''>testowanie i dokumentowanie projektu informatycznego</span> <span class=''>A220</span><span class=''> Jarosław Sikorski</span>(zastępstwo: Sikorski Jarosław)</div>
tak, wprowadzona nazwa nauczyciela to "szerokopasmowa vacat"
Avatar
co zauważyłem - vulcan nie zwraca oryginalnego nauczyciela przy zastępstwach
23:06
w polu nauczyciel i jako zastępstwo jest ten sam nauczyciel (ten od zastępstwa)
23:06
przynajmniej na jednym koncie tak jest
Avatar
teraz tylko nie wiadomo czy to u ciebie czy tam jest wyjątek
23:07
ale dobra, nie będę z tym kombinował
23:07
i tak jest dużo lepiej niż było
Avatar
tylko nie rozumuiem co oznacza pobrubienie
Avatar
na dole jest legenda
23:08
Avatar
Avatar
jel
<div><span class='x-treelabel-ppl x-treelabel-inv'>testowanie i dokumentowanie projektu informatycznego</span> <span class='x-treelabel-ppl x-treelabel-inv'>A220</span><span class='x-treelabel-ppl x-treelabel-inv'> szerokopasmowa vacat</span>(nieobecność nauczyciela: uczniowie przychodzą później)</div> <div><span class='x-treelabel-ppl x-treelabel-zas'>testowanie i dokumentowanie projektu informatycznego</span> <span class='x-treelabel-ppl x-treelabel-zas'>A220</span><span class='x-treelabel-ppl x-treelabel-zas'> szerokopasmowa vacat</span>(zastępstwo: Eggert Jolanta)</div> <div><span class=''>testowanie i dokumentowanie projektu informatycznego</span> <span class=''>A220</span><span class=''> Jarosław Sikorski</span>(zastępstwo: Sikorski Jarosław)</div>
<div> <span class='x-treelabel-ppl x-treelabel-inv'>testowanie i dokumentowanie projektu informatycznego</span> <span class='x-treelabel-ppl x-treelabel-inv'>A220</span> <span class='x-treelabel-ppl x-treelabel-inv'>szerokopasmowa vacat</span> (nieobecność nauczyciela: uczniowie przychodzą później) </div> <div> <span class='x-treelabel-ppl x-treelabel-zas'>testowanie i dokumentowanie projektu informatycznego</span> <span class='x-treelabel-ppl x-treelabel-zas'>A220</span> <span class='x-treelabel-ppl x-treelabel-zas'>szerokopasmowa vacat</span> (zastępstwo: Eggert Jolanta) </div> <div> <span class=''>testowanie i dokumentowanie projektu informatycznego</span> <span class=''>A220</span> <span class=''>Jarosław Sikorski</span> (zastępstwo: Sikorski Jarosław) </div> (edited)
Avatar
Avatar
jel
<div><span class='x-treelabel-ppl x-treelabel-inv'>Religia [rel]</span><span class='x-treelabel-ppl x-treelabel-inv'> </span><span class='x-treelabel-ppl x-treelabel-inv'> A3</span><span class='x-treelabel-ppl x-treelabel-inv'> Grzegorz Daroszewski</span>(nieobecność nauczyciela: uczniowie zwolnieni do domu)</div>
<div> <span class='x-treelabel-ppl x-treelabel-inv'>Religia [rel]</span> <span class='x-treelabel-ppl x-treelabel-inv'></span> <span class='x-treelabel-ppl x-treelabel-inv'>A3</span> <span class='x-treelabel-ppl x-treelabel-inv'>Grzegorz Daroszewski</span> (nieobecność nauczyciela: uczniowie zwolnieni do domu) </div> (edited)
Avatar
może daj to w nawiasach do nowej linii
Avatar
tak czy siak to jest okropnie kłopotliwe
23:12
kiedyś było normalnie w spanach
23:13
i było wiadomo czego się spodziewać
Avatar
uwielbiam to że jest Imię Nazwisko, po czym linijkę niżej Nazwisko Imię
Avatar
o to właśnie to co mówiłem
23:14
nie ma oryginalnego nauczyciela
23:14
jak masz dv to tam się pokazuje
Avatar
zgaduję że <div> <span class='x-treelabel-ppl'>praktyka zawodowa</span> <span class='x-treelabel-ppl'></span> <span class='x-treelabel-ppl'></span> </div>"was nie interesuje
Avatar
też się przyda
Avatar
<div> <span class='x-treelabel-ppl x-treelabel-zas'>Zajęcia z wychowawcą [niemiecki]</span> <span class='x-treelabel-ppl x-treelabel-zas'> </span> <span class='x-treelabel-ppl x-treelabel-zas'> 25</span> <span class='x-treelabel-ppl x-treelabel-zas'> Lucyna Mastalerz</span> (zastępstwo: Nasiłowska Dagmara) </div> <div> <span class=''>Lekcja biblioteczna: Historia pisma. [niemiecki]</span> <span class=''> </span> <span class=''> </span> <span class=''> Dagmara Nasiłowska</span> </div> (edited)
23:19
tu macie zastępstwo dla jednej grupy
23:23
23:23
a tak to wygląda w apce
23:23
nauczyciel się nie zgadza no i wiadomo sala i nauczyciel zamienione
Avatar
trzeba przejrzeć drzewo zależności - są czasem jakieś dziwne crashe, to pewnie przez różne wersje okhttp
Avatar
Stało się
21:21
Będą zmiany od zewnętrznego kontrybutora
Avatar
To już drugi w naszej historii
Avatar
a co to
Avatar
a widzisz, teraz zauważyłem, że to ja kiedyś dodałem
22:27
nie było pytania xd
23:33
Mam też teraz dostęp do jadłospisu, tyle że jest pusty
Avatar
Mhhh nowe funkcje
Avatar
mieliśmy te egzaminy zewnętrzne
23:43
ale one mają tyle sensu
23:43
że aż wcale
23:44
jakby tam był jeszcze jakiś wynik
Avatar
w podstawówce miałem wyniki pamiętam
23:45
tyle, że to było 6 lat temu
23:49
ale nie szkodzi tego wyświetlać w aplikacji
Avatar
takie coś dostałem przy testowaniu sdk na lublin.eu https://hastebin.cf/imonefedek.xml
Avatar
o ktoś dalej używa apki z mobilnym API
13:07
ale że mobilnego api nie ma to lecą 404
13:07
myślałem że wylogowaliśmy wszystkich takich userów
Avatar
Avatar
mklkj
o ktoś dalej używa apki z mobilnym API
Ale się user kurcze zalogował
Avatar
rok temu pewnie
Avatar
co do przypadku z #bugs to to przechodzi testy i niby nie wyświetla zastępstwa - to ok - trzeba poprawić, ale jak te "przeniesiona z..." znalazło się w nauczycielu to nie wiem
19:23
19:25
jak to się znalazło w nauczycielu @mklkj
Avatar
będę zaraz patrzał
Avatar
na starym branchu byłem
Avatar
jest źle
19:55
i wiem przez co
19:55
bo substring jest po samym słowie zastępstwo
Avatar
na starym branchu działało
19:55
zepsułem
Avatar
o, super
19:56
to naprawisz?
Avatar
naprawię
Avatar
elegancko
Avatar
a co z tym "przeniesiona..."
19:59
do info dokleić?
Avatar
ja to widzę tak, żeby splitować może po )( i wyciągać usuwać z tego te itemy które mają "poprzednio", a resztę łączyć i dawać do info
Avatar
czemu tak właściwie jak jest zastępstwo to nie wyświetla się pole info w aplikacji
20:48
w sensie w kodzie wiem tyle że sensu nie
Avatar
to znaczy jak to się nie wyświetla
20:49
jak wiemy że to nauczyciel się tylko zmienił, to wychodziliśmy z założenia, że nie ma sensu
Avatar
chodzi o pole "Zmiany" w dialogu
20:49
a ok
20:49
rozumiem
Avatar
#105
Avatar
Wulkanowy bot BOT 06.10.2021 21:05
Brak opisu
Typ
Pull request
Stan
Otwarty
Wersja robocza
Nie
Avatar
tak to rozwiązałem
21:05
nie wiem czy dobrze
21:06
nawet nie wiem jak nazwać tego pr'a bo nie wiem co naprawiam
21:06
ale naprawiłem
Avatar
dobrze? @mklkj
Avatar
Avatar
mklkj
@Luncenok git, ale zmieniłem trochę, sprawdź i powiedz co sądzisz https://github.com/wulkanowy/sdk/pull/105/commits/f94cdfea168eab538d972a90506265952b6123da
chyba styknie
21:33
jest git
Avatar
#106
Avatar
Wulkanowy bot BOT 11.10.2021 19:44
Brak opisu
Typ
Pull request
Stan
Otwarty
Wersja robocza
Nie
Avatar
dobrze zrobiłem?
Avatar
Wygląda git
Avatar
a może zrobić tak, żeby sdk zwracało pola z datami ze strefą czasową?
22:37
22:40
i wtedy konwersje na inne strefy można robić od tak
22:41
kurde od początku można tak było zrobić
Avatar
Wiecie o co z tym chodzi?
Avatar
podbij sobie sdk do 4efd642
Avatar
nie znajduje snapshota
Avatar
właśnie próbowałem też tak
Avatar
a masz repo jitpack dodane?
Avatar
na pewno w dobrym miejscu?
17:21
pokaż jak masz go zadeklarowanego
Avatar
w jakim to jest bloku?
17:57
daj kawałek więcej
Avatar
dzięki za pomoc
19:16
udało mi się, musiałem dodać jitpack do settings.gradle
19:18
jednak wciąż nie działa (edited)
Avatar
jak zrobisz tak samo jak w wulkanowym to ma działać
⭐ 1
20:04
bo u nas działa
⭐ 1
Avatar
dodałem jedną rzecz i działa już
Avatar
Podzielisz się jaką
20:42
no tak, przecież ja tam w sdk dałem okhttp jako api a nie implementation 🤦
Avatar
@silent czemu spamujesz gwiazdki pod losowymi wiadomościami
Avatar
Avatar
mklkj
no tak, przecież ja tam w sdk dałem okhttp jako api a nie implementation 🤦
To może lepiej zmień
Avatar
tylko tak źle i tak niedobrze
20:55
chociaż
20:55
w sumie to jeden pies
20:55
się zmieni
Avatar
Avatar
jel
@silent czemu spamujesz gwiazdki pod losowymi wiadomościami
Bo to są złote myśli
20:59
I nie spamuje nimi xD
Avatar
Avatar
silent
Bo to są złote myśli
nie są zabawne ani wyróżniające się od innych wiadomości (edited)
Avatar
pamiętaj że muszą być zabawne wyrwane z kontekstu
Avatar
muszą być zabawne w ogóle
Avatar
z kontekstu
18:53
o to chodzi w starboardzie - wiadomości wyrwane z kontekstu
Avatar
nie zgodzę się
18:54
możemy iść na #offtopic (edited)
20:00
#107
Avatar
Wulkanowy bot BOT 17.11.2021 20:00
Witaj, Byłaby możliwość zportowania tego SDK do C#?
Repozytorium
wulkanowy/sdk
Typ
Issue
Stan
Otwarty
Avatar
marcin official account 17.11.2021 21:12
@Damian masz zadanie
Avatar
v0id ma swoją apkę (edited)
21:13
no i też api vulcana mobile jest już w nuget
Avatar
@v0id reklamuj się (jeśli chcesz)
Avatar
Avatar
Damian
no i też api vulcana mobile jest już w nuget
jeszcze ni ma ale napisze
Avatar
będziesz pisał scrappera?
21:17
jako alternatywa
Avatar
nawet jak nie ma to zrób zapowiedź czy coś
21:17
w ogóle gdzie jest org vulcanovej
Avatar
org.companyname
21:21
a tak napradę to (edited)
21:21
v0idzz/Vulcanova
Avatar
Wulkanowy bot BOT 17.11.2021 21:21
Unofficial Vulcan UONET+ Xamarin.Forms mobile client
Gwiazdki
6
21:21
trzeba będzie zrobić Vulcanova Inc
Avatar
do obsłużenia Non-fatal Exception: java.net.ProtocolException: unexpected end of stream at okhttp3.internal.http1.Http1ExchangeCodec$FixedLengthSource.read(Http1ExchangeCodec.java:371) at okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.java:276) at okio.internal.RealBufferedSourceKt.commonRead(RealBufferedSourceKt.java:39) at okio.RealBufferedSource.read(RealBufferedSource.java:189) at okio.RealBufferedSource.read(RealBufferedSource.java:189) at okio.internal.RealBufferedSourceKt.commonExhausted(RealBufferedSourceKt.java:49) ...
Avatar
Avatar
Wulkanowy bot
Click to see attachment 🖼️
GGThink
Avatar
zobaczyłem na opinie dv na appstore
15:59
i nabrała mnie chęć na kombinowanie
15:59
jakiś roadmap trzeba zrobić, choćby nie wiem jak bardzo nierealny miał być
Avatar
A jakie są
Avatar
bardzo krytyczne
16:00
no i średnia to 1.5
16:00
a co do sdk na pewno w najbliższej przyszłości chcę zmigrować z moshi na kotlinx serialization
16:00
tam jest multiplatform ootb
Avatar
No ale to najmniejszy problem
Avatar
Dalej to trzeba nad architekturą popracować
16:06
I spróbowałbym migracji z okhttp na ktora
16:07
Tu widzę problem, bo chucker ma tylko interceptor dla okttp
16:08
A nie, jednak się da
16:08
A nie
16:08
To tylko przy silniku okhttp
16:08
Ale to by też mogło ujść, przynajmniej na początku
16:09
Avatar
gdzie używacie tej klasy?
22:01
bo mi nic nie znajduje jak używam find usages
22:03
patrz na *Service.kt (edited)
Avatar
nic mi nie widzi
22:05
ło zaraz
22:05
dobra działa
22:05
bo mi najpierw ten link nie zadziałał
22:07
już chyba wiem jak to działa
22:07
dzięki wielkie za pomoc
22:07
się wzoruje na tym sdk częściowo
Avatar
myślałem że robisz socialify
Avatar
Avatar
mklkj
myślałem że robisz socialify
bo robię
22:10
ale coś mi still nie chce działać
22:10
jak chcesz pomóc to #offtopic-programming
Avatar
pokaż tam co masz, to może coś będę wiedział
Avatar
pierwszy run testów po migracji z moshi na kotlinx.serialization
23:59
bo dodaniu dwóch flag dla obiektu Json
Avatar
{"UczenPseudonim": "RoboT"} 27.11.2021 00:29
wiadomo o co chodzi z WidocznyPrzedmiot w Oceny.mvc? wszędzie jest false (edited)
Avatar
nie wiem, nie doszliśmy nigdy do tego
Avatar
{"UczenPseudonim": "RoboT"} 27.11.2021 00:30
rozumiem, dzięki
Avatar
dobra, zostały dwie największe rzeczy
00:31
czyli parser zrealizowanych lekcji i podsumowania frekwencji
00:32
jedyne dwie rzeczy oprócz parsera planu lekcji gdzie jest dość skomplikowane mapowanie na nasze wewnętrzne obiekty
Avatar
{"UczenPseudonim": "RoboT"} 27.11.2021 00:49
wersja python, idzie dobrze 😄 (edited)
Avatar
Łołoło
07:25
Najs
Avatar
{"UczenPseudonim": "RoboT"} 28.11.2021 18:40
skąd jest brany skrót szkoły w sdk?
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
skąd jest brany skrót szkoły w sdk?
jak masz w tym panelu głównym uoneta przycisk uczeń nowość
18:41
czy jak on się tam teraz nazywa
18:41
to w linku masz
18:41
chodzi ci o ten 6 cyfrowy numerek?
Avatar
{"UczenPseudonim": "RoboT"} 28.11.2021 18:41
nie nie
Avatar
to o co?
Avatar
{"UczenPseudonim": "RoboT"} 28.11.2021 18:42
skrót nazwy szkoły
18:42
wyświetla sie pod imieniem i nazwiskiem w wulkanowym
Avatar
to gdzieś w jsonie powinien być zwracany
Avatar
{"UczenPseudonim": "RoboT"} 28.11.2021 18:42
no wlasnie nie widze nigdzie dlatego pytam
Avatar
z tego co dobrze pamiętam
18:42
just a sec
Avatar
{"UczenPseudonim": "RoboT"} 28.11.2021 18:43
a dobra znalazlem
Avatar
zobacz endpoint /Uczen.mvc/Get
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
a dobra znalazlem
gdzie było?
Avatar
{"UczenPseudonim": "RoboT"} 28.11.2021 18:44
Chucker wyjawił sekret, uonetplus-uzytkownik NowaWiadomosc.mvc/GetJednoskiUzytkownika
18:44
ups wulkabot sie odpalił
Avatar
a, ty piszesz pythonowe sdk?
Avatar
{"UczenPseudonim": "RoboT"} 28.11.2021 18:45
wsm może napisze, na razie napisalem troche kodu bo do bota na discordzie cos potrzebowalem
18:45
a o ten skrot pytam bo chce do fakeloga VParam.permissions w dobrym formacie zrobić
18:46
jakby kiedyś komuś (mi) zachciało się parsować to
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
a dobra znalazlem
{"UczenPseudonim": "RoboT"} 28.11.2021 18:47
choć teraz wsm nie wiem, bo fakelog zwraca skrót Fake123456 a on nie jest wyświetlany
18:47
w wulkanowym
Avatar
to zobacz /Uczen.mvc/Get
Avatar
{"UczenPseudonim": "RoboT"} 28.11.2021 18:49
tyle że wulkanowy takiego requesta nawet nie robi
18:49
dopiero jak w dane osobowe wejdziesz
Avatar
hmm...
18:49
interesujące
18:50
to już musisz się maintainerów pytać chyba
Avatar
{"UczenPseudonim": "RoboT"} 28.11.2021 18:50
jeszcze troche pogrzebie sam
Avatar
a może wysyła na /Uczen.mvc/Get i dla dashboardu pobiera po prostu z bazy bez wysyłania requesta?
Avatar
Skrót jest w htmlu strony na uonetplus-uczen
Avatar
{"UczenPseudonim": "RoboT"} 28.11.2021 18:51
a XD
18:51
no tak też można
Avatar
Nie że można
18:55
On tylko tam jest w razem z pełną nazwą szkoły
Avatar
{"UczenPseudonim": "RoboT"} 28.11.2021 18:56
no ale pełna nazwa szkoły jest tez w SzkolaINauczyciele
Avatar
Avatar
mklkj
On tylko tam jest w razem z pełną nazwą szkoły
{"UczenPseudonim": "RoboT"} 28.11.2021 18:57
niby gdzie?
Avatar
to inaczej
Avatar
{"UczenPseudonim": "RoboT"} 28.11.2021 18:58
bo jeśli chodzi o organizationName to ja w mojej szkole mam tam TYLKO skrót
Avatar
po tą stronę i tak musimy zrobić request (bo token), więc od razu bierzemy co jest
18:58
a w Wulkanowym jak ci się pokazuje?
18:59
bo może kłamię
18:59
dawno to robiłem
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
skrót nazwy szkoły
{"UczenPseudonim": "RoboT"} 28.11.2021 18:59
.
18:59
w dashboardzie
18:59
pod imieniem i nazwiskiem mam tylko skrot
18:59
wiec zapewne o to chodzi
Avatar
{"UczenPseudonim": "RoboT"} 01.12.2021 21:01
Jak wasze sdk wyciąga te 6-cyfrowe id szkoły z homepage'a? Regex?
21:01
Bo vulcan zmienił troche url do Uczeń (z resztą nie wiem po co, dodali niepotrzebny redirect 302) (edited)
21:01
i mój regex sie wysypał a sdk dalej działa
Avatar
bo nie używamy regexa
Avatar
{"UczenPseudonim": "RoboT"} 01.12.2021 21:05
aaa, w taki sposób
21:06
ja zrobiłem na regexie bo myślałem że tak bedzie lepiej niz odpalać kolejnego soupa
21:06
😄
Avatar
ja tam wychodzę z założenia że lepiej jest sparsować htmla niż robić regexy
Avatar
{"UczenPseudonim": "RoboT"} 01.12.2021 21:07
ciekawe po co vulcan zmienił ten url
21:07
skoro to jest kolejny 302
21:08
Avatar
{"UczenPseudonim": "RoboT"} 11.12.2021 00:06
jak działa endpoint NowaWiadomosc.mvc/GetJednostkiUzytkownika ? Patrze do chuckera a tam zwykły GET bez żadnych parametrów ani headerów, a gdy sam taki robie to zwraca mi jakiś błąd
00:06
jakieś ciasteczka trzeba ustawić?
Avatar
W chuckerze powinieneś widzieć ciastka
00:24
Takie same jak wszędzie raczej
00:24
No i przede wszystkim
00:24
Sprawdź w przeglądarce
00:24
Zakładka network cię zbawi
Avatar
{"UczenPseudonim": "RoboT"} 11.12.2021 00:40
Aha dobra nie wiem czemu nie działało wcześniej, dosłownie nic nie zmieniłem a teraz działa
Avatar
{"UczenPseudonim": "RoboT"} 12.12.2021 14:55
Wasze sdk nie parsuje OcenyOpisowe ?
Avatar
jeszcze nie
Avatar
{"UczenPseudonim": "RoboT"} 12.12.2021 16:31
diary.semesters!![0].unitId
16:31
co oznacza taki zapis?
16:31
te wykrzykniki (edited)
Avatar
semesters jest nullable
16:32
i
16:32
normalnie trzeba by było to nullability brać pod uwagę
16:33
ale jeśli nie chcemy (bo wiemy że nulla tam nie może być) to dajemy !! i dalej działamy jakby ta zmienna nullable wcale nie była
Avatar
{"UczenPseudonim": "RoboT"} 12.12.2021 16:34
hm, to skoro wiemy że nulla tam nie może być, to dlaczego semesters jest nullable? xd
Avatar
patrz na cały kod
16:34
gdzieś wyżej nullable semestry są odfiltrowywane z tego co pamiętam
16:34
nie ma smartcasta na typ bez nulla
Avatar
Avatar
mklkj
gdzieś wyżej nullable semestry są odfiltrowywane z tego co pamiętam
{"UczenPseudonim": "RoboT"} 12.12.2021 16:35
rzeczywiście
16:35
dobra dzięki 😄
16:35
kotlin to jakaś czarna magia
Avatar
jest świetny
16:37
tylko musisz kilka nowych zasad poznać
16:37
dla mnie to jest teraz najlepszy język jeśli chodzi o ekspresyjność
Avatar
{"UczenPseudonim": "RoboT"} 12.12.2021 16:38
możliwe, ale jak tak pierwszy raz się czyta kod w kotlinie to wiele rzeczy jest dość confusing
Avatar
napisz o jednej najbardziej mylącej rzeczy jaką dotychczas zobaczyłeś
Avatar
{"UczenPseudonim": "RoboT"} 12.12.2021 16:42
hm na początku najbardziej mnie dziwił ten syntax np. coś.map { it to innecoś } albo coś.apply { logger.debug("$this") } (edited)
Avatar
jak nie kojarzysz map to znaczy że nigdy w js nie programowałeś ani w innym języku w którym się da pisać funkcyjnie
Avatar
{"UczenPseudonim": "RoboT"} 12.12.2021 16:43
nie nie, ja rozumiem co ten kod robi tylko syntax troche dziwny (edited)
Avatar
Znaczy słowo 'to'
21:41
To jest nie związany z map
21:41
to tworzy obiekt Pair
Avatar
infix function
Avatar
Treść zgłoszenia: io.github.wulkanowy.sdk.scrapper.exception.VulcanException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) at io.github.wulkanowy.sdk.scrapper.interceptor.ErrorHandlerTransformerKt.handleErrors(ErrorHandlerTransformer.kt:20)
Avatar
{"UczenPseudonim": "RoboT"} 16.12.2021 19:03
Po co sdk próbuje sie logować (do uonetplus) na symbolu Default ? Nie lepiej go pominąć i zaoszczędzić ten 1 request?
Avatar
kiedy?
Avatar
{"UczenPseudonim": "RoboT"} 16.12.2021 19:03
w wulkanowym przy pierwszym logowaniu
19:03
gdy testuje wszystkie symbole
19:03
z certa
Avatar
miałem to zmieniać, ale nie zmieniłem boooo
19:04
chyba jak o tym myślałem, to fakelog jeszcze tego nie wspierał
19:05
coś tam z fakelogiem było
19:05
ale teraz niby powinno się dać obejść bez tego
Avatar
{"UczenPseudonim": "RoboT"} 16.12.2021 19:05
aha, ok dzięki
Avatar
@mklkj pasuje pododawać internal dla niektórych metod w sdk
Avatar
jak się kiedyś rozpędzę to dodam api validatora
15:40
i będziemy uszczelniać
Avatar
przydałoby się
Avatar
Treść zgłoszenia: io.github.wulkanowy.sdk.scrapper.exception.VulcanException: Wymagana obsługa języka JavaScript Obsługa języka JavaScript jest wymagana. Ta przeglądarka sieci Web nie obsługuje języka JavaScript lub obsługa języka JavaScript nie została w niej włączona. Aby dowiedzieć się, czy przeglądarka sieci Web obsługuje język JavaScript, lub włączyć obsługę języka JavaScript, zapoznaj się z pomocą przeglądarki sieci Web. Wystąpił błąd Wystąpił błąd. Skontaktuj się z administratorem w celu uzyskania dodatkowych informacji. Szczegóły błędu Activity ID: 9b630287-a912-49a3-dde0-008001040zzz Relying party: CUFS Error time: Fri, 17 Dec 2021 14:11:07 GMT © 2016 Microsoft (edited)
Avatar
{"UczenPseudonim": "RoboT"} 20.12.2021 23:30
Mam pytanie co do procesu logowania
23:30
Po co ten request?
23:32
chyba dlatego że nie chciało mi się kombinować i przekazywać z getSymbols() typu strony logowania
23:32
nie ma innego uzasadnienia
Avatar
{"UczenPseudonim": "RoboT"} 20.12.2021 23:33
ale po co login type po zalogowaniu
23:33
aaa
23:33
dobra wiem
23:33
XD
Avatar
widzę że coraz lepiej sobie radzą z nazewnictwem
Avatar
{"UczenPseudonim": "RoboT"} 21.12.2021 22:19
co to za json?
Avatar
UczenCache
Avatar
{"UczenPseudonim": "RoboT"} 21.12.2021 22:20
o kurde kiedy to zmienili?
Avatar
nie mam pojecia
Avatar
{"UczenPseudonim": "RoboT"} 21.12.2021 22:20
ciekawe
22:21
moze sie szykują zmiany wszędzie
22:21
bez zapowiedzi
22:24
// TODO: refactor enum class LoginType { AUTO, STANDARD, ADFS, ADFSCards, ADFSLight, ADFSLightScoped, ADFSLightCufs } Wytłumaczy mi ktoś tak po krótce czym sie te wszystkie adfs'y różnią?
Avatar
auto do rejestracji (sdk samo wykrywa typ)
Avatar
{"UczenPseudonim": "RoboT"} 21.12.2021 22:25
pytam o adfs
Avatar
idę po kolei
22:25
standard to zwykły cufs.uonetplus.vulcan.net.pl
22:25
adfs to ma np. umt.tarnow.pl
22:26
adfscards było dla eszkola.opolskie.pl, bo na początku trzeba było wybrać typ logowania (mieli do wyboru logowanie kartą i logowanie hasłem)
22:27
adfslight* jest bardzo do siebie podobne (edited)
Avatar
Avatar
mklkj
widzę że coraz lepiej sobie radzą z nazewnictwem
XDDDD
22:28
mozeRodzicZglaszac
22:29
Rozwaliło mnie to totalnie
Avatar
{"UczenPseudonim": "RoboT"} 21.12.2021 22:29
mnie troche śmieszy to że Płeć to bool
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
mnie troche śmieszy to że Płeć to bool
To nie jest takie złe
22:29
Gorzej jak ktoś się przypruje o dyskryminacje
Avatar
Avatar
mklkj
adfslight* jest bardzo do siebie podobne (edited)
i szczerze nie pamiętam na czym dokładnie różnica polegała xd
22:30
jedno z nich to był chyba adfslight w domenie vulcan.net.pl, któreś kolejne to taki adfslight jak ma edu.lublin.eu
22:30
a jeszcze inne to chyba takie jak ma resman.pl
Avatar
{"UczenPseudonim": "RoboT"} 21.12.2021 22:32
kurde gdyby nie mogli się chociaż zdecydować na jakiś jeden typ logowania wszędzie
Avatar
marcin official account 21.12.2021 22:32
adflight
Avatar
{"UczenPseudonim": "RoboT"} 21.12.2021 22:33
wgl o co chodzi z tymi niektórymi symbolami na vulcan.net.pl które przekierowują na adfslight?
22:33
jaki to ma sens
Avatar
pewnie miasta chciały mieć jakieś mocniejsze integracje w swoje usługi
22:33
czy tam bardziej oddzielone od tego co jest standardowo
22:34
ale zamiast hostować to u siebie jak opolskie czy lublin to siedzą u vulcana
Avatar
{"UczenPseudonim": "RoboT"} 21.12.2021 22:34
eh
22:34
ok, to teraz tak
22:35
czy ja dobrze rozumiem, że ADFS polega na tym, że email/haslo leci do adfs, z adfs cert leci do cufs, a z cufs cert leci do uonetplus?
22:35
jest dodatkowy krok przy logowaniu
Avatar
{"UczenPseudonim": "RoboT"} 21.12.2021 22:36
i w przypadku tych dzienników z adfs
22:36
nie ma wyciągania symboli z certu cnie?
22:36
bo jest tylko jeden
22:36
?
Avatar
tylko jeden tam był, tj. ten z którym się startowało
22:37
sdk i tak to próbuje teraz zrobić, ale że nic nowego nie znajdzie, to apka reaguje tak jakby nie znalazło ucznia i pyta usera o symbol
Avatar
{"UczenPseudonim": "RoboT"} 21.12.2021 22:37
a jak próbuje
22:37
to z certa z adfs czy cufs?
Avatar
chyba z pierwszego
22:38
musiałbym patrzeć w kod
22:39
nie pamiętam czy patrzyłem czy jest coś więcej w tym do cufsa
22:39
ale raczej nie, wątpię
Avatar
{"UczenPseudonim": "RoboT"} 21.12.2021 22:40
kurcze przydałoby mi się konto na takim dzienniku żeby to testować
22:40
w moim sdk
22:43
dobra a czy poza logowaniem
Avatar
wszystko jest tak samo
Avatar
{"UczenPseudonim": "RoboT"} 21.12.2021 22:43
tyle dobrze
22:44
wgl TIL że do linku uonetplus można dokleić id szkoły (tak jak w uczniu) i dalej będzie działać
Avatar
tak, ale to akurat zbyt ciekawe nie jest
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
mnie troche śmieszy to że Płeć to bool
Nie chcą trzymać ileś bajtów per ucznia
Avatar
{"UczenPseudonim": "RoboT"} 21.12.2021 23:15
Vulcan be like: niech płeć to bool, musimy oszczędzać bajty Vulcan also be like: a huj przesyłamy w jednym jsonie te same obrazki w base64 10 razy (edited)
Avatar
Chodzi o oszczędność w bazie
23:16
Jednego obrazka tam nie trzymają w 10 kopiach
Avatar
Avatar
pengwius
Chodzi o oszczędność w bazie
{"UczenPseudonim": "RoboT"} 21.12.2021 23:16
a chyba że tak
23:16
to racja
Avatar
eh, a jak mieli to trzymać?
23:18
projektant paręnaście lat temu to tak zaprojektował
23:18
na pytanie: ile jest płci? odpowiedział sobie że 2
23:18
a dwa stany jaki typ przechowuje? no bool
23:18
no to cyk bool
23:18
i tak zostało
Avatar
myślałem, że tam mają przynajmniej jakiegoś enuma
23:28
tak chyba najlepiej
Avatar
marcin official account 21.12.2021 23:57
0 i 1
23:57
😄
Avatar
Avatar
pengwius
Chodzi o oszczędność w bazie
bool zajmuje 8 bitów, tak samo jak char / byte
Avatar
Hmmm… no tak
09:58
XD
Avatar
Avatar
jel
bool zajmuje 8 bitów, tak samo jak char / byte
marcin official account 22.12.2021 10:23
dlaczego?
Avatar
Avatar
marcin official account
dlaczego?
nie da się w pamięci komputera alokować mniejszej ilości pamięci nic 8 bitów
10:25
pojedyńczy adres pamięci przechowuje 8 bitów
Avatar
marcin official account 22.12.2021 10:25
a ok
10:26
nie znam się na architekturze komputera
Avatar
{"UczenPseudonim": "RoboT"} 22.12.2021 13:26
Dlaczego i w AccountRepository i w RegisterRepository jest funkcja getLoginType ?
13:26
są prawie identyczne
Avatar
No to jest duplikacja do zrefaktoryzowania
13:31
Jak robiłem Account repo to dopiero próbowałem je ujednolicić, ale no jak widać jest co jest
Avatar
{"UczenPseudonim": "RoboT"} 22.12.2021 13:43
xd rozumiem
Avatar
{"UczenPseudonim": "RoboT"} 22.12.2021 15:59
jak teraz tak myśle
15:59
to skoro sdk automatycznie wykrywa typ logowania wg strony
15:59
to czemu GPE sie popsuła ? (edited)
Avatar
Po wykrywanie nie jest idealne
16:30
I bo jest uruchamiane tylko przy rejestracji
Avatar
drogi pamiętniczku, dzisiaj zacząłem kombinować z dodaniem wsparcia dla przedszkolaków i na razie wszystko wygląda całkiem dobrze. Przy okazji z ciekawszych spostrzeżeń - wszystko wskazuje na to, że uczeń może mieć: a) normalnie dwa semestry b) nie mieć semestrów wcale (pusta [] lista) c) nie mieć semestrów (zamiast pustej listy po prostu null) i wtedy flaga isDziennik jest ustawiona na false
⭐ 7
20:34
do tej pory obsługiwany był wyłącznie punkt a)
20:34
punkt b) to właśnie nasze przedszkole
20:34
a punkt c) to nie mam cholera pojęcia
Avatar
Zdobyłeś dostęp do dziennika przedszkolaka?
20:46
dodałem jakiś czas temu więcej logów w odpowiednich miejscach w sdk
Avatar
Ah, i Vulcan sam ci się zwierza ze swojej budowy
Avatar
{"UczenPseudonim": "RoboT"} 03.01.2022 14:11
@POST @FormUrlEncoded suspend fun sendADFSForm(@Url url: String, @FieldMap values: Map<String, String>): String @POST @FormUrlEncoded suspend fun sendADFSMSForm(@Url url: String, @FieldMap values: Map<String, String>): String One sie czymś różnią czy to są jakieś pozostałości gotowe na refactor?
14:11
xD
Avatar
różnią się, ale wcześniej
14:11
technicznie to obie te metody mógłby być zastąpione jedną
14:12
ale dla czytelności w repo zostawiłem tak
Avatar
Avatar
mklkj
różnią się, ale wcześniej
{"UczenPseudonim": "RoboT"} 03.01.2022 14:12
tzn?
Avatar
wywołanie tych metod sprawdź
Avatar
{"UczenPseudonim": "RoboT"} 03.01.2022 14:13
no jak czytam LoginHelper.kt to wydają sie być identyczne
14:14
chyba że coś przeoczyłem
Avatar
jak to jest identyczne to ja jestem święty
14:14
14:15
14:15
values jest inne chociażby (edited)
14:15
tak znacznie inne
Avatar
{"UczenPseudonim": "RoboT"} 03.01.2022 14:15
a no tak
Avatar
i pewnie, tam dalej są też różnice w parametrach dla sendADFSForm
14:15
ale nikt nie mówił, że sdk jest super spójne samo ze sobą xd
14:16
to wszystko było tyle razy rzeźbione, że można byłoby to drugi raz lepiej napisać
Avatar
{"UczenPseudonim": "RoboT"} 03.01.2022 14:16
rozumiem xd
14:17
ok dzięki (choć pewnie jeszcze pytaniami będę męczył)
Avatar
i co ci mogę jeszcze poradzić - patrz na to co Oranż zrobił
Avatar
{"UczenPseudonim": "RoboT"} 03.01.2022 14:17
fslogin?
Avatar
to się chyba nazywa szkolny-eu/FSLogin
Avatar
Wulkanowy bot BOT 03.01.2022 14:17
ADFS & Vulcan CUFS Login module
Avatar
on robił to na podstawie między innymi tego co ja zrobiłem, ale świeżym okiem, bez naleciałości
14:18
więc niektóre abstrakcje powinny lepiej oddawać sens działania dziennika
Avatar
{"UczenPseudonim": "RoboT"} 03.01.2022 14:18
ok poczytam 👍
14:07
o co chodzi z tym || ?
Avatar
taką sobie notację wymyśliłem, żeby userzy z więcej niz jednym emailem na koncie mogli wybrać inne niż domyślnie pokazane
Avatar
{"UczenPseudonim": "RoboT"} 04.01.2022 14:09
huh
14:09
chyba nie rozumiem
Avatar
{"UczenPseudonim": "RoboT"} 04.01.2022 14:12
ciekawe
Avatar
While preparing SELECT this_.Id as id1_118_3_, this_.Skrot as skrot4_118_3_, this_.Regon as regon10_118_3_, this_.Aktywna as aktywna11_118_3_, this_.Symbol as symbol5_118_3_, this_.SymbolInteg as symbolinteg9_118_3_, this_.GlobalKey as globalkey12_118_3_, this_.Nazwa as nazwa3_118_3_, this_.SyncO365 as synco14_118_3_, this_.DataModyfikacji as datamodyfikacji8_118_3_, jednostkis2_.IdJednostkaSprawozdawcza as idjednostkasprawozdawcza12_117_5_, jednostkis2_.Id as id1_117_5_, jednostkis2_.Id as id1_117_0_, jednostkis2_.GlobalKey as globalkey14_117_0_, jednostkis2_.DataUtworzenia as datautworzenia39_117_0_, jednostkis2_.ArkuszNazwa as arkusznazwa15_117_0_, jednostkis2_.GodzinaOd as godzinaod16_117_0_, jednostkis2_.GodzinaDo as godzinado17_117_0_, jednostkis2_.IdS1Typ as ids7_117_0_, jednostkis2_.IdS7KategoriaUczniow as ids20_117_0_, jednostkis2_.Aktywna as aktywna9_117_0_, jednostkis2_.Nazwa as nazwa4_117_0_, jednostkis2_.Skrot as skrot8_117_0_, jednostkis2_.Patron as patron13_117_0_, jednostkis2_.Regon as regon25_117_0_, jednostkis2_.Obwod as obwod10_117_0_, jednostkis2_.Notatka as notatka26_117_0_, jednostkis2_.NrEwidencyjny as nrewidencyjny27_117_0_, jednostkis2_.OrganProwadzacy as organprowadzacy28_117_0_, jednostkis2_.Uprawnienia as uprawnienia29_117_0_, jednostkis2_.NrDecyzji as nrdecyzji30_117_0_, jednostkis2_.DataUprawnien as datauprawnien31_117_0_, jednostkis2_.NazwaDopelniacz as nazwadopelniacz32_117_0_, jednostkis2_.NazwaBiernik as nazwabiernik33_117_0_, jednostkis2_.Numer as numer5_117_0_, jednostkis2_.Imienia as imienia6_117_0_, jednostkis2_.NazwaMiejscownik as nazwamiejscownik34_117_0_, jednostkis2_.JednostkaSamorzaduTerytorialnego as jednostkasamorzaduterytorialnego35_117_0_, jednostkis2_.Identyfikator as identyfikator36_117_0_, jednostkis2_.RodzajSzkoly as rodzajszkoly37_117_0_, jednostkis2_.NumerRSPO as numerrspo38_117_0_, jednostkis2_.PrzedrostekNazwySzkolyArtystycznej as przedrosteknazwyszkolyartystycznej40_117_0_,
18:40
jednostkis2_.Rozdzial as rozdzial41_117_0_, jednostkis2_.NazwaAdresElegitymacja as na<truncated: 2387 chars>
18:41
sporo tych aliasów
18:41
szkoda że się wszystko nie zmieściło
Avatar
{"UczenPseudonim": "RoboT"} 05.01.2022 00:08
Gdzie w SDK moge znaleźć obsługę błędu The custom error module does not recognize this error. ?
Avatar
{"UczenPseudonim": "RoboT"} 05.01.2022 00:12
aa to już wiem czemu nie umiałem znaleźć
00:12
dzięki
Avatar
{"UczenPseudonim": "RoboT"} 05.01.2022 00:36
Co to za błąd? doc.select("h2.error").let { if (it.isNotEmpty()) throw AccountPermissionException(it.text()) }
Avatar
Szukaj w resources
00:55
Tam wszystkie ważniejsze są
Avatar
{"UczenPseudonim": "RoboT"} 05.01.2022 01:00
ok
Avatar
{"UczenPseudonim": "RoboT"} 05.01.2022 14:15
Pytanie
14:15
czym jest ZebranieOnline w Zebrania.mvc gdy nie jest nullem ? (edited)
Avatar
nie wiemy
14:16
dlatego w modelu Conference zostało Any?
14:16
jak jest taki typ to znaczy, że nie wiemy co tam ma być
Avatar
{"UczenPseudonim": "RoboT"} 05.01.2022 14:17
👍
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
czym jest ZebranieOnline w Zebrania.mvc gdy nie jest nullem ? (edited)
Marioneq + 05.01.2022 14:23
👍 1
Avatar
{"UczenPseudonim": "RoboT"} 05.01.2022 14:23
@mklkj A dlaczego DataSpotkania nie jest parsowana?
14:26
tylko jest to
14:26
@Transient val date: LocalDateTime = LocalDateTime.now()
14:28
wulkanowy wyciąga date z tytułu?
Avatar
Bo tam jest jeszcze ten nieszczęsny tytuł
14:29
I to jest prasowane w mapperze
14:29
Patrz do StudentRepository
Avatar
{"UczenPseudonim": "RoboT"} 05.01.2022 14:31
czyli ta data w tytule jest gwarantowana a DataSpotkania nie jest?
14:31
widze ze fakelog nie ma DataSpotkania
14:31
ale mój dziennik zwraca
Avatar
Możliwe że wtedy jak to robiłem to jeszcze tego pola nie było
Avatar
Marioneq + 05.01.2022 14:38
Wsm to w szczegółach zebrania można zrobić przycisk "Dołącz do spotkania" lub "Dołącz" jeżeli ZebranieOnline ma wartość inną niż null
Avatar
no można, ale to co pisałem
14:43
nie wiemy co tam jest
14:43
jak masz takie coś w dzienniku to zapraszam do współpracy
Avatar
i co ja mam z tym zrobić?
15:12
nie wiemy w jakim formacie dziennik to zwraca
15:12
a ja nie będę zgadywał
Avatar
dobra, mamy takie nieoficjalne potwierdzenie, że logowanie na konta przedszkolne działa
20:49
gość zgłosił błąd z ekranu ocen, bo api zwróciło data=null (sdk wtedy rzuca wyjątek)
20:49
i jak zapytałem to napisał, że konto przedszkolne
Avatar
{"UczenPseudonim": "RoboT"} 09.01.2022 20:22
Czy godziny lekcji w planie lekcji zawsze sie zgadzają z godzinami z UczenCache ?
20:22
albo inaczej
20:22
które z nich jest (bardziej) prawidłowe? (edited)
20:22
if any
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
Czy godziny lekcji w planie lekcji zawsze sie zgadzają z godzinami z UczenCache ?
Nie wiem
20:43
Myślę, że oba są git (edited)
👍 1
Avatar
coś po między feature requestem a pytaniem
21:56
czy podczas logowania wulkanowy może zobaczyć gdzieś prawdziwy login użytkownika?
21:57
aktualnie do bazy zapisywane jest to, co zostało wpisane w polu logowania
21:57
logowanie jest case insensitive
21:57
porównywanie użytkowników w wulkanowym nie
21:57
21:57
przez co można zalogować się na to samo konto kilka razy
Avatar
Avatar
jel
czy podczas logowania wulkanowy może zobaczyć gdzieś prawdziwy login użytkownika?
jeśli może, czy możnaby zapisywać prawdziwy login zwrócony przez dziennik w bazie danych i używać go do porównywania? (edited)
Avatar
gdzieś w certyfikacie się ten login znajduje
Avatar
można by go też pobierać, ale to kolejny request podczas logowania
Avatar
nie no, to przy logowaniu już gdzieś lata
21:59
nic nie trzeba requestować dodatkowo
Avatar
trzeba też przemyśleć jak to ma działać - czasem potrzeba emaila, czasem loginu
21:59
chociaż email powinien działać zawsze
21:59
login nie wszędzie
Avatar
email nie będzie działać wszędzie
22:00
patrz adfslight w domenie vulcana
Avatar
a sposób wyciągania loginu z certyfikatu ma szansę?
Avatar
raczej tak
22:01
tylko gorzej z kwestią dodawania presufixów przed loginem (edited)
22:01
bo niektóre adfsy teraz tego wymagają
22:01
a nie wiem czy w certyfikacie to jest
Avatar
{"UczenPseudonim": "RoboT"} 10.01.2022 22:01
chyba prefixów
22:02
chodzi o to EDUNET\ na przyklad?
Avatar
{"UczenPseudonim": "RoboT"} 10.01.2022 22:02
moje sdk wyciąga to regexem ze strony logowania xD
22:02
bo kazdy adfs ma taką samą
22:02
basically
Avatar
na razie ma
Avatar
skąd mogę skopiować swój certyfikat
Avatar
{"UczenPseudonim": "RoboT"} 10.01.2022 22:03
w chuckerze POSTy z wresult jako parametr (edited)
22:03
w twoim przypadku są 2
Avatar
<saml:AttributeValue>STAJELN56</saml:AttributeValue></saml:Attribute> <saml:AttributeValue>STAJELN56@edu.gdansk.pl</saml:AttributeValue></saml:Attribute> <saml:AttributeValue>STAJELN56@edu.gdansk.pl</saml:AttributeValue></saml:Attribute>
Avatar
{"UczenPseudonim": "RoboT"} 10.01.2022 22:05
a z ktorego to certu?
Avatar
POST na https://cufs.edu.gdansk.pl/gdansk/Account/LogOn (edited)
👍 1
22:06
faktycznie na https://uonetplus.edu.gdansk.pl/gdansk/LoginEndpoint.aspx są tylko 2 wartości
Avatar
Avatar
mklkj
tylko gorzej z kwestią dodawania presufixów przed loginem (edited)
a jak to robicie obecnie?
22:07
hardcoded?
Avatar
{"UczenPseudonim": "RoboT"} 10.01.2022 22:08
tak, wg adresu dziennika
Avatar
tak jest
Avatar
czyli to co teraz proponuję powinno dać się wprowadzić bez zmiany tego systemu
Avatar
niiiby tak
22:08
w zasadzie sdk zwraca już teraz email
22:09
i nie wiem czy apka właśnie jego nie używa
22:09
więc możliwe że to tylko kilka linijek zmian w sdk
Avatar
{"UczenPseudonim": "RoboT"} 10.01.2022 22:09
hm a czym jest LoginValue w permissions?
Avatar
można i tego użyć
Avatar
{"UczenPseudonim": "RoboT"} 10.01.2022 22:09
bo u mnie tam email jest
Avatar
zależy co tam u @jela jest
Avatar
czyli co mam sprawdzić
22:10
ten js na stronie?
22:11
"LoginValue":"s.jelnicki@gmail.com" (edited)
Avatar
{"UczenPseudonim": "RoboT"} 10.01.2022 22:11
ciekawe
Avatar
nie mogę się nim logować :(
Avatar
Avatar
mklkj
i nie wiem czy apka właśnie jego nie używa
Avatar
nic mi ten screen nie dał
22:15
w kod trzeba zajrzeć
Avatar
tabela students w bazie
Avatar
co ty nie powiesz
Avatar
no żeee email nie jest przechowywany z użytkownikiem
22:16
tylko to co wpisało się do pola logowania
22:16
apka była pisana na początku pod emaile
22:16
potem wyszło, że może być też login
22:16
to zgadnij co zrobiliśmy z nazwą pola
Avatar
rozumiem ze to trochę legacy
22:17
chodziło mi tylko o to, że aplikacja nie używa emaila konta do logowania
Avatar
no wiadomo
Avatar
Avatar
mklkj
i nie wiem czy apka właśnie jego nie używa
czyli odpowiedź na tę wiadomość
Avatar
używa tego, co wpisałeś
22:17
przez email miałem na myśli to co wpisałeś
22:17
pokręcone nazwy
Avatar
w każdym razie nic co napisałeś nie jest dla mnie nowością
Avatar
zrobić jakieś issue do tego na gh?
Avatar
jasne, możesz
Avatar
wulkanowy#1751
Avatar
Wulkanowy bot BOT 10.01.2022 22:26
Podczas logowania, Wulkanowy zapisuje w bazie danych email (lub login) wpisany przez użytkownika, który może różnić się od tego używanego przez serwer (głównie wielkością liter). Dyskusja na Discordzie
Repozytorium
wulkanowy/wulkanowy
Typ
Issue
Stan
Otwarty
Avatar
{"UczenPseudonim": "RoboT"} 11.01.2022 20:52
Istnieje gdzieś jakaś lista wszystkich przypadków kombinacji divów i spanów jakie napotkaliście w planie lekcji? (edited)
20:53
Bardzo by sie taka przydała do testowania (edited)
Avatar
Patrz w katalog resources
22:01
Tam jest wszystko co mamy
Avatar
{"UczenPseudonim": "RoboT"} 12.01.2022 17:57
Wiedzieliście że certyfikat można wysłać prosto na /Start.mvc/Index zamiast /LoginEndpoint.aspx, pomijając przez to 2 redirecty?
17:58
właśnie to odkryłem
Avatar
nie, nigdy tak nie kombinowałem
17:58
ciekawe
Avatar
{"UczenPseudonim": "RoboT"} 12.01.2022 18:00
tzn przynajmniej u mnie działa na vulcan.net.pl kto wie, może gdzie indziej nie zadziała (choć nie widze powodu dlaczego niemiałoby)
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
Wiedzieliście że certyfikat można wysłać prosto na /Start.mvc/Index zamiast /LoginEndpoint.aspx, pomijając przez to 2 redirecty?
{"UczenPseudonim": "RoboT"} 12.01.2022 18:09
Ok jednak nie jest to idealne
18:09
nieprawidłowe symbole wyrzucają VulcanException
18:09
VulcanException: Wystąpił nieoczekiwany błąd. Wystąpił błąd aplikacji. Prosimy zalogować się ponownie. Jeśli problem będzie się powtarzał, prosimy o kontakt z serwisem.
Avatar
{"UczenPseudonim": "RoboT"} 12.01.2022 18:17
O, wysyłanie po prostu na /symbol też działa, choć omija tylko 1 redirect
18:17
ale przynajmniej w przypadku niepoprawnego symbolu jest to
18:18
a to już lepsze
Avatar
{"UczenPseudonim": "RoboT"} 13.01.2022 18:50
Parametr wctx jest niepotrzebny w etapie CUFS /FS/LS (edited)
18:50
wystarczy wtrealm
18:50
https://cufs.vulcan.net.pl/a/FS/LS?wa=wsignin1.0&wtrealm=https://uonetplus.vulcan.net.pl/symbol/ taki url też działa (edited)
Avatar
ale ładny link nagle (edited)
Avatar
{"UczenPseudonim": "RoboT"} 13.01.2022 18:51
bo tu wtrealm powinno byc urlencoded
18:51
ale chcialem zeby bylo czytelnie
18:52
ale i tak znacznie krótszy chyba
Avatar
{"UczenPseudonim": "RoboT"} 13.01.2022 18:52
https://cufs.vulcan.net.pl/katowice/FS/LS?wa=wsignin1.0&wtrealm=https%3a%2f%2fuonetplus.vulcan.net.pl%2fkatowice%2fLoginEndpoint.aspx&wctx=https%3a%2f%2fuonetplus.vulcan.net.pl%2fkatowice%2fLoginEndpoint.aspx no tamten troszke krótszy (edited)
18:53
A, i jeśli do /FS/LS nie podamy wctx, to w hidden form też go nie będzie
18:53
i będzie samo wa i wresult
Avatar
piękny ten system
Avatar
{"UczenPseudonim": "RoboT"} 13.01.2022 18:55
@jel sprawdz czy sie zalogujesz na tym:
18:55
https://cufs.edu.gdansk.pl/a/Account/LogOn?ReturnUrl=%2Fa%2FFS%2FLS%3Fwa%3Dwsignin1.0%26wtrealm%3Dhttps%253A%252F%252Fuonetplus.edu.gdansk.pl%252Fgdansk
18:57
nie mogę się doczekać aż wyślesz fake stronę vulcana
Avatar
{"UczenPseudonim": "RoboT"} 13.01.2022 18:57
jeszcze sie nie nauczylem przejmować domen
18:57
niestety
Avatar
albo wrzucisz password grabber do biblioteki w pythonie
Avatar
{"UczenPseudonim": "RoboT"} 13.01.2022 18:58
już jest
Avatar
Avatar
jel
tak
{"UczenPseudonim": "RoboT"} 13.01.2022 18:58
ok no to zakładam że w innych typach logowania też zadziała
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
bo tu wtrealm powinno byc urlencoded
w sumie to nie
19:01
w parametrach url encoded muszą być tylko znaki /?&
19:01
a nie, / nawet nie musi
19:02
a może…
19:03
dobra ale to wygląda na winę vulcana
Avatar
{"UczenPseudonim": "RoboT"} 13.01.2022 19:03
możliwe
Avatar
a przez postmana działa xD
Avatar
{"UczenPseudonim": "RoboT"} 13.01.2022 19:04
= musi być
19:04
chyba
Avatar
widocznie robi co innego niż przeglądarka
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
jeszcze sie nie nauczylem przejmować domen
ale możesz zwykły phishing zrobić 😄
Avatar
{"UczenPseudonim": "RoboT"} 13.01.2022 21:17
na to sie raczej nabierają tylko ludzie którzy raczej nie wiedzą co to discord i ich tu nie ma xD
21:17
ale dzk za pomysł
Avatar
gdybyś miał dostęp do konta mklkj/faierbela to pewnie mógłbyś tak oscamować 75% userów tutaj jak nie więcej
Avatar
Po co scamowac na discordzie
21:27
Mamy apke z 500k userow
21:28
Avatar
{"UczenPseudonim": "RoboT"} 13.01.2022 22:30
Znalazłem taką lekcje w planie z września: <div> <span class='x-treelabel-ppl x-treelabel-zas'>Podstawy przedsiębiorczości</span> <span class='x-treelabel-ppl x-treelabel-zas'>57</span> <span class='x-treelabel-ppl x-treelabel-zas'> Ktoś</span> (zastępstwo: Ktoś Inny) </div> <div> <span class=''>Historia</span> <span class=''>50</span> <span class=''> Ktoś Inny</span> (przeniesiona z lekcji 8, 21.09.2021) </div> Wulkanowy wyświetla to tak jakby ignorował dolnego diva - tylko pokazuje zmienionego nauczyciela Wydaje mi się, że pisałem o tym kiedyś (edited)
Avatar
możliwe
22:31
straciłem rachubę przy poprawianiu tego typu rzeczy
22:32
bo tutaj nie wiadomo co ma być tą właściwą lekcją
22:32
klasy -zas wskazują, że ta górna
Avatar
{"UczenPseudonim": "RoboT"} 13.01.2022 22:34
Hm, czyli ten przypadek jest jakby niepoprawny i nie możecie go obsłużyć bo sie nie wyróżnia?
22:35
czasami mam wrażenie że ludzie ze szkoły odpowiedzialni za plan wpisują ten html ręcznie xD
22:35
ciekawi mnie jak wygląda interfejs po tamtej stronie
22:37
U mnie w szkole to wgl są różne anomalie z planem, bo np. gdy lekcja z zastępstwem zostanie zrealizowana, to tam gdzie był przekreślony poprzedni nauczyciel, pojawia sie ten z ktorym zastepstwo bylo (ale zastepstwo jakby zostaje)
Avatar
to akurat znany błąd
22:38
i występuje u wszystkich
Avatar
{"UczenPseudonim": "RoboT"} 13.01.2022 22:38
aha, no to dziwne
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
Znalazłem taką lekcje w planie z września: <div> <span class='x-treelabel-ppl x-treelabel-zas'>Podstawy przedsiębiorczości</span> <span class='x-treelabel-ppl x-treelabel-zas'>57</span> <span class='x-treelabel-ppl x-treelabel-zas'> Ktoś</span> (zastępstwo: Ktoś Inny) </div> <div> <span class=''>Historia</span> <span class=''>50</span> <span class=''> Ktoś Inny</span> (przeniesiona z lekcji 8, 21.09.2021) </div> Wulkanowy wyświetla to tak jakby ignorował dolnego diva - tylko pokazuje zmienionego nauczyciela Wydaje mi się, że pisałem o tym kiedyś (edited)
{"UczenPseudonim": "RoboT"} 13.01.2022 22:42
O, właśnie zauważyłem, że zastępstwo ktore dzisiaj miałem jest w tym samym formacie
22:43
<div> <span class='x-treelabel-ppl x-treelabel-zas'>Język polski</span> <span class='x-treelabel-ppl x-treelabel-zas'>60</span> <span class='x-treelabel-ppl x-treelabel-zas'> MKP</span>(zastępstwo: MJ) </div> <div> <span class=''>Język angielski</span> <span class=''></span> <span class=''> JM</span> </div>
22:44
rzeczywiście dziwny ten format
Avatar
to która lekcja jest tą którą ostatecznie miałeś?
Avatar
{"UczenPseudonim": "RoboT"} 13.01.2022 22:45
angielski
22:45
z JM
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
Znalazłem taką lekcje w planie z września: <div> <span class='x-treelabel-ppl x-treelabel-zas'>Podstawy przedsiębiorczości</span> <span class='x-treelabel-ppl x-treelabel-zas'>57</span> <span class='x-treelabel-ppl x-treelabel-zas'> Ktoś</span> (zastępstwo: Ktoś Inny) </div> <div> <span class=''>Historia</span> <span class=''>50</span> <span class=''> Ktoś Inny</span> (przeniesiona z lekcji 8, 21.09.2021) </div> Wulkanowy wyświetla to tak jakby ignorował dolnego diva - tylko pokazuje zmienionego nauczyciela Wydaje mi się, że pisałem o tym kiedyś (edited)
{"UczenPseudonim": "RoboT"} 13.01.2022 22:45
a tu historie
Avatar
jeśli by było pewne, że zawsze tak jest, to powinniśmy tą sytuację obsłużyć
Avatar
{"UczenPseudonim": "RoboT"} 13.01.2022 22:46
z tego co widze jak teraz plan w moim sdk przeglądam to większość zastępstw tak u mnie wygląda
22:48
Kolejne, 4 spany w drugim <div> <span class="x-treelabel-ppl x-treelabel-zas">Religia [Religia]</span> <span class="x-treelabel-ppl x-treelabel-zas"></span> <span class="x-treelabel-ppl x-treelabel-zas"> 47</span> <span class="x-treelabel-ppl x-treelabel-zas"> TK</span> (zastępstwo: PG) </div> <div> <span class="">Zajęcia biblioteczne [Religia]</span> <span class=""></span> <span class=""></span> <span class=""> GP</span> </div>
Avatar
4 spany są przy podziale na grupy
Avatar
{"UczenPseudonim": "RoboT"} 13.01.2022 22:49
tak, wiem
Avatar
podziału na grupy przy religii jeszcze nie widziałem
Avatar
{"UczenPseudonim": "RoboT"} 13.01.2022 22:50
akurat to jest jakiś wymysł naszej szkoły bo grup na religii nie ma ale możliwe że używają tutaj grup jako Religia/Etyka
22:50
nie wiem
Avatar
Avatar
mklkj
4 spany są przy podziale na grupy
{"UczenPseudonim": "RoboT"} 13.01.2022 22:51
a czym jest ten dodatkowy span tak wgl? wszędzie jak widze to są puste (edited)
22:53
Od zawsze jest pusty
Avatar
{"UczenPseudonim": "RoboT"} 13.01.2022 23:03
<div> <span class="x-treelabel-ppl x-treelabel-inv">Podstawy przedsiębiorczości</span> <span class="x-treelabel-ppl x-treelabel-inv">57</span> <span class="x-treelabel-ppl x-treelabel-inv"> ES</span> (przeniesiona na lekcję 8, 14.12.2021) </div> <div> <span class="">Historia</span> <span class="">50</span> <span class=""> GP</span> (przeniesiona z lekcji 8, 14.12.2021) </div>
23:03
a tu podobne (edited)
23:03
i tu wszystko sie dobrze wyswietla (edited)
23:04
rozni sie tylko klasą spanów
23:05
czy tak właśnie wyglądają normalne zmienione lekcje? pytam bo do sdk bede obsluge tego dodawał za niedługo 😄
Avatar
Nooo tak
23:20
inv to odwołana
23:20
A jak jest jedna odwołana, to druga jest nowa
👍 1
Avatar
{"UczenPseudonim": "RoboT"} 14.01.2022 21:16
Hmm, "Nauczyciel wspomagający"
21:16
może na to jest ten pusty span
Avatar
{"UczenPseudonim": "RoboT"} 15.01.2022 00:34
<div> <span class=\"\">Język angielski</span> <span class=\"\">206</span> <span class=\"\">Aleksandra Krajewska</span> <span class=\"x-treelabel-rlz\">(zastępstwo: Jan Bytnar, sala 206)</span> </div> co to za dziwny format?
00:35
na fakelogu
Avatar
Nie dziwny
00:39
Tak kiedyś było normalnie
Avatar
{"UczenPseudonim": "RoboT"} 15.01.2022 00:39
const val CLASS_REALIZED = "x-treelabel-rlz"
Avatar
Avatar
mklkj
Tak kiedyś było normalnie
{"UczenPseudonim": "RoboT"} 15.01.2022 00:40
domyślam się
00:40
nwm czy robić obsługe tego w sdk
00:40
skoro już takiego formatu nie ma teoretycznie
00:40
chyba ze jakaś szkoła ma dziennik sprzed kilku lat
00:43
hmm
Avatar
{"UczenPseudonim": "RoboT"} 15.01.2022 00:54
<div> <span class=\"x-treelabel-inv\">Wychowanie fizyczne</span> <span class=\"x-treelabel-inv\">S4</span> <span class=\"x-treelabel-inv\">Aleksandra Wójtowicz</span> <span class=\"x-treelabel-ppl x-treelabel-zas\">Wychowanie fizyczne</span> <span class=\"x-treelabel-ppl x-treelabel-zas\">S4</span> <span class=\"x-treelabel-ppl x-treelabel-zas\">Mateusz Kowal</span> <span class=\"x-treelabel-rlz\">(zastępstwo: Anon Gałecki, sala S4)</span> </div> nawet nie wiem jak to rozumieć; tu są jakby 2 zmiany nauczycieli czy jak?
Avatar
lekcja odwołana, później zastępstwo i na końcu opis
00:55
a czy tak rzeczywiście może być, że w tym opisie jeszcze ktoś inny jest wymieniony to nie wiem
00:55
to było robione parę lat temu
00:55
choćbym chciał to nie spamiętam
Avatar
{"UczenPseudonim": "RoboT"} 15.01.2022 00:55
aha ok rozumiem
Avatar
{"UczenPseudonim": "RoboT"} 15.01.2022 14:40
Teraz zauważyłem, że jeśli nauczyciel na zastępstwie używa dwóch nazwisk
14:40
to sdk je w odwrotnej kolejności daje
14:41
bo tam jest odwracanie Nazwisko Imie na Imie Nazwisko no i mamy bug
Avatar
Daj jakiś przykład
14:52
Bo nie rozumiem czemu miałby być bug
Avatar
{"UczenPseudonim": "RoboT"} 15.01.2022 15:16
(zastępstwo: Nowak - Kowalska Ewa) sdk przy parsowaniu odwraca na Ewa Kowalska - Nowak
15:32
Myślałem że te nazwiska są dwa spacji pisane
Avatar
{"UczenPseudonim": "RoboT"} 15.01.2022 15:33
u mnie mają ze spacjami wpisane
11:20
todo: sprawdzić czy działa poprawnie auto login interceptor dla adfsów
19:17
ciekawa anomalia
Avatar
{"UczenPseudonim": "RoboT"} 16.01.2022 20:02
hm, symbol dla jednej szkoły?
Avatar
{"UczenPseudonim": "RoboT"} 19.01.2022 21:02
ciekawostka: jako wtrealm można podać https://cufs.vulcan.net.pl i też dostaniemy cert
21:04
to znaczy że cufs jest uprawniony do otrzymania certyfikatu z cufs
21:04
xD
Avatar
{"UczenPseudonim": "RoboT"} 25.01.2022 08:02
#41
Avatar
Wulkanowy bot BOT 25.01.2022 08:02
Brak opisu
Typ
Pull request
Stan
Otwarty
Wersja robocza
Nie
Avatar
{"UczenPseudonim": "RoboT"} 25.01.2022 08:03
co to za pomysł?
Avatar
{"UczenPseudonim": "RoboT"} 25.01.2022 08:16
chyba trochę porzucone
Avatar
#school-extensions-server
Avatar
{"UczenPseudonim": "RoboT"} 27.01.2022 11:56
<div> <span class='x-treelabel-ppl x-treelabel-zas'>Eksploatacja urządzeń techniki komputerowej [t.infor.]</span> <span class='x-treelabel-ppl x-treelabel-zas'></span> <span class='x-treelabel-ppl x-treelabel-zas'>216</span> <span class='x-treelabel-ppl x-treelabel-zas'></span> <span class='x-treelabel-rlz'>(przeniesiona z lekcji 6, 06.12.2019)</span> </div> <div> <span class='x-treelabel-ppl x-treelabel-inv'>Wiedza o kulturze [t.infor.]</span> <span class='x-treelabel-ppl x-treelabel-inv'></span> <span class='x-treelabel-ppl x-treelabel-inv'>010</span> <span class='x-treelabel-ppl x-treelabel-inv'>[nauczyciel od WOK]</span> <span class='x-treelabel-rlz'>(okienko dla uczniów)</span> </div> <div> <span class='x-treelabel-ppl x-treelabel-inv'>Wiedza o kulturze</span> <span class='x-treelabel-ppl x-treelabel-inv'>010</span> <span class='x-treelabel-ppl x-treelabel-inv'></span> <span class='x-treelabel-rlz'>(Podział na grupy)</span> </div>
11:56
boże co to jest
11:56
jak to działa
Avatar
{"UczenPseudonim": "RoboT"} 28.01.2022 11:58
czym jest Status w Homework.mvc ?
Avatar
bo szkoła może mieć włączone wysyłanie zadań
12:00
odpowiadania na zadania
12:00
i statusy mówią czy wysłane, czy sprawdzone, etc
12:00
nikt się u nas nie zjawił z tym, więc nie wiemy co tam dokładnie może być
Avatar
{"UczenPseudonim": "RoboT"} 28.01.2022 12:03
a no właśnie sie zastanawiałem po co jest to Wykonane w wulkanowym
12:03
skoro to requesta nie wysyla zadnego
Avatar
gdzie jest wykonane?
Avatar
{"UczenPseudonim": "RoboT"} 28.01.2022 12:03
w szczegółach zadania
12:04
na dole przyciski WYKONANE i ZAMKNIJ
Avatar
ale to to nie ma żadnego związku
12:04
to my sobie sami zrobiliśmy
12:04
i to jest tylko lokalnie
Avatar
{"UczenPseudonim": "RoboT"} 28.01.2022 12:04
no właśnie do takiego wniosku doszedłem
Avatar
{"UczenPseudonim": "RoboT"} 29.01.2022 22:11
<div> <span class='x-treelabel-ppl x-treelabel-zas'>język angielski zawodowy [A 2]</span> <span class='x-treelabel-ppl x-treelabel-zas'></span> <span class='x-treelabel-ppl x-treelabel-zas'>36</span> <span class='x-treelabel-ppl x-treelabel-zas'>M P - O</span> (przeniesiona z lekcji 7, 22.09.2021) </div> <div> <span class='x-treelabel-ppl x-treelabel-zas'>Geografia [A 2]</span> <span class='x-treelabel-ppl x-treelabel-zas'></span> <span class='x-treelabel-ppl x-treelabel-zas'>WS 18</span> <span class='x-treelabel-ppl x-treelabel-zas'>A K</span> (zastępstwo: P - O M) </div> Którą lekcje wasze SDK wybierze jako tą nową? (edited)
Avatar
A masz to na swoim koncie?
23:06
Jak tak to sprawdź w apce
Avatar
{"UczenPseudonim": "RoboT"} 29.01.2022 23:09
to stary html który znalazłem
23:09
pamiętam że kiedyś tak vulcan zwrócił
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
<div> <span class='x-treelabel-ppl x-treelabel-zas'>język angielski zawodowy [A 2]</span> <span class='x-treelabel-ppl x-treelabel-zas'></span> <span class='x-treelabel-ppl x-treelabel-zas'>36</span> <span class='x-treelabel-ppl x-treelabel-zas'>M P - O</span> (przeniesiona z lekcji 7, 22.09.2021) </div> <div> <span class='x-treelabel-ppl x-treelabel-zas'>Geografia [A 2]</span> <span class='x-treelabel-ppl x-treelabel-zas'></span> <span class='x-treelabel-ppl x-treelabel-zas'>WS 18</span> <span class='x-treelabel-ppl x-treelabel-zas'>A K</span> (zastępstwo: P - O M) </div> Którą lekcje wasze SDK wybierze jako tą nową? (edited)
{"UczenPseudonim": "RoboT"} 29.01.2022 23:09
pytam bo w tym przypadku ciężko określić która z tych lekcji jest odwołana (edited)
23:10
moje sdk, jeśli żadna z lekcji nie ma klasy -inv (edited)
23:10
naiwnie zakłada że ta pierwsza to ta odwołana (edited)
23:11
i pomyśłałem, że możnaby wykrywać tekst (przeniesiona z lekcji by określić że ta lekcja to ta nowa
Avatar
{"UczenPseudonim": "RoboT"} 29.01.2022 23:19
A tak z innej beczki
23:19
<div> <span class="">Język polski</span> <span class=""></span> <span class=""></span> </div> <div> <span class=" x-treelabel-inv">Religia</span> <span class=" x-treelabel-inv">Nauczyciel</span> <span class=" x-treelabel-inv">23</span> <span class="x-treelabel-ppl x-treelabel-zas">Geografia</span> <span class="x-treelabel-ppl x-treelabel-zas">ktoś inny</span> <span class="x-treelabel-ppl x-treelabel-zas">23</span> <span class="x-treelabel-rlz">(zastępstwo)</span> </div>
23:19
jak mam to rozumieć?
Avatar
🤷‍♂️ wulkanowy chyba pierwszego diva ignoruje
23:38
ale ten, o tym co było kiedyś możesz zapomnieć
23:38
bo vulcan chyba trochę pozmieniał
Avatar
{"UczenPseudonim": "RoboT"} 29.01.2022 23:59
wiem, ale i tak zrobiłem w swoim sdk obsługę starego formatu, bo czemu nie 😆
Avatar
No my mamy w naszym ale tylko dlatego, że strach usuwać cokolwiek z niego
😬 1
Avatar
{"UczenPseudonim": "RoboT"} 30.01.2022 17:02
W jaki sposób łączycie response z GetKidsLuckyNumbers z odpowiednimi uczniami?
17:05
mam takie coś:
17:05
[ <UonetplusTileResponse name='SZK1' content=[<UonetplusTileResponse name='T' content=[<UonetplusTileResponse name='Szczęśliwy numer w dzienniku: 37' content=[]>]>]>, <UonetplusTileResponse name='SZK2' content=[<UonetplusTileResponse name='ZSP' content=[<UonetplusTileResponse name='Szczęśliwy numer w dzienniku: 12' content=[]>]>]> ] (edited)
17:06
skąd wiadomo który uczeń ma który?
Avatar
czy ten kod nie ma sensu? if (numbers.size == 1) { return@withContext numbers.single() } if (numbers.size > 1) { return@withContext numbers.first() }
17:53
to chyba to samo co sam return first() (edited)
Avatar
bardziej returnFirstOrNull()
18:06
Bo nie pokazałeś tego co jest na końcu
18:06
Technicznie tak, ale tu fixa robiłem i chciałem mieć wszystko biało na czarnym
18:07
Więc zrobiłem tak razem z komentarzami
18:07
Jakbym zastosował jednego brancha to więcej komentarza by trzeba było napisać
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
[ <UonetplusTileResponse name='SZK1' content=[<UonetplusTileResponse name='T' content=[<UonetplusTileResponse name='Szczęśliwy numer w dzienniku: 37' content=[]>]>]>, <UonetplusTileResponse name='SZK2' content=[<UonetplusTileResponse name='ZSP' content=[<UonetplusTileResponse name='Szczęśliwy numer w dzienniku: 12' content=[]>]>]> ] (edited)
{"UczenPseudonim": "RoboT"} 30.01.2022 18:10
a wiadomo czym jest to T albo ZSP ? albo czy pojawia sie to gdzieś jeszcze ?
Avatar
No ta, w końcu to po tym matchujemy numerki
18:11
Nie ma tego w tym jsonie w permissions?
18:12
My to albo bierzemy z -uzytkownik GetJednostki (edited)
18:12
Albo z -uczen UczenDziennik (edited)
Avatar
{"UczenPseudonim": "RoboT"} 30.01.2022 18:15
kurde musze poczekać do jutra aż bedzie numerek na dzienniku xD bo na fakelogu nic sie nie zgadza chyba
18:18
A unitname to nie będzie przypadkiem to SZK1 ? suspend fun getKidsLuckyNumbers(): List<LuckyNumber> { val res = api.getKidsLuckyNumbers(getToken()).handleErrors().data return requireNotNull(res).flatMap { unit -> unit.content.flatMap { school -> school.content.map { number -> LuckyNumber( unitName = unit.name, school = school.name, number = number.name.substringAfterLast(": ").toInt() ) } } } } (edited)
18:18
chyba że źle rozumiem
Avatar
{"UczenPseudonim": "RoboT"} 31.01.2022 14:44
Bruh
14:44
dlaczego Start.mvc/GetKidsLuckyNumbers
14:44
nie wywala errora jak sesja wygaśnie
14:45
:vulcan_moment:
Avatar
a na pewno wystarczająco długo poczekałeś?
14:45
jak zostawiłeś otwartą stronę to sesja się sama przedłuża w tle
Avatar
{"UczenPseudonim": "RoboT"} 31.01.2022 14:49
POST na ten endpoint zwraca pusty data: [] jeśli sesja wygasła
14:50
albo jeśli wgl ciastek nie ma (edited)
Avatar
hm, ciekawe
14:50
kiedyś rzucało błąd taki sam jak czasem gdy są awarie
14:50
nawet specjalnego ifa zrobiłem przy error interceptorze na tę okazję
Avatar
{"UczenPseudonim": "RoboT"} 31.01.2022 14:53
curl -X POST -d "" https://uonetplus.vulcan.net.pl/katowice/Start.mvc/GetKidsLuckyNumbers (edited)
14:54
mozesz sprobowac (edited)
Avatar
rzeczywiście
14:54
kiedyś rzucał to samo co przy GETcie teraz w takiej sytuacji
Avatar
{"UczenPseudonim": "RoboT"} 31.01.2022 14:55
no i teraz weź sie człowieku domyśl czy cie wylogowało czy po prostu nie ma numerków
14:55
eh
Avatar
{"UczenPseudonim": "RoboT"} 02.02.2022 12:03
XD fajny url
12:04
te kafelki to jest taki shitshow że to hit
Avatar
Zauważyłeś, że one mają rekurencyjną strukturę?
Avatar
{"UczenPseudonim": "RoboT"} 02.02.2022 12:06
Tak
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
[ <UonetplusTileResponse name='SZK1' content=[<UonetplusTileResponse name='T' content=[<UonetplusTileResponse name='Szczęśliwy numer w dzienniku: 37' content=[]>]>]>, <UonetplusTileResponse name='SZK2' content=[<UonetplusTileResponse name='ZSP' content=[<UonetplusTileResponse name='Szczęśliwy numer w dzienniku: 12' content=[]>]>]> ] (edited)
{"UczenPseudonim": "RoboT"} 02.02.2022 12:06
moje sdk ogarnia (edited)
12:09
ogłoszenia z GetStudentDirectorInformations nie mają rozróżniania z której szkoły są? (edited)
Avatar
nie wiem, może przy ich większej liczbie jest
12:35
ale nie mieliśmy możliwości tego zobaczyć
👌 1
Avatar
Avatar
Oranż Metylowy
Click to see attachment 🖼️
naprawione
ie 4
❤️ 1
Avatar
Avatar
mklkj
naprawione
wariat
Avatar
Oranż Metylowy 17.02.2022 22:33
👏 👏 👏
Avatar
marcin official account 18.02.2022 14:29
Avatar
Avatar
Oranż Metylowy
👏 👏 👏
oranż powinien pogratulować za 3 lata
Avatar
Avatar
marcin official account
Click to see attachment 🖼️
Dałem się strollować
19:48
Myślałem, że tmobile znowu nie wyrabia
Avatar
marcin official account 18.02.2022 20:23
Avatar
No chłopie
20:24
Jak żyjesz z takim internetem na co dzień
20:24
Że się nawet gify nie ładują jak mi wysyłasz
20:24
No to nie dziwota
Avatar
Marioneq + 27.02.2022 12:33
Jak mam kilka school_id np. w fakelogu 123456, 123457, 123458 to api w-web powinno brać uczniów z każdego school_id czy tylko z jednego? (edited)
Avatar
{"UczenPseudonim": "RoboT"} 27.02.2022 13:34
z każdego
13:35
tyle że na fakelogu na każdym jest to samo
13:35
dlatego w wulkanowym jest 6 uczniów do wyboru na fakelogu
Avatar
Marioneq + 27.02.2022 13:35
ok
13:39
a o co chodzi z symbolami tutaj, bo moje api zawsze używa 2 z tej listy?
Avatar
to historia wszystkich symboli, na które zalogował się user
13:42
jak zalogujesz się swoim kontem na warszawa, krakow itp to też je u siebie znajdziesz
Avatar
Marioneq + 27.02.2022 13:45
ok to co api ma z tymi symbolami zrobić, próbować zalogować się na każdym z nich, czy brać przedostatni tak jak dotychczas robiłem, czy jakoś inaczej?
Avatar
nasze sdk leci po wszystkich
13:57
jak weźmiesz przedostatni (przy Default jako pierwszym) to zalogujesz się tylko na ten, na który user logował się wcześniej
13:57
a jak to rodzic i ma dzieci w dwóch różnych jednostkach organizacyjnych?
Avatar
Avatar
mklkj
a jak to rodzic i ma dzieci w dwóch różnych jednostkach organizacyjnych?
Marioneq + 27.02.2022 13:58
właśnie dlatego pytałem
Avatar
Marioneq + 27.02.2022 14:13
Tylko jest problem jeżeli user nie wchodził jeszcze na symbol szkoły i chce zalogować się do api
Avatar
Marioneq + 27.02.2022 14:15
to symbolu szkoły tam nie ma
Avatar
symbol szkoły to co innego
Avatar
Marioneq + 27.02.2022 14:17
co?
14:18
to te cyferki
14:18
takiej nomenklatury używamy
14:19
chociaż to bardziej school ID
Avatar
Marioneq + 27.02.2022 14:19
ja to nazwywam school_id lub instance
14:19
ale ok
14:20
chodzi mi o powiatwulkanowy
14:24
Jest problem jeżeli user nie wchodził jeszcze na symbol np. powiatwulkanowy i chce zalogować się do api a tego symbolu tam nie ma
Avatar
nie ma na ten problem rozwiązania
14:26
możesz najwyżej umożliwić userowi wpisanie symbolu i dać instrukcję skąd go wziąć
Avatar
Marioneq + 27.02.2022 18:45
y a fakelog ma VParam?
18:46
w uonetplus-uczen
Avatar
{"UczenPseudonim": "RoboT"} 27.02.2022 18:49
ma
Avatar
Marioneq + 27.02.2022 18:54
ok
Avatar
Marioneq + 27.02.2022 19:13
matko jedyna jaki ten json ze studentami teraz długi aż scroll zrobił się mały
19:16
aż dwunastu uczniów teraz jest
Avatar
Marioneq + 27.02.2022 19:37
Eh coś się zwaliło bo vulcan wywala mi 429
19:37
gdy chcę pobrać uczniów
19:39
czyli coś trzeba zmienić bo za wiele requestów wysyłam
19:44
trochę słaby ten sposób bo 1 request (logowanie) + 10 requestów (sprawdzanie symboli) + 1 request (nazwa szkoły) + 1 request (uczniowie)
Avatar
Marioneq + 27.02.2022 19:56
@mklkj jak w wulkanowym vulcan nie wywala errora 429?
Avatar
W którym miejscu?
Avatar
Avatar
Marioneq +
trochę słaby ten sposób bo 1 request (logowanie) + 10 requestów (sprawdzanie symboli) + 1 request (nazwa szkoły) + 1 request (uczniowie)
Marioneq + 27.02.2022 20:00
.
Avatar
Możesz sam sprawdzić
Avatar
Marioneq + 27.02.2022 20:00
w UczenDziennik.mvc/Get
20:02
po 12 requestach
Avatar
{"UczenPseudonim": "RoboT"} 27.02.2022 20:37
429 w vulcanie to nie jest Too Many Requests
20:38
tylko każdy losowy error ich api
20:38
zwykle oznaczający że cie wylogowało
20:38
a przynajmniej ja innego nie widziałem jeszcze
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
zwykle oznaczający że cie wylogowało
Marioneq + 28.02.2022 08:44
no raczej nie mogło mnie wylogować po wejściu na uonetplus-uczen
08:49
Response: The custom error module does not recognize this error
08:51
więc nwm o co chodzi
Avatar
Ten błąd jest najczęściej jak nie jest się zalogowanym/zostało się wylogowanym
08:56
A jak wiesz, sesja tu trwa max 15 minut przy bezczynności
Avatar
Marioneq + 28.02.2022 08:56
no a ja loguję się w jakieś 10 - 15 sek
08:57
chwila
08:57
a można być zalogowanym jednoczenie na kilku symbolach?
08:59
bo u mnie jest tak że na początku wysyłam cert się do każdego z symboli (edited)
09:00
później jeżeli na symbolu to przebiegło poprawnie to wchodzę na uonetplus-uczen
09:00
i biorę nazwę szkoły
09:01
A następnie w oddzielnej funkcji biorę uczniów
09:01
to dobrze?
Avatar
pobierz sobie wulkanowego DEV i zobacz w chuckerze co robi w takiej sytuacji apka
Avatar
{"UczenPseudonim": "RoboT"} 28.02.2022 09:47
albo zobacz co robi moje sdk😉
Avatar
Marioneq + 28.02.2022 15:42
Z tego co widzę to: Sdk w wulkanowym (przy poprawnym symbolu): 1. Wysyła request'a POST do /Deflaut/Account/LogOn 2. Wysyła request'a POST do /symbol/LoginEndpoint.aspx 3. Wysyła request'a GET do /symbol/Start.mvc/Index 4. Wysyła request'a GET do /symbol/NowaWiadomosc.mvc/GetJednostkiUzytkowania 5. Wysyła request'a GET do /symbol/Account/LogOn 6. Wysyła request'a GET do /symbol/school_id/Start 7. Wysyła request'a GET do /symbol/school_id/UczenCache.mvc/Get 8. Wysyła request'a POST do /symbol/school_id/UczenDziennik.mvc/Get Moje api (przy poprawnym symbolu): 1. Wysyła request'a POST do /Deflaut/Account/LogOn 2. Wysyła request'a POST do /symbol/LoginEndpoint.aspx 3. Wysyła request'a GET do /symbol/school_id/Start 4. Wysyła request'a GET do /symbol/school_id/UczenCache.mvc/Get 5. Wysyła request'a POST do /symbol/school_id/UczenDziennik.mvc/Get
15:44
A tak wgl to po co wysyłać requesta do uonetplus-uzytkownik.vulcan.net.pl/symbol/NowaWiadomosc.mvc/GetJednostkiUzytkowania? (edited)
Avatar
Po id użytkownika
Avatar
Marioneq + 28.02.2022 15:45
jakie id?
Avatar
Użytkownika
Avatar
Marioneq + 28.02.2022 15:45
a do czego one?
Avatar
Przy wiadomościach jest potrzebne
Avatar
Marioneq + 28.02.2022 15:47
a nie można wysłać request'a wtedy kiedy ktoś będzie chciał korzystać z wiadomości?
Avatar
Można, ale tak jest prościej
Avatar
Marioneq + 28.02.2022 15:50
ok
15:57
a dlaczego sdk wysyła requesta GET do cufs.host/symbol/LogOn?
Avatar
Bo mamy trochę nadmiarowe rozpoznawanie rodzaju formularza logowania
Avatar
Marioneq + 28.02.2022 16:28
a jak ja na razie cufs tylko chcę to nie jest to wymagane?
Avatar
to zależy tylko od ciebie jak to sobie ogarniesz (edited)
Avatar
Marioneq + 28.02.2022 17:02
Nwm dlaczego to nie działa Url requestów: http://uonetplus.fakelog.cf http://cufs.fakelog.cf/Deflaut/Account/LogOn?ReturnUrl=%2FDeflaut%2FFS%2FLS%3Fwa%3Dwsignin1.0%26wtrealm%3Dhttp%253A%252F%252Fuonetplus.fakelog.cf http://uonetplus.fakelog.cf/Default/LoginEndpoint.aspx http://uonetplus.fakelog.cf/powiatwulkanowy/LoginEndpoint.aspx https://uonetplus-uczen.fakelog.cf/powiatwulkanowy/123456/Start https://uonetplus-uczen.fakelog.cf/powiatwulkanowy/123457/Start https://uonetplus-uczen.fakelog.cf/powiatwulkanowy/123458/Start http://uonetplus.fakelog.cf/warszawa/LoginEndpoint.aspx http://uonetplus.fakelog.cf/asdf/LoginEndpoint.aspx http://uonetplus.fakelog.cf/asdfsdf/LoginEndpoint.aspx http://uonetplus-uczen.fakelog.cf/powiatwulkanowy/123456/UczenDziennik.mvc/Get http://uonetplus-uczen.fakelog.cf/powiatwulkanowy/123457/UczenDziennik.mvc/Get http://uonetplus-uczen.fakelog.cf/powiatwulkanowy/123458/UczenDziennik.mvc/Get
17:04
jakby na fakelogu wszystko jest ok
17:04
ale na vulcanie nie
Avatar
fakelog ci nie waliduje wszystkiego
17:05
nie opieraj się na fakelogu przy robieniu pierwszej implementacji
Avatar
Marioneq + 28.02.2022 17:08
no ok tylko zastanawia mnie dlaczego wszystko działa oprócz UczenDziennik.mvc/Get gdzie wywala The custom error module does not recognize this error
Avatar
ciastka
17:08
/Start ci odpowiednie ciastka ustawia
17:08
wróć
17:08
ty tam po drodze pod inne symbole bijesz
17:09
jak masz tak u siebie, to to ci resetuje sesje na uonetplus-uczen
Avatar
Marioneq + 28.02.2022 17:10
ok czyli jeszcze raz trzeba się zalogować?
Avatar
po prostu kolejność zmień
17:10
zobacz jak to wulkanowy robi
Avatar
Marioneq + 28.02.2022 17:12
Czyli pobierać uczniów od razu? (edited)
Avatar
a nie uważasz że tak jest lepiej niż logować się dwa razy?
Avatar
Marioneq + 28.02.2022 17:13
no lepiej tak
17:15
a jakoś dało by się wziąść te cookiesy i je wysłać w requeście?
Avatar
nie wiem, kombinuj
17:17
teraz mogę ci tylko powiedzieć, że sesja to nie tylko to co masz w ciastkach, ale też to co serwer trzyma po swojej stronie
Avatar
Marioneq + 28.02.2022 17:18
ok zapomniałem
Avatar
Marioneq + 28.02.2022 17:34
Jej!
17:34
Udało się
17:37
@mklkj a z sesjami nie będzie problemu jak później będę chciał pobrać oceny ucznia?
Avatar
będzie
17:37
będziesz się musiał tym martwić cały czas
Avatar
Marioneq + 28.02.2022 17:38
a jak sdk sobie z tym radzi?
Avatar
szukaj AutoLoginInterceptor
Avatar
Marioneq + 28.02.2022 17:40
chwila czy to co każdy request od nowa się loguje?
18:04
tylko jak dostanie 429
18:04
albo stronę z formularzem logowania
Avatar
zerknąłby ktoś na pr?
Avatar
właśnie, bo miałem wołać
12:55
pokażesz jak taka lekcja wygląda w na stronie w dzienniku?
12:58
ciekawe
12:58
spojrzę na to wieczorem jeszcze
👌 1
Avatar
{"UczenPseudonim": "RoboT"} 04.03.2022 13:19
o, ciekawe to
Avatar
Avatar
mklkj
tylko jak dostanie 429
Marioneq + 05.03.2022 09:40
tylko jest pewien problem bo wulkanowy web nie ma za bardzo gdzie przechowywać hasła do ponownego logowania
Avatar
to już jest problem architekturalny
Avatar
chyba najlepiej dodać checkbox "zapisz dane logowania w przeglądarce" i zapisać je w local/session storage (edited)
13:42
aczkolwiek to może mylić się z zapisywaniem hasła w menadżerze haseł przeglądarki
Avatar
Avatar
jel
chyba najlepiej dodać checkbox "zapisz dane logowania w przeglądarce" i zapisać je w local/session storage (edited)
{"UczenPseudonim": "RoboT"} 05.03.2022 13:44
nie wolno
13:44
to naruszenie bezpieczeństwa
13:44
ostre
13:45
w sumie
13:45
co robi teraz discord?
13:45
bo wiem że wprowadzają szyfrowanie tokenu
13:45
ale nie wiem co to znaczy
Avatar
{"UczenPseudonim": "RoboT"} 05.03.2022 13:46
nie wiem ja nie jestem ekspertem od security ale zapisywanie loginu i hasła w local/session storage brzmi jak zły pomysł
13:46
zwłaszcza że w-web zapisywałby login i hasło do vulcana a nie do w-web
Avatar
Would be a good or bad idea to use localStorage for sensitive data (assuming the current HTML5 implementations)? What methods can I use to secure the data so that it cannot be read by a person tha...
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
nie wolno
prawda
Avatar
Avatar
jel
bo wiem że wprowadzają szyfrowanie tokenu
faktycznie przechowują w jakiś sposób zaszyfrowany token w local storage (edited)
14:24
14:25
a format to <ID rick rolla>:<zaszyfrowany token>
14:25
to oczywiście forma eksperymentalna i nie wydadzą jej na produkcję
14:25
(mam nadzieję xD)
Avatar
Potrzebny wam endpoint Egzaminów Semestralnych? (warszawa/001015/EgzaminySemestralne.mvc/Get)
Avatar
a co tam jest?
Avatar
pierwsze widzę
20:43
wróć jak tam coś rzeczywiście będzie
Avatar
To nie jest coś jak egzaminy zewnętrzne?
Avatar
to raczej poprawki
Avatar
"Laczna": "Brak oceny", "Proponowana": "Brak oceny", "Ustna": "Brak oceny", "Pisemna": "Brak oceny" }, { "Pozycja": 18, "Nazwa": "Edukacja dla bezpieczeństwa", "Laczna": "Brak oceny", "Proponowana": "Brak oceny", "Ustna": "Brak oceny", "Pisemna": "Brak oceny" }], "success": true }
Avatar
Marioneq + 09.04.2022 09:45
co może być źle gdy vulcan w requeście Oceny.mvc/Get zwraca mi {'data': None, 'success': True} a wszystkie dane wysłane w requeście są poprawne? (edited)
Avatar
podaj więcej kontekstu
09:46
jaki to typ konta?
09:46
tak się dzieje zawsze, czy tylko parę razy ci się zdarzyło?
Avatar
Marioneq + 09.04.2022 09:46
zawsze
Avatar
Avatar
mklkj
jaki to typ konta?
Marioneq + 09.04.2022 09:46
uczeń
Avatar
to twoje konto?
Avatar
Marioneq + 09.04.2022 09:46
tak
Avatar
na stronie działa?
09:47
na pewno id dziennika ustawiasz?
09:47
musisz ustawić też id dziennika przedszkola na 0 (edited)
Avatar
Marioneq + 09.04.2022 09:48
na stronie sprawdzę
Avatar
od tego powinieneś zacząć
Avatar
Marioneq + 09.04.2022 09:53
tam działa
Avatar
jakie nagłówki wysyłasz?
09:56
skopiuj sobie curla porównaj co wysyłasz u siebie a co wysyła przeglądarka
Avatar
Marioneq + 09.04.2022 10:05
ok problem rozwiązany
Avatar
i co było problemem?
Avatar
Marioneq + 09.04.2022 10:07
niewidoczna spacja
Avatar
todo: zaimplementować buildera do inicjowania sdk zamiast obecnego sposobu (edited)
19:41
Design Pattern blog. GitHub Gist: instantly share code, notes, and snippets.
Avatar
Marioneq + 12.06.2022 09:54
o co chodzi w http://uonetplus-uczen.fakelog.cf/powiatwulkanowy/123456/Uczen.mvc/Get w ObywatelstwoPolskie z tymi numerami?
Avatar
A jakie masz?
10:36
A
10:36
1
10:37
To chyba true
Avatar
Marioneq + 12.06.2022 10:42
a tak wgl to czym ObywatelstowPolskie się różni od Polak
Avatar
Nie mam pojęcia
Avatar
Marioneq + 12.06.2022 10:48
bo robie teraz api do tego i nie chcę wysyłać do klienta nie wiadomo czego
Avatar
No to, że ktoś ma obywatelstwo polskie, to nie znaczy, że jest polakiem
11:30
11:32
No a jak ktos jest polakiem to musi mieć chyba jednego rodzica przynajmniej, który jest polakiem
Avatar
a właśnie
11:39
kolega z pracy ostatnio dostał polskie obywatelstwo
11:39
a chwalił się, że jest po prostu polakiem
Avatar
Marioneq + 15.06.2022 17:42
co https://github.com/wulkanowy/sdk/blob/e70e970d326e8711e045d4cad3ab08f052d746f4/sdk-scrapper/src/main/kotlin/io/github/wulkanowy/sdk/scrapper/Scrapper.kt#L25 tu jest do zrefaktoryzowania bo robię w uonetplus_api osbsługę adfs'ów i chcę to dobrze zrobić
Kotlin SDK for VULCAN UONET+. Contribute to wulkanowy/sdk development by creating an account on GitHub.
Avatar
Nie mam pojęcia
17:47
Patrz na fs login w szkolnym
17:47
Bo Oranż to przepisywał u siebie
17:47
Stosując inne podejście
Avatar
Marioneq + 15.06.2022 17:48
ok
Avatar
{"UczenPseudonim": "RoboT"} 15.06.2022 19:10
u mnie też adfsy działały i wg mnie były w prosty sposób napisane
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
u mnie też adfsy działały i wg mnie były w prosty sposób napisane
Marioneq + 15.06.2022 20:18
tak tylko nie ogarniam tego że w każdej libce logowania są inne typy logowania
Avatar
{"UczenPseudonim": "RoboT"} 15.06.2022 20:19
sdk mkleja ma po prostu podzielone niektóre na podtypy
20:19
które mnie akurat nie obchodza
Avatar
Marioneq + 15.06.2022 20:30
ol
Avatar
Marioneq + 17.06.2022 15:34
Opracował ktoś już załączniki onedrvie w wiadomościach?
15:37
bo mi już trochę udało się ogarnąć
Avatar
Wulkanowy ma coś takiego w SDK
Avatar
Nie za bardzo (edited)
16:47
Wysyłania nie ma wcale
16:47
A linki do załączników tylko zwraca
16:47
Nic więcej z tym nie robimy co linki zwykle są do sharepointa i i tak się rzecz wcześniej zalogować
Avatar
Avatar
mklkj
Wysyłania nie ma wcale
Marioneq + 17.06.2022 17:01
no ja też nic jeszcze nie ogarnęłem
17:02
ale mogę sobie testować ile chcę bo mogę wysyłać wiadomości do siebie
Avatar
Marioneq + 17.06.2022 17:10
więc jest szansa że coś ogarnę
17:10
bo chcę zrobić dobre api do wiadomości
Avatar
Dobre API na usługach vulcana Brzmi jak coś co nigdy się nie wydarzy
Avatar
w tych załącznikach
18:40
to chuj wie co się dzieje
18:40
ja kiedyś to robiłem
Avatar
Avatar
silent
Dobre API na usługach vulcana Brzmi jak coś co nigdy się nie wydarzy
Marioneq + 17.06.2022 18:49
może się wydarzy bo ciągle api jest udoskonalanie i ma coraz więcej funkcji marioneq4958/uonetplus_api
Avatar
Wulkanowy bot BOT 17.06.2022 18:49
Unofficial VULCAN UONET+ API (SCRAPPER)
Gwiazdki
1
Avatar
Marioneq + 18.06.2022 20:57
Co może oznaczać gdy wysyłam requesta ${ssl}uonetplus-uzytkownik.${host}/Wiadomosc.mvc/GetInboxMessageDetails z poprawnymi headersami, cookiesami i payloadem, status code jest 200 ale nic nie ma w response, nawet {"data": [], "success": true}? (edited)
Avatar
może nic nie ma do zwrócenia
Avatar
Marioneq + 18.06.2022 21:13
@pengwius a które id dawać bo są 2?
Avatar
ale ja nie wiem co to jest
21:14
ja przy tym 2 lata temu robilem
Avatar
Marioneq + 18.06.2022 21:14
ok zobaczę w starym repo w-web
21:15
dobra jednak to pierwsze chyba
21:19
nie jednak chyba
21:19
stosowanie obojęctnie którego id daje ten sam efekt
21:20
<!DOCTYPE html><html><head><title></title><link rel="stylesheet" href="/stylesheets/style.css"></head><body><div class="wrapper"><h1>Unexpected token &quot; in JSON at position 0</h1><h2></h2><pre></pre></div><footer class="footer"><ul class="footer__nav"><li><a href="undefined://undefined">Start</a></li><li><a href="undefined://api.undefined">api</a></li><li><a href="undefined://cufs.undefined">cufs</a></li><li><a href="undefined://uonetplus.undefined/powiatwulkanowy/Start.mvc/Index">uonetplus</a></li><li><a href="undefined://uonetplus-uczen.undefined">uonetplus-uczen</a></li><li><a href="undefined://uonetplus-opiekun.undefined/powiatwulkanowy/123456">uonetplus-opiekun</a></li><li><a href="undefined://uonetplus-uzytkownik.undefined">uonetplus-uzytkownik</a></li></ul></footer></body></html>
21:20
w fakelogu takie coś wywala
21:25
body wygląda tak {"messageId": 54428}
Avatar
Marioneq + 19.06.2022 10:13
na fakelogu już działa ale na vulcanie dalej nie
Avatar
Marioneq + 19.06.2022 14:03
Na vulcanie taki coś wywala teraz html który informuje o błędzie HTTP 500
Avatar
Marioneq + 20.06.2022 09:23
a widzieliście już taki endpoint https://uonetplus-uzytkownik.vulcan.net.pl/symbol/UzytkownikCache.mvc/GetCache?_dc=dc?
09:25
ciekawy nawet jest
09:26
trochę informacji w nim można znaleźć
09:27
jak chcecie to mogę response wysłać
Avatar
możesz rzucić
Avatar
Marioneq + 20.06.2022 09:40
{ "data": { "roleUzytkownika":[], "opcjeWysylaniaPowiadomien": 0, "opcjeMailingow":false, "oneDriveClientId":"", "isMessagesOneDriveAttachmentsOn":false, "isMessagesGoogleDriveAttachmentsOn":false, "googleDriveClientId":"", "googleDriveApiKey":"", "isO365PassOff":false, "rolesText": [ { "value":"Nazwisko Imię - rola poziomsymbol (skrót jednostki sprawozdawczej)", "display":"Nazwisko Imię - rola poziomsymbol (skrót jednostki sprawozdawczej)", "data":{ "rola":0, "jednostkaSprId":0 } } ], "ribbonSettings":null, "uprawnienia":null, "userRoles":null, "currentUser": { "Id":0, "Imie":"", "Nazwisko":"", "Kod":"" }, "wychowawcaOddzialy":null, "serverDate":"2022-09-45 67:06:69", "dbId":"", "przedszkolaSIO":false, "wychowankowieSIO":false, "isPrzedszkola":false, "isBursa":false, "isBursaAash":false, "jednostkaZKed":false, "jednostkaZKu":false, "modulNawigacja":{ "BiezacyLinki":[], "ModulyLinki":{ "tu_skrot_jednoski_sprawozdawczej":[ { "Nazwa":"Uczeń", "Link":"ssl://uonetplus-uczen.host/symbol_name/school_id/LoginEndpoint.aspx", "Modul":0 } ] }, "PokazPodzialJednostki":false }, "isNadzorPlusEnabled":false, "Id":0 }, "success":true, "errorMessage":null, "feedback":null }
Avatar
w sumie to szału nie ma
Avatar
Marioneq + 20.06.2022 09:41
do wysyłania wiadomości z załącznikami może się przydać
09:41
bo jest api key
Avatar
{"UczenPseudonim": "RoboT"} 20.06.2022 09:49
serverDate wtf
Avatar
To chyba jakieś dziwne zabezpieczenia
09:57
Najpierw trzeba z tego odczytać prawidłową datę
18:09
18:12
2 Requesty
18:12
https://uonetplus-uczen.vulcan.net.pl/warszawa/000001/PodrecznikiLataSzkolne.mvc/Get
18:12
{ "data": [ { "Nazwa": "2021/2022", "Id": 2021 } ], "success": true }
18:13
https://uonetplus-uczen.vulcan.net.pl/warszawa/000001/PodrecznikiUcznia.mvc/Get (edited)
Avatar
Jeszce nic to nie mówi
18:13
Trzeba pewnie poczekać z miesiąc zanim wychowawca coś doda
Avatar
Avatar
Silvarkyy
https://uonetplus-uczen.vulcan.net.pl/warszawa/000001/PodrecznikiUcznia.mvc/Get (edited)
{ "data": { "IsZatwierdzone": false, "Podreczniki": [] }, "success": true }
Avatar
Marioneq + 22.06.2022 18:19
wgl dużo tych rzeczy się zrobiło
Avatar
a propos podręczników
12:46
Avatar
Skąd to wyciągnąłeś?
Avatar
tajemnica
Avatar
Avatar
mklkj
a propos podręczników
Avatar
Do czego jest is13?
10:31
Avatar
nie mam pojęcia
Avatar
zgaduję, że chodzi o wiek
Avatar
Avatar
Damian
zgaduję, że chodzi o wiek
No ale też tak samo jest przy isArtystyczna13?
Avatar
Avatar
Silvarkyy
Do czego jest is13?
Marioneq + 06.07.2022 11:00
do nawigacji
Avatar
Avatar
Marioneq +
do nawigacji
A co to dokładnie robi?
Avatar
Marioneq + 06.07.2022 11:16
nie pamiętam
11:17
kiedyś patrzyłem
11:17
sam musiałbyś sprawdzić
Avatar
@mklkj Szukasz jak wygląda frontend od strony osoby która ma kogoś w przedszkolu?
Avatar
Słuchaj, ja sobie też umiem zmienić parę wartości (edited)
14:41
Mnie interesuje tylko komunikacja sieciowa
14:41
To czy jakaś zakładka jest zielona czy szara zwykle nas nie interesuje
Avatar
IsAdult to jakby dorosły?
15:33
18 lat?
Avatar
Dominik Korsa 06.07.2022 15:34
Brzmi to całkiem mądrze
15:34
Może to być jeszcze kobieta w wieku 16 lat, która zawarła związek małżeński
Avatar
Marioneq + 06.07.2022 15:43
jeśli kogoś interesuje to mam json egzaminów zewnętrznych
15:44
{ "data": { "EgazminyZewnetrzne": [ { "NazwaOgolna": "", "WynikOgolny": "", } ], "UczenHasKwalifikacje": false, "SwiadectwaKwalifikacjiZawodowych": [ { "Wydany": "", "NrSwiadectwa": "", "RodzajKwalifikacji": "" }, ] }, "success": true }
Avatar
Na moim fakelogu jest od dawna
Avatar
SwiadectwaKwalifikacji
Avatar
a wiecie w ogóle kiedy i komu się to pokazuje?
15:46
jaka historia za tym stoi?
Avatar
Avatar
mklkj
jaka historia za tym stoi?
Semestralne?
15:46
Po przestawieniu isDorosli się ukazuja
Avatar
Marioneq + 06.07.2022 15:47
a zewnętrzne
Avatar
czyli raczej na razie tego nie będziemy ruszać
Avatar
Avatar
Marioneq +
a zewnętrzne
Marioneq + 06.07.2022 15:48
gdy IsWychowankowie i IsPrzedzszkole to false
Avatar
bo nikt z takim czymś się do nas nie zgłosił i nie mamy osoby do testowania
Avatar
Marioneq + 06.07.2022 15:48
@Silvarkyy chyba może przetestować
Avatar
Tak
Avatar
Marioneq + 06.07.2022 15:49
wgl to można trochę dostosować wulkanowego do wychowanków i przedszkoli
Avatar
w ogóle o co chodzi z wychowankami?
Avatar
Marioneq + 06.07.2022 15:50
no chyba jak ktoś w poprawczaku jest ale nwm
Avatar
z przedszkolami to rzutem na taśme udało mi się ogarnąć logowanie
15:50
ale rodzice z takimi kontami raczej nie byli chętni/nie umieli pomóc
Avatar
Marioneq + 06.07.2022 15:51
no samemu można coś ogarnąć też
Avatar
ciężko było bo nie miałem wtedy przykładowej listy semestrów
Avatar
Avatar
mklkj
z przedszkolami to rzutem na taśme udało mi się ogarnąć logowanie
Tam są te same endpointy co w przypadku normalnego ucznia
Avatar
a się okazalo, że przedszkolaki nie mają semestrów wcale
Avatar
Avatar
mklkj
ciężko było bo nie miałem wtedy przykładowej listy semestrów
Marioneq + 06.07.2022 15:51
ale nawet ukrywanie ocen, sprawdzianów itp
15:52
nawet w app.js w uonetplus-uczen coś się znajdzie
Avatar
tylko wiecie, jak wulkanowy mocno polega na semestrach, to ich nagły brak wszystko psuje
Avatar
Avatar
mklkj
tylko wiecie, jak wulkanowy mocno polega na semestrach, to ich nagły brak wszystko psuje
Marioneq + 06.07.2022 15:52
jak polega?
Avatar
a nie miałem tyle czasu żeby analizować zobfuskowany kod tej ich apki
Avatar
Avatar
Marioneq +
jak polega?
mam ci opisywać od a do z teraz?
15:53
w sensie kiedyś bym mógł
15:53
ale teraz mi się nie chce
Avatar
Marioneq + 06.07.2022 15:53
ok
15:55
chyba można by było też zrobić dostęp office bo jest bardzo prosty
15:55
login, hasło i id
15:55
i to całe response
15:56
w wykrywanie jest przez zmienną w UczenCache isDostepOffice (edited)
Avatar
tylko problem jest taki, że ciężko mi sobie wyobrazić jak to ma w apce wyglądać kiedy nic na temat tego nie wiem
15:56
ani po co ani dlaczego ani jaką wartość to ze sobą niesie
15:56
jak skończyłem szkołę to coraz mniej o nowych rzeczach w dzienniku wiem
15:56
Tak to wygląda (edited)
Avatar
co jest po tym "kliknij"?
Avatar
Przekierowanie na stronę informującą jak VULCAN wspiera e lekcje i o integracji z OFFICE
15:58
16:00
isPupilUser to jakby czy to rodzic dziecka (edited)
Avatar
Tak przeglądając sobie kod VULCANA stwierdziłem 6 niepotrzebnych stringów (edited)
22:49
W jsonie UczenDziennik
22:49
I w UczenCache
Avatar
ten co ma już dostęp do wewnętrznego kodu vulcana
Avatar
IsArtystyczna: NIC IsArtystyczna13: NIC IsSpecjalna: NIC IsPolicealna: NIC Is13: NIC isPayButtonOn: NIC?
22:51
IsPayButtonOn jest do czegoś podpięty
22:51
Ale pewny nie jestem
Avatar
Avatar
Silvarkyy
IsArtystyczna: NIC IsArtystyczna13: NIC IsSpecjalna: NIC IsPolicealna: NIC Is13: NIC isPayButtonOn: NIC?
No bo to są values nie potrzebne tobie
22:51
Może innym są potrzebne
Avatar
Avatar
jel
ten co ma już dostęp do wewnętrznego kodu vulcana
Ta
22:51
Dostep do JSa chyba
Avatar
1. skoro wartości są w jsonie to znaczy że ktoś ich gdzieś potrzebował 2. przesyłane dane to nie kod vulcana…
Avatar
Avatar
Silvarkyy
IsPayButtonOn jest do czegoś podpięty
Avatar
Avatar
jel
1. skoro wartości są w jsonie to znaczy że ktoś ich gdzieś potrzebował 2. przesyłane dane to nie kod vulcana…
Ale czekaj
22:53
22:53
To nie z przesłanych danych (edited)
Avatar
nie rozumiem czego zrzuty ekranu wysyłasz
22:55
i czemu na tym kanale
Avatar
No bo to dotyczy SDK
Avatar
znaczy to że frontend dziennika nie używa tych wartości to nie jest dla nas raczej żadna pomoc
22:57
nie wiem do czego tę wiedzę moglibyśmy wykorzystać
22:57
po prostu teraz z tego nie korzysta i tyle
22:57
to nie znaczy, że nasze sdk by nie mogło
22:57
ale tu też nie wiem do czego by to można było wykorzystać
22:58
więc na ten moment nic się nie zmienia
Avatar
No ale chociaż wiesz że nic to nie robi
22:58
I po stronie serwerowej też
Avatar
po stronie serwerowej to nie mamy pojęcia co się dzieje
Avatar
Avatar
jel
nie rozumiem czego zrzuty ekranu wysyłasz
Przecież ja screenshota nie wysłałem ja wysłałem zdjęcie
23:00
Avatar
Avatar
mklkj
po stronie serwerowej to nie mamy pojęcia co się dzieje
pokemon ma już kod tylko jeszcze nie powiedział
Avatar
w sensie
23:02
szacun że ci się chce coś tu robić
23:02
ale będąc szczerym mogłeś ten czas lepiej spożytkować
Avatar
Avatar
jel
nie rozumiem czego zrzuty ekranu wysyłasz
Tbh nawet lepiej, że screeny wysyła
23:04
Bo na telefonie jakby jsona wysłał
23:04
Czy jakikolwiek inny kod
23:05
To za chiny bym nie odczytał
Avatar
Avatar
mklkj
ale będąc szczerym mogłeś ten czas lepiej spożytkować
Niech sobie robi
23:12
Uczy się
23:13
Lepiej, żeby coś kombinował i robił, niż poprawiał literówki w readme
Avatar
mam wątpliwości czy czytając taki kod ktokolwiek czegokolwiek by się nauczył jeśli dopiero zaczyna
23:14
prędzej udaru mózgu można dostać
Avatar
Czy ja wiem
23:17
Ja szyfrowanie hasła podpieprzyłem od facebooka
23:17
Przy reverse engineeringu tego świństwa
23:17
Po czym się okazało, że jak wyślę niezaszyfrowane hasło to działa
23:17
A jak się zaloguje danymi sus/sus to się facebook wywala
Avatar
jakie znowu szyfrowanie od facebooka
23:18
ssl ci nie wystarczył? (edited)
Avatar
No facebook szyfruje hasło rsa przy logowaniu
Avatar
Avatar
mklkj
ssl ci nie wystarczył? (edited)
Stwierdziłem
23:20
Że użytkownik może zainstalować jakiś gówno certyfikat na telefonie
23:20
Więc szyfruje hasło :)
Avatar
jeśli taki certyfikat rzeczywiście będzie zainstalowany to to już nie wystarczy żeby potem wziąć i to hasło odszyfrować?
23:22
w sensie chyba wszystko i tak na frontendzie apki jest wystawione
Avatar
Jak odszyfrujesz hasło, jak nie ma klucza?
Avatar
a gdzie jest klucz?
Avatar
Serwer wysyła klucz publiczny
23:22
I kluczem publicznym szyfruje hasło
23:22
I odsyłam
Avatar
no to mam klucz, bo go serwer wysłał
Avatar
Praktycznie nie zmienia to szybkości całego działania
Avatar
a czej
23:23
bo to asymetryczny
Avatar
A chroni przed głupotą użytkownika
Avatar
Avatar
mklkj
bo to asymetryczny
Ta
23:23
Para publiczny/prywatny
Avatar
no to może i coś w tym jest
Avatar
Prywatny jest dopiero przy szyfrowaniu end-to-end
23:24
Wtedy robię wymianę diffie-helfman
Avatar
ale jak user miałby taki lipny cert zainstalowany to wydaje mi się że to byłby najmniejszy problem w tej sytuacji
Avatar
Ja robię wszystko co mogę, żeby dane z mojej aplikacji były bezpieczne
23:24
Na resztę nie mam wpływu
23:25
Np. telegram wszystko wysyła po http
23:25
Bez ssla
23:25
Wszystko szyfruje swoim mtproto
Avatar
Avatar
pengwius
Uczy się
Marioneq + 08.07.2022 07:01
efekty tej nauki już widać https://github.com/Marioneq4958/uonetplus_api/pull/7/commits/02cb31c1c9421e9a519ad3a891d8be8a0824d8e0 już nauczył się od vulcana żeby używać polskich nazw w kodzie
Avatar
Nie no
07:02
Mówiłem ci, żebyś zmienił te nazwy
07:03
Już tam do ciebie jadę
07:03
Wyślę ci gang wpierdolu paczkomatem
Avatar
Marioneq + 08.07.2022 07:03
ale nie no on już to zmienił
07:03
bo przypomniałem mu że nie jest jeszcze w vulcanie
Avatar
Avatar
Silvarkyy
{ "data": { "IsZatwierdzone": false, "Podreczniki": [] }, "success": true }
{ "data": { "IsZatwierdzone": true, "Podreczniki": [ { "Opis": "", "Tytul": "Longman Repetytorium maturalne. Podręcznik wieloletni do języka angielskiego - poziom rozszerzony", "Autor": "Marta Umińska, Bob Hastings, Dominika Chandler, Rod Fricker, Beata Trapnell", "Wydawnictwo": "Pearson Central Europe Sp. z o.o.", "Przedmiot": "Język angielski", "Aktywny": false, "Id": 66 } ] }, "success": true }
Avatar
Marioneq + 08.07.2022 11:16
o przyda się
Avatar
@jel
12:04
Bo chcę się upewnić
12:04
Czy dobrze to jest
Avatar
Avatar
jel
{ "data": { "IsZatwierdzone": true, "Podreczniki": [ { "Opis": "", "Tytul": "Longman Repetytorium maturalne. Podręcznik wieloletni do języka angielskiego - poziom rozszerzony", "Autor": "Marta Umińska, Bob Hastings, Dominika Chandler, Rod Fricker, Beata Trapnell", "Wydawnictwo": "Pearson Central Europe Sp. z o.o.", "Przedmiot": "Język angielski", "Aktywny": false, "Id": 66 } ] }, "success": true }
Marioneq + 08.07.2022 14:42
jaki jest payload do tego requesta
14:43
dobra już mam
Avatar
Avatar
Silvarkyy
Czy dobrze to jest
wydawało mi się że było dobre jak wcześniej patrzyłem
15:24
mogę zobaczyć ponownie jak wrócę do domu
Avatar
Marioneq + 09.07.2022 10:56
Powie mi ktoś co to znaczy bo ja tego nie rozumiem? <div> <span class="x-treelabel-inv">Język angielski</span> <span class="x-treelabel-inv">206</span> <span class="x-treelabel-inv">Sara Wierzbicka</span> <span class="x-treelabel-ppl x-treelabel-zas">Język angielski</span> <span class="x-treelabel-ppl x-treelabel-zas">206</span> <span class="x-treelabel-ppl x-treelabel-zas">Aleksandra Wójtowicz</span> <span class="x-treelabel-rlz">(zastępstwo: Jan Bytnar, sala 206)</span> </div>
Avatar
zobacz co wulkanowy pokazuje
11:01
i/lub dv
Avatar
Marioneq + 09.07.2022 11:02
no ja patrzyłem właśnie ale nie rozumiem który nauczyciel był na tej lekcji bo jest 3
Avatar
i co pokazuje wulkanowy i dv? (edited)
Avatar
Marioneq + 09.07.2022 11:04
no że nauczycielem była Sara Wierzbicka, jest Aleksandra Wójtowicz ale w x-treelabel-rlz pokazuje że jest Jan Bytnar
11:06
jak coś to jest to z fakeloga, wtorek, lekcja 3
Avatar
Może Aleksandra Wójtowicz to jest coś typu nauczyciel wspomagający na lekcji
Avatar
Marioneq + 09.07.2022 11:08
nie
11:08
wtedy było by to w innym miejscu
Avatar
Może po prostu ktoś pomylił Aleksandrę Wójtowicz z Janem Bytnarem w ostatnim spanie
11:09
Tam powinna być aleksandra
Avatar
Marioneq + 09.07.2022 11:09
no ja też tak myślę ale chciałem się upewnić
Avatar
a ja powiem, że nie wiem
11:10
na fakelogu to nawet nie pamiętam kto ostatnio lekcje ruszał
11:10
w fixturach testów sdk są przykłady z życia wzięte
Avatar
Marioneq + 09.07.2022 11:12
no widać że bardzo dawno było ruszane
11:12
bo jest stary format
11:13
i sala to nauczyciel, a nauczyciel to sala
Avatar
ale mówisz o fakelogu czy o czym?
11:14
w fakelogu widze że jest poprawione
11:14
w fixturach też musi być zmienione, bo inaczej by testy nie przechodziły
Avatar
Avatar
mklkj
ale mówisz o fakelogu czy o czym?
Marioneq + 09.07.2022 11:15
no o fakelogu
Avatar
na pewno patrzysz na naszego fakeloga?
Avatar
Marioneq + 09.07.2022 11:16
tak
11:16
sam sprawdź
Avatar
wszystko się zgadza
11:17
nadal nie wiem o czym mówisz
11:17
pokaż jakiś konkretny przykład
11:18
i to się zgadza z tym co obecnie zwraca vulcan
Avatar
a jak powinno być?
Avatar
Marioneq + 09.07.2022 11:36
zamiast Jana Bytnar powinna być chyba Aleksandra Wójtowicz
Avatar
{"UczenPseudonim": "RoboT"} 09.07.2022 11:53
@Marioneq + możesz ignorować przypadki z fakeloga które mają klasy rlz bo tego już nie ma
11:53
to jest stary format
Avatar
Marioneq + 09.07.2022 12:00
no jak patrzę to fakelog jest teraz zaniedbany
12:00
no działa jeszcze
12:01
ale trochę jsony się pozmieniały
12:01
a w fakelogu dalej są stare
Avatar
społeczność open source nie dopisała
12:01
ja nie mam czasu
12:01
a nikt jak widać tego nie poprawi
Avatar
Marioneq + 09.07.2022 12:02
ja z fakelog.gq korzystam bo tam jest więcej rzeczy i w miare aktualne są dane
Avatar
kto by pomyślał że ktoś doceni pracę kolegi Pokemona
Avatar
Na fake-log.gq ja tylko pushuje i jest na serwerze
Avatar
raport z placu broni - dokończyłem dziś w nocy migrację z moshi na kotlinx.serialization
❤️ 2
10:27
to jest pierwszy kroczek do ostatecznego przeniesienia sdk na kotlin multiplatform
10:27
kolejny krok (z tych prostszych) to migracja z java.time na kotlin.time
10:27
wulkanowy-sdk będzie działać na js
10:28
😮
Avatar
jeszcze zostanie migracja klienta http (z okhttp na ktora, bo na co innego)
10:29
i najgorsze, czyli jsoup
10:29
na ios można switfsoup
10:29
nie wiem kompletnie co z webem
Avatar
pozostanie przepisanie jsoupa na resztę platform
Avatar
niewykonalne
Avatar
JavaScript + BeautifulSoup = JSSoup. Contribute to chishui/JSSoup development by creating an account on GitHub.
10:30
cos jest
10:30
xd
Avatar
to trzeba tylko jakiś wrapper na to
Avatar
a nie
10:30
to jest podobne do BS z pythona
Avatar
Dominik Korsa 02.08.2022 10:31
Napiszmy parser w Regexie, co może pójść nie tak?
Avatar
Avatar
Damian
to jest podobne do BS z pythona
Podobne do pięknej zupy
Avatar
jest niby jsoup dla swifta ale trzeba to jakoś połączyć z oryginalnym jsoup aby działało to w kotlin multiplatform
10:32
SwiftSoup: Pure Swift HTML Parser, with best of DOM, CSS, and jquery (Supports Linux, iOS, Mac, tvOS, watchOS) - GitHub - scinfu/SwiftSoup: SwiftSoup: Pure Swift HTML Parser, with best of DOM, CSS,...
Avatar
Dominik Korsa 02.08.2022 10:32
Przynajmniej tyle, że już nie ma tak dużo do parsowania jak za starego ucznia
10:34
skrapeit/skrape.it
Avatar
Wulkanowy bot BOT 02.08.2022 10:34
A Kotlin-based testing/scraping/parsing library providing the ability to analyze and extract data from HTML (server & client-side rendered). It places particular emphasis on ease of use and a high level of readability by providing an intuitive DSL. It aims to be a testing lib, but can also be used to scrape websites in a convenient fashion.
Gwiazdki
534
Avatar
Avatar
mklkj
kolejny krok (z tych prostszych) to migracja z java.time na kotlin.time
na razie wstrzymujemy akcję, bo kotlinx.time nie ma API do parsowania dat w innym formacie niż ISO Kotlin/kotlinx-datetime#39
Avatar
Wulkanowy bot BOT 07.08.2022 13:53
Use case: I am working with timeseries data coming from
  • sensors of all sorts of types and vendors
  • business files (e.g. Excel exports in all kind of localizations and formats)
  • output from other systems in all sorts of formats.
From my experience the amount of variations is almost unlimited. Be it the separators (or sometimes the lack of), the order of the elements and also the potential absence of some parts (optionally millisecond fractions, optionally offsets minutes, ...). The (...)
Repozytorium
Kotlin/kotlinx-datetime
Typ
Issue
Stan
Otwarty
Avatar
Marioneq + 10.08.2022 12:29
Jest gdzieś lista wszystkich wariantów div'ów w planie lekcji?
Avatar
nie do końca wiem czego się spodziewasz
12:30
wszystko co mamy jest w kodzie
Avatar
Avatar
mklkj
nie do końca wiem czego się spodziewasz
Marioneq + 10.08.2022 12:31
no taka lista gdzie są wszystkie kombinacje divów i spanów jakie napoktaliście
Avatar
mam wrażenie że już o to pytałeś
12:31
a ja cię odesłałem do fixtur przy testach
Avatar
Marioneq + 10.08.2022 12:31
ja nie pytałem
Avatar
Avatar
mklkj
w fixturach testów sdk są przykłady z życia wzięte
o tu
Avatar
Marioneq + 10.08.2022 12:32
tu to rozmawiałem o przykładzie z fakeloga
Avatar
Avatar
mklkj
a ja cię odesłałem do fixtur przy testach
Marioneq + 10.08.2022 12:33
Kotlin SDK for VULCAN UONET+. Contribute to wulkanowy/sdk development by creating an account on GitHub.
Avatar
Marioneq + 10.08.2022 12:47
<div> <span class=''>Język polski</span> <span class=''>5</span> <span class=''>Polonistka Joanna</span> </div> <div> <span class='x-treelabel-ppl x-treelabel-inv'>Religia</span> <span class='x-treelabel-ppl x-treelabel-inv'>3</span> <span class='x-treelabel-ppl x-treelabel-inv'>Polonistka Joanna</span> </div> O co tu chodzi?
12:47
szukaj tej lekcji tutaj (edited)
12:48
a i ważna sprawa - prawdopodobnie spora część z tych lekcji już nie występuje normalnie, bo w międzyczasie vulcan zmieniał format tych komórek
12:49
nie usuwaliśmy tego, bo nam nie przeszkadzało a nie chcieliśmy nic zepsuć
Avatar
Marioneq + 10.08.2022 14:28
czyli z x-treelabel-rlz są już nie potrzebne?
Avatar
nie wiem szczerze mówiąc
16:45
najlepiej to przejrzyj swoje lekcje z ostatnich lat
Avatar
API Wiadomości Plus WIADOMOŚĆ NIEAKTUALNA! https://github.com/JelNiSlaw/wiadomosciplus-docs - base URL (Gdańsk): https://uonetplus-wiadomosciplus.edu.gdansk.pl/gdansk/api/ Endpointy GET OdebraneNowe - Pobiera nowe odebrane wiadomości GET WyslaneNowe - Pobiera nowe wysłane wiadomości (nieużywane na stronie) Request (Query String) - idTopWiadomosc: int (0) Response (JSON) - nie wiem pusta lista GET LiczbyNieodczytanych - Pobiera liczbę nieodebranych wiadomości Response (JSON) - nie wiem pusta lista GET OdebraneSkrzynka - Pobiera odebrane wiadomości wybranego użytkownika GET WyslaneSkrzynka - Pobiera wysłane wiadomości wybranego użytkownika GET UsunieteSkrzynka - Pobiera usunięte wiadomości wybranego użytkownika Request (Query String) - globalKeySkrzynka: str ("a4408f53-e2e1-47b0-be8d-049160a3da11") - idLastWiadomosc: int (0) - pageSize: int (50) Response (JSON) - nie wiem pusta lista GET DdsArchive - Ekran "Pobieranie plików" Response (JSON) - nie wiem pusta lista GET Odebrane - Pobiera odebrane wiadomości GET Wyslane - Pobiera wysłane wiadomości GET Usuniete - Pobiera usunięte wiadomości Request (Query String) - idLastWiadomosc: int (0) - pageSize: int (50) Response (JSON) - nie wiem pusta lista (edited)
Avatar
dawaj w `
00:20
`
Avatar
będę aktualizował wiadomość powoli
Avatar
ale co chcesz w codeblocku
Avatar
wszystko xd
00:21
nie no, dobra
00:21
rób jak czujesz
00:21
to jest drugorzędna sprawa
Avatar
całą dokumentację ci w codeblocku napisać?
00:21
może być
00:22
a teraz?
Avatar
nie wiem czemu ale wydaje się czytelniejsze
00:23
tamto było messy
00:24
jeszcze będę próbował różne
Avatar
przeniosłem się do JelNiSlaw/wiadomosciplus-docs
Avatar
Wulkanowy bot BOT 12.08.2022 00:46
Avatar
w wiadomości już się nie mieści
00:53
dodałem obiekt wiadomości!!!
Avatar
archiwum dodane, na szczęście takie samo api jak inne skrzynki
Avatar
@mklkj udokumentowałem wszystkie znalezione endpointy
01:47
mam nadzieję że nic nie brakuje
01:47
bo jutro wieczorem wyjeżdżam na 4 dni z domu (edited)
01:47
to nie pomogę
Avatar
ojej jeszcze wysyłanie wiadomości i pobieranie odbiorców
02:15
mam nadzieję że jutro zdążę
Avatar
@jel A responsy?
08:00
Coś bardziej szczegółowego niż to?
08:00
08:01
Bo fakeloga swojego aktualizuje aby był najaktualniejszym fakelogiem!
Avatar
globalKeySkrzynka
09:12
Skąd to się bierze?
Avatar
to za te żarty o IsPies
Avatar
Marioneq + 12.08.2022 10:23
o kurde
10:24
co tu się stało
10:24
hmm nawet permissions zmienili trochę w uonetplus
Avatar
Avatar
mklkj
globalKeySkrzynka
Marioneq + 12.08.2022 10:24
z permissions
Avatar
super
Avatar
Marioneq + 12.08.2022 10:26
uuu
10:27
przez te zmiany coraz mniej ma sens robić w-web
Avatar
jQuery, vue, react (edited)
10:29
Nieźle
Avatar
Marioneq + 12.08.2022 10:30
no teraz tylko czekać aż ucznia zmienią
Avatar
Avatar
Silvarkyy
@jel A responsy?
response masz linijkę niżej
10:55
pogrupowałem requesty z identycznymi interfejsami
10:56
bo nie będę 7 razy pisał tego samego
Avatar
Avatar
mklkj
Skąd to się bierze?
GET Skrzynki
10:58
i dostajesz wszystkich użytkowników
Avatar
w ogóle fajnie, bo stronicowanie będzie się teraz dało zrobić
👍 1
Avatar
Avatar
mklkj
jQuery, vue, react (edited)
3 w 1
Avatar
Avatar
Marioneq +
z permissions
ooo
11:05
to dobrze że jest
Avatar
Avatar
Marioneq +
no teraz tylko czekać aż ucznia zmienią
1 września zmienią :)
Avatar
Avatar
jel
ojej jeszcze wysyłanie wiadomości i pobieranie odbiorców
dodałem :)
11:37
aha na stronie mają antiForgeryToken a go nie używają
Avatar
o, a co to się stanęło
11:39
Avatar
VParam wysłałem w formie tekstowej
13:12
o wiem czego brakuje (edited)
13:12
usuwania wielu na raz
13:12
w ogóle usuwania
13:13
o i przywracania
13:13
można z kosza przywracać
Avatar
te 3 guziki wysyłają takiego samego requesta xDDD
Avatar
dobra teraz jestem całkiem pewien że wszystko jest udokumentowane
Avatar
to co, kolejny krok to swagger?
13:55
hehe
Avatar
nie ma tylko załączników ale nie mam do nich uprawnień
13:55
swaggera możecie zrobić sami bo ja teraz tyle czasu nie mam
13:55
albo za 5 dni zrobię
Avatar
spoko
13:55
żartowałem
13:55
i tak dzięki
Avatar
Czyżby za rok wymienią moduł ucznia?
Avatar
dopiero wymieniali
13:57
nie liczyłbym na to
Avatar
Avatar
mklkj
żartowałem
niby żart ale też o tym myślałem
Avatar
wiadomości miały coś z 7 albo 8 lat
Avatar
No ale wiadomości są teraz bardziej rozwinięte
Avatar
a moduł ucznia dopiero ze 2 albo 3 lata skończył
Avatar
Albo samą stronę główną
13:58
Usuną kafelki
Avatar
The redirect URI 'https://uonetplus-wiadomosciplus.edu.gdansk.pl/OneDrive.mvc' specified in the request does not match the redirect URIs configured for the application
13:58
ngdańsk musi najpierw naprawić
13:59
to będę mógł przesyłać załączniki
Avatar
O, u mnie też działają
Avatar
Avatar
mklkj
a moduł ucznia dopiero ze 2 albo 3 lata skończył
Marioneq + 12.08.2022 14:01
1 wersja chyba też około tyle miała
14:01
wtedy jeszcze interfejs był taki jak mają teraz nauczyciele
Avatar
Avatar
Daxxxis
O, u mnie też działają
o to do roboty weryfikuj zgodność dokumentacji!!!!!!!!!!!!!!!!
14:01
o nie znalazłem kolejny endpoint WyslaneWydruk
14:01
xD
14:02
ale nie działa
14:02
nie generuje pliku
Avatar
Właśnie, ciekawe, czy nauczycielom nie podmienią
Avatar
czego?
14:03
wiadomości są dla wszystkich takie same
Avatar
Marioneq + 12.08.2022 14:03
tak wgl to mogli zostawić stary moduł wiadomości na jakiś czas tak jak było z uczniem
Avatar
Oni mają wszystko w takim stylu jak stare wiadomości
Avatar
no ta, ale to osobne moduły
14:04
to o czym mówisz to uonetplus-dziennik
Avatar
No to może dla niego też szykują zmiany
Avatar
Marioneq + 12.08.2022 14:05
już większa szansa że dla ucznia
Avatar
dobrze że się tym nie musimy przejmować
Avatar
Już słyszę tych zezłoszczonych nauczycieli, którzy nie wiedzą gdzie co jest
Avatar
Marioneq + 12.08.2022 14:06
noo
Avatar
I kolejne szkolenia
Avatar
Marioneq + 12.08.2022 14:06
ale mogli stary moduł wiadomości zostawić (edited)
Avatar
Avatar
Daxxxis
Już słyszę tych zezłoszczonych nauczycieli, którzy nie wiedzą gdzie co jest
już niedługo będziesz słyszał rozzłoszczonych prowadzacych nie wiedzacych co gdzie jest w usosie
Avatar
W tym mięsnym sosie to jest wszystko i nic
Avatar
Marioneq + 12.08.2022 14:08
jak ucznia zmienią tak jak wiadomości to wulkanowy web nie będzie miał już żadnego sensu
Avatar
jest więcej niż w vulcanie
Avatar
Ale tak bezsensownie porozrzucane
Avatar
mam wrażenie że poprzednia skórka była lepsza
14:09
ta jest jakaś za jasna
Avatar
USOS jest brzydki
Avatar
fajne są te nowe wiadomości
Avatar
Avatar
Daxxxis
USOS jest brzydki
Przypomina mi UONETa bez plusa
14:13
Skoro stare wiadomości są w archiwum to chyba znaczy, że stary moduł jest niekompatybilny z nowym? (edited)
Avatar
dobre pytanie
Avatar
stare wiadomości mają id (int), nowe klucze (str)
Avatar
No to po stronie nauczycieli też musiało się coś zmienić
Avatar
i kilka pól się różni np. odbiorcy vs. adresaci
14:15
zobaczcie sobie bo archiwum też udokumentowałem (edited)
14:15
i kopie robocze
14:15
i wysyłanie
14:15
i przekazywanie (edited)
14:15
nawet wysłałem wiadomość do nieistniejącego nauczyciela
14:16
Avatar
SPOILER
Image attachment
Avatar
Avatar
Daxxxis
No to po stronie nauczycieli też musiało się coś zmienić
mówię ci, że nauczyciele mają ten sam moduł wiadomości
Avatar
NO JA NIE MOGĘ KOLEJNY ENDPOINT
14:17
WiadomoscOdbiorcy
Avatar
Avatar
mklkj
mówię ci, że nauczyciele mają ten sam moduł wiadomości
Czyli oni utracą teraz jednolitość interfejsu
14:17
i co z tego
14:18
uczniowie i rodzice mieli 3 różnie wyglądające moduły od paru lat
14:18
więc to nic nowego
Avatar
Dla nauczycieli to coś nowego
14:19
Może i lepiej, że nie będę słyszał ich narzekania
Avatar
niby ta, ale jak będzie to dobrze działać to może obędzie się bez wywiezienia vulcana na taczkach
Avatar
Potrafili jęczeć, gdy jedną opcję przenieśli
14:20
Ostatnio dodali zmiany we frekwencji Jakieś automatyczne uzupełnianie dodali
Avatar
to akurat słyszałem
14:22
to miało związek z brakiem nazw przedmiotów u nas
Avatar
Tak, to było ze sobą spokrewnione
14:54
Można się zalogować
14:54
Wylogowanie leci przez skrzynkę
14:54
Avatar
@jel
15:03
Chcesz jsona wiadomości?
15:03
W sensie kopii roboczych?
15:04
[{"apiGlobalKey":"klucz","korespondenci":"Wielu adresatów (0)","temat":"test","data":"2022-08-12T15:01:48.967+02:00","skrzynka":"Jan Kowalski - U - (SP 1)","hasZalaczniki":false,"przeczytana":true,"nieprzeczytanePrzeczytanePrzez":null,"wazna":false,"uzytkownikRola":1,"id":11}]
mklkj pinned a message to this channel. 12.08.2022 15:04
Avatar
Avatar
Silvarkyy
[{"apiGlobalKey":"klucz","korespondenci":"Wielu adresatów (0)","temat":"test","data":"2022-08-12T15:01:48.967+02:00","skrzynka":"Jan Kowalski - U - (SP 1)","hasZalaczniki":false,"przeczytana":true,"nieprzeczytanePrzeczytanePrzez":null,"wazna":false,"uzytkownikRola":1,"id":11}]
to jest chłopie
15:25
pierwsza rzecz w całej dokumentacji
15:25
15:26
i to nie jest kopia robocza
15:27
tak wygląda każda wiadomość na liście wiadomości (edited)
15:27
jedyne interesujące mnie jsony to te
15:28
oraz jeśli ktoś ma jsona z elementem oznaczonym jako ??? (nieznany typ)
Avatar
@jel mam jeszcze jedną sprawę - co pokazuje ci się w prawym górnym roku po zalogowaniu do dziennika?
22:48
Imię Nazwisko - adres@email.com (wyloguj)
22:48
czy coś innego?
22:54
A we wiadomościach
22:54
Avatar
na vulcan.net.pl tak
22:55
ale interesuje mnie czy na ADFSach też tak będzie
22:55
zgaduję, że zamiast emaila będzie login
22:55
ale pytanie czy reszta się zgadza
23:00
ej nie spamuj
23:01
bo kolega nie znajdzie mojego pytania jak się obudzi
Avatar
Smutek, wychodzę z serwera
❤️ 1
Avatar
Avatar
mklkj
@jel mam jeszcze jedną sprawę - co pokazuje ci się w prawym górnym roku po zalogowaniu do dziennika?
00:17
nie ma emaila
Avatar
not good not bad
00:17
imię i nazwisko jest
00:17
a o to mi chodziło
00:17
dziękuję serdecznie
00:17
byłem głupi że wcześniej z tego miejsca tego nie wyciągałem
Avatar
Avatar
Daxxxis
Click to see attachment 🖼️
Marioneq + 13.08.2022 09:16
które imię i nazwisko wyświetla ci się na górze w start?
Avatar
a kto tam jest synem kogo
Avatar
Marioneq + 13.08.2022 13:39
tak wgl to jak sdk radzi sobie z tym że link do uonetplus-wiadomosci-plus jest w kafelku z linkami do uonetplus-uczen?
Avatar
Marioneq + 13.08.2022 15:36
a ok
15:36
ja tam wolę z permissions brać
Avatar
kiedyś tego nie było
Avatar
Marioneq + 13.08.2022 15:36
od razu mam nazwę szkoły
Avatar
sdk ma kilkuletnią historię
15:37
a ostatnio rozwój zwolnił
Avatar
Avatar
mklkj
kiedyś tego nie było
Marioneq + 13.08.2022 15:37
ale teraz jest
Avatar
i jak działa to z reguły nie ruszamy bez powodu
Avatar
Avatar
Daxxxis
Click to see attachment 🖼️
ej dobra, jak to się stało?
00:33
co to za konto?
00:33
daj mi trochę kontekstu (edited)
Avatar
Co się stało? Nic się nie stało
Avatar
chodzi mi o to, że masz tam tyle skrzynek
Avatar
Konto rodzica
00:34
i wyślij mi response na priv
00:34
jeśli byłbyś tak miły
00:37
bo zastanawiam się czym niby ma się różnić choćby ostatnie i pierwsze na tej liście
00:40
jeszcze jakbyś mógł wartość 'permission' ze źródła głównej strony podać
01:28
bo przy NowaWiadomość jest jakiś response pokazany
01:29
a nieee, to jest coś kompletnie innego
01:29
nie ważne :)
Avatar
update: mam wstepną wersję obsługi nowego api w sdk
❤️ 1
01:56
jutro może machnę jakąś testową wersję apki żeby się dało sprawdzić czy nic nie wybucha od razu
12:31
ja niestety nie powiem nic o api bo nie mam tu komputera
12:31
mam za to namiot
Avatar
Spoko luz
13:58
W razie czego zawołam to sprawdzisz apk
Avatar
2022-08-15T10:27:17.48+02:00
14:09
zastanawiam się jak to interpretować
14:09
czy brać pod uwagę offset stąd
14:09
czy go ignorować i przyjmować, że to zawsze będzie Europe/Warsaw
Avatar
[{"apiGlobalKey":"e7a6708e-7bc4-4a6f-90fb-9312a6969a34","korespondenci":"Małgorzata Dostojewska - P - (000077)","temat":"Informacyjnie","data":"2022-08-15T10:27:17.48+02:00","skrzynka":"Mateusz Idziejczak - U - (000077)","hasZalaczniki":false,"przeczytana":true,"nieprzeczytanePrzeczytanePrzez":null,"wazna":false,"uzytkownikRola":2,"id":18}] Request URL: https://uonetplus-wiadomosciplus.vulcan.net.pl/poznan/api/Odebrane?idLastWiadomosc=0&pageSize=50
Avatar
Avatar
mklkj
czy brać pod uwagę offset stąd
to jest offset z serwera więc można stąd
14:52
bo ja mam normalnie na kompie inny ustawiony
14:59
{"data":"2022-08-15T10:27:17.48+02:00","apiGlobalKey":"e7a6708e-7bc4-4a6f-90fb-9312a6969a34","nadawca":"Małgorzata Dostojewska - P - (000077)","odbiorcy":["Mateusz Idziejczak - U - (000077)"],"temat":"Informacyjnie","tresc":"<p>Dzień dobry, Mateuszu,</p><p>wizualnie poczta wygląda rzeczywiście inaczej.</p><p><br></p><p>Miłego dnia</p><p>Małgorzata Dostojewska</p>","odczytana":true,"zalaczniki":[],"id":18} Request URL: https://uonetplus-wiadomosciplus.vulcan.net.pl/poznan/api/WiadomoscSzczegoly?apiGlobalKey=e7a6708e-7bc4-4a6f-90fb-9312a6969a34
Avatar
update stanu prac - zmieniłem endpoint WiadomoscSzczegoly na WiadomoscOdpowiedzPrzekaz, bo ten drugi przekazuje więcej info o wiadomości
18:07
nie wiem czy nie odbije nam się to czkawką, ale cóż, pewnie niedługo się okaże
18:08
do tego poprawiłem bug z parsowaniem czasu wysłania wiadomości
18:08
no i zrobiłem parsowanie tych nazw typu Mateusz Idziejczak - U - (000077)
18:08
trzeba uważać na podwójne nazwiska, bo czasem może być w środku losowa ilość spacji
18:09
zaraz będzie build na #bitrise, więc jak ktoś chętny to może zajrzeć i poklikać
18:09
możliwe że tym razem zadziała wysyłanie wiadomości
Avatar
Avatar
mklkj
nie wiem czy nie odbije nam się to czkawką, ale cóż, pewnie niedługo się okaże
Że
18:12
Mogą coś zmienić tak?
Avatar
Zawsze mogą coś zmienić
Avatar
Avatar
mklkj
no i zrobiłem parsowanie tych nazw typu Mateusz Idziejczak - U - (000077)
Jeżeli P to pracownik
19:08
To N to będzie nauczyciel?
Avatar
@mklkj
19:20
Odkryłem nowy endpoint
Avatar
Hmm
19:32
19:32
Te klucze są jakby dziwne?
19:32
globalKey zabezpiecza watek?
Avatar
Avatar
Silvarkyy
To N to będzie nauczyciel?
Nie ma nauczycieli
19:36
Są pracownicy
19:36
To nic nie zabezpiecza
19:37
To są zwykłe identyfikatory
Avatar
Avatar
Silvarkyy
Click to see attachment 🖼️
A to?
Avatar
No napisałem
19:41
To są id
Avatar
Jestem ciekaw 1 rzeczy
20:30
Ciekawe czy można wysłać coś w czyimś imieniu
20:30
Podawając ID skrzynki
Avatar
Avatar
Silvarkyy
Ciekawe czy można wysłać coś w czyimś imieniu
Założę się że się da
Avatar
WyslijJako 2
20:35
jak pokemon wyśle wiadomość do swojego wychowawcy jako dyrektor, że jest zwolniony/a to przestanę go obrażać
20:35
tf
Avatar
Avatar
pengwius
WyslijJako 2
Jak patrzę to się chyba nie da
20:47
Bo serwer zwraca 500
20:47
Z komunikatem
Avatar
Nie no, to w miarę dobrze jest zrobione
20:51
Takich oczywistych błędów nie ma
Avatar
no jak nie ma jak dalej wysyła wszystkich adresatów
23:13
trzeba by się w sumie dowiedzieć czy to w ogóle legalne
Avatar
Każdy rodo musiał podpisać, więc na pewno
Avatar
nie wydaje mi się żebym podpisywał że moje dane osobowe mogą być udostępniane każdemu w tej samej szkole
Avatar
a jak nie podpisałem rodo?
23:20
mam prawo do tego
Avatar
Nie byłbym znowu taki pewien
Avatar
mogę nie podpisywać rodo
Avatar
Avatar
maciej
nie wydaje mi się żebym podpisywał że moje dane osobowe mogą być udostępniane każdemu w tej samej szkole
A czytałeś wszystko co podpisałeś?
Avatar
wtedy szkoła nie może opublikować mojego imienia, nazwiska, wizerunku np. na stronie szkoły czy gdzieś jakbym np. zajął jakieś miejsce w konkursie/zawodach czy coś
Avatar
A tak serio
23:22
To pytajcie szkoły co ona na to
Avatar
Avatar
mklkj
A czytałeś wszystko co podpisałeś?
Jeśli chodzi o podpis na papierze, tak
Avatar
Avatar
mklkj
To pytajcie szkoły co ona na to
jeszcze zmienią na librusa i w ogóle dupa będzie
Avatar
Avatar
maciej
no jak nie ma jak dalej wysyła wszystkich adresatów
CHYBA wykrakałeś
22:29
Nie mam jak sprawdzić ale
22:29
Coś mi się wydaje że vulcan już nie zwraca listy
22:29
Adresatów
Avatar
Niemożliwe
22:54
Bo nadal będzie opcja odpowiedz wszystkim
22:54
A do tego potrzebna będzie raczej lista odbiorców
Avatar
jest opcja odpowiedz wszystkim adresatom?
Avatar
Avatar
mklkj
Bo nadal będzie opcja odpowiedz wszystkim
Może ją przepiszą
23:42
I adresaci będą przetrzymywani na backendzie
Avatar
Avatar
mklkj
no i zrobiłem parsowanie tych nazw typu Mateusz Idziejczak - U - (000077)
Co do tego
09:13
To są 2 typy tego?
09:14
Bo mamy taki wariant Mateusz Idziejczak - U - (000077) Gdzie na końcu jest jakiś numer w nawiasach
Avatar
to jest akurat to samo
Avatar
A u mnie jak wysyłałem jest coś takiego Jan Kowalski - U - (SP 1)
Avatar
no nadal to samo
09:15
ten skrót jest z tego samego miejsca brany
Avatar
A w Odebranych ten klucz się różni?
09:16
Czy jest taki sam
09:16
{ "apiGlobalKey": "25fda2ea-0462-4bb8-b782-7528de02d211", "korespondenci": "Karolina Kłosek - P - (000056)", "temat": "Informacja o podręcznikach", "data": "2022-08-12T16:27:17.48+02:00", "skrzynka": "Mateusz Morawiec - U - (000054)", "hasZalaczniki": false, "przeczytana": true, "nieprzeczytanePrzeczytanePrzez": null, "wazna": true, "uzytkownikRola": 2, "id": 14 },
09:16
Chodzi o "apiGlobalKey"
Avatar
taki sam
Avatar
NIe no bo coś mi nie pasuje
09:19
Bo ten apiGlobalKey
09:19
Jest inny niż ten co ja posiadam
09:19
A też inne apiGlobalKey były podczas wysyłania (edited)
Avatar
Avatar
Silvarkyy
Bo mamy taki wariant Mateusz Idziejczak - U - (000077) Gdzie na końcu jest jakiś numer w nawiasach
Marioneq + 18.08.2022 09:21
W nawiasie jest zawsze skrót jednostki sprawozdawczej ale czasami szkoły dają tam symbol jednostki sprawozdawczej
Avatar
Dobra jedno rozwiązne
09:22
Ale coś jest nie tak z tym ApiGlobalKey
09:22
Bo jak mój ApiGlobal zaczyna się od numerów 53 itd.
09:22
To jestem ciekaw czemu na endpoincie Wysłane zwraca inny ApiGlobalKey
09:23
No tak jak podejrzewam te klucze są do porządkowania
09:24
Coś takiego
Avatar
znaczy czekaj, bo chyba nie zrozumiałem pytania
Avatar
Avatar
Silvarkyy
No tak jak podejrzewam te klucze są do porządkowania
to co masz tutaj to global key wiadomości
Avatar
Avatar
mklkj
to co masz tutaj to global key wiadomości
No i jest on do celów porządkowych
Avatar
on jest do celów identyfikacyjnych
Avatar
A nie jest to numer skrzynki której posiadam
Avatar
każda wiadomość musi mieć inny key
Avatar
A co do Archiwum to dużo roboty chyba nie będzie
09:26
Bo tam jest stary system dalej
Avatar
zależy o czym mówisz
Avatar
Oparty na ID wiadomości
Avatar
bo w apce to będzie mnóstwo roboty
Avatar
Ale trochę response będzie inny
Avatar
i na razie jej nawet nie podejmuję
Avatar
O mają zabezpieczenie na XSS w html (edited)
09:32
09:33
Może coś źle zrobiłem XD
Avatar
Ciekawe że tylko na tag script
Avatar
Mają zabezpieczenie też na DIV
09:38
{"stopka":"<p>&lt;div&gt; &lt;label for=\"search\"&gt;Szukaj&lt;/label&gt; &lt;input id=\"search\" type=\"text\" value=\"{{payload}}\" /&gt; &lt;/div&gt;</p>","trybWysylaniaPowiadomien":3}
Avatar
Zgaduję że mają whiteliste
09:41
Tak by było przynajmniej rozsądniej
Avatar
Mam pytanie co do tego jak działały wiadomości w wulkanowym
11:23
Bo z czego wiem to wulkanowy powinnen nie pokazywać wiadomości które są strasze niż chyba 8 miesięcy
11:23
To na jakiej zasadzie działa to na Fakelogu?
11:23
Wyjątek?
Avatar
nie rozumiem w czym problem
Avatar
Tylko pytam
Avatar
stary moduł umożliwiał podanie dat granicznych
11:24
i zwracał tylko te mieszczące się w przedziale
Avatar
A i tak to zwracało
Avatar
a fakelog w ogóle to ignorował
Avatar
Ok nie zrozumiałem
Avatar
bo po co mieliśmy się tym przejmować jak w fakelogu było kilka wiadomości
Avatar
No i robota stoi XD
11:48
11:50
O coś chyba nowego
11:50
Avatar
Jak wygląda error w wiadomosci+
12:03
Avatar
@jel Zrobisz trochę więcej responsów z tego?
22:35
Z wiadomości plus?
Avatar
z czego
22:56
masz response każdego route (edited)
Avatar
Avatar
jel
masz response każdego route (edited)
Mi chodziło o takie normalne responsy
07:09
A nie z obiektami co ma gdzie być
07:10
Albo takie coś
07:10
Nic mi nie mówi
07:10
07:10
Tylko że to jest lista ze strigiem
Avatar
No i w sumie to dokładnie tym jest
Avatar
Avatar
mklkj
No i w sumie to dokładnie tym jest
Ale ja nie wiem co to znaczy
08:56
Czy to zmienna?
08:56
Czy to nazwa?
08:56
Nic nie wiadomo
Avatar
Wszystko wiadomo, w nawiasach jest przykład
Avatar
Czyli ta zmienna nazywa się list?
Avatar
Jaka znowu zmienna (edited)
08:57
To typ danych jest pokazany
08:58
Pewnie po pythonowemu
Avatar
Avatar
mklkj
Pewnie po pythonowemu
Pewnie nawet sam Jelnisław nie wie co tam wpisał
09:00
09:00
Tu wpisał tak
09:00
A tu tak po arabsku
09:00
Avatar
Avatar
Silvarkyy
Click to see attachment 🖼️
Ale to mnie myli
09:01
Bo w pythonie list to jest no po prostu lista
09:01
09:02
Ale dodał tam że to jest lista z stringiem
Avatar
Avatar
Silvarkyy
Tu wpisał tak
No ale to co innego
09:02
Tu jest pojedynczy string
09:02
To jest dokładnie ten sam zapis
Avatar
[ 1234567, 7655432 ]
Avatar
Avatar
Silvarkyy
Click to see attachment 🖼️
A tu z tego co napisał to wynika że ta zmienna ma zawierać liczbę w liście ale bez nazwy? (edited)
09:03
Nie mam dostępu do dziennika bo wczoraj zakręcili
09:03
Także nie sprawdzę (edited)
Avatar
Eh, widzę że nie da ci się tego opisowo wytłumaczyć
Avatar
Dobra jakoś se poradze
Avatar
Pokaż przekład jaki myślisz że najbardziej będzie pasował
Avatar
No taki o
09:05
Avatar
w sensie całe request body poka
Avatar
co
09:18
Albo ten response ustawień
09:19
Nie jest prawidłowym JSONem (edited)
09:19
w sensie poka jakiś przykład jak byś z tego zrobił request body
09:19
payload
09:19
żądanie
09:19
jak zwał tak zwał
Avatar
Avatar
mklkj
żądanie
A to bym zrobił tak jak bym na to patrzał
09:22
"list": 1234567
Avatar
po pierwsze to to ma być json
09:24
a to nie jest prawidłowy json
09:24
pierwszy znak musi otwierać tablicę albo obiekt
Avatar
Musisz myśleć o tych przypadkach jakby to były obiekty
09:42
A bardziej klasy
09:42
I były w nich opisane pola z typem danych
09:42
Utworzenie z takiego czegoś jsona to już sprawa drugorzędna (edited)
09:43
I w każdym języku powinny być proste sposoby na serializację takich obiektów
Avatar
Avatar
mklkj
Pewnie po pythonowemu
po pythonowemu tylko z użyciem null zamiast None
Avatar
Avatar
Silvarkyy
Pewnie nawet sam Jelnisław nie wie co tam wpisał
wtf o co ci chodzi?
11:10
nie dość że podałem dokładny typ to jeszcze podałem przykład
Avatar
Avatar
Silvarkyy
A tu tak po arabsku
co po arabsku
11:11
napisałem typ danych
11:11
i przykład response
Avatar
Avatar
Silvarkyy
A tu z tego co napisał to wynika że ta zmienna ma zawierać liczbę w liście ale bez nazwy? (edited)
jaka zmienna??? człowieku to jest request HTTP
Avatar
WiadomosciSzczegoly jak są zwracane?
22:08
Jako text?
Avatar
tu wszystko jest
22:09
"Wiadomość" na dole to nazwa modelu zwracanego przez ten endpoint
Avatar
@mklkj Szczerze ci powiem że dzięki tobie nauczyłem się dobrze wyszukiwać informacji na stackoverflow i w google na temat javascript i jsona
22:19
Dzięki Ci bardzo!
Avatar
ja ci szczerze powiem, że jeszcze wiele musisz się nauczyć
❤️ 4
Avatar
Wiem (edited)
Avatar
update: ogarnięte
Avatar
todo: zrobić normalizację imienia i nazwiska przy porównywaniu nazw skrzynek pocztowych z danymi zalogowanego ucznia
15:30
tj. jakiś trim()
Avatar
{ "message": "The request is invalid.", "messageDetail": "The parameters dictionary contains a null entry for parameter 'globalKeySkrzynka' of non-nullable type 'System.Guid' for method 'System.Collections.Generic.List`1[Vulcan.Efeb.Model.Vo.WiadomosciPlus.Adresaci.AdresatVo] Get(System.Guid)' in 'Vulcan.Efeb.WiadomosciPlus.Web.Controllers.Api.Adresaci.PracownicyController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter." }
21:59
chyba było, ale wklejam
Avatar
ciekawostka
Avatar
Avatar
mklkj
ciekawostka
???
Avatar
isBetacomOn
Avatar
Z czego pamiętam to to się inaczej nazywało
15:23
A co wiemy na temat nowego modułu
Avatar
że istnieje
Avatar
Narazie to dziwne jest
15:24
Testy na poszczególnych symbolach?
15:24
I będzie chyba downgrade
Avatar
jest flaga w uczencache
15:25
ja uważam, że to zależy od ustawień szkoły
Avatar
Avatar
mklkj
ja uważam, że to zależy od ustawień szkoły
Poka
Avatar
co ci mam pokazać
Avatar
No co tam w tym cache
Avatar
to moje domysły na podstawie tego co widzę
Avatar
Avatar
mklkj
ciekawostka
to jest w tym cache
Avatar
Avatar
mklkj
to jest w tym cache
Betacom?
Avatar
noooo
Avatar
A to to nie
15:26
Mam tą zmienną z jsona
15:27
Zebranego 22 czerwca 2022
Avatar
może to wrzucili do dziennika dużo wcześniej
15:27
a teraz po prostu znalazła się osoba, u której jest to włączone
15:27
może tak być i nie powiesz, że nie
Avatar
Avatar
mklkj
może to wrzucili do dziennika dużo wcześniej
Ta zmienna przecież wywalała wszystkie moduły z starym uczniu
Avatar
nie rozumiem
Avatar
No wywalała listę modułów
15:29
Czyli odblokowywała możliwość zobaczenia wszystkich modułów
Avatar
w jsonie nie ma żadnych zmiennych
Avatar
io.github.wulkanowy.sdk.scrapper.exception.VulcanException: SHUTDOWN is in progress. Login failed for user 'RODOS\paEfebUczen'. Only administrators may connect at this time. at io.github.wulkanowy.sdk.scrapper.interceptor.ErrorHandlerTransformerKt.handleErrors(ErrorHandlerTransformer.kt:20)
❤️ 1
12:09
👌
Avatar
Avatar
mklkj
io.github.wulkanowy.sdk.scrapper.exception.VulcanException: SHUTDOWN is in progress. Login failed for user 'RODOS\paEfebUczen'. Only administrators may connect at this time. at io.github.wulkanowy.sdk.scrapper.interceptor.ErrorHandlerTransformerKt.handleErrors(ErrorHandlerTransformer.kt:20)
???
Avatar
to samo mam w głowie
Avatar
Treść zgłoszenia: io.github.wulkanowy.sdk.scrapper.exception.VulcanClientError: 401: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> <title>401 - Unauthorized: Access is denied due to invalid credentials.</title> <style type="text/css"> <!-- body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;} fieldset{padding:0 15px 10px 15px;} h1{font-size:2.4em;margin:0;color:#FFF;} h2{font-size:1.7em;margin:0;color:#CC0000;} h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;} #header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF; background-color:#555555;} #content{margin:0 0 0 2%;position:relative;} .content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;} --> </style> </head> <body> <div id="header"><h1>Server Error</h1></div> <div id="content"> <div class="content-container"><fieldset> <h2>401 - Unauthorized: Access is denied due to invalid credentials.</h2> <h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3> </fieldset></div> </div> </body> </html> at io.github.wulkanowy.sdk.scrapper.interceptor.HttpErrorInterceptor.intercept(HttpErrorInterceptor.kt:20)
12:59
a dobra, to tylko taka strona
Avatar
Marioneq + 01.09.2022 13:20
a wiadomo kiedy to się stało?
Avatar
Marioneq + 01.09.2022 13:22
bo nigdy nie zdarzyło mi się żeby vulcan 401 zwrócił
Avatar
hej
Avatar
jest jakiś szybki sposób na tego fakeloga żeby testy przechodziły w sdk na windowsie?
Avatar
@mklkj
Avatar
kiedyś się bawiłem w etc/hosts, ale chyba powinien byc lepszy sposób
Avatar
nie znam żadnego lepszego
Avatar
Avatar
doteq
kiedyś się bawiłem w etc/hosts, ale chyba powinien byc lepszy sposób
apache2
22:43
Albo XAMPP (edited)
Avatar
a i czekaj
22:44
o jakim ty fakelogu mówisz
Avatar
Avatar
Silvarkyy
apache2
mówiąc lepszy miałem bardziej na myśli szybszy XD
Avatar
Avatar
Silvarkyy
Albo XAMPP (edited)
.
Avatar
sdk i fakelog to dwie różne rzeczy
22:44
tutaj testy są lokalne i webserver jest odpalany bezpośrednio w testach
22:45
pewnie wiesz
22:45
ale wolałem to głośno powiedzieć
Avatar
no chcę sobie puścić ScrapperTest i właśnie mnie zdziwiło że wywala mi błąd z tym że fakelog.localhost:3000 nie istnieje
22:46
22:47
wiem, że jest mockserver
22:47
ale nadal
Avatar
dodaj te subdomeny do hosts
22:47
nic lepszego ci nie doradzę
22:47
na normalnych systemach działa od razu
🤷 1
Avatar
usunąłem z rozpędu to z repo
22:30
zs2lubin
22:30
nie wiem czy było
Avatar
do przemyślenia jak to możliwe: Wersja aplikacji: 1.7.5-play Treść zgłoszenia: io.github.wulkanowy.sdk.scrapper.exception.VulcanClientError: 403: {"message":"Na liście odbiorców znajdują się pracownicy nieaktywni lub spoza jednostki sprawozdawczej"}
Avatar
Marioneq + 05.09.2022 17:58
hmm a wiadomo kiedy to się zdarzyło?
Avatar
mam tyle co widzisz
17:58
no ale pewnie przy wysyłaniu wiadomości
Avatar
Avatar
mklkj
do przemyślenia jak to możliwe: Wersja aplikacji: 1.7.5-play Treść zgłoszenia: io.github.wulkanowy.sdk.scrapper.exception.VulcanClientError: 403: {"message":"Na liście odbiorców znajdują się pracownicy nieaktywni lub spoza jednostki sprawozdawczej"}
Możliwe
21:28
Jeżeli odpowiemy na wiadomość systemu
Avatar
ten błąd co zgłosiłeś z odpowiadaniem na systemowe wiadomości jeszcze nie naprawiony
21:29
więc to nie do końca wyjaśnia
Avatar
może jak odpowiesz ale nie na wiad systemu tylko staremu nauczycielowi
Avatar
nie da się odpowiedzieć staremu nauczycielowi bo jest w archiwum
06:59
no chyba że jakiś nauczyciel wysłał wiadomość pożegnalną po czym opuścił szkołę
Avatar
po czym targnął się na swoje życie
Avatar
proszę nie opowiadać takich drastycznych historii
09:11
to dzieci czytają
Avatar
Wulkanowa cenzura po czym zakończył pewien niemiły etap, zwany życiem
Avatar
siema co to za ostatni argument jaki musze podać w tej funkcji?
19:56
mmmm jakby to powiedzieć
19:56
to sdk używa kotlinowych coruoutines (edited)
19:56
continuation to jest taki trochę niskopoziomowy mechanizm w jaki to jest zaimplementowane
19:57
z javy trochę ciężko będzie tego użyć
Avatar
a bo robie taki projekt w spring boot i nawet nie wiem jak to działa w kotlinie
Avatar
najłatwiej byłoby ci po prostu użyć kotlina xd
19:59
ewentualnie napisać jakiś cienki wrapper na sdk
19:59
zwracający jakieś futury czy coś
Avatar
dobra dzięki w kotlinie działa :)
Avatar
o a jak zmieniłem z tego fakeloga na prawdziwy adres: scrapperBaseUrl = "https://uonetplus.vulcan.net.pl", to sypie mi błąd cufs.uonetplus.vulcan.net.pl: nodename nor servname provided, or not known
20:24
skąd on wziął ten cufs.
Avatar
bo zły adres wpisałeś
20:24
vulcan.net.pl jest poprawnym bazowym (edited)
20:24
uonetplus to jedna z wielu subdomen dziennika
Avatar
dzięki
Avatar
combo
Treść zgłoszenia: io.github.wulkanowy.sdk.scrapper.exception.ScrapperException: Nieznany typ dziennika: Przerwa techniczna Strona nie została odnaleziona! Sprawdź, czy poprawnie został wpisany adres strony. Jeśli adres jest poprawny, a witryna jest tymczasowo niedostępna, skontaktuj się z serwisem technicznym oprogramowania. Przejdź do strony głównej >> 75 at io.github.wulkanowy.sdk.scrapper.repository.RegisterRepository.getLoginType(RegisterRepository.kt:115)
❤️ 1
Avatar
a może wszystkie divy znajdują się na stronie tylko odpowiednie są ukrywane
Avatar
#133 lubię wyciągać problemy spod kaloryfera
Avatar
A masz taki plan teraz?
Avatar
nope
Avatar
Bo nie będę implementować czegoś, co może już nie istnieć
17:20
No to do widzenia
Avatar
Ale HTML JEST
Avatar
Ale wygrzebałeś go ze starych wiadomości, nie?
17:24
Gdyby to było dopiero co wzięte ze strony dziennika jest z poprzednich lat to spoko
Avatar
dobra, to może jakieś RE modułu ucznia? hehe
20:25
Ext.define('Vulcan.Efeb.Opiekun.model.VAttachmentModel') Ext.define('Vulcan.Efeb.Opiekun.model.FeedbackModel') Ext.define('Vulcan.Efeb.Opiekun.model.PoryLekcjiModel') Ext.define('Vulcan.Efeb.Opiekun.model.UczenDziennikModel') Ext.define('Vulcan.Efeb.Opiekun.model.VAttachmentHomeworksModel') Ext.define('Vulcan.Efeb.Opiekun.model.common.RokSzkolnyModel') Ext.define('Vulcan.Efeb.Opiekun.model.daneUcznia.DaneUczniaModel') Ext.define('Vulcan.Efeb.Opiekun.model.dostepMobilny.TokenModel') Ext.define('Vulcan.Efeb.Opiekun.model.dostepMobilny.ZarejestrowaneUrzadzeniaModel') Ext.define('Vulcan.Efeb.Opiekun.model.egzaminySemestralne.EgzaminSemestralnyModel') Ext.define('Vulcan.Efeb.Opiekun.model.ewidencjaObecnosci.EwidencjaObecnosciModel') Ext.define('Vulcan.Efeb.Opiekun.model.ewidencjaObecnosci.ZgloszoneNieobecnosciModel') Ext.define('Vulcan.Efeb.Opiekun.model.formularze.FormularzSzablonModel') Ext.define('Vulcan.Efeb.Opiekun.model.formularze.FormularzWyslanyModel') Ext.define('Vulcan.Efeb.Opiekun.model.frekwencja.FrekwencjaDniModel') Ext.define('Vulcan.Efeb.Opiekun.model.frekwencja.FrekwencjaModel') Ext.define('Vulcan.Efeb.Opiekun.model.frekwencja.FrekwencjaStatystykiTypuFrekwencjiModel') Ext.define('Vulcan.Efeb.Opiekun.model.frekwencja.FrekwencjaStatystykiModel') Ext.define('Vulcan.Efeb.Opiekun.model.frekwencja.FrekwencjaStatystykiPrzedmiotyModel') Ext.define('Vulcan.Efeb.Opiekun.model.frekwencja.FrekwencjaUsprawiedliwieniaWyslaneModel') Ext.define('Vulcan.Efeb.Opiekun.model.frekwencja.FrekwencjaWpisyModel') Ext.define('Vulcan.Efeb.Opiekun.model.jadlospis.DietyModel') Ext.define('Vulcan.Efeb.Opiekun.model.jadlospis.JadlospisModel') Ext.define('Vulcan.Efeb.Opiekun.model.oceny.OcenyModel') Ext.define('Vulcan.Efeb.Opiekun.model.ogloszenia.OgloszeniaModel') Ext.define('Vulcan.Efeb.Opiekun.model.oplaty.OkresyUmowOplatModel') Ext.define('Vulcan.Efeb.Opiekun.model.oplaty.OplatyModel') Ext.define('Vulcan.Efeb.Opiekun.model.oplaty.PlatnosciNaliczoneModel')
20:25
Ext.define('Vulcan.Efeb.Opiekun.model.planZajec.PrzedmiotyModel') Ext.define('Vulcan.Efeb.Opiekun.model.podreczniki.PodrecznikUczniaModel') Ext.define('Vulcan.Efeb.Opiekun.model.scalanieKont.ScaloneKontaModel') Ext.define('Vulcan.Efeb.Opiekun.model.statystyki.StatystykiOcenyCzastkoweModel') Ext.define('Vulcan.Efeb.Opiekun.model.statystyki.StatystykiOcenyRoczneModel') Ext.define('Vulcan.Efeb.Opiekun.model.statystyki.StatystykiPunktyModel') Ext.define('Vulcan.Efeb.Opiekun.model.szkolaINauczyciele.NauczycielUczenModel') Ext.define('Vulcan.Efeb.Opiekun.model.szkolaINauczyciele.SzkolaUczenModel')
20:26
sporo tych modeli
Avatar
Avatar
mklkj
dobra, to może jakieś RE modułu ucznia? hehe
Co to RE?
Avatar
Inżynieria odwrotna
Avatar
A jak te modele zdobyć?
Avatar
są w app.js
Avatar
new AjaxRequest.FunkcjonalnoscStatystyka().Post(a) new AjaxRequest.ZgloszoneNieobecnosci().Get() new AjaxRequest.Autoryzacja().Post(b) new AjaxRequest.FrekwencjaStatystyki().Get(a.get('Id')) new AjaxRequest.Frekwencja().Get(b.get('value'), c) new AjaxRequest.FrekwencjaStatystykiPrzedmioty().Get() new AjaxRequest.EwidencjaObecnosci().Get(a.data.dzien.getMonth() + 1) new AjaxRequest.Jadlospis().Get(d, b) new AjaxRequest.Diety().Get() new AjaxRequest.FormularzeSzablony().Get() new AjaxRequest.FormularzeWysylanie().Get() new AjaxRequest.ZarejestrowaneUrzadzenia().Delete(c.device.get('Id')) new AjaxRequest.RejestracjaUrzadzeniaToken().Get() new AjaxRequest.RejestracjaUrzadzeniaTokenCertyfikat() new AjaxRequest.RejestracjaUrzadzeniaToken() new AjaxRequest.ZarejestrowaneUrzadzenia().Get() new AjaxRequest.Uczen().Get() new AjaxRequest.UczenZdjecie().Get() new AjaxRequest.DostepOffice().Get() new AjaxRequest.EgzaminySemestralne().Get() new AjaxRequest.EgzaminyZewnetrzne().Get() new AjaxRequest.ZgloszoneNieobecnosci() new AjaxRequest.Usprawiedliwienia().Post(e) new AjaxRequest.LekcjeZaplanowane().GetPrzedmioty() new AjaxRequest.LekcjeZaplanowane().GetZaplanowane(a.get('poczatek'), a.get('koniec'), b && b.data ? b.data.IdPrzedmiot : null) new AjaxRequest.LekcjeZrealizowane().GetPrzedmioty() new AjaxRequest.LekcjeZrealizowane().GetZrealizowane(a.get('poczatek'), a.get('koniec'), b && b.data ? b.data.IdPrzedmiot : null) new AjaxRequest.Oceny().Get(a.get('selOkres').Id) new AjaxRequest.Ogloszenia().Get() new AjaxRequest.Oplaty().Get() new AjaxRequest.Oplaty().Get() new AjaxRequest.Platnosci().Get(a) new AjaxRequest.Platnosci() new AjaxRequest.PlanZajec().Get(a.get('data')) new AjaxRequest.PodrecznikiLataSzkolne().Get() new AjaxRequest.PodrecznikiUcznia().Get(b) new AjaxRequest.Pomoc().Get() new AjaxRequest.ScalanieKont().UnmergeAccounts(c.Id) new AjaxRequest.ScalanieKont().GetMergedAccounts() new AjaxRequest.ScalanieKont().GetToken(c)
20:40
new AjaxRequest.ScalanieKont().MergeAccounts(d, e) new AjaxRequest.UczenDziennik().Get() new AjaxRequest.Sprawdziany().Get(f, e) new AjaxRequest.Homework().Get(f, e, d || - 1) new AjaxRequest.Homework().Post(a) new AjaxRequest.Homework().Post(c) new AjaxRequest.Statystyki().GetOcenyCzastkowe(a.Id) new AjaxRequest.Statystyki().GetOcenyRoczne(a.Id) new AjaxRequest.Statystyki().GetPunkty(b.Id) new AjaxRequest.SzkolaINauczyciele().Get() new AjaxRequest.UwagiIOsiagniecia().Get() new AjaxRequest.Zebrania().Get() new AjaxRequest.ZebraniaObecnosc().Post(a.data.Id) new AjaxRequest.UczenCache().Get()
20:40
a to będą chyba endpointy
20:41
np. UczenCache().Get() to UczenCache.mvc/Get
Avatar
@jel
21:29
Dodaj do dokumentacji
21:29
Wiadomości plus
21:29
[{"globalKey":"Klucz UUID4","liczbaWiadomosci":1}]
21:30
/LiczbyNieodczytanych
Avatar
Avatar
Silvarkyy
Dodaj do dokumentacji
21:51
proszę bardzo
Avatar
handstandsam/kmp-ready
Avatar
Wulkanowy bot BOT 14.09.2022 23:45
Gradle Plugin that determines if modules are Kotlin Multiplatform (KMP) ready. "KMP Ready" means that the code is Kotlin Multiplatform compatible.
Gwiazdki
50
Avatar
Kotlin/kotlinx-datetime zacznie wspierać trochę więcej z tego co ma java.time (choćby zoned date time) to tego plugina można by użyć do śledzenia postępów
Avatar
Wulkanowy bot BOT 14.09.2022 23:46
KotlinX multiplatform date/time library
Gwiazdki
1471
Avatar
@jel Dodaj do dokumentacji
22:43
/OdebraneWydruk
22:44
{"esbPrintoutParams":{"guid":"Numer skrzynki?","friendlyName":"Wiadomości odebrane"},"input":{"globalKeys":["klucz","klucz"]}}
Avatar
ty pokemon
22:58
22:58
masz na klawiaturze klawisze Ctrl i F?
22:59
ten endpoint i tak nie działa
22:59
bo plik nigdy się nie generuje
23:03
tylko taka animacja jest w nieskończoność
23:04
o, GETuje co sekundę https://dds.edu.gdansk.pl/Download/Status/<uuid wydruku>?callback=jsonp_1663707841134_46021
23:04
i dostaje { "success": false, "code": 404, "message": "[dokument nieznany]" }
23:04
100% użyteczne
Avatar
dziwne, u mnie działa
Avatar
Kafelki endpoint?
Avatar
Kiedyś SDK będzie wspierać hebe?
Avatar
jak ktoś zrobi
15:53
teraz to nie jest żaden priorytet
Avatar
pamiętacie jak w starych wiadomościach przy każdej wiadomości była lista ze wszystkimi adresatami?
17:35
w nowych też jest, ale dopiero w WiadomoscOdpowiedzPrzekaz
17:35
przy wiadomości startowej od "System" jest tego trochę
Avatar
Marioneq + 02.10.2022 19:13
chwila w wiadomości od systemu można pobrać adresatów?
19:13
xD
19:14
jak tak to można wszystkie konta znaleźć
Avatar
tak, tam są wszystkie konta w szkole
19:14
skrzynki pocztowe w szkole *
Avatar
Marioneq + 02.10.2022 19:15
aa w szkole
19:15
to całe szczęście
19:15
myślałem że wszystkie konta w danym symbol'u
Avatar
Avatar
Marioneq +
aa w szkole
Nawet rodziców znalazłem
Avatar
więcej się nie da
19:15
bo instancje są oddzielone
19:16
jakoś
19:16
w sumie o incydencie z tym oddzieleniem było na niebezpieczniku
19:16
chyba linkowałem na #press
Avatar
Dobra opisze ten mój pomysł
19:20
Z stąd (edited)
Avatar
nie wiem co tam jest do myślenia
Avatar
Brać dane ze WysłaneEndpoint
Avatar
ja to inaczej myślę najpierw zrobić
Avatar
O liczbie nieodczytanych
19:21
I porównywać z listą adresatów (edited)
Avatar
na liście wysłanych jest
Avatar
Avatar
mklkj
na liście wysłanych jest
Ale co w przypadku np. 2 adresatów?
Avatar
wystarczy sprawdzić, czy nieprzeczytanePrzeczytanePrzez zaczyna się od 0/
Avatar
Avatar
Silvarkyy
Ale co w przypadku np. 2 adresatów?
.
Avatar
przeczytaj jeszcze raz co jest na screenie i co proponuję
19:22
nieprzeczytane == 0
Avatar
Ale to nie ma sensu
Avatar
nie interesuje nas ile jest przeczytanych
Avatar
Wysyłam np. wiadomość do 2 adresatów
19:23
Jeden przeczytał
19:23
Drugi nie
Avatar
no to wiadomość nie jest do końca odczytana
Avatar
I wulkanowy wykaże że nikt nie przeczytał
Avatar
na początek wystarczy
19:23
w większości przypadków jest tak, że tylko jeden odbiorca jest
19:23
bo to apka dla rodziców i uczniów jest
Avatar
Avatar
mklkj
wystarczy sprawdzić, czy nieprzeczytanePrzeczytanePrzez zaczyna się od 0/
Myślałem nad pobraniem tej informacji i liczenie ile jest nulli w adresacie
Avatar
przypadki kiedy ktoś wybiera więcej niż jednego adresata to pewnie na palcach jednej ręki by szło wymienić
Avatar
Avatar
mklkj
przypadki kiedy ktoś wybiera więcej niż jednego adresata to pewnie na palcach jednej ręki by szło wymienić
Ale to najbardziej efektywne by było
Avatar
Avatar
mklkj
przypadki kiedy ktoś wybiera więcej niż jednego adresata to pewnie na palcach jednej ręki by szło wymienić
Bo wtedy by też wróciła by ta funkcja
19:30
19:31
to jeszcze lepiej
19:31
to ja mogę tam po prostu tego stringa tu wrzucać
19:31
bez żadnych kombinacji
Avatar
Tak to wygładało po staremu
19:31
19:33
Myślałem też aby tu dodać taki przycisk
19:33
19:33
Który by pokazywał kto odczytał (edited)
Avatar
fajne by to było, ale to więcej roboty
19:41
dopiszę najwyżej do taska zbiorczego "Wiadomości Plus"
Avatar
Avatar
mklkj
w sumie o incydencie z tym oddzieleniem było na niebezpieczniku
marcin official account 03.10.2022 17:40
to nie ktoś stąd znalazł tego buga?
17:40
czy cos mi sie pomylilo
Avatar
Ktos korzystal kiedys z tego sdk w javie i wie co wpisac w tym polu $completion?
Avatar
hej, tu ktoś o to pytał wyżej
Avatar
Avatar
wybran
siema co to za ostatni argument jaki musze podać w tej funkcji?
.
12:32
tu problem jest taki, że sdk używa kotlinowych coroutinesów
12:32
i to continuation to jest coś, czym kotlin się normalnie sam zajmuje
12:33
jeśli możesz to polecam jednak użycie kotlina, a jeśli nie możesz to trzeba kombinować, np. coś w tym stylu https://stackoverflow.com/a/54033955/6695449
I'm trying to call Kotlin function from Java 7. I'm using coroutines and this called function is suspending, for example: suspend fun suspendingFunction(): Boolean { return async {
Avatar
dobra cos wymysle
12:34
wolabym jave ale jak nic nie znajde to kotlina uzyje
Avatar
host to jest np resman.pl?
19:08
czy cos innego
Avatar
MatStef132 19.10.2022 19:08
?
Avatar
a nie ten kanal w libce do node jest do wpisania host
19:09
21:44
interesting
Avatar
Kacper Górka 24.10.2022 21:56
ten drugi przekierowuje od razu do ucznia, a ten pierwszy do startu (edited)
Avatar
chyba nie do końca
21:57
ale nawet jeśli
21:57
nie po to to wysłałem
Avatar
Kacper Górka 24.10.2022 21:57
a, dobra
Avatar
patrz na inny przycisk i inne logo w drugim
Avatar
Kacper Górka 24.10.2022 21:58
wiem, widzę
Avatar
eduone jest konkretne dla danej szkoły
Avatar
Jeżeli to wysyłasz to znaczy że wulkanowy tam nie działa
Avatar
akurat nie wiem czy działa czy nie
22:31
aktualnie z mojej wiedzy wynika, że jednak działa
22:31
tylko czasami dane są różne
Avatar
Avatar
mklkj
aktualnie z mojej wiedzy wynika, że jednak działa
To może z tej wiedzy skorzystaj bardziej szerzej i może endpointy wyciągnił z responsami
22:42
Będzie przydatne gdy wprowadzą globalnie
Avatar
Avatar
Silvarkyy
To może z tej wiedzy skorzystaj bardziej szerzej i może endpointy wyciągnił z responsami
Xd
22:43
nie wprowadzą globalnie
22:43
za edu one się dodatkowo płaci
Avatar
Avatar
mklkj
za edu one się dodatkowo płaci
Nie wiedziałem
22:44
A co on takiego zapewnia?
Avatar
obejrzyj filmiki reklamowe
Avatar
Nowy response do kolekcji
21:28
POST LekcjeZaplanowane.mvc/GetZaplanowane RESPONSE (edited)
21:28
{ "data": { "02.11.2022": [ { "IdLekcja": 1000000, "Data": "2022-11-02 00:00:00", "Przedmiot": "Przedmiot", "NrLekcji": 2, "Temat": "Temat", "Nauczyciel": "Nazwisko Imie [NI]", "Zastepstwo": "", "Nieobecnosc": "", "PseudonimUcznia": null, "ZasobyPubliczne": "", "LekcjaZdalna": "", "KolekcjePoLekcji": [], "PrzedmiotDisplay": "Przedmiot" } ] }, "success": true }
21:28
REQUEST:
21:29
{"poczatek":"2022-11-01T21:25:07","koniec":"2022-11-30T21:25:07","idPrzedmiot":-1}
Avatar
Marioneq + 01.11.2022 21:29
jak masz lekcje zaplanowene jakieś to możesz dla typa dać response https://github.com/vulcanus-community/VulcanusApi/issues/21
Poniższy kod pobierze i wypisze do konsoli dane potrzebne do zaimplementowania zaplanowanych lekcji. Jeżeli masz taką możliwość, uruchom go (oczywiście po ustawieniu zmiennych client i student). Je...
Avatar
uhuhu, vulcanus
Avatar
Avatar
Marioneq +
jak masz lekcje zaplanowene jakieś to możesz dla typa dać response https://github.com/vulcanus-community/VulcanusApi/issues/21
Nie działa
Avatar
Marioneq + 01.11.2022 21:31
API do testowania projektów opartych o mobile API dziennika VULCAN UONET+ - GitHub - vulcanus-community/Vulcanus.FakeApi: API do testowania projektów opartych o mobile API dziennika VULCAN UONET+
Avatar
w ogóle ciekawe, bo to druga implementacja api w c#
21:32
albo i nie
Avatar
Avatar
Marioneq +
jak masz lekcje zaplanowene jakieś to możesz dla typa dać response https://github.com/vulcanus-community/VulcanusApi/issues/21
Ten kod nie działa
Avatar
albo tak
Avatar
Avatar
Silvarkyy
Ten kod nie działa
Marioneq + 01.11.2022 21:32
to dla typa napisz
Avatar
vulcanowa w końcu robi to samo
Avatar
Avatar
Marioneq +
to dla typa napisz
Jak?
21:34
Avatar
issue
Avatar
Marioneq + 01.11.2022 21:35
w issue
21:36
@Silvarkyy xDDD
21:36
to ma być mobilne api
21:36
nie scrapper
Avatar
Avatar
mklkj
w ogóle ciekawe, bo to druga implementacja api w c#
druga
21:45
pierwsza była Vulcanova
Avatar
PiotrusiemJestem 10.11.2022 21:07
lis 10, 2022 8:56:23 PM okhttp3.internal.platform.Platform log INFO: --> GET https://uonetplus-wiadomosciplus.vulcan.net.pl/powiatdabrowski/api/Odebrane?idLastWiadomosc=0&pageSize=50 h2 lis 10, 2022 8:56:23 PM okhttp3.internal.platform.Platform log INFO: <-- 200 https://uonetplus-wiadomosciplus.vulcan.net.pl/powiatdabrowski/api/Odebrane?idLastWiadomosc=0&pageSize=50 (126ms, 1772-byte body) Exception in thread "main" java.time.format.DateTimeParseException: Text '2022-10-12T09:27:06.7+02:00' could not be parsed, unparsed text found at index 0 at java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2055) at java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1954) at java.base/java.time.LocalDateTime.parse(LocalDateTime.java:494) at io.github.wulkanowy.sdk.scrapper.adapter.CustomDateAdapter.deserialize(CustomDateAdapter.kt:25) at io.github.wulkanowy.sdk.scrapper.adapter.CustomDateAdapter.deserialize(CustomDateAdapter.kt:11) at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:70) at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableValue(AbstractDecoder.kt:43) at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableElement(AbstractDecoder.kt:70) at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableElement(StreamingJsonDecoder.kt:162) at io.github.wulkanowy.sdk.scrapper.messages.MessageMeta$$serializer.deserialize(MessageMeta.kt:8) at io.github.wulkanowy.sdk.scrapper.messages.MessageMeta$$serializer.deserialize(MessageMeta.kt:8) Podczas pobieranie informacji na temat wiadomości sdk.getMessages(Folder.RECEIVED) pojawia się powyższy błąd.
Avatar
A jaką masz wersję SDK?
21:52
Bo ja to chyba naprawiłem ze 2 miesiące temu
Avatar
Avatar
mklkj
A jaką masz wersję SDK?
PiotrusiemJestem 10.11.2022 22:04
1.7.5
Avatar
Na czym to odpalasz?
22:05
Android? Jvm? Jaka wersja?
22:05
Zaraz wrzucę jeszcze tę datę do testów, ale na oko to powinno działać bez problemu
Avatar
Avatar
mklkj
Android? Jvm? Jaka wersja?
PiotrusiemJestem 10.11.2022 22:08
JVM
22:09
sdk 16, kotlin("jvm") version "1.7.20"
22:21
u mnie działa
22:21
pokaż jak masz zadeklarowaną zależność w configu
22:21
bo nie chce mi się wierzyć, że masz faktycznie wersję 1.7.5
Avatar
Marioneq + 11.11.2022 11:38
Wie ktoś może czy w uczeń w Szkoła i nauczyciele wyświetlają się informacje o jednostce sprawozdawczej czy o jednostce składowej?
Avatar
Avatar
mklkj
bo nie chce mi się wierzyć, że masz faktycznie wersję 1.7.5
PiotrusiemJestem 11.11.2022 11:58
.
11:58
Avatar
Avatar
PiotrusiemJestem
Click to see attachment 🖼️
Udostępnisz jakiś projekt w którym ten problem występuje? Bo nie mogę tego u siebie odtworzyć
Avatar
Avatar
mklkj
Udostępnisz jakiś projekt w którym ten problem występuje? Bo nie mogę tego u siebie odtworzyć
PiotrusiemJestem 11.11.2022 13:13
fun getReceivedMessages() : List<Message> = runBlocking { return@runBlocking sdk.getMessages(Folder.RECEIVED) } final Vulcan vulcan = new Vulcan(); vulcan.login("mail", System.getenv("PASSWORD")); vulcan.getReceivedMessages().forEach(message -> { System.out.println(message.component6()); });
Avatar
Takie coś to i ja mam xd
13:14
Ale czekaj
13:14
Co to za 'Vulcan'
13:14
Cały projekt na gh poproszę w którym ten problem będzie występował
13:15
Bo nie mam jak tego zreprodukować
13:15
1.7.5 jest użyte w Wulkanowym a tam jak sam możesz zobaczyć wszystko działa
Avatar
Marioneq + 13.11.2022 16:57
W jaki sposób odróżniacie czy ocena jest poprawiona np. 2/4 czy ocena jest punktowa np. 37/60?
Avatar
nijak
16:58
masz żywy przykład takiej poprawionej oceny?
16:58
ona rzeczywiście jest w ten sposób zapisana?
Avatar
Marioneq + 13.11.2022 16:59
pamiętam że tak było
16:59
ale to w tamtym roku
16:59
więc na wulkanowym nie sprawdzę
Avatar
Marioneq + 13.11.2022 17:12
jest jakiś sposób żeby zmienić rok szkolny?
17:13
zmieniając... datę w telefonie
Avatar
Marioneq + 13.11.2022 17:13
serio?
17:15
nic nie działa
17:16
An error occurred. Check your device clock
17:17
cert musieli niedawno odnowić
17:17
zobacz jak jest na stronie
17:17
to też wystarczająco dużo nam powie
Avatar
Marioneq + 13.11.2022 17:18
jsona chcesz?
Avatar
poproszę
17:22
wystarczy kawałek z tą oceną
Avatar
Marioneq + 13.11.2022 17:24
{ "Nauczyciel": "Nazwisko Imię", "Wpis": "3/5", "Waga": 1, "NazwaKolumny": "Sprawdzian z działu 4", "KodKolumny": "SPR", "DataOceny": "29.02.2021", "KolorOceny": 7261447 }
17:28
czyli pokaże się "3/5", ale jeśli dziennik nie policzył średniej, to wulkanowy nie weźmie takiej oceny pod uwagę
Avatar
Avatar
Marioneq +
W jaki sposób odróżniacie czy ocena jest poprawiona np. 2/4 czy ocena jest punktowa np. 37/60?
odpowiadając na pytanie - w tej chwili patrzymy czy flaga IsPunkty jest true (edited)
17:30
i jeśli tak, to od razu liczymy procent
Avatar
Marioneq + 13.11.2022 17:30
chwila
17:31
a jeśli szkoła ma włączone punkty to oceny to tylko punkty?
Avatar
z tego co wiemy to tak
Avatar
Marioneq + 13.11.2022 17:32
a kk
17:34
nie wiem jak to uonet+ liczy ale w tym przypadku to do średniej ta ocena powinna liczyć się jako 4
Avatar
nie wiem
17:35
przeważnie to poprawione oceny widziałem w komentarzu
Avatar
Avatar
mklkj
przeważnie to poprawione oceny widziałem w komentarzu
właśnie chciałem pisać że u nas to 1(4) czy coś takiego
Avatar
Avatar
mklkj
przeważnie to poprawione oceny widziałem w komentarzu
Marioneq + 13.11.2022 17:36
ja też
17:37
są 2 typy nauczycieli właśnie (edited)
17:37
którzy dają w nawiasie
17:37
i ci którzy dodają do oceny
Avatar
jak ci ktoś da z ukośnikiem to zapytaj od razu jak to zmieni średnią
17:37
to jest chyba jedyny sposób żeby dowiedzieć się co to zmienia
17:37
ewentualnie można poszukać w docsach vulcana
17:40
na razie to znalazłem
17:40
tylko co znaczy ten =?
Avatar
nigdy nie słyszałeś jak nauczyciel wstawia komuś "dwóję na szynach"?
17:42
to jest taki podwójny minus
Avatar
Marioneq + 13.11.2022 17:42
a kk
17:43
nigdy żaden nauczyciel mi tego nie dał
Avatar
Marioneq + 13.11.2022 17:56
hmm a te oceny punktowe da się jakoś poprawiać?
Avatar
nie mam pojęcia
17:56
nie słyszałem
17:56
o ocenach punktowych ogólnie niewiele wiemy
Avatar
Marioneq + 13.11.2022 17:56
bo zastanawia mnie jak one by wyglądały
Avatar
jakimś fuksem się udało je zaimplementować bo akurat się ktoś z tym zgłosił
Avatar
Marioneq + 13.11.2022 17:57
123/600/5/600
17:57
to by dziwnie wyglądało
Avatar
raczej w komentarz jest wpisywane
17:57
albo jako nowa ocena
17:57
po co punkty poprawiać
Avatar
Marioneq + 13.11.2022 18:00
szkoda że doscy uonet+ nie działają
Avatar
prędzej
Avatar
Marioneq + 13.11.2022 18:02
no ctrl+v mi nie działało i sam link przepisałem
Avatar
Marioneq + 13.11.2022 18:57
czym jest modifier w Grade?
Avatar
Marioneq + 14.11.2022 15:25
Czy PokazPunkty w uwagach ma jakiś sens?
Avatar
jakiś ma
15:26
normalnie chyba punktów tam nie ma
Avatar
Marioneq + 14.11.2022 15:26
no bo jeśli są jakieś punkty to się pokażą
15:26
a jak nie ma to nie
Avatar
kto wie, może nie wszystkie uwagi muszą mieć jakieś punkty
Avatar
Marioneq + 14.11.2022 15:27
no u mnie nigdy nie ma
Avatar
a masz true?
Avatar
Marioneq + 14.11.2022 15:27
nie zawsze false
15:30
więc wygląda na to że jeżeli Punkty nie są puste to PokazPunkty to true
Avatar
jak możesz to bym nie kombinował
15:31
i na tym jednak polegał
15:31
może się zaraz okazać, że jednak ta flaga jest potrzebna
Avatar
Marioneq + 14.11.2022 15:32
tylko do czego?
15:33
jak api coś zwróci to pokażę jak nie to nie
Avatar
nie wiem, jak ci lepiej
15:33
ja mam w głowie całkiem niedawną sytuację ze średnią ucznia w wykresach uczeń na tle klasy
15:34
gdzie nie wiadomo po co obok była flaga isSrednia czy coś w tym stylu
15:34
która okazała się do naprawienia buga w apce bardzo przydatna
Avatar
Marioneq + 14.11.2022 15:37
zdarzyło się komuś żeby dostać np. 35.5 punktów?
Avatar
Marioneq + 15.11.2022 15:52
taka ciekawostka Is13 w UczenDziennik.mvc/Get oznacza czy uczeń jest w klasie 1 - 3 szkoły podstawowej
Avatar
Łoooo
15:53
Jak to odkryłeś?
Avatar
Marioneq + 15.11.2022 15:54
na podstawie danych które posiadam
15:55
nie wiem czy to w ogóle przydatne jest
15:59
a IsArchiwalny blokuje zmianę zdjęcia ucznia
Avatar
Avatar
Marioneq +
na podstawie danych które posiadam
Dość enigmatyczne wyjaśnienie
Avatar
Marioneq + 15.11.2022 16:19
statics: { KategoriaFrekwencjiEnum: { Obecnosc: 1, NieobecnoscNieusprawiedliwiona: 2, NieobecnoscUsprawiedliwiona: 3, SpoznienieNieusprawiedliwione: 4, SpoznienieUsprawiedliwione: 5, NieobecnoscZPrzyczynSzkolnych: 6, Zwolnienie: 7, }, StatusUsprawiedliwieniaEnum: { Nowe: 0, Zatwierdzone: 1, Odrzucone: 2 }, FormularzSzablonFormatEnum: { None: 0, Pdf: 1, Doc: 2 }, TypOcenEnum: { BiezaceOpisowe: 1, ZwykleOkresowe: 2, ZwykleRoczne: 3, Specjalne: 4, Zwykle: 5, BiezaceOpisoweArtystyczne: 6, OpisoweKsztalcenieSpecjalne: 7, }, ExcuseAllDayModeEnum: { Off: 0, AllDay: 1, AllDayMultipleLessons: 2 }, StatusZadaniaEnum: { PrzeslaneDoUcznia: 1, OdpowiedzPrzeslana: 2, ProsbaOPonownePrzeslanie: 3, ZadanieZaakceptowane: 4, }, MergeModeEnum: { GenerateToken: 1, MergeAccounts: 2 }, ObywatelstwoEnum: { Obcokrajowiec: 0, Polak: 1, ObcokrajowiecZPeselem: 2 }, RodzajUczniaEnum: { Uczen: 1, Przedszkolak: 2, Wychowanek: 3 }, FunkcjonalnoscEnum: { U_Ucze_I_ZasobyUruchomienieLinku: 61, U_Ucze_I_ZadanieDomoweZDydaktykiUruchomienieLinku: 62, U_Ucze_I_ZadanieDomoweOdpowiedzZDydaktykiUruchomienieLinku: 63, U_Ucze_I_SprawdzianyZDydaktykiUruchomienieLinku: 64, }, }, może się przyda
Avatar
Marioneq + 15.11.2022 16:37
ten model jest ciekawy Ext.define("Vulcan.Efeb.Opiekun.model.planZajec.PrzedmiotyModel", { extend: Vulcan.Common2015.base.model.VModel, fields: [ { name: "Id", type: "int" }, { name: "IdDziennik", type: "int" }, { name: "IdJednostkaSprawozdawcza", type: "int" }, { name: "IdPrzedmiot", type: "int" }, { name: "IdUczen", type: "int" }, { name: "InformacjeArkuszowe", type: "int" }, { name: "Nazwa", type: "string" }, { name: "Pozycja", type: "int" }, ], });
16:39
tylko nie wiem jak zdobyć takie dane
Avatar
patrz gdzie jest użyty
16:39
obok będzie endpoint
Avatar
Marioneq + 15.11.2022 16:43
no właśnie nie mogę nic znaleźć
Avatar
Avatar
Marioneq +
taka ciekawostka Is13 w UczenDziennik.mvc/Get oznacza czy uczeń jest w klasie 1 - 3 szkoły podstawowej
Jak?
17:22
Przecież nic do tego nie prowadzi
17:23
Ty a faktycznie
17:23
Tak jest
Avatar
Marioneq + 15.11.2022 17:33
mam w połowie url
17:33
Przedmioty.mvc
17:33
ale nie wiem co dalej bo Get nie wchodzi
Avatar
Avatar
Marioneq +
Przedmioty.mvc
A post?
Avatar
Marioneq + 15.11.2022 17:42
ale Przedmioty.mvc/Get nie wchodzi
17:44
@Silvarkyy o to chodzi
17:44
Avatar
znam dwa endpointy od przedmiotów
17:44
jeden w podsumowaniu frekwencji
17:44
jeśli mnie pamięć nie myli
Avatar
Marioneq + 15.11.2022 17:45
tak jest
17:45
i w lekcjach zrealizowanych/zaplaniwanych
Avatar
to na pewno nie chodzi o któryś z nich?
17:45
nie wszystkie dane w modelu muszą być wypełnione
Avatar
Marioneq + 15.11.2022 17:46
nwm ale ciekawi mnie że endpoint Przedmioty.mvc istnieje
17:46
tylko trzeba znaleźć dalszą część
17:47
chyba że ten endpoint kiedyś istniał a teraz go zostawili ale wszystko z niego wywalili
17:53
mam jeszcze 2 endpoint który znalazłem PoryLekcji.mvc ale też nie znam końcówki
Avatar
hm, pory lekcji są przecież w uczeńcache
Avatar
Marioneq + 15.11.2022 17:58
no wiem
17:58
dziwne to jest
17:58
Hmm\
Avatar
Marioneq + 15.11.2022 18:02
w app.js nie ma nic o tym endpoincie
Avatar
No nie ma
18:07
Ciekawostka: (edited)
18:07
VULCAN na swoich serwerach trzyma podejrzewam wszystkie kopie aktualizacji
18:10
Dobra nie ważne chyba to przez cache
Avatar
Treść zgłoszenia: io.github.wulkanowy.sdk.scrapper.exception.VulcanException: Invalid column name 'Nieobecnosc'. at io.github.wulkanowy.sdk.scrapper.interceptor.ErrorHandlerTransformerKt.handleErrors(ErrorHandlerTransformer.kt:20) at io.github.wulkanowy.sdk.scrapper.repository.StudentRepository.getTimetableFull(StudentRepository.kt:198)
Avatar
Avatar
mklkj
Treść zgłoszenia: io.github.wulkanowy.sdk.scrapper.exception.VulcanException: Invalid column name 'Nieobecnosc'. at io.github.wulkanowy.sdk.scrapper.interceptor.ErrorHandlerTransformerKt.handleErrors(ErrorHandlerTransformer.kt:20) at io.github.wulkanowy.sdk.scrapper.repository.StudentRepository.getTimetableFull(StudentRepository.kt:198)
W czym?
23:54
I gdzie?
Avatar
getTimetableFull
23:57
czyli przy planie lekcji
Avatar
Czekaj czekaj czy oni tam wjebali nową kolumnę?
00:03
wystarczy, że robią jakiegoś joina po drodze
Avatar
Marioneq + 25.11.2022 21:03
@mklkj jak planujesz zrobić obsługę uczeń+, ja chyba będę to parsować do oddzielnych modeli, a później te modele do jednego modelu dla uczeń+ i uczeń
Avatar
jeszcze nie wiem, ale na pewno muszę mieć osobne modele bo inaczej nie będę się bawił w deserializację
21:04
a potem żmudne mapowanie na pojo
Avatar
Marioneq + 26.11.2022 08:26
słabo jest z uczniami
08:26
bo w uczeń dostawaliśmy więcej danych
08:27
a w uczeń+ jest nie wiele dancyh
08:32
zastanawiam się czy jest sens na końcu parsować do wspólnego modelu
08:33
bo różnice są dość duże w niektórych miejscach
08:37
np. w uczeń+ nie ma semestrów, id ucznia, itd
Avatar
Hmm ciekawe do czego to jest używane
08:52
08:52
W eduone
Avatar
Avatar
Marioneq +
np. w uczeń+ nie ma semestrów, id ucznia, itd
Jak nie ma id ucznia, jak jest
Avatar
Avatar
mklkj
Jak nie ma id ucznia, jak jest
Marioneq + 26.11.2022 09:00
pokaż
09:04
jest jedynie key
09:04
który nie jest id ucznia
09:07
chyba że jest jeszcze jakiś endpoint oprócz context októrym nie wiem
Avatar
ten key to moim zdaniem zawiera id ucznia
09:10
jak je zdekodujesz to wewnątrz jest jakieś duże id, potem powtórzone id dziennika i na końcu jakaś mała liczba
09:10
możliwe, że rodzaj dziennika
Avatar
Marioneq + 26.11.2022 09:10
tak to base64
09:11
można stąd wyciągnąć
09:17
{id_ucznia}-{id_dziennika}-{rodzaj_dziennika}
Avatar
ten rodzaj to nic pewnego
09:17
id ucznia to też takie wydedukowane
Avatar
Marioneq + 26.11.2022 10:21
@mklkj id ucznia się zgadza
10:21
a te 1 nie może znaczyć chyba nic innego
10:23
imię, durgie imię i nazwisko można pewnie wyciągnąć z danych ucznia
Avatar
Marioneq + 26.11.2022 11:52
całkiem dobrze mi idzie
11:52
i myślę że nie będzie trzeba robić oddzielnych modeli
Avatar
Marioneq + 26.11.2022 13:10
hmm tylko jak odróżnić moduł uczeń+ od uczeń w start?
Avatar
Jest inny link na stronie głównej
Avatar
Avatar
Marioneq +
hmm tylko jak odróżnić moduł uczeń+ od uczeń w start?
Prosto
😐 1
Avatar
Avatar
Silvarkyy
Prosto
Wylewam swój gniew na wasze porachunki
Avatar
Marioneq + 27.11.2022 14:02
tak wgl to wydaje mi się że chyba jeśli IdPrzedszkoleDziennik ma wartość inną niż 0 to IdDziennik ma wartość 0
14:03
bo w nowym uczniu + jest tylko jedne id
14:03
+ rodzaj dziennika
Avatar
Marioneq + 02.12.2022 10:07
@mklkj uczeń+ działa teraz w sdk, bo tym co mają eduone działają endpointy do uczeń bez plusa?
Avatar
tak, z tego co wiem to tak
Avatar
Marioneq + 02.12.2022 10:09
hmm a w sumie to jak można uzyskać app_guid, request_verification_token i app_version, bo wydaje mi się że jak user z edoune wejdzie do uczeń to przekieruje go do ucznia+?
Avatar
jeśli by było tak jak mówisz, to wulkanowy by wcale nie działał u takich osób
10:10
a jednak działa
Avatar
Marioneq + 02.12.2022 10:10
no właśnie to było by dziwne że dwa moduły działają
Avatar
no chyba, że działa przez przypadek
10:11
i to przekierowanie faktycznie tam jest i sdk sobie bierze te rzeczy z uczen+ i to działa z endpointami ze starego ucznia xd
Avatar
Marioneq + 02.12.2022 10:11
xDD
10:11
tego się nie spodziewałem
Avatar
mało prawdopodobne, ale możliwe
10:12
bo scraper zawsze będzie podążał za przekierowaniami
10:13
tak jak typowa przeglądarka
Avatar
Marioneq + 02.12.2022 10:16
czyli w sumie na razie można nie zwracać uwagi na uczeń+
10:17
a później jak zablokują dostęp do endpointów z uczeń
10:17
to zająć się tym
Avatar
raczej pasowałoby szybciej
10:17
żeby nie działać w stresie
10:17
bo już raz tak było
10:18
co po nocach siedziałem żeby dodać na szybko wsparcie dla nowego ucznia
10:18
gdzie sdk jeszcze starą wersję obsługiwała
10:18
tą taką co wszystko było w html
Avatar
Marioneq + 02.12.2022 11:10
pamiętam tą wersję
11:10
kiedyś jej używałem
Avatar
jak pojawił się ten nowy to my już w 3 technikum byliśmy
Avatar
Marioneq + 02.12.2022 11:12
no tylko zrobienie obsługi uczeń+ nie jest strasznie łatwe
11:13
bo chciałbym aby dane były dość spójne
11:14
żeby projekt używający sdk nie widział różnicy
11:14
np. w uczeń są semestry i dzienniki z poprzednich lat
11:15
a w uczeń+ nie ma semestrów i jest tylko jeden, aktualny dziennik
Avatar
nieszkodzi
11:17
nadal możesz zwracać listę semestrów, tylko będzie krótsza
11:17
a no i co mówisz, ze nie ma semestrów
11:17
11:17
może nie ma o nich tyle informacji, ale id semestrów są podane, gdzieś przy ocenach z tego co pamiętam
Avatar
Marioneq + 02.12.2022 12:02
a no rzeczywiście
Avatar
Marioneq + 02.12.2022 18:10
robienie sdk idzie dobrze
5.6 KB
Avatar
Czemu te workflowy się wypierdalają na ryj
14:49
Kotlin SDK for VULCAN UONET+. Contribute to wulkanowy/sdk development by creating an account on GitHub.
14:49
Znaczy wywalają na twarz i płaczą
Avatar
masz wszystko napisane drogi pokemonie
12:33
Wytłumaczył by ktoś co to robi?
12:33
Dla osoby która pierwszy raz widzi kotlina
Avatar
lazy to taki myk, żeby nie inicjować tego od razu przy tworzeniu obiektu
12:34
tylko przy pierwszej próbie dostania się do firstStepReturnUrl
12:35
by to ogólnie delegatura a lazy to klasa, która się tą delegacją zajmuje
12:35
bardzo fajny mechanizm
12:38
Super
12:38
A to let
12:39
to na czym wywoływany jest let znajdzie się w it w body tej lambdy
Avatar
DOBRA
Avatar
i ostatecznie to zawartość let zostanie zwrócona
Avatar
To wszystko wyjaśnia
Avatar
taki skrót
12:40
można to napisać inaczej, bardziej klasycznie
Avatar
Bo się zastanawiałem co tam robi ten it
Avatar
joł, drodzy magicy chciałby ktoś pomóc
23:56
gdyż ten syf (aka mój kod)
23:56
zwraca to
23:56
i pytanie czemu nie zwraca moich i tak juz niskich ocen
Avatar
brakuje diary id
Avatar
a tak bardziej po ludzku (edited)
23:57
aka jak to znaleźć
Avatar
jak zrobisz getSemesters() to wszystko znajdziesz
Avatar
getSemesters() zwraca mi całe nic
00:02
;-;
Avatar
no to zrób krok w tył i zobacz co dostajesz w getStudents
00:03
tam też będzie lista semestrów przy okazji
Avatar
to bedzie jeszcze głupsze pytanie, ale który obiekt ma metodę getStudents? na sdk mi wywala błąd ze nie istnieje
Avatar
nie patrzysz na podpowiedzi tylko dosłownie bierzesz to co piszę? xd
00:11
zapomniałem, że tam jest podział na fromHybrid, fromScrapper etc
00:11
tę musisz wywołać
Avatar
aaa, dzięki
00:15
dobra zadziałalo jakoś
00:15
dzięki jeszcze raz za pomoc
Avatar
luzik :)
00:15
co tam w ogóle działasz z tym?
Avatar
ogarnąć mały skrypt pod ściągnięcie statystyk klasy
00:17
tak aby mieć podgląd co się dzieje w mojej klasie
Avatar
technik-informatyk
Avatar
siemanko, używam waszego SDK w projekcie Spring Boot i wszystko działa elegancko ale gdy chcę zbuildować jar ./gradlew build to sypie mi build failed: VulcanAuth-0.0.1-SNAPSHOT/lib/sdk-1.8.1.jar is a duplicate but no duplicate handling strategy has been set. SDK mam w dependencies tak o: implementation("io.github.wulkanowy:sdk:1.8.1") stack nie pomaga :(
Avatar
Jakich repo używasz? Masz jitpacka wpiętego?
Avatar
mavenCentral() maven { url = uri("https://s01.oss.sonatype.org/content/repositories/snapshots/") } maven { url = uri("https://jitpack.io") }
21:09
projekt w Intelij mi sie normalnie odpala w tym run ale chce tera na proda dać jar i mi go nie chce zrobić
Avatar
Masz gdzieś ten projekt publicznie? To bym spróbował zdebugować
Avatar
ElektronPlus/ElektronVulcanAuth
Avatar
Avatar
wybran
ElektronPlus/ElektronVulcanAuth
Wulkanowy bot BOT 13.12.2022 21:11
Aplikacja do autoryzacji uczniów kontem Vulcan
Avatar
Apka do dodawania ucznia do serwerów discord klasowych
Avatar
powinno tu być tyle tego?
Avatar
zależy co rozumiesz przez "powinno" xd
21:23
to że tego tu tyle to spodziewane
21:23
chociaż wolałbym inaczej
21:24
ale jeśli tak jest to znaczy, że sdk ci się pobrało przez jitpacka
21:24
nie udało mi się tam inaczej tego skonfigurować
21:24
w mavencentral nie ma artefaktu build
Avatar
to jak go mogę wywalić
Avatar
o, coś mam
Avatar
Avatar
wybran
to jak go mogę wywalić
otóż wręcz przeciwnie
21:27
zostaw tylko go
21:27
w sensie zamień obecną zależność na ten artefakt
21:29
a tak to nie wiem czemu się tak dzieje
21:29
nikt wcześniej nie miał tu tego problemu xd
Avatar
Avatar
mklkj
a tak to nie wiem czemu się tak dzieje
nie kumam co mam zrobić xd
Avatar
- implementation("io.github.wulkanowy:sdk:1.8.1") + implementation("io.github.wulkanowy.sdk:build:1.8.1")
21:31
u mnie się zbudowało
Avatar
dziękuję pięknie za pomoc :)
Avatar
może gdzieś bliżej świąt spróbuje to ogarnąć tak, żeby było tak jak powinno być
21:33
więc jak będziesz kiedyś upgrade sdk robił to pamiętaj, że ten artefakt może być w kolejnych wersjach niedostępny
Avatar
Avatar
wybran
ElektronPlus/ElektronVulcanAuth
Robisz to dla naszych serwerów discord 😛 (edited)
Avatar
Avatar
Silvarkyy
Robisz to dla naszych serwerów discord 😛 (edited)
no shit sherlock
Avatar
Avatar
Matt
no shit sherlock
Ok
Avatar
przynajmniej ✨ dependency ✨ aktualne
Avatar
Avatar
Matt
przynajmniej ✨ dependency ✨ aktualne
Jak najbardziej
Avatar
To jakieś przykładowe properties? (edited)
Avatar
Wygląda na token discordowy
00:49
Pewnie już dostał na maila info, że gdzieś jego credentiale wyciekły
Avatar
@Elektron Auth
Avatar
Avatar
silent
To jakieś przykładowe properties? (edited)
@wybran to nie twoje przypadkiem?
Avatar
Tak to moje
08:50
Ciekawostka: jak przez przypadek udostępnisz swój token do bota na githubie to github to wykrywa i przez api discorda resetuje ten token
Avatar
{"UczenPseudonim": "RoboT"} 14.12.2022 08:50
client secrety ouath2 też?
🤷‍♂️ 1
Avatar
Przychodzi ci nawet taki dm w sekunde
Avatar
{"UczenPseudonim": "RoboT"} 14.12.2022 08:54
ciekawe czy coś wysyłają jakbym swój token usera wrzucił do repo
Avatar
chyba też
Avatar
sprawdź
15:54
niech ktoś sprawdzi
Avatar
Na prywatne wrzuć
15:54
Powinno zadziałać
Avatar
jakie prywatne
15:54
jak discord miałby znaleźć coś w prywatnym repo
Avatar
To nie discord
15:57
To github scanuje reposy i wysyła requesty do discorda
Avatar
Avatar
wybran
Ciekawostka: jak przez przypadek udostępnisz swój token do bota na githubie to github to wykrywa i przez api discorda resetuje ten token
.
15:57
Kolega tak przynajmniej napisał
Avatar
z tego co wiem to tak nie jest, ale niech mnie ktoś odeśle do źródeł
Avatar
Za to odpowiada GitGuardian
Avatar
Czy Student .studentName zwraca jedno pierwsze imię czy jeśli uczeń ma dwa to oba?
Avatar
odpowiedź brzmi - nie wiem
18:08
na drugie imię jest inne pole
18:08
ale widziałem sytuacje, gdy w tym były oba
Avatar
Avatar
wybran
Czy Student .studentName zwraca jedno pierwsze imię czy jeśli uczeń ma dwa to oba?
Marioneq + 15.12.2022 11:55
tylko pierwsze powinno
11:57
a tak wgl to czy ktoś wie czy w https://uonetplus-uczen.fakelog.cf/powiatwulkanowy/123456/Uczen.mvc/Get w Opiekun1 lub Opiekun2 w FullName jest też podawane drugie imię?
Avatar
Marioneq + 19.12.2022 21:08
w ramach ciekawostki przez przypadek znalazłem endpoint uonetplus-uczen.vulcan.net.pl/symbol/123456/Przedmioty.mvc/Delete
21:08
nie wiem kompletnie do czego jest
Avatar
jak to do czego
21:08
do usuwania przedmiotów hehe
Avatar
Marioneq + 19.12.2022 21:08
mi 429 wywala w tym endpoincie
Avatar
to po vulcanowemu "not authorized"
Avatar
Marioneq + 19.12.2022 21:10
lub cokolwiek innego
21:10
może to być też brak symbolu grupującego
21:10
w url'u
21:14
niech ktoś z kontem rodzica sprawdzi ten endpoint
21:15
bo 429 wywala też u uczniów w endpointach przeznaczonych tylko dla rodziców
21:19
chętnie response zobaczę jak ktoś z kontem rodzica sprawdzi
Avatar
Avatar
Marioneq +
chętnie response zobaczę jak ktoś z kontem rodzica sprawdzi
Masz swojego responsa
21:22
The custom error module does not recognize this error.
Avatar
Marioneq + 19.12.2022 21:54
hmm
21:54
tak samo
Avatar
Marioneq + 20.12.2022 10:18
zrobiłem podstawy docsów uczeń+ na razie jest pobieranie cache, dzienników, semestrów i ocen https://marioneq4958.github.io/uczenplus-docs/
👌 1
Avatar
Marioneq + 22.12.2022 10:46
update: dodałem kilka endpointów i menu
Avatar
@mklkj SDK obsługuje wykrywanie czy konto jest nauczyciela?
11:25
W sensie jak nawet nie ma uczniów
Avatar
Ale to nie ma obecnie sensu
11:25
SDK zwraca uczniów
11:25
Tyle
Avatar
Wiesz przydało by się do tego co @wybran robi
Avatar
hejka, co oznacza error: No supported student found in diaries podczas logowania ucznia, nic to nie psuje ale w konsoli mnie kuje XD
12:15
tylko przy niektórych uczniach ten błąd wyskakuje
Avatar
to sobie zrobiłem taki log message, żeby wiedzieć trochę więcej na temat tego co się dzieje pod spodem
12:26
i w sumie nie wiem czemu dokładnie tak się dzieje
12:27
ale z logów wyłapałem, że są takie różne sytuacje i wolę zwrócić pustą listę na tym etapie zamiast się martwić błędami na etapach kolejnych
12:27
w tej chwili wspieramy takie zwykłe konta uczniów oraz takich z przedszkola
12:28
no i wszystkie, które wpisują się w te same schematy
12:28
jak w semestrach jest nic albo są jakieś dziwne dane to nie wiem co z tym zrobić i sdk też nie wie
Avatar
ej bo moje api po zautoryzowaniu kilkunastu uczniów stwierdziło że koniec działania i teraz każde logowanie vulcan powoduje błąd: Wystąpił nieoczekiwany błąd. Wystąpił błąd aplikacji. Prosimy zalogować się ponownie. Jeśli problem będzie się powtarzał, prosimy o kontakt z serwisem.
Avatar
a przez www działa?
Avatar
ok to nie u mnie, ufff
Avatar
jak ci się takie błędy pokazują to najpierw patrz na www ;)
👍 1
Avatar
ciekawe czy vulcan ma jakiś limit rejestracji z jednego IP, czy nie będzie to dla nich dziwne że scrapperem zaloguje się 1000 uczniów z jednego serwera XD
Avatar
Marioneq + 22.12.2022 12:57
dodałem kolejne endpointy do docsów
Avatar
Avatar
wybran
ciekawe czy vulcan ma jakiś limit rejestracji z jednego IP, czy nie będzie to dla nich dziwne że scrapperem zaloguje się 1000 uczniów z jednego serwera XD
Marioneq + 22.12.2022 12:58
backend będziesz robić?
Avatar
jest zrobiony
12:59
ale to nie do dziennika w aplikacji tylko do autoryzacji uczniów na serwer discord
Avatar
Marioneq + 22.12.2022 13:00
kk
13:00
ze scrapperem będziesz robić? (edited)
Avatar
ElektronPlus/ElektronVulcanAuth
Avatar
Avatar
wybran
ElektronPlus/ElektronVulcanAuth
Wulkanowy bot BOT 22.12.2022 13:11
Aplikacja do autoryzacji uczniów kontem Vulcan
Avatar
Marioneq + 22.12.2022 13:41
ElektronPlus/Vulcan-Auth-Api-Python to to samo czy coś innego?
Avatar
Avatar
Marioneq +
ElektronPlus/Vulcan-Auth-Api-Python to to samo czy coś innego?
Wulkanowy bot BOT 22.12.2022 13:41
API do weryfikacji kont Vulcan, sprawdza czy chodzisz do elektrona i zwraca twoje dane
Avatar
To jest stare w innej bibliotece, nie w wulkanowym i tam się dało tylko logować przez te mobilne tokeny i piny
14:51
I tam w pythonie była tylko autoryzacja vulcan, a discord była w PHP i to było ze sobą połączone. Teraz jest wszystko w jednym, kotlin spring boot
Avatar
dobra, co do sdk to mam w planach trochę poszerzyć możliwości
00:26
i bokiem wpuścić choćby nauczycieli, by mogli korzystać z wiadomości w apce (edited)
00:26
ale trzeba zacząć od podstaw, czyli sdk i logowania
00:27
potrzebuję jakiejś wspólnej nazwy dla tych trzech osób:
  • Uczen
  • Opiekun
  • Pracownik
(edited)
00:27
jakieś propozycje?
Avatar
{"UczenPseudonim": "RoboT"} 23.12.2022 00:36
fella
00:36
guy
00:36
champ
00:36
mate
Avatar
użytkownik?
Avatar
Avatar
mklkj
potrzebuję jakiejś wspólnej nazwy dla tych trzech osób:
  • Uczen
  • Opiekun
  • Pracownik
(edited)
User
09:07
Users
09:07
Użytkownik
09:07
Użytkownicy
09:07
Chyba że chodzi o coś bardziej wymyślnego
Avatar
Użytkownik to ten, co się tam loguje
10:09
Ale użytkownik może być lub mieć dostęp do tych takich różnych ról
Avatar
No i pasi chyba
10:32
Jako wspólna nazwa
Avatar
Trochę mi to nie pasuje
10:51
Będzie się mylić
Avatar
No to co, interesant?
11:16
Średnio pasuje
11:17
O używcy nie wspomnę
Avatar
Myślałem nad tożsamość
11:27
Albo lepiej
11:27
Subject
Avatar
Źle się jakoś kojarzy imo
Avatar
client/customer? ale to nie do końca pasuje
Avatar
Jak już ma być to niech będzie subject
Avatar
Avatar
mklkj
potrzebuję jakiejś wspólnej nazwy dla tych trzech osób:
  • Uczen
  • Opiekun
  • Pracownik
(edited)
School users?
Avatar
🤷‍♂️
15:46
zgaduj
15:46
id się wydaje inkrementować na danej stronie
Avatar
Marioneq + 25.12.2022 15:48
w ogóle to można tego endpointa zaktualizować
15:48
dodali tam chyba dwa pola
15:50
chociaż w sumie jeśli na razie sdk nie obsługuje wysyłania odpowiedzi to są chyba niepotrzebne
Avatar
jeśli chodzi o identyfikatory ról, które się przewijają tu i tam, to, dla ścisłości, do tej pory spotkałem się z takimi:
  • 5 - pracownik
  • 6 - uczeń
  • 7 - rodzic
(edited)
Avatar
siemano, postawiłem ten swój serwer z SDK wulkanowego na serwerach oracle, poza polską i chyba cloudflare vulcana wywala captche error w konsoli przy próbie rejestracji konta: HTML od CF [...]cufs.vulcan.net.pl needs to review the security of your connection before proceeding.
14:35
da się to jakoś obejść?
Avatar
🤷‍♂️
14:36
w apce mamy podobny problem
14:36
a przynajmniej mieliśmy, bo często te błędy widywałem w zgłoszeniach od userów
14:36
cf widocznie traktuje IPki z oracle'a jako potencjalnie "złe"
Avatar
ale lipa
Avatar
obejściem będzie nie stawianie tego na darmowym serwerze
Avatar
Avatar
mklkj
obejściem będzie nie stawianie tego na darmowym serwerze
Albo jakieś proxy z residential ip
15:40
(nie polecam, takie proxy są shady)
21:02
nice changelog
Avatar
w końcu ktoś docenił
21:02
głupio że autogenerate tylko PRy bierze pod uwagę
Avatar
Nieustannie wysyła mi tę samą wiadomość że szkoły. Powiadomienie 15x dziennie o tej samej wiadomości. (...) odczytanie wiadomości bezpośrednio w dzienniki pomogło. Właśnie temat ponownie się powtór...
20:26
powalone
20:26
ale chyba to rozgryzłem
20:26
podziękuj obu braciom (nie wiem czy dobrze odmieniłem) @Daxxxis (edited)
Avatar
braciom?
Avatar
braciom
Avatar
Polski język trudny język
Avatar
mój natywny język to kotlin
20:30
a nie jakiś polski
Avatar
fun main() { println("Dziękuję obu braciom") }
Avatar
brothers.forEach { it.thankYou() }
❤️ 2
Avatar
Marioneq + 23.01.2023 09:00
jeśli szkoła ma włączone punkty to OcenaRoczna i ProponowanaOcenaRoczna w https://uonetplus-uczen.fakelog.cf/powiatwulkanowy/123456/Oceny.mvc/Get powinne być puste?
Avatar
dziwne pytanie
09:17
link prowadzi do miejsca, gdzie te pola są wypełnione
09:17
a że to oceny roczne, to chyba jasne, że nie zawsze będą wypełnione
Avatar
Marioneq + 23.01.2023 09:19
ale chodzi mi o to czy jeśli szkoła ma włączone punkty to w OcenaRoczna i ProponowanaOcenaRoczna będzie zawsze pusto?
Avatar
nie wiem
Avatar
Marioneq + 23.01.2023 09:19
kk
Avatar
{"UczenPseudonim": "RoboT"} 23.01.2023 13:54
które ciasteczka są potrzebne do sesji? (edited)
13:55
wszystkie czy np tylko EfebSsoAuthCookie
13:55
@Marioneq + ty wiesz pewnie
Avatar
nie kombinuj, tylko pakuj wszystkie do słoika
Avatar
{"UczenPseudonim": "RoboT"} 23.01.2023 13:57
ok odpowiedzialem sobie sam
13:57
tylko EfebSsoAuthCookie
13:57
xD
Avatar
może i do sesji potrzebne tylko to
13:57
ale za dużo z tym nie zrobisz
Avatar
{"UczenPseudonim": "RoboT"} 23.01.2023 13:58
tak pytalem bo wydawalo mi sie ze kiedys cos oranz takiego mowil
Avatar
Avatar
mklkj
ale za dużo z tym nie zrobisz
{"UczenPseudonim": "RoboT"} 23.01.2023 13:58
wiem wiem o co ci chodzi
Avatar
on tego potrzebował tylko do zarejestrowania urządzenia
Avatar
{"UczenPseudonim": "RoboT"} 23.01.2023 14:00
chodzi o to ze po przeslaniu certyfikatu dostajesz ten wlasnie EfebSsoAuthCookie i to jest jedyne co potrzebujesz zeby pobrac uonetplus home itp
14:00
bo tam sa jeszcze jakies ASP.NET session id czy inne takie
14:00
ale najwyrazniej nie sa potrzebne
14:00
tak tylko z ciekawosci
Avatar
no spoko, ale robi ci to jakąś różnicę?
Avatar
{"UczenPseudonim": "RoboT"} 23.01.2023 14:00
Nie
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
tak tylko z ciekawosci
{"UczenPseudonim": "RoboT"} 23.01.2023 14:00
^
14:01
dlatego też dupe zawracałem jemu a nie tobie
14:01
:))
14:01
bo on w tym siedzi ciagle nie wiadomo po co
Avatar
Marioneq + 23.01.2023 14:51
tego nie wiedziałem
Avatar
{"UczenPseudonim": "RoboT"} 24.01.2023 19:03
@mklkj sdk wyrzuca NotLoggedInException jak dostanie redirect na tą strone?
19:04
jeśli tak to w ktorym miejscu w kodzie? bo nie umiem coś znaleźć
19:04
jest taka klaska AutoLoginInterceptor
Avatar
{"UczenPseudonim": "RoboT"} 24.01.2023 19:05
to jest to? val loginSelectors = when (loginType) { STANDARD -> doc.select(SELECTOR_STANDARD) ADFS -> doc.select(SELECTOR_ADFS) ADFSLight, ADFSLightCufs, ADFSLightScoped -> doc.select(SELECTOR_ADFS_LIGHT) ADFSCards -> doc.select(SELECTOR_ADFS_CARDS) else -> Elements() } if (loginSelectors.isNotEmpty()) { throw NotLoggedInException("User not logged in") }
19:06
Ok chyba tak
19:06
dzięki
Avatar
{"UczenPseudonim": "RoboT"} 24.01.2023 19:56
val emailAddress = cert.select("[AttributeName=\"emailaddress\"] samlAttributeValue").text() na fakelogu to nie wyrzuca błędu?
19:56
zwraca empty string?
Avatar
Raczej nie rzuca, bo by wszyscy zauważyli
20:21
O dziwo to API jsoupa jest dość "bezpieczne" i zwykle nie rzuca błędami
20:22
Czy niespodziewanymi nullami
22:16
vs
Avatar
{"UczenPseudonim": "RoboT"} 10.02.2023 22:20
huh, może mają to i to
22:20
¯\_(ツ)_/¯
Avatar
ale żeby logout=true takie dziwne przekierowania wymuszał xd
Avatar
Właśnie coś się dosłownie wczoraj zmieniło i nagle część szkół jako startową ma eduone. Kolega miał zapisany w przeglądarce jakiś link i jak w czwartek wszedł to przywitała go strona eduone, ale jak kliknął zaloguj to był redirect do logowania w "normalnym" vulcanie
Avatar
Oranż Metylowy 10.02.2023 23:37
to całe eduone ma zastąpić ten stary panel vulcana?
Avatar
można tak powiedzieć
Avatar
Oranż Metylowy 10.02.2023 23:38
ou
Avatar
Avatar
Bartek
Właśnie coś się dosłownie wczoraj zmieniło i nagle część szkół jako startową ma eduone. Kolega miał zapisany w przeglądarce jakiś link i jak w czwartek wszedł to przywitała go strona eduone, ale jak kliknął zaloguj to był redirect do logowania w "normalnym" vulcanie
{"UczenPseudonim": "RoboT"} 11.02.2023 01:06
o kurde, na moim symbolu też xD
01:06
teraz sprawdzilem
Avatar
halo, czy wy tam jesteście normalni (edited)
😆 1
Avatar
ale czekaj
10:21
czemu NoClassDef
Avatar
pewnie temu samemu co ten dziwny input string
Avatar
znaczy ktoś ewidentnie chciał przetestować apkę i spowodować crasha
10:23
ale nie rozumiem czemu NoClassDef
Avatar
albo niespodziewanie bit przeskoczył i się cały ciąg wywalił
10:23
tak też mogło być
Avatar
fakt
Avatar
a co jeśli w vulcanie bit przeskoczył 😳
Avatar
Z OSTATNIEJ CHWILI! Znamy powód wolnego działa serwerów Vulcan! *dział devops Vulcana w szoku* (edited)
Avatar
potem będzie
11:27
Synu czemu dostałeś jedynkę z polaka
11:28
a wiesz mamo, tak naprawdę dostałem szóstkę ale bit przeskoczył i widać to jako jedynkę
Avatar
nie no tu to musiałyby ze 2 bity przeskoczyć
11:29
to już mniej prawdopodobne
11:29
:)
Avatar
e tam
11:29
szczególik (edited)
Avatar
Avatar
mklkj
nie no tu to musiałyby ze 2 bity przeskoczyć
no to adekwatna sytuacja, ale z piątką
Avatar
Avatar
mklkj
#167
Wulkanowy bot BOT 15.04.2023 21:06
Avatar
Branch z tym powstał ze 3 lata temu
Avatar
Żądany byt Aplikacja nie został odnaleziony
12:08
😕
Avatar
@Marioneq + nie spotkałeś się z tym?
Avatar
newer majnd
20:57
nie wysyłałem wszystkich pól
20:57
głupi json
Avatar
Marioneq + 17.04.2023 17:47
Hmm Nazwa aplikacji pewnie jest zła
17:48
Powinno być DzienniczekPlus2.0
Avatar
okazało się, że po prostu tego nie wysyłałem
Avatar
Avatar
mklkj
głupi json
a to wszystko przez brak encodeDefaults bo jako wartość domyślna miałem to ustawione (edited)
Avatar
Marioneq + 17.04.2023 17:50
Co do register/hebe to sprawdź jak u mnie jest w sdk bo coś się zmieniło jakiś czas temu
17:50
Chyba coś związanego z wiadomości tam było
17:50
Jakiś parametr
Avatar
jeszcze do tego nie doszedłem xd
17:51
i nie wiem czy teraz dojdę
17:52
chciałem tylko pobieżnie ogarnąć jakie zmiany będą w sdk potrzebne gdybyśmy chcieli jednak pełne wsparcie dla hebe wprowadzić
17:52
i niby za dużych nie trzeba
Avatar
Marioneq + 26.04.2023 18:02
takie info: w zmianie planu mogą być dwa nawiasy
18:03
sdk robi tak jakby zawsze miał być tylko jeden
Avatar
to prawda
18:07
bo wychodzimy z założenia, że więcej nawiasów to chyba nauczyciel musiał wpisać
Avatar
Marioneq + 26.04.2023 18:13
i teraz jest 1 ) ( 2
Avatar
to chyba jakiś inny błąd
Avatar
Marioneq + 26.04.2023 18:17
na stronie jest ( 1 ) ( 2 )
Avatar
daj cały przykład
Avatar
Marioneq + 26.04.2023 18:48
(nieobecny oddział: coś np wycieczka) (nieobecność nauczyciela: uczniowie przychodzą później)
Avatar
rzucisz jeszcze jaki jest html tego?
18:49
bo nie wiem jak to inaczej zrobić
Avatar
{"UczenPseudonim": "RoboT"} 26.04.2023 18:51
u mnie w sdk od poczatku dobrze to bylo handlowane ;)
18:51
rest in peace
Avatar
Marioneq + 26.04.2023 18:51
<div data-qoverflow="true" class="x-body-el x-gridcell-body-el" id="ext-element-2827" data-qtip=""><div><span class="x-treelabel-ppl x-treelabel-inv">Przedmiot [Grupa]</span><span class="x-treelabel-ppl x-treelabel-inv"> </span><span class="x-treelabel-ppl x-treelabel-inv"> 1</span><span class="x-treelabel-ppl x-treelabel-inv"> Kowalski Jan</span>(nieobecny oddział: coś np wycieczka)<br>(nieobecność nauczyciela: uczniowie przychodzą później)</div></div> (edited)
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
u mnie w sdk od poczatku dobrze to bylo handlowane ;)
Marioneq + 26.04.2023 18:53
szkoda że nie rozwijane już
Avatar
{"UczenPseudonim": "RoboT"} 26.04.2023 18:53
za szybko sie wypalam
18:53
¯\_(ツ)_/¯
Avatar
Marioneq + 26.04.2023 18:54
ja staram się za dużo czasu nie siedzieć nad jakimś projektem
18:54
i w mairę działa
Avatar
może macie zbyt wygórowane oczekiwania
18:55
ja tam ciągle to klepie i jeszcze się tlę
18:55
ogień się tli
18:55
<div> <span class="x-treelabel-ppl x-treelabel-inv">Przedmiot [Grupa]</span> <span class="x-treelabel-ppl x-treelabel-inv"></span> <span class="x-treelabel-ppl x-treelabel-inv">1</span> <span class="x-treelabel-ppl x-treelabel-inv">Kowalski Jan</span>(nieobecny oddział: coś np wycieczka) <br>(nieobecność nauczyciela: uczniowie przychodzą później)</div> </div>
Avatar
{"UczenPseudonim": "RoboT"} 26.04.2023 18:55
ja z kazdym projektem mam tak ze pare tygodni hype a potem nagle umiera i mi sie odechciewa
Avatar
Marioneq + 26.04.2023 18:55
jak się nie chce to lepiej na siłę nie robić
Avatar
Avatar
mklkj
<div> <span class="x-treelabel-ppl x-treelabel-inv">Przedmiot [Grupa]</span> <span class="x-treelabel-ppl x-treelabel-inv"></span> <span class="x-treelabel-ppl x-treelabel-inv">1</span> <span class="x-treelabel-ppl x-treelabel-inv">Kowalski Jan</span>(nieobecny oddział: coś np wycieczka) <br>(nieobecność nauczyciela: uczniowie przychodzą później)</div> </div>
@Marioneq + no i co tutaj lepiej możemy zrobić? bo ja nie widzę bezpiecznego rozwiązania
Avatar
{"UczenPseudonim": "RoboT"} 26.04.2023 18:56
ja chyba wywalalem nawiasy i po przecinku te zmiany robilem (edited)
18:56
bo czytelniej wygladalo
Avatar
to chyba jest możliwe, tylko to trzeba ostrożnie
18:57
bo teraz chyba ciągle jest bug w apce że potrafi niespodziewanie takie opisy odwrócić xd
18:57
bo nazwiska zaczęliśmy odwracać z imieniami nauczycieli (edited)
Avatar
{"UczenPseudonim": "RoboT"} 26.04.2023 18:58
return "; ".join(comment.removeprefix("(").removesuffix(")").split(")("))
18:58
takie cos mialem
18:58
nie wiem czy to nadal by dzialalo
18:58
ale wtedy bylo good enough
Avatar
Marioneq + 29.04.2023 19:01
widzę że hebe idzie
Avatar
em chcę dodać support pod jadłospis
Avatar
Marioneq + 29.04.2023 19:03
masz dostęp?
Avatar
tak mam dostęp do jadłospisu
19:04
co prawda nie chodzę na obiady w szkole, więc za dużo w kategorii opłaty nie zobaczę
19:04
ale sam w sobie jadłospis mam
Avatar
Marioneq + 29.04.2023 19:04
na początku możesz wejść w uonetplus uczen i zobaczyć requesty z jadłospisu
Avatar
podesłać je tu?
Avatar
Marioneq + 29.04.2023 19:05
możesz
Avatar
request to jest dosłownie tyle na https://uonetplus-uczen.vulcan.net.pl/XYZ/XYZ/Jadlospis.mvc/Get { "data": "2023-04-27T00:00:00" } (edited)
19:07
a response...
19:07
Avatar
Marioneq + 29.04.2023 19:08
szczegółowe to
19:08
dużo danych
Avatar
nooo bardzo
19:09
i tak do każdego dnia
19:09
pewnie mają do tego generator bo nie wierzę że ktoś to ręcznie wylicza i wpisuje
Avatar
Marioneq + 29.04.2023 19:09
możesz jeszcze na hebe zobaczyć
19:10
ale to trudniej będzie
Avatar
sorki że o takie rzeczy pytam (ale ja tak pół na pół w temacie) - hebe to jest api mobilne cn?
Avatar
Marioneq + 29.04.2023 19:10
tak
Avatar
okej to tutaj jest niewielki problem że już raz próbowałem to zczytać i mi się nie udało
19:11
gdzieś tu z kimś o tym pisałem
19:11
ale totalnie nie wiem na jakim kanale i kiedy
19:11
o
Avatar
Marioneq + 29.04.2023 19:13
możesz spróbować na emulatorze
Avatar
Jadłospis? Mamy to już udokumentowane
19:22
Chyba w issue nawet wrzuciłem
19:23
A nie
19:23
Sorry
19:23
Odwołuję
Avatar
w issues są opłaty aktualnie
Avatar
Avatar
Marioneq +
możesz spróbować na emulatorze
mam to odpalone tylko co dalej
19:26
bo w wiresharku te requesty są zaszyfrowane (chyba?)
19:30
nvm
Avatar
okej to robi dwa requesty (edited)
Avatar
Marioneq + 29.04.2023 19:47
to to już wiadomo
19:48
bardziej interesuje metoda, treść żądania i terść odpowiedzi
Avatar
wiem wiem
19:52
request (edited)
19:52
i teraz response jest bardzo długi
19:52
ogólnie tak to wygląda (edited)
19:53
i teraz w envelope
19:53
są obiekty takie o (edited)
19:54
nie widzę żadnych informacji o alergenach
Avatar
Marioneq + 29.04.2023 19:54
możesz korzystając z np insomni zobaczyć co będzie jak dasz full=true?
Avatar
mam nadzieję że nie zetnę serwerów
19:56
500 posiłków ma 11505 linijek
Avatar
Marioneq + 29.04.2023 19:56
możesz dać pageSize=1
Avatar
dobry pomysł
19:56
to chwilka
19:57
zanim jeszcze ten drugi request jest trochę krótszy i chyba nic nie robi (edited)
Avatar
Marioneq + 29.04.2023 19:58
niee
19:58
deleted zwraca id usuniętych
19:58
ten drugi request
19:58
ma być
Avatar
co ile można wymuszać synchronizację w aplikacji?
Avatar
Marioneq + 29.04.2023 20:14
nwm
Avatar
to tak czy tak muszę na chwilę odejść
20:15
jak wrócę to pewnie będzie już można
20:15
to wtedy napiszę
20:16
jak na razie ustawiłem sobie breakpointa w http toolkicie że jak wyjdzie request na /eatery to mi da możliwość edycji
Avatar
Marioneq + 29.04.2023 21:13
a to nie było lepiej odczytać dane requesta i samemu wysłać?>
Avatar
przekopiowałem wszystko 1:1 i dostałem błąd
Avatar
Marioneq + 29.04.2023 21:13
jaki?
21:13
hmm
Avatar
ten message to jest zakodowany url (no prawie)
Avatar
Marioneq + 29.04.2023 21:14
wiem
21:14
godzinę zmień
21:14
tam weryfikują
21:15
mi chyba jak o 5 minut inny czas dałem to już nie przechodziło
Avatar
okej czyli muszę zmienić czas do przodu ale o mniej niż 5 minut?
Avatar
Marioneq + 29.04.2023 21:16
daj jak najbardziej dasz radę aktualną
Avatar
okej
21:18
albo coś źle kopiuję albo nie wiem
Avatar
Marioneq + 29.04.2023 21:19
pokaż requesta bez danych wrażliwych
Avatar
to chwilka
21:21
tutaj chyba nic wrażliwego nie ma
21:21
oprócz miasta
Avatar
Marioneq + 29.04.2023 21:22
źle napisałem chodziło mi o podpis\
Avatar
signature?
Avatar
Marioneq + 29.04.2023 21:22
ta
Avatar
co tam jest do zamazania? keyId?
Avatar
Marioneq + 29.04.2023 21:23
no
21:23
ejej
Avatar
Marioneq + 29.04.2023 21:23
co to z vdate
Avatar
nie mam pojęcia
Avatar
Marioneq + 29.04.2023 21:23
aktualna miała być
Avatar
próbowałem też wysłać z tym co aplikacja wysyła
21:23
to jest o dwie godziny cofnięte
Avatar
Marioneq + 29.04.2023 21:24
to weź tam zmień
21:24
bo oni to weryfikują
Avatar
czyli jeżeli dam 19:23:59 powinno być okej?
21:24
jest 21:24:33
Avatar
Marioneq + 29.04.2023 21:25
a nie
Avatar
no to dałem i dalej jest problem
Avatar
Marioneq + 29.04.2023 21:25
to czekaj
21:25
ehh
21:26
zapomniałem że do signature jest data potrzebna aktualna
21:26
ogarniasz w miarę pythona?
Avatar
no całkiem całkiem
Avatar
Marioneq + 29.04.2023 21:26
możesz skorzystać z wulkanowy/sdk-python
Avatar
Avatar
Marioneq +
możesz skorzystać z wulkanowy/sdk-python
Wulkanowy bot BOT 29.04.2023 21:26
Unofficial Python SDK for Vulcan UONET+
Avatar
Marioneq + 29.04.2023 21:27
powiem ci co robić
👌 1
Avatar
a czekaj hipotetyczne pytanie
21:27
gdybym zatrzymał requesta
21:27
skopiował dane
21:27
i wysłał
21:27
powinno przejść?
Avatar
Marioneq + 29.04.2023 21:27
chyba tak
Avatar
bo do teraz brałem z requestów już wysłanych
21:28
okej
21:28
spróbuję jeszcze tak
21:28
a jak nie to mi pokażesz co zrobić
21:31
przy nauczycielach zadziałało
21:32
to teraz poczekam aż mi aplikacja odblokuje synchronizację jadłospisu
21:37
ja jeszcze z/w na dłuższą chwilę
21:37
sorki
21:37
trochę zabiegany wieczór
Avatar
screeny usunąłem bo trochę za dużo danych tam było żeby publicznie wszystko było widoczne
22:36
(mam wszystkiego kopię)
Avatar
@mklkj sorki że nie ogarnąłem, ale już widzę że jeszcze apiDump muszę dla sdk-scrapper odpalić
20:13
kojarzysz może czy jest coś jeszcze co muszę zrobić
20:13
bo nie chcę po jednym commicie całych akcji od nowa triggerować i waszego czasu marnować :/
Avatar
Zrób tak, żeby całe gradlew check przechodziło
20:20
I będzie git
Avatar
ok ok
Avatar
Czemu wersja 2.0.0 wyrzuca taki błąd przy logowaniu używając getStudentsFromScrapper
Avatar
patrz, tam jest no such method
15:57
z okazji v2 zmieniłem trochę publiczne API
15:58
eraz jest tylko getUserSubjectsFromScrapper
15:58
kuuurde, zapomniałem zmienić pozostałe metody
Avatar
dzięki, jeszcze tylko skąd wziąć diaryid?
Avatar
ta nowa metoda daje ci wszystkie rzeczy od razu
16:09
masz taką całą kaskadę rzeczy
16:10
symbol -> szkoła -> uczeń -> semestr (w którym jest diary id)
Avatar
dzięki wielkie
Avatar
to akurat się tak bardzo nie zmieniło
16:10
wcześniej było w zasadzie tak samo
Avatar
Marioneq + 10.05.2023 17:44
zastępstwo: Nauczyciel Kowalski Jan Jan Kowalski
17:44
zaraz html'a wyślę
17:48
<div data-qoverflow="true" class="x-body-el x-gridcell-body-el" id="ext-element-1894" data-qtip=""><div><span class=""> Matematyka</span> <span class="">305</span><span class="">Kowalski Jan</span>(zastępstwo: Kowalski Jan)</div></div>
Avatar
trzeba u nas w końcu ten asReversed() wywalić i będzie git
Avatar
A to tak musi być bo to denerwuje jak przychodzi powiadomienie zmiana nauczyciela z Kowalski Jan na Jan Kowalski?
Avatar
no właśnie o to chodzi, że w końcu byśmy to naprawili (edited)
Avatar
Aaaaa no to byłoby git
17:51
A i ja mam jeszcze pytanie czy dałoby się gdzieś wpisać kto jest dyżurnym w klasie czy nie za bardzo? (edited)
Avatar
a widziałeś takie coś gdzieś w dzienniku?
17:52
wulkanowy może pokazać tylko rzeczy, które widzisz na stronie www dziennika
Avatar
No nie ale przydatne by to było
Avatar
jeśli tam tego nie ma to nie wyczarujemy
Avatar
PiotrusiemJestem 20.05.2023 18:36
Exception in thread "main" io.github.wulkanowy.sdk.scrapper.exception.VulcanException: HTTP Error 404. Wystąpił nieoczekiwany wyjątek. Jeśli problem będzie się powtarzał prosimy o kontakt z serwisem. at io.github.wulkanowy.sdk.scrapper.interceptor.ErrorInterceptor.checkForError(ErrorInterceptor.kt:43) at io.github.wulkanowy.sdk.scrapper.interceptor.ErrorInterceptor.intercept(ErrorInterceptor.kt:34) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) at java.base/java.lang.Thread.run(Thread.java:831) implementation ("io.github.wulkanowy:sdk:1.9.2") implementation("com.squareup.okhttp3:okhttp:4.10.0") fun login(email: String, password: String): Sdk = runBlocking { val student = sdk.getStudentsFromScrapper( email = email, password = password, scrapperBaseUrl = "https://vulcan.net.pl/", symbol = "moj_powiacik" ).single() sdk.apply { mode = Sdk.Mode.SCRAPPER loginType = Sdk.ScrapperLoginType.STANDARD studentId = student.studentId classId = student.classId schoolSymbol = student.schoolSymbol scrapperBaseUrl = "https://vulcan.net.pl/" diaryId = student.semesters[0].diaryId } } Mam pytanie dlaczego taki błąd mi wyrzuca? Czy wersja API Sdk się zmieniła i bibliotek?
Avatar
patrz tu
18:37
musisz zaktualizować
18:38
bo na niższych niż 2.x.x pierwsze logowanie już nie działa
Avatar
PiotrusiemJestem 20.05.2023 18:39
rozumiem, bo akurat nigdy nie aktualizowałem i powróciłem po czasie do projektu i nagle błąd a słyszałem że Vulcan coś zmienia
18:39
a jeżeli chodzi o pobieranie studenta wiki wulkanowego jest odświeżone pod najnowszą implementację?
18:40
fun login(email: String, password: String): Sdk = runBlocking { val student = sdk.getUserSubjectsFromScrapper( email = email, password = password, scrapperBaseUrl = "https://vulcan.net.pl/", symbol = "powiatdabrowski" ) sdk.apply { mode = Sdk.Mode.SCRAPPER loginType = Sdk.ScrapperLoginType.STANDARD studentId = student.studentId classId = student.classId schoolSymbol = student.schoolSymbol scrapperBaseUrl = "https://vulcan.net.pl/" diaryId = student.semesters[0].diaryId } } (edited)
18:41
bo widzę że już w API się zmieniło coś
Avatar
tak, zrobiłem parę zmian przy okazji v2
18:41
ale fakt, wiki jest niezaktualizowane
18:42
w każdym razie oprócz samego wyciągania studentów to tak dużo się nie zmieniło
18:42
teraz uczniów pobierzesz przez getUserSubjectsFromScrapper()
18:43
i to ci zwróci RegisterUser, tam znajdziesz RegisterSymbol, w nim RegisterUnit i tam RegisterStudent lub RegisterEmployee (więc teoretycznie można poznać, że tam gdzieś konto pracownika nawet jest)
18:44
taka drabinka była potrzebna przy zmianach z okazji 1.9.0 wulkanowego, a że nie ma sensu utrzymywać dwóch różnych sposobów pobierania uczniów to wywaliłem ten stary
18:44
oprócz tego to nie ma chyba innych różnic
18:44
może oprócz unifikacji metod do pobierania planu lekcji czy ocen
Avatar
PiotrusiemJestem 20.05.2023 18:47
po uzyskaniu RegisterUser z getUserSubjectsFromScrapper nie moge już uzyskać bezposrednio classId lub studentId jak w dawnych wersjach tak?
Avatar
Avatar
mklkj
i to ci zwróci RegisterUser, tam znajdziesz RegisterSymbol, w nim RegisterUnit i tam RegisterStudent lub RegisterEmployee (więc teoretycznie można poznać, że tam gdzieś konto pracownika nawet jest)
możesz
18:48
do tego to jest jedyny sposób
Avatar
Avatar
PiotrusiemJestem
fun login(email: String, password: String): Sdk = runBlocking { val student = sdk.getUserSubjectsFromScrapper( email = email, password = password, scrapperBaseUrl = "https://vulcan.net.pl/", symbol = "powiatdabrowski" ) sdk.apply { mode = Sdk.Mode.SCRAPPER loginType = Sdk.ScrapperLoginType.STANDARD studentId = student.studentId classId = student.classId schoolSymbol = student.schoolSymbol scrapperBaseUrl = "https://vulcan.net.pl/" diaryId = student.semesters[0].diaryId } } (edited)
PiotrusiemJestem 20.05.2023 18:49
odnoszac się w taki sam sposób?
Avatar
nie, tamto już nie zadziała przecież
18:50
getStudentsFromScrapper już nie istnieje
18:50
teraz jest getUserSubjectsFromScrapper
Avatar
PiotrusiemJestem 20.05.2023 18:51
a przepraszam nie zaktualizowałem
18:53
w podany teraz powyzej sposob juz zaktualizowany
Avatar
~ ❯❯❯ curl -sX POST https://uonetplus-uczen.vulcan.net.pl/Default/123456/UczenCache.mvc/Get -H "Content-Type: application/json" -d '{}' | jq { "success": false, "feedback": { "Handled": false, "FType": "Error", "Message": "Begin failed with SQL exception", "ExceptionType": null, "ExceptionMessage": "", "InnerExceptionMessage": "", "Action": null, "data": null, "success": false, "requestId": null } } dziwne
Avatar
mam mały problem - nie ma aktualnego poradnika do sdk. Przez brak owego poradnika pracowanie z sdk z punktu osoby która nie spędziła jeszcze dużo czasu na zaznajomieniem się z sdk jest bardzo trudne. Można zadawać pytania na tym kanale oczywiście, ale jest ich zwykle bardzo dużo. Możliwe że niektóre lub nawet większość pytań zostało odpowiedzianym na tym kanale, ale wyszukiwanie ich w multum wiadomości jest praktycznie niemożliwe. Reasumując kwintesencję tematu, fajnie by było jakbyście napisali nowy poradnik
Avatar
przyznaję się, moja wina
18:45
na obronę powiem, że myślałem, że nikt z tego sdk nie korzysta oprócz nas xd
18:46
ale to prawda, dokumentacja bardzo by się przydała
18:46
mogę zrobić w wolnej chwili jakiegoś cook booka, tylko nie wiem jakie tematy pokryć
18:47
bo wiadomo, z mojej perspektywy to jest wszystko banalne i w ogóle, a nie wiem co komuś kto nie wie jak to działa jest tak naprawdę potrzebne
18:47
(część metod pobierających dane to ostatecznie zwykłe wywołujesz i dostajesz listę obiektów)
18:50
@Miki masz jakieś konkretne oczekiwania/na czym najbardziej ci zależy co do takiego poradnika?
Avatar
szczerze to troche wszystkiego, jestem dość zielony jeżeli chodzi o kotlin, ale z doświadczenia kilku osób których znam wiem, że brak dokumentacji jest dość dużym problemem u nich. Nie jest łatwo napisać całą dokumentację więc bym był bardzo zadowolony gdyby tylko nawet te bardziej podstawowe tematy były zaktualizowane
Avatar
@Miki tak znać co o tym myślisz
Avatar
Klarownie napisane, w szczególności przykład z ocenami
Avatar
ale co fakt to fakt, chyba nie byłem do końca świadomy jak skomplikowane jest użycie tego sdk xd
10:59
bo czasem to potrafi zwracać pustą listę, a innym razem jakiś nic niemówiący błąd
Avatar
Ktoś wie czy Vulcan rzuca 403 z połączeń spoza Polski? Na moim komputerze wszystko działa, a na serwerze od oracle w paryżu mam INFO: <-- 403 https://cufs.vulcan.net.pl/Default/Account/LogOn (49ms, unknown-length body)
Avatar
Nic takiego nie kojarzę i raczej nie powinno się tak dziać
Avatar
Ok, dzięki za odpowiedź
Avatar
Witam, mam pytanie. Co dokładnie może oznaczać ten błąd Exception in thread "main" io.github.wulkanowy.sdk.scrapper.exception.ScrapperException: Class id is not set Class ID jest wymagane podczas inicjalizacji połączenia?
13:27
Pytam ponieważ nigdzie w adnotacji nie znalazłem o tym informacji
13:29
class id jest wymagane tylko do pobrania listy semestrów (edited)
13:30
a znajdziesz je w obiekcie RegisterStudent (w RegisterUnit.subjects)
Avatar
Jasne dzięki wielkie Exception in thread "main" java.lang.IllegalArgumentException: Expected URL scheme 'http' or 'https' but no scheme was found for /00037... a taki błąd z czym może być związany?
Avatar
co ustawiłeś w scrapperBaseUrl?
13:37
tam musi być coś w stylu "https://vulcan.net.pl/"
Avatar
val registerUser: RegisterUser = sdk.getUserSubjectsFromScrapper( email = userEmail, password = userPassword, scrapperBaseUrl = "https://vulcan.net.pl/", symbol = "powiat" ) (edited)
Avatar
i z dokładnie tego miejsca dostajesz taki wyjątek?
13:52
pokażesz cały stack trace?
Avatar
fun getGrades(): Grades = runBlocking { return@runBlocking sdk.getGrades(sdk.getSemesters()[1].semesterId) }
14:15
dokladnie tutaj zwraca
14:15
wyjatek
14:17
daj pełny przykład
14:17
no i jak pisałem - pokaż cały stack trace z tego wyjątku
Avatar
private val sdk = Sdk() fun login(userEmail: String, userPassword: String): Unit = runBlocking { val registerUser: RegisterUser = sdk.getUserSubjectsFromScrapper( email = userEmail, password = userPassword, scrapperBaseUrl = "https://vulcan.net.pl/", symbol = "powiat" ) val registerSymbol = registerUser.symbols .filter { it.schools.isNotEmpty() } .first { it.schools.all { school -> school.subjects.isNotEmpty() } } val registerUnit = registerSymbol.schools.first() val registerStudent = registerUnit.subjects.filterIsInstance<RegisterStudent>().first() val semester = registerStudent.semesters.last() sdk.apply { email = userEmail password = userPassword scrapperBaseUrl = "https://vulcan.net.pl/" loginType = Sdk.ScrapperLoginType.valueOf(registerUser.loginType?.name!!) symbol = registerSymbol.symbol schoolSymbol = registerUnit.schoolId studentId = registerStudent.studentId diaryId = semester.diaryId classId = registerStudent.classId } } (edited)
Avatar
no to to wygląda jak przykład z docsów
Avatar
tak ponieważ chciałem pierw zobaczyć czy działa i później utworzyć sobie małe API przy użyciu runBlocking do obsługi javy
Avatar
no spoko
14:19
fun getSubjects() : List<Subject> = runBlocking { return@runBlocking sdk.getSubjects() }
14:19
juz normalnie dziala
Avatar
tylko pytam o pełny przykład, taki żebym mógł odtworzyć ten problem u siebie
14:19
w sensie wiesz, kopiuję kawałek kodu, wklejam i widzę ten sam błąd co u ciebie
Avatar
to już dam ci całość
14:22
class Vulcan { private val sdk = Sdk() fun login(userEmail: String, userPassword: String): Unit = runBlocking { val registerUser: RegisterUser = sdk.getUserSubjectsFromScrapper( email = userEmail, password = userPassword, scrapperBaseUrl = "https://vulcan.net.pl/", symbol = "powiatdabrowski" ) val registerSymbol = registerUser.symbols .filter { it.schools.isNotEmpty() } .first { it.schools.all { school -> school.subjects.isNotEmpty() } } val registerUnit = registerSymbol.schools.first() val registerStudent = registerUnit.subjects.filterIsInstance<RegisterStudent>().first() val semester = registerStudent.semesters.last() sdk.apply { email = userEmail password = userPassword scrapperBaseUrl = "https://vulcan.net.pl/" loginType = Sdk.ScrapperLoginType.valueOf(registerUser.loginType?.name!!) symbol = registerSymbol.symbol schoolSymbol = registerUnit.schoolId studentId = registerStudent.studentId diaryId = semester.diaryId classId = registerStudent.classId } } fun getInformation() : StudentInfo = runBlocking { return@runBlocking sdk.getStudentInfo() } fun getGrades(): Grades = runBlocking { return@runBlocking sdk.getGrades(sdk.getSemesters()[1].semesterId) } fun getSubjects() : List<Subject> = runBlocking { return@runBlocking sdk.getSubjects() } } private final Vulcan vulcan = new Vulcan(); public Application() { vulcan.login(System.getenv("MAIL"), System.getenv("PASSWD")); vulcan.getGrades(); }
14:23
public static void main(String[] args) { new Application(); LockSupport.park(); }
Avatar
zrobiłem taki test https://hastebin.cf/tevepupudu.kt i przechodzi bez problemu
Avatar
Avatar
Piotrek
Jasne dzięki wielkie Exception in thread "main" java.lang.IllegalArgumentException: Expected URL scheme 'http' or 'https' but no scheme was found for /00037... a taki błąd z czym może być związany?
pokaż stacktrace bo nie mogę tego odtworzyć
Avatar
Exception in thread "main" java.lang.IllegalArgumentException: Expected URL scheme 'http' or 'https' but no scheme was found for /00037... at okhttp3.HttpUrl$Builder.parse$okhttp(HttpUrl.kt:1261) at okhttp3.HttpUrl$Companion.get(HttpUrl.kt:1634) at okhttp3.HttpUrl.get(HttpUrl.kt) at retrofit2.Retrofit$Builder.baseUrl(Retrofit.java:506) at io.github.wulkanowy.sdk.hebe.repository.RepositoryManager.getStudentRepository(RepositoryManager.kt:54) at io.github.wulkanowy.sdk.hebe.Hebe$studentRepository$2.invoke(Hebe.kt:83) at io.github.wulkanowy.sdk.hebe.Hebe$studentRepository$2.invoke(Hebe.kt:82) at io.github.wulkanowy.sdk.hebe.ResettableLazy$makeInitBlock$1.invoke(ResettableLazyManager.kt:46) at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) at io.github.wulkanowy.sdk.hebe.ResettableLazy.getValue(ResettableLazyManager.kt:36) at io.github.wulkanowy.sdk.hebe.Hebe.getStudentRepository(Hebe.kt:82) at io.github.wulkanowy.sdk.hebe.Hebe.getGrades(Hebe.kt:124) at io.github.wulkanowy.sdk.Sdk$getGrades$2.invokeSuspend(Sdk.kt:379) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:100) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
Avatar
ciekawe
14:41
skąd tam się hebe wzięło?
14:41
hebe raczej nie zalecałbym używać obecnie
Avatar
nie korzystam wlasnie z HEBE
14:41
korzystam 1:1 z tego co wyslalem
14:42
o cholercia
14:42
chyba wiem ocb
Avatar
Avatar
Piotrek
korzystam 1:1 z tego co wyslalem
to niemożliwe
14:42
czegoś na pewno nie pokazałeś
Avatar
a nie jednak nie jednak nie jestem pewien
Avatar
Avatar
mklkj
czegoś na pewno nie pokazałeś
zabij mnie ale wysłałem wszystko 1:1
14:44
nie no, spróbuj zrobić nowy projekt
14:45
zrób to samo
14:45
zrób repo na gh czy coś
Avatar
chyba ze walidacja cachu?
Avatar
nie wiem, możesz spróbować wszystko wyczyścić
Avatar
bo IJ też ma odklejki czasami
Avatar
dalej to samo XD
15:09
po inwalidacji cachu i nowym projekcie
15:09
skąd się to HEBE wzielo
Avatar
wrzuć ten nowy projekt na githuba
15:09
może jakiś side effect że używasz tego z javy
15:09
ciężko powiedzieć
15:09
nigdy nie testowałem tego pod tym kątem
Avatar
2.0.6?
15:10
czy snpashot 2.0.7
15:10
wersja sdk
Avatar
nie ma znaczenia
15:10
lepiej 2.0.6
Avatar
nawet wywołanie po stronie kotlina
15:16
dalej ten wyjatek zwraca
Avatar
tak jak pisałem - u mnie tego problemu nie ma
15:16
musisz pokazać reprodukowalny przykład (repo na gh proponuję) żebym mógł coś z tym zrobić
Avatar
juz ci wrzuce
Avatar
Marioneq + 29.05.2023 19:01
@mklkj jak coś tam z hebe robisz to możesz zaktualizować pobieranie uczniów, teraz się dodaje ?mode=2 do url
Avatar
teraz raczej kombinuję z eduOne
19:02
no i hebe to nie wiem jak ugryć bo ono kompletnie mi tu nie pasuje do niczego
Avatar
Marioneq + 29.05.2023 19:06
możesz po dacie ręcznie sortować
Avatar
co sortować
Avatar
Marioneq + 29.05.2023 19:07
no dane
Avatar
sortowanie to jest najmniejszy problem
19:07
bardziej mam problem z pobieraniem danych
19:08
wulkanowy sobie pobiera zawsze wycinki okresów, typu tydzień/miesiąc
19:08
w hebe nie widzę sposobu żeby np. pobrać sprawdziany tylko dla pierwszego tygodnia marca
Avatar
Marioneq + 29.05.2023 19:09
możesz pobrać i znaleźć te z okresu jaki sobie chcesz
Avatar
no mogę
19:09
ale wtedy to hebe zajedziemy
Avatar
Marioneq + 29.05.2023 19:10
trochę tak
Avatar
w sprawdzianach to jeszcze nie taki problem
19:10
ale plan lekcji czy frekwencja to by była orana jak pole na wiosnę
Avatar
Marioneq + 29.05.2023 19:10
niee
19:10
w planie czy frekwencji to masz pole date from i date to
19:11
z tego co pamiętam
19:12
Unofficial Python SDK for Vulcan UONET+. Contribute to wulkanowy/sdk-python development by creating an account on GitHub.
19:12
tam nie ma problemu
Avatar
Avatar
Marioneq +
@mklkj jak coś tam z hebe robisz to możesz zaktualizować pobieranie uczniów, teraz się dodaje ?mode=2 do url
co ten mode 2 w ogóle robi? (edited)
Avatar
Marioneq + 29.05.2023 19:40
nie masz MEETINGS w capabilities + dostajesz nową listę skrzynek wychowawców
Avatar
PiotrusiemJestem 02.06.2023 12:51
Exception in thread "main" io.github.wulkanowy.sdk.scrapper.exception.ScrapperException: 404: at io.github.wulkanowy.sdk.scrapper.interceptor.HttpErrorInterceptor.intercept(HttpErrorInterceptor.kt:19) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at io.github.wulkanowy.sdk.scrapper.interceptor.UserAgentInterceptor.intercept(UserAgentInterceptor.kt:35) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at io.github.wulkanowy.sdk.scrapper.interceptor.AutoLoginInterceptor.intercept(AutoLoginInterceptor.kt:59) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at io.github.wulkanowy.sdk.scrapper.interceptor.ErrorInterceptor.intercept(ErrorInterceptor.kt:31) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) at java.base/java.lang.Thread.run(Thread.java:831) co oznacza ten blad?
Avatar
że nie odnaleziono strony
12:52
jaką masz wersję sdk?
Avatar
PiotrusiemJestem 02.06.2023 12:53
2.0.8
Avatar
włącz pełny logging (jest taka metoda setSimpleLoggger czy jakoś tak w Sdk) to wtdy może coś więcej się dowiemy
Avatar
PiotrusiemJestem 02.06.2023 13:05
literówkę popełniłem
13:05
a pytanie, fun getHomework(): List<Homework> = runBlocking { return@runBlocking sdk.getHomework(LocalDate.MIN, LocalDate.MAX) }
13:05
podana funkcja z argumentem LocalDate
13:05
jest dobrze wykonana>?
Avatar
Nie no, bez sensu xd
13:18
Nie da się przez to SDK pobrać wszystkich zadań
13:18
Możesz co najwyżej na jeden tydzień
13:19
Ta data końcowa jest trochę myląca
13:19
Zrób jako startDate np. LocalDate.of(2023, 5, 28)
13:24
A i tak w ogóle to możesz pominąć to return@runBlocking w tym przypadku
Avatar
PiotrusiemJestem 02.06.2023 15:36
Jasne dzięki wielkie
Avatar
Witam. Mam pytanie, w jaki sposób moge pobrać informację o frekwencji ucznia?
Avatar
witam
11:06
jak już masz obiekt Sdk() skonfigurowany w odpowiedni sposóļ to to już jest proste
11:07
i wygląda mniej więcej tak: sdk.getAttendance(LocalDate.of(2023, 6, 5))
Avatar
to mi zwraca i mogę iterować po liście i wypisywać frekwencje z danego przedmiotu który jest iterowany?
Avatar
nie za bardzo z "danego" przedmiotu
11:12
po prostu dostajesz wpisy frekwencji z danego przedziału czasowego
11:13
który jednak jest zawsze ograniczony do tygodnia licząc od startDate (pierwszy, wymagany parametr)
Avatar
@Marioneq + kojarzysz gdzie na www dziennika pokazuje się takie coś:
Centralny Rejestr Użytkowników CRUSTS 23.1.0.9873
?
Avatar
{"UczenPseudonim": "RoboT"} 05.06.2023 19:22
ja bym poszukal ale aktualnie cufs mi timeoutuje
19:22
xD
Avatar
Avatar
mklkj
@Marioneq + kojarzysz gdzie na www dziennika pokazuje się takie coś:
Centralny Rejestr Użytkowników CRUSTS 23.1.0.9873
?
Marioneq + 05.06.2023 19:31
cufs chyba jakiś błąd ci wywaliło
19:32
I ludzie zgłaszają
19:32
Ale nie wiem na czym dokładnie się to dzieje i co to za błąd się tam pokazuje jeśli w ogóle
19:32
Bo tylko ten ciąg Wulkanowy wyświetla
Avatar
Marioneq + 05.06.2023 19:33
a nie masz więcej informacji?
Avatar
Niezbyt
Avatar
Avatar
mklkj
@Marioneq + kojarzysz gdzie na www dziennika pokazuje się takie coś:
Centralny Rejestr Użytkowników CRUSTS 23.1.0.9873
?
{"UczenPseudonim": "RoboT"} 05.06.2023 19:36
kurde stg ze wiedzialem
19:36
ale jakos nie umiem teraz znalezc
Avatar
Marioneq + 05.06.2023 19:37
z tego co pamiętam to chyba było takie coś jak posta na account logon zrobisz na host z wyłączonym wewnętrznym logowaniem
19:38
jednak nie
19:39
mam
19:39
404 w np. logowanie.edu.gdansk.pl
Avatar
{"UczenPseudonim": "RoboT"} 05.06.2023 19:40
a no to ja to na pewno gdzie indziej widzialem
Avatar
Marioneq + 05.06.2023 19:43
brak symbolu
Avatar
{"UczenPseudonim": "RoboT"} 05.06.2023 19:43
za to udalo mi sie takie cos dostac XD
Avatar
Avatar
Marioneq +
brak symbolu
{"UczenPseudonim": "RoboT"} 05.06.2023 19:43
a no wlasnie tyle ze teraz reklame eduone sie dostaje
19:44
na modulach ktore nas interesują
Avatar
Marioneq + 05.06.2023 19:44
adfslight
19:44
tak ma
Avatar
{"UczenPseudonim": "RoboT"} 05.06.2023 19:44
a
Avatar
Marioneq + 05.06.2023 19:45
@mklkj możesz zapytać się o odmianę dziennika?
Avatar
Niby mogę
Avatar
{"UczenPseudonim": "RoboT"} 05.06.2023 19:50
AHA
19:50
uonetplus.vulcan.net.pl/lask/
19:50
tu jest ten error tez
19:50
tzn redirect
19:51
powiatlaski tez
Avatar
Marioneq + 05.06.2023 19:51
tak
Avatar
{"UczenPseudonim": "RoboT"} 05.06.2023 19:51
Ok chyba wszystkie adfslighty maja wylew
19:51
rip
Avatar
Marioneq + 05.06.2023 19:51
postawione na vulcan.net.pl
Avatar
{"UczenPseudonim": "RoboT"} 05.06.2023 19:51
yep
19:53
@mklkj pora na message?
Avatar
Aż tak to chyba nie
19:55
Chyba
19:56
Czekam na rozwój sytuacji
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
uonetplus.vulcan.net.pl/lask/
Nic nie widzę
Avatar
{"UczenPseudonim": "RoboT"} 05.06.2023 19:57
cache?
Avatar
Marioneq + 05.06.2023 19:58
chyba tak
19:58
teraz mi działa
Avatar
Avatar
Marioneq +
Click to see attachment 🖼️
Masz HTML z tego?
Avatar
{"UczenPseudonim": "RoboT"} 05.06.2023 20:01
Avatar
Dzięki!
Avatar
{"UczenPseudonim": "RoboT"} 05.06.2023 20:04
Ciekawe ze mi sie nadal pokazuje
20:05
a watpie ze curl na wsl ma cache z ff
Avatar
Marioneq + 05.06.2023 20:05
czasami pokazuje czasami nie
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
a watpie ze curl na wsl ma cache z ff
Jaki http code tam jest?
Avatar
{"UczenPseudonim": "RoboT"} 05.06.2023 20:11
200
Avatar
Świetnie
Avatar
siema, wracam jak co roku z weryfikacją uczniów na szkolnym Discordzie :D zaktualizowałem SDK do najnowszej i widze że metoda sdk.getStudentsFromScrapper() już nie istnieje chyba muszę teraz logować uczniów przez getStudentsHybrid() ? tylko dlaczego zwraca ona obiekt RegisterUser a nie List<RegisterUser> ?
Avatar
aaa dobra widze już z testów że teraz po zalogowaniu dostaje usera konta vulcan a dopiero potem musze wyciągnąć uczniów i szkoły val sdk = Sdk() val registerUser = runBlocking { try { sdk.getStudentsHybrid( email = body.email!!, password = body.password!!, scrapperBaseUrl = config.url, startSymbol = config.symbol) } catch (e: BadCredentialsException) { model.addAttribute("error", e.message) return@runBlocking null } } ?: return null val registerSymbol = registerUser.symbols .filter { it.schools.isNotEmpty() } .first { it.schools.all { school -> school.subjects.isNotEmpty() } } val school = registerSymbol.schools.first() val registerStudent = school.subjects.filterIsInstance<RegisterStudent>().first()
Avatar
Witam
20:33
Odsyłam do dokumentacji
20:33
Którą niedawno zrobiłem
20:33
A link do niej znajdziesz na githubie :)
Avatar
znalazłem, dzięki
Avatar
elegancko pobiera mi ucznia i jego semestry ale czemu scraper bije na końcu na jakieś dziwne symbole?
Avatar
To są wszystkie, na które się logowałeś
22:03
Z ograniczeniem do 10 ostatnich
22:04
Dzięki temu nie musisz zawsze symbolu podawać
Avatar
logowałem sie na bydgoszcz? xd
Avatar
Mnie nie pytaj
22:06
Cufs zwrócił, że to był jeden z symboli, na które kiedyś wszedłeś z tego z tego konta
Avatar
heh no dobra
Avatar
{"UczenPseudonim": "RoboT"} 09.09.2023 11:48
ja np logowalem sie tez kiedys na janpawel2 albo na xddddd
11:49
sdk nie waha sie tez próbować
Avatar
czyli po 10 logowaniach na "nieprawidłowe" symbole wulkanowy ponownie poprosi o ręczne wprowadzenie? (edited)
Avatar
Nie nie
16:55
To jest taka kolejka fifo bez duplikatów
Avatar
Avatar
mklkj
To jest taka kolejka fifo bez duplikatów
czyli stos? i co się dzieje po przekroczeniu 10 symboli?
17:55
a nie
17:55
Sorry zdobywałem Babią górę jak to pisałem ⛰
Avatar
{"UczenPseudonim": "RoboT"} 09.09.2023 17:56
po prostu cufs zwraca 10 ostatnich
Avatar
Nie wiem czy to do końca poprawnie napisane
17:56
W każdym razie
17:56
Tak
Avatar
Avatar
mklkj
Sorry zdobywałem Babią górę jak to pisałem ⛰
o, serio?
17:56
czy to jakaś gra słów
Avatar
{"UczenPseudonim": "RoboT"} 09.09.2023 17:56
woman mountain
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
po prostu cufs zwraca 10 ostatnich
no czyli po zalogowaniu na 10 złych symboli, cyfs nie zwróci już poprawnego
Avatar
Avatar
jel
no czyli po zalogowaniu na 10 złych symboli, cyfs nie zwróci już poprawnego
{"UczenPseudonim": "RoboT"} 09.09.2023 17:57
tak
Avatar
Avatar
mklkj
Click to see attachment 🖼️
też tam byłem
Avatar
O to tam
18:25
co ty, trawę dotykasz?
Avatar
Powaliło mnie
18:26
Obcuje z naturą
Avatar
no ewidentnie coś dzisiaj przegrzało kogoś
01:29
W plecaku laptop, na smyczy klawiaturka a na głowie vr xD
Avatar
siemanko mam problem z kontami uczniów którzy do swojego konta mają przypisaną starą szkołę, sypie mi tu wtedy NoSuchElementException: Collection contains no element matching the predicate. chcę aby sprawdzało tylko w jednej szkole z symbol = config.symbol fun login(body: LoginForm, model: Model): StudentResponse? { val sdk = Sdk() val registerUser: RegisterUser = runBlocking { try { sdk.getUserSubjectsFromScrapper( email = body.email!!, password = body.password!!, scrapperBaseUrl = config.url, symbol = config.symbol) } catch (e: BadCredentialsException) { model.addAttribute("error", e.message) return@runBlocking null } } ?: return null val registerSymbol = registerUser.symbols .filter { it.schools.isNotEmpty() } .first { it.schools.all { school -> school.subjects.isNotEmpty() } } val registerUnit = registerSymbol.schools.first() val registerStudent = registerUnit.subjects.filterIsInstance<RegisterStudent>().first() val semester = registerStudent.semesters.first()
17:04
w którym miejscu ci dokładnie rzuca ten wyjątek?
17:05
masz tu dużo first(), więc może prawie w każdym z nich się tak zdarzyć
Avatar
w konsoli na prodzie pisze mi VulcanAuthService.kt:82 a ja mam 70 linii w tym kodzie, trudno mi to zbadać
17:06
bo ja nie mam dostępu do takiego konta tylko mi ludzie piszą
Avatar
hm, no dobra
17:06
a resztę stackrac'ea masz?
Avatar
2023-09-26 16:56:44.416 ERROR 167719 --- [nio-8888-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.util.NoSuchElementException: Collection contains no element matching the predicate.] with root cause java.util.NoSuchElementException: Collection contains no element matching the predicate. at pl.elektronplus.elektronvulcanauth.service.VulcanAuthService.login(VulcanAuthService.kt:82) ~[classes!/:na] at pl.elektronplus.elektronvulcanauth.controller.VulcanAuthController.getStudent(VulcanAuthController.kt:26) ~[classes!/:na] at jdk.internal.reflect.GeneratedMethodAccessor49.invoke(Unknown Source) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.23.jar!/:5.3.23] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.23.jar!/:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.23.jar!/:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.23.jar!/:5.3.23]
Avatar
no dobra, faktycznie niezbyt pomocne xd
17:08
ogólnie tam zamiast od razu próbować wyciągać te obiekty przez first() powinieneś najpierw sprawdzić, czy przypadkiem jakiegoś errora nie ma
17:08
a errory są i w RegisterSymbol i w RegisterUnit
17:08
więc radziłbym dodanie sprawdzenia czy tam jakiś wyjątek jest i rzucenie go wcześniej
17:09
wtedy będziesz więcej wiedział
17:09
a tak już poza tym to zgaduję że dzieje się to u osób, które i tak nie maja dostępu do dziennika z różnych względów
Avatar
właśnie mają bo mi screeny wysyłają, i nie są kontami rodzica
Avatar
i to z vulcan.net czy z jakichś innych?
17:39
registerUser.symbols .filter { it.schools.isNotEmpty() } .first { it.schools.all { school -> school.subjects.isNotEmpty() } }
17:39
to mi sypie
17:39
Collection contains no element matching the predicate.
Avatar
ekhem
17:40
zmień all na any
17:40
bo jak ktoś zmienił szkołe
17:40
albo jedną ukończył
17:40
to w tej starej jest absolwentem i tam nie ma już żadnego ucznia
Avatar
działa :)
Avatar
tak szybko sprawdziłeś?
Avatar
powinienem jakoś to jeszcze zabezpieczyć?
17:41
tak bo lokalnie mam teraz odpalone z kontem od jakiegoś ucznia XD
Avatar
ciężko powiedzieć
17:42
w ogóle wydaje mi się, że masz to trochę niewydajnie zrobione
17:42
tzn. bo chyba za każdym razem listę uczniów pobierasz
17:42
a mógłbyś robić to raz, dawać userowi wybór który uczeń go interesuje i zapisywać idki potrzebne do pobierania reszty danych
17:43
tak to aktualnie apka robi i do tego jest sdk przystosowane
Avatar
tak bo ja tego nigdzie nie zapisuje i to ma działać tylko raz, to jest jednorazowa weryfikacja ucznia na discordzie
Avatar
hm, okej
17:44
i co potem się dzieje?
Avatar
  • wbijasz na stonke
  • leci redirect na discord auth
  • akceptujesz
17:48
  • redirect na naszą stronke z discord auth tokenem
17:49
  • logujesz sie vulcanem
  • dodaje cie do szkolnego serwera z rangą klasową i weryfikacją ucznia :)
Avatar
Avatar
wybran
tak bo lokalnie mam teraz odpalone z kontem od jakiegoś ucznia XD
btw zgłosił nam to pokemon, który tu siedzi na multikoncie XD
Avatar
Avatar
wybran
btw zgłosił nam to pokemon, który tu siedzi na multikoncie XD
xDDDDDDDDD
Avatar
No to wiadomo że ma tu kilka multików i raz na jakiś czas coś z nich pisze nawet
Avatar
próbuję coś zrobić z tym sdk i nie dostaję żadnych symboli jak się zaloguję (jestem na edu.gdansk.pl) nazwa/hasło są dobre bo jak zrobię inne to mówi że są złe więc nie wiem już gdzie coś idzie nie tak wygląda to mniej więcej tak (po prostu println() z RegisterUsera którego dostaję tylko obciętego tak żeby nie było mi maila widać)
Avatar
hm, no tak, nie opisałem tego 🤦‍♂️
18:25
bo tu jest taki problem, że startowy symbol musisz przekazać już prawidłowy tutaj
18:25
w sensie sdk nie da rady wyciągnąć tutaj symbolu samo, tak jak to robi w przypadku vulcan.net.pl
18:26
więc przy configurowaniu obiektu Sdk musisz ustawić symbol na gdansk
18:26
wtedy przy szukaniu uczniów zajrzy na ten symbol, znajdzie tam uczniów i dostaniesz coś w symbols
Avatar
rzeczywiście teraz działa dzięki drgn_thumbsup
Avatar
kotlinx.serialization.MissingFieldException: Field 'LinkedAccountUids' is required for type with serial name 'io.github.wulkanowy.sdk.scrapper.register.AuthInfo', but it was missing at path: $.AuthInfos[0]
21:53
ups
09:37
jak myślicie, co wybuchnie jak to wydamy od razu na 100%? (edited)
Avatar
Avatar
mklkj
jak myślicie, co wybuchnie jak to wydamy od razu na 100%? (edited)
{"UczenPseudonim": "RoboT"} 06.11.2023 10:36
a jak to wygląda w innych odmianach?
Avatar
na innych jeszcze tego nie ma
10:36
tylko vulcan.net
Avatar
{"UczenPseudonim": "RoboT"} 06.11.2023 10:36
no a na lokalnych adfslightach?
10:36
na vulcan net
Avatar
też trzeba poprawić
10:37
i właśnie to ogarniam
Avatar
Unofficial Python SDK for Vulcan UONET+. Contribute to wulkanowy/sdk-python development by creating an account on GitHub.
Avatar
to bardziej ->#sdk-python
Avatar
Dobra nie zauwazylem
Avatar
@Fajerbejs, pomusz, bo zwariuję
Avatar
Z czym
Avatar
może się zdzwonimy
Avatar
Ok
Avatar
@Fajerbejs ciekawostka odnośnie tego dziwnego błędu przy pierwsyzm (ale tak naprawdę nie tylko przy pierwszym) ładowaniu danych zaraz po zalogowaniu. Pogrzebałem głębiej, bo nie dawało mi to spokoju i doszedłem do przyczyny. Wszystkiemu jest winne to, że w niekontrolowany sposób są tworzone obiekty wewnątrz SDK. Słoik z ciastkami jest tworzony wielokrotnie, tak samo interceptory i inne pierdoły. Przez to jedna instancja z interceptorem i cookie jarem może wykonać logowanie i w ogóle, ale już przy retry requestu cookie jar będzie inny i nie będzie miał wcześniej zdobytych ciastek, stąd błąd. Na spróbę zrobiłem obiekt z CookieManagerem statyczny i zadziałało z buta, bez żadnych problemów. Oczywiście teraz jest problem z przełączaniem kont, bo nie wiadomo kiedy wyczyścić ten cookie jar, ale to dowodzi faktu, że architektura sdk jest zwalona. Myślę, czy by tego nie sfixować taśmą i nie wywalić tego dynamicznego przeładowywania obiektów na rzecz jakiejś metody typu reload(), tylko to by trzeba było wtedy pewnie też przemyśleć to jak sdk jest wywoływanie w apce...
Avatar
Avatar
mklkj
@Fajerbejs ciekawostka odnośnie tego dziwnego błędu przy pierwsyzm (ale tak naprawdę nie tylko przy pierwszym) ładowaniu danych zaraz po zalogowaniu. Pogrzebałem głębiej, bo nie dawało mi to spokoju i doszedłem do przyczyny. Wszystkiemu jest winne to, że w niekontrolowany sposób są tworzone obiekty wewnątrz SDK. Słoik z ciastkami jest tworzony wielokrotnie, tak samo interceptory i inne pierdoły. Przez to jedna instancja z interceptorem i cookie jarem może wykonać logowanie i w ogóle, ale już przy retry requestu cookie jar będzie inny i nie będzie miał wcześniej zdobytych ciastek, stąd błąd. Na spróbę zrobiłem obiekt z CookieManagerem statyczny i zadziałało z buta, bez żadnych problemów. Oczywiście teraz jest problem z przełączaniem kont, bo nie wiadomo kiedy wyczyścić ten cookie jar, ale to dowodzi faktu, że architektura sdk jest zwalona. Myślę, czy by tego nie sfixować taśmą i nie wywalić tego dynamicznego przeładowywania obiektów na rzecz jakiejś metody typu reload(), tylko to by trzeba było wtedy pewnie też przemyśleć to jak sdk jest wywoływanie w apce...
czyli chcesz je przerobić na singletony i żeby apka zajmowała się ich przeładowaniem
08:37
no i gratulacje znaleznienia problemu
Avatar
To taki pomysł, innego nie mam
Avatar
dobra, zrobiłem workarounda #2390
10:05
mam semi-statycznego cookie managera i czyszczę go wyłącznie gdy zmieni się e-mail (który czasem jest loginem), hasło albo symbol
10:05
przetestowałem to i u mnie działa
10:05
robi się build, jak będzie śmigać to bym to wydał
10:05
bo u ludzi losowo te błędy z logowaniem wyskakują, to by je rozwiązało
10:06
i zostałyby tylko te, które faktycznie są spowodowane winą vulcana
Avatar
byłoby miodnie
Avatar
@Marioneq + { "ocenyPrzedmioty": [{ "przedmiotNazwa": "Zajęcia artystyczne", "pozycja": 13, "nauczyciele": ["Jan Kowalski [JK]"], "ocenyCzastkowe": [{ "wpis": "6", "dataOceny": "25.02.2024", "kategoriaKolumny": "Bieżące", "nazwaKolumny": "", "waga": 0.00, "kolorOceny": 0, "nauczyciel": "Jan Kowalski [JK]", "zmienionaOdOstatniegoLogowania": true }], "egzaminFormaPraktyczna": null, "egzaminFormaUstna": null, "egzaminOcenaProponowana": null, "egzaminOcenaLaczna": null, "sumaPunktow": "", "srednia": 0.0, "proponowanaOcenaOkresowa": null, "proponowanaOcenaOkresowaPunkty": null, "ocenaOkresowa": null, "ocenaOkresowaPunkty": null, "podsumowanieOcen": null }, { "przedmiotNazwa": "Zajęcia dodatkowe", "pozycja": 0, "nauczyciele": null, "ocenyCzastkowe": null, "egzaminFormaPraktyczna": null, "egzaminFormaUstna": null, "egzaminOcenaProponowana": null, "egzaminOcenaLaczna": null, "sumaPunktow": null, "srednia": 0.0, "proponowanaOcenaOkresowa": " ", "proponowanaOcenaOkresowaPunkty": null, "ocenaOkresowa": " ", "ocenaOkresowaPunkty": null, "podsumowanieOcen": " " }], "ustawienia": { "isPunkty": false, "isSrednia": false, "isDorosli": false, "isOcenaOpisowa": true, "isOstatniOkresKlasyfikacyjny": true } }
Avatar
Marioneq + 19.03.2024 13:55
@mklkj jak nie ma pola z kodem kolumny to nic nie dawać?
Avatar
zmapuj to na nazwaKolumny
13:56
pardon
13:56
kategoriaKolumny
13:56
ale możesz też nie dawać nic
13:56
ciężko powiedzieć jak będzie lepiej
Avatar
Marioneq + 19.03.2024 14:07
hmm chyba oceny opisowe są tu w ocenaOkresowa
14:08
lub podsumowanieOcen
14:08
na razie zostawię je
14:09
tu wszystko jest ok?
Avatar
nie możesz ukrywać kropki w jsonNames (edited)
14:10
a przynajmniej nigdy tego nie widziałem i wątpię, żeby to zadziałało
14:10
powinieneś raczej zrobić osobną data clasę w stylu GradesSettings
Avatar
Marioneq + 19.03.2024 14:10
ok
Avatar
O kurde faktycznie to robisz 😄 szacun po wsze czasy uratujesz aplikacje
Avatar
@Fajerbejs jak będziesz coś robił wieczorem to w pierwszej kolejności może weź się za przeróbkę logiki wywoływania auth dialogu
Avatar
Avatar
mklkj
@Fajerbejs jak będziesz coś robił wieczorem to w pierwszej kolejności może weź się za przeróbkę logiki wywoływania auth dialogu
co mam zmienić?
Avatar
żeby nie łapać wyjątku AuthRequiredException
Avatar
tylko jaki
Avatar
a zapisywać flagę authRequired z obiektu z uczniem
14:14
i na jej podstawie decydować
14:14
bo ten wyjątek nas zgubił
14:14
a flaga będzie jednoznaczna
Avatar
Marioneq + 19.03.2024 14:14
jest lepiej?
Avatar
jest lepiej, ale w czym to piszesz?
14:14
że ci tego nie podkreśliło?
Avatar
Marioneq + 19.03.2024 14:15
zgadnij po kolorach
14:15
Avatar
łohoho
14:15
twórz sobie chociaż github.dev
14:15
otwiera się kropką
Avatar
Marioneq + 19.03.2024 14:18
jakie jest dobre roszerzenie do kotlina w vscode?
Avatar
nigdy nie korzystałem z kotlina w vscode
Avatar
instaluj pierwsze lepsze
Avatar
Marioneq + 19.03.2024 14:21
ten pierwszy błędu nie wyłapuje
Avatar
dziwne
Avatar
Marioneq + 19.03.2024 14:22
kolejne też
14:23
kotlin ma jakiegoś swojego lintera?
14:24
hmm nie ma żadnego rozszerzenia ktlint
14:27
dobra na fleet sprobuję
Avatar
ktlin to do bardziej rozbudowanych rzeczy
Avatar
nawet o zapomniałem o tym że jetbrains to zrobił
14:34
i z tego co piszą to też jest to IDE na JVM
Avatar
Do swifta też
Avatar
nie widzę wspracia dla swifta
14:38
Avatar
Marioneq + 19.03.2024 14:46
długo się to odpala
14:51
@mklkj co tam do poprawy jest? bo długo mi się ładuje
Avatar
Brakuje ci ? przy typie (edited)
Avatar
Marioneq + 19.03.2024 15:04
zrobiłem modele i endpoint w service coś jeszcze przy ocenach trzeba?
Avatar
metoda w StudentPlusRepository
15:11
i dodanie jej wywołania w Scrapper
Avatar
Marioneq + 19.03.2024 15:31
dodałem
15:31
pr jest
Avatar
widzę widze
Avatar
Marioneq + 19.03.2024 15:31
ale nie wiem czy wszystko jest dobrze
Avatar
ciekawe, czy testy przejdą
15:31
przetestujemy
15:31
tak czy siak dzięki
15:32
jednak znasz kotlina :)
Avatar
Marioneq + 19.03.2024 15:32
bardziej umiem wzorować się na innych częściach kodu
Avatar
na tym polega programowanie
Avatar
Avatar
Marioneq +
bardziej umiem wzorować się na innych częściach kodu
Czyli tak jak 99% wszystkich programistów
Avatar
Marioneq + 19.03.2024 16:03
jakiś endpoint jeszcze zrobić?
Avatar
zostały plan lekcji, sprawdziany i zadania domowe
16:04
te dwa ostatnie by były najprostsze pewnie
Avatar
Marioneq + 19.03.2024 16:05
planu na pewno ruszać nie będę
Avatar
tak źle?
Avatar
Marioneq + 19.03.2024 16:09
tam chyba zmiany są trochę jak w hebe tylko że wsadzone w 1 endpoint
16:10
a masz response sprawdzianów?
Avatar
mogę mieć
Avatar
Marioneq + 19.03.2024 16:12
bo ja nie mam
16:12
chociaż nie wiem
16:12
bo tam jakoś było to łączone z zadaniami domowymi
Avatar
[{ "typ": 1, "przedmiotNazwa": "Zajęcia artystyczne", "data": "2024-03-T00:00:00+01:00", "hasAttachment": false, "id": 127 }]
16:14
api/SprawdzianSzczegoly { "typ": 1, "data": "2024-03-20T00:00:00+01:00", "przedmiotNazwa": "Zajęcia artystyczne", "nauczycielImieNazwisko": "Jan Kowalski", "opis": "Opis sprawdzianu", "sprawdzianModulDydaktyczny": false, "linki": [], "id": 231 }
16:14
słaaabo to zrobili
Avatar
Marioneq + 19.03.2024 16:15
hmm
16:15
co tu teraz zrobić
16:16
można by było wysyłać requesty o szczegółach do każdego sprawdzianu
16:17
albo robić oddzielnie uczeń i uczeń+
Avatar
pierwsze to kartkówka bodajże, a drugie to zadanie domowe [{ "typ": 2, "przedmiotNazwa": "Zajęcia artystyczne", "data": "2024-03-19T00:00:00+01:00", "hasAttachment": false, "id": 127 }, { "typ": 4, "przedmiotNazwa": "Zajęcia artystyczne", "data": "2024-03-19T00:00:00+01:00", "hasAttachment": false, "id": 129 }]
Avatar
Avatar
Marioneq +
można by było wysyłać requesty o szczegółach do każdego sprawdzianu
na razie może tak zróbmy, bo nie widzę innej opcji
Avatar
Marioneq + 19.03.2024 16:18
hmm tylko jeszcze to trzeba by było filtrować
Avatar
api/ZadanieDomoweSzczegoly { "typ": 4, "data": "2024-03-20T00:00:00+01:00", "terminOdpowiedzi": "2024-03-20T00:00:00+01:00", "przedmiotNazwa": "Zajęcia artystyczne", "nauczycielImieNazwisko": "Jan Kowalski", "opis": "opis zadania", "zalaczniki": [], "linki": [], "status": 0, "odpowiedzWymagana": false, "zadanieModulDydaktyczny": false, "odpowiedz": { "id": 231, "status": 1, "odpowiedz": null, "komentarzNauczyciela": null, "linkiUcznia": [], "zalaczniki": [], "data": null, "zadanieModulDydaktyczny": false }, "id": 123 }
Avatar
Marioneq + 19.03.2024 16:20
można zrobić tak że będzie funkcja getExams która zwróci przefiltrowane /api/SprawdzianyZadaniaDomowe i dodatkowa funkcja (tylko dla uczniów z isEduOne) getExamDetails która będzie zwracać już szczegóły
Avatar
tak, tylko musielibyśmy wtedy branchować UI pod to
16:21
nie chce tego robić teraz
16:21
bo to przedłuży to wszystko
16:21
na razie naszym celem jest przywrócenie conajmniej podstawowej funkcjonalności apki dla userów eduOne (edited)
16:22
więc albo zwracanie minimum informacji i nawet zahardcodowanie w brakujących polach "zobacz więcej na stronie www dziennika"
16:22
albo pobieranie w pętelce brakujących szczegółów
16:22
jest marzec, więc nikt nie będzie miał 30 sprawdzianów w miesiącu
16:22
prawda?
Avatar
Marioneq + 19.03.2024 16:30
ok czyli w Exam.kt mam dodać JsonNames tam gdzie są dane z ogólnego endpointa i stworzyć ExamDetailsPlus.kt, dodać endpointy w service i później pobawić się w StudentPlusRepository.kt i na końcu dodać eduone do Scrapper.kt?
Avatar
coś takiego
Avatar
Marioneq + 19.03.2024 16:43
mogę modyfikować np. teacher czy description?
Avatar
co masz na myśli?
Avatar
Marioneq + 19.03.2024 16:44
te z SerialName
Avatar
w sensie co chcesz zrobić
Avatar
Marioneq + 19.03.2024 16:47
zmienić wartość
16:48
i gdzie (w jakim folderze) umieścić typ response z tego?
Avatar
homework
16:49
albo exams
16:49
kurde nie wiedziałem, że vulcan coś takiego kiedyś zrobi
16:50
dobra, możesz losować między tymi dwoma
Avatar
Avatar
Marioneq +
zmienić wartość
jak już po zdeserializowaniu to robisz response.copy(teacher = "dupa")
Avatar
Avatar
mklkj
albo exams
Marioneq + 19.03.2024 16:51
a nie lepiej tam gdzie Scrapper.kt?
Avatar
czy ja wiem czy lepiej
16:51
jak dla mnie to równie źle
16:54
homework wygrywa
Avatar
Marioneq + 19.03.2024 17:20
nie wierzyłem w to że to zrobię
Avatar
n + 1
17:21
najs
Avatar
@Marioneq + robisz sprawdziany w PRze z ocenami?
Avatar
@Marioneq + nie pogniewasz się, jak to zaraz zmerguje?
Avatar
{"UczenPseudonim": "RoboT"} 19.03.2024 18:03
kolega widze pod presją pracuje
Avatar
teraz to nie pracuje hehe
18:04
chyba
Avatar
{"UczenPseudonim": "RoboT"} 19.03.2024 18:04
a dopiero uczy sie corelakotlina
Avatar
nie mam pojęcia co robi, bo jest nieaktywny
18:04
coooo proszeeeeee
😳 1
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
a dopiero uczy sie corelakotlina
Marioneq + 19.03.2024 18:36
Nadal się uczę nowego języka, nigdy nie miałem styczności z Kotlinem
Avatar
Avatar
mklkj
@Marioneq + nie pogniewasz się, jak to zaraz zmerguje?
Marioneq + 19.03.2024 18:37
contributora z sdk nie ma?
Avatar
od zawsze się tylko na wulkanowy / wulkanowy liczyło
Avatar
Marioneq + 19.03.2024 18:38
a ok
Avatar
ale trzeba coś pomyśleć
18:38
bo się jednak podjąłeś
18:38
kiedy nikt się inny nie podjął
Avatar
Marioneq + 19.03.2024 18:41
w sumie to można jeszcze dorobić zadania domowe
Avatar
Marioneq + 19.03.2024 19:08
#194
Avatar
Avatar
mklkj
od zawsze się tylko na wulkanowy / wulkanowy liczyło
W takim przypadku nie widzę problemu żeby dać mu kontrybutora
Avatar
Marioneq + 20.03.2024 12:45
@mklkj ta funkcja getSchool() wygląda ok?
Avatar
niepowiedziałbym
12:46
robisz append, ale append nie modyfikuje przecież istniejącego stringa
12:47
nie znam języka, w którym string byłby mutable
12:48
jak już to polecam buildString {}
12:48
w ogóle jak masz czas to spróbuj do tego test napisać
Avatar
i wtedy uruchom żeby sprawdzić czy działa
12:49
bo szkoda, że piszesz kod ale nie uruchamiasz go
12:49
to jakby wiesz, lizać papierek zamiast lizaka
Avatar
Marioneq + 20.03.2024 18:07
jak się testy odpala?
Avatar
szukasz w drzewie plików paczki z testami i
Avatar
SaintKappa 20.03.2024 22:52
głupie pytanie
22:52
22:52
22:53
nie wiem co robię źle
22:53
jakieś inne repo dodać?
Avatar
a to dziwne
22:54
dziwne, że u nikogo wcześniej się to nie objawiło
22:54
spróbuj dodać implementation 'com.squareup.okhttp3:okhttp-bom:4.12.0'
22:55
coś robie źle
22:55
ale nie wiem co
Avatar
to czysty czysty projekt?
Avatar
SaintKappa 20.03.2024 22:55
tak
Avatar
a, chyba wiem
22:55
zła wersja javy
22:55
ustaw 17
22:55
w toolchainie
Avatar
SaintKappa 20.03.2024 22:56
dobra
Avatar
i tak piszesz w kotlinie, to ci ficzurów z 20 chyba nie będzie brakować
Avatar
SaintKappa 20.03.2024 22:58
nie będzie brakować mówisz
22:58
to git
Avatar
znaczy tak myślę xd nie wiem co tam działasz
22:59
to sdk jest pisane przede wszystkim pod apkę, a apka i tak się buduje na 17
Avatar
Avatar
mklkj
spróbuj dodać implementation 'com.squareup.okhttp3:okhttp-bom:4.12.0'
tego pewnie nie potrzebujesz jak wystarczyło ustawienie 17
Avatar
SaintKappa 20.03.2024 23:03
no właśnie
23:03
cały projekt na nowo z 17 wybranym zrobiłem
23:03
i to samo
Avatar
Avatar
SaintKappa
cały projekt na nowo z 17 wybranym zrobiłem
niepotrzebnie moim zdaniem
23:04
ta zmiana to się powinna ograniczać do tego
23:04
Avatar
Avatar
SaintKappa
Click to see attachment 🖼️
w ogóle skąd masz ten block repositories {}
23:05
w nowych projektach to zwykle w settings.gradle się ustawia
Avatar
SaintKappa 20.03.2024 23:05
mówisz?
23:05
dobra jeszcze coś popróbuje
Avatar
piszę
Avatar
Avatar
mklkj
piszę
SaintKappa 20.03.2024 23:06
fair
Avatar
Avatar
mklkj
znaczy tak myślę xd nie wiem co tam działasz
SaintKappa 20.03.2024 23:08
wiesz co długa historia zrobiłem jakiś czas temu proste rest api z jednym endpointem używając tego hebe co by się na stronie mojej szkoły ładnie szczęśliwy numerek wyświetlał ale teraz endpoint z vulcana cloudflare captcha zwraca
23:08
pomyślałem może że z waszym sdk w kotlinie coś popróbuje
23:09
tylko najpierw chyba tego kotlina sie musze nauczyć
Avatar
eee to jak hebe ci pokazywało captche to wątpię, żeby tu było lepiej
23:14
jeśli masz jakiegoś resmana albo inny dziennik działający na adfslight.vulcan.net captche masz na dzień dobry
Avatar
SaintKappa 20.03.2024 23:15
no niestety
23:15
lokalnie oczywiście działa i nie daje captchy ale na gcp w niemczech już nie
Avatar
to najpierw sprawdź, czy jak strzelisz requestem do domen dziennika to czy nie dostaniesz też captchy (edited)
23:16
interesują cię tak naprawdę 3 domeny
23:16
cufs.vulcan.net.pl
23:16
uonetplus.vulcan.net.pl
23:16
uonetplus-logowanie.vulcan.net.pl
23:17
jak któraś z nich odpowie ci captchą to nasze sdk będzie miało ten sam problem co hebe (które działa na lekcjaplus.vulcan.net.pl)
23:17
(wszystkie te domeny pisane z palca, więc mogłem się gdzieś walnąć)
23:17
poznaje te "Just a moment..."
Avatar
ta, ja też xd
23:18
teoretycznie możesz sobie to spiąć z uzupełnianiem captchy w innym miejscu
23:18
musi się zgadzać ciacho cf_clearnes (czy coś w tym stylu) i user agent
23:18
wulkanowy tak kombinuje z webview
Avatar
SaintKappa 20.03.2024 23:19
próbowałem też z proxy do tego vps'a żebym sobie mógł captche ręcznie zaakceptować
23:19
już miałem świętować
23:19
zadziało raz
23:19
i ostatni raz
Avatar
Avatar
mklkj
teoretycznie możesz sobie to spiąć z uzupełnianiem captchy w innym miejscu
SaintKappa 20.03.2024 23:20
to jest plan
Avatar
Avatar
SaintKappa
próbowałem też z proxy do tego vps'a żebym sobie mógł captche ręcznie zaakceptować
to znaczy jak
23:20
bo to nie wystarczy, że rozwiążesz ją na tym samym urządzeniu
Avatar
SaintKappa 20.03.2024 23:20
nie?
23:20
ow
Avatar
a skąd
23:21
nasze sdk umożliwa wsadzenie do środka swojego cookie jara, z którego potem klient http wyciąga ciacha pasujące do danej domeny
23:21
[AUTOREKLAMA]
Avatar
Avatar
mklkj
[AUTOREKLAMA]
SaintKappa 20.03.2024 23:21
no należy sie
23:21
zajebista robota
23:21
przecież
Avatar
ale ogólnie to uciążliwe będzie i bym na twoim miejscu wolał już sforkować jakąś libkę z hebe i tam dorobić to o czym piszę
23:22
nasze sdk ma strasznie niskie SLA, jeśli można to tak nazwać xd
Avatar
SaintKappa 20.03.2024 23:22
albo
23:22
rasberry pi zero
23:22
http server (edited)
23:22
i nie będzie captchy
Avatar
żebyś się nie zdziwił
23:23
znaczy pewnie rzadziej jeśli w ogóle (edited)
23:23
ale może się zdarzyć
Avatar
SaintKappa 20.03.2024 23:23
no dobra
23:24
jeszcze sie nie poddam (edited)
23:24
ale dzięki wielkie za pomoc
23:24
przydało się
Avatar
luzik
23:24
polecam się
Avatar
do sprawdzenia co to może powodować
20:42
myślałem, że może to przez moje ostatnie kombinowanie z parsowaniem nazwy klasy (edited)
20:42
ale jak poprosiłem o podanie nazwy klasy ucznia, to pokazała mi screena z tą stroną "Login ... nie został zarejestrowany w bazie szkoły"
20:42
w crashlytics nic nie ma xd eh (edited)
Avatar
dodałem PRa, mam nadzieję, że to ma sens
Avatar
zrobiłem review
22:07
taka drobnica
22:07
czyli opisy oceny
22:08
ze złego pola widocznie bierzemy
Avatar
Avatar
mklkj
zrobiłem review
poprawiłem
Avatar
Avatar
mklkj
czyli opisy oceny
sprawdze
Avatar
Avatar
Mibac
poprawiłem
jeszcze testy, lint i api check się wywalił
22:10
jak api check zaaktualizowac?
Avatar
właśnie nie aktualizuj
22:11
bo nie zmieniłeś api, co nie?
22:11
popraw kod
22:11
dodaj internal do tych nowych data class
Avatar
a ok ma sens
Avatar
elegancko
22:32
dzięki @Mibac
22:32
wszedłeś to sdk jak dzik w żołędzie
22:33
cieszę się, że pomogłem
Avatar
pomożesz jeszcze bardziej jak przekonasz @Fajerbejs do zajęcia się tym sdk choć na tyle ile ty to zrobiłeś
Avatar
a jest jeszcze coś do roboty w nim?
Avatar
jeszcze dane ucznia i "urządzenia" zostały
Avatar
zgaduje, ze nie ma tego na fakelogu?
22:35
na razie mamy takie endpointy
22:35
urządzenia są
Avatar
te urzadzenia to wydaja sie byc nawet prostsze od tego co przed chwila robilem, jest tu jakis haczyk?
Avatar
żeee w sumie to nie jedyny endpoint
22:38
i brakuje jeszcze odpowiednika dla rejestracji (plusik w apce) i usuwania
22:39
no ale każda część jest dobra
22:39
a reszty nie mam za bardzo
Avatar
CustomDateAdapter celowo ignoruje strefe czasową? Dla 1970-01-01T00:00:00+01:00 zwraca 1970-01-01T00:00:00+00:00
22:47
nigdy to nie było problemem
22:47
choć może być w przyszłości
22:48
z tego co zauważyłem, to front eduOne wysyła datetime'y przy requestach chyba w utc
22:48
co wygląda dziwne w requeście o plan lekcji na dany tydzień
22:48
gdy dataOd to np. 2024-03-17T23:00:00
Avatar
Avatar
mklkj
no ale każda część jest dobra
no to zrobiłem to co było, właściwie to głównie test
Avatar
dzięks
👍 1
Avatar
jak odpalic testy login interceptera? UnknownHostException: uonetplus-uczen.fakelog.localhost
Avatar
dodaj sobie do hosts 127.0.0.1 adfs.fakelog.localhost 127.0.0.1 adfslight.fakelog.localhost 127.0.0.1 fakelog.localhost 127.0.0.1 cufs.fakelog.localhost 127.0.0.1 uonetplus.fakelog.localhost 127.0.0.1 uonetplus-uzytkownik.fakelog.localhost 127.0.0.1 uonetplus-uczen.fakelog.localhost 127.0.0.1 uonetplus-uczenplus.fakelog.localhost 127.0.0.1 uonetplus-wiadomosciplus.fakelog.localhost
23:53
na linuxie działa to z paki
Avatar
O, przeszło
23:54
dzięki
mklkj pinned a message to this channel. 22.03.2024 23:54
Avatar
dlaczego simultaneous login testy są wyłączone?
23:56
patrzyłem po commicie to nie widzę żadnego dodatkowego info
Avatar
Dobre pytanie, już nie pamiętam, możliwe że miałem problem z ich zestawieniem a byłem na tyle pewny po manualnych testach że to będzie działać, że nie chciałem przeciągać wydania
Avatar
z tym lockiem w login interceptorze to jest jakas wieksza filozofia zeby nie byl juz singletonem? mam wrazenie ze cos zbyt prosto to idzie, jedyne potencjalny problem jaki widze to ze w momencie resetu serviceManager bedzie nowy lock zamiast tego samego, ale 1) nie bedzie mozna rekonfigurowac sdk 2) jesli zostalo rekonfigurowane to czemu mialby byc trzymany ten sam lock
Avatar
filozofia polega na tym, że singleton był potrzebny, żeby lock mógł przeżyć rekonfiguracje sdk wywołane przez apkę (która przez krótki moment potrafiła najpierw skonfigurować sdk do pobierania semestrów czyli bez diary id, a potem przy kolejnych metodach zmienić tę zmienną co rekonfigurowało sdk i rozpoczynało nowe logowanie, w tym samym momencie, na tym samym cookie jarze)
00:05
jeśli aplikacja będzie sama sobie zarządzać i nie będzie mogła już zmieniać na żywca sdk to teoretycznie może być prosto
00:06
choć jescze trzeba rozwiązać problem z okhttp, którego nie powinniśmy tworzyć za każdym razem z sdk, tylko właśnie albo jakoś zrobić singletona (hehe) albo coś w tym stylu
00:06
gadaliśmy o tym z Rafałem jakiś czas temu na #wulkanowy
Avatar
Żadnych ukrytych singletonow w sdk
09:39
Tak by było najlepiej (edited)
Avatar
Singleton w sensie lifescope w DI?
Avatar
Singleton w sensie singleton
11:34
Tutaj top level variable
Avatar
Avatar
mklkj
do sprawdzenia co to może powodować
5A 8A A "OPA"
11:51
prawdopodobnie brak cyfry stanowi tu problem
11:51
bo robię takie fiku miku z parsowaniem tej nazwy klasy i wyciąganiem z niej numerka
Avatar
analizuje sobie jak dziala sdk i chce potwierdzenia czy slusznie mysle. sa 2 etapy sdk: 1. szukanie ucznia - potrzeba email, password, domainUrl 2. obsluga ucznia - dodatkowo potrzeba: schoolSymbol, symbol, studentId, diaryId Mozna uruchomic sdk zarowno na 1 kroku i przejsc do drugiego, albo od razu zaczac od drugiego. Teraz pytanie jak docelowo to ma wygladac - w 1 etapie zadne dane wejsciowe nie moga ulegac zmianie. Czy w 2 etapie moze byc cos zmieniane? (np. diaryId do zmiany semesteru, czy trzeba tworzyc nowe sdk?)
Avatar
w zasadzie dobrze myślisz
16:17
tam parę rzeczy więcej jeszcze jest, ale z grubsza tak to wygląda
16:18
co do tego jak to docelowo ma wyglądać to decyzja jeszcze nie jest podjęta
16:19
a, w zasadzie to można wyizolować jeszcze jeden stan pośredni
16:19
z synchronizacją semestrów
16:19
kiedyś on był zawsze, później go przeniosłem w większości do pierwszego, ale w synchronizacji nadal występuje
Avatar
co myslisz o wydzieleniu tych krokow na dwie osobne klasy? mam na mysli takie na poziomie typow juz, cos typu createFinalSdk(email password schoolsymbol ...): FinalSdk i createInitialSdk(email password): InitialSdk; fun InitialSdk.initialize(schoolsymbol ...): FinalSdk (nazwy tylko ilustracyjne)
Avatar
sam się nad tym zastanawiałem, tylko właśnie nie mogłem żadnej trafnej nazwy wymyślić
Avatar
z tego co sie zorientowalem to za 1szy krok odpowiada glownie RegisterRepository, jakby to podzielic na 2, to tylko w 1szym bo bylo to repo a w 2gim juz chyba by nie bylo potrzebne?
Avatar
tak, na pewno by nie było potrzebne
Avatar
czy w 2gim kroku wtedy bylo by cos co mozna zmieniac juz po inicjalizacji? typu diaryId (czyli semestr?) czy wszystkie parametry są stałe?
Avatar
diaryId to nie semesterId
16:26
semesterId jest w zasadzie używane tylko przy ocenach
16:27
diaryid jest takie samo dla całego roku szkolnego
Avatar
Avatar
mklkj
z synchronizacją semestrów
może się zmienić co prawda, ale tylko w tym kroku
16:27
nie wiem jak to dobrze rozwiązać
16:27
teoretycznie można by pozwolić na dynamiczną zmianę tego
16:28
w zasadzie podobnie jak innych rzeczy typu classId
16:28
ale te wszystkie miejsca które od tego zależą są dość "głęboko"
16:28
tak czy siak classId uznałbym za coś tałego
16:29
aaale diaryId to ze względu na sychronizację i sytuacje w stylu uruchomienia apki tuż na skraju wakacji i nowego roku szkolnego, gdzie id dziennika może się zmienić, powinno móc się dać jakoś zmienić i w sdk
16:29
tylko nie wiem kto ma byc za to odpowiedzialny
Avatar
w studentcookieinterceptor jest cos takiego: chain.proceed(chain.request().newBuilder().build()) co to robi? rozumiem ze to jest jakas kopia requestu, ale dlaczego? zeby odswiezyc cookiesy w requescie?
Avatar
dasz link do linijki? (edited)
Avatar
to tak
16:37
w sumie nie jestem na sto procent pewny, czy to faktycznie jest tutaj potrzebne
16:37
a nie wiem, czy napisałem do tego test
16:38
i nie pamiętam na którym etapie odczytywane są ciastka z cookie jara
Avatar
dlaczego funkcja loginModule jest zduplikowana w Student i Message repository zamiast korzystać z LoginHelper? Było szybciej przekopiować czy są z tym jakieś dodatkowe problemy? I drugie pytanie co do tego commita Add additional module login before every *sensitive* endpoint call: https://github.com/wulkanowy/sdk/commit/78fda15f02ae6449268e40f949f6bb3530a64f27. Te sensitive endpoint calle przechodzą przez OkHttpClient, w którym jest już AutoLoginInterceptor, czyli ta funkcjonalność logowania powinna automatycznie już być obsługiwana??
Avatar
1. Szybciej było przekopiować, niż robić (pewnie) złą abstrakcję
12:44
2. Powinna, ale czasem nie była (edited)
12:45
Nie doszedłem do końca jak to się dzieje i trochę w desperacji dałem to, żeby mieć pewność że u wszystkich to będzie działać
12:45
Problem był zwykle wtedy jak apka dłużej chodziła i sesja po stronie vulcana się skończyła
12:46
Powiesz, że rzadkie i w ogóle ale to był tak częsty problem wtedy
Avatar
na ten moment OkHttpClientBuilderFactory jest tylko w scrapperze, ale docelowo powininen też być w hebe nie? Żeby nie duplikować kodu chciałbym zrobić moduł sdk-common w którym byłyby rzeczy wspólne dla różnych implementacji backendów. Masz jakieś uwagi do takiego rozdzielenia?
Avatar
Wręcz przeciwnie, dosłownie o tym samym (choć w kontekście używania tych samych wyjątków) gadaliśmy z Rafałem na #wulkanowy
Avatar
wolisz jeden duży PR czy mam to bardziej po kilka commitów wysyłać?
Avatar
oczywiście że wiele małych
21:35
jak mi walniesz jeden gigantyczny to ja nigdy tego nie sprawdzę
21:35
i będzie leżeć milion lat
Avatar
dobra to postaram się commity porozdzielać jakoś w miare tematycznie
Avatar
tylko weź też nie zaspamuj tego od razu xd
21:37
i teraz raczej tego i tak nie zmerguje, bo musimy ustabilizować apkę
👍 1
Avatar
Avatar
mklkj
tylko weź też nie zaspamuj tego od razu xd
raczej zmiany są połączone, ciężko by mi było dużo jednocześnie wysłać żeby się nie gryzło
Avatar
https://discord.com/channels/390889354199040011/558394066505826304/1222141086802378804 Dlaczego te requesty nie są faktycznie ponawiane a tylko rzucają wyjątkiem? Załóżmy w AutoLoginInterceptorze (https://github.com/wulkanowy/sdk/blob/9fba457a7939449fecf0d287cbce06dc12bfd256/sdk-scrapper/src/main/kotlin/io/github/wulkanowy/sdk/scrapper/interceptor/AutoLoginInterceptor.kt#L66) taką sytuację: 1. request rzuca wyjątek NotLoggedInException (L69 -> L85) 2. użytkownik jest poprawnie zalogowany i request na L106 poprawnie się wykonuje 3. w tym samym czasie inny request rzucił wyjątek NotLoggedInException podczas gdy pierwszy request zalogował się, ale nadal trzmya locka (czyli drugi request jest w miejscu L124, oczekiwanie na lock) 4. pierwszy request odblokowuje lock 5. drugi request nie przechodzi bo lastError nie jest wyczyszczony (czysci sie dopiero po najblizszym requescie, ktory dziala za pierwszym razem, tj. bez rzucenia wyjatka). Czy w takiej sytuacji drugi request nie powinien tez sie wykonac zamiast rzucac wyjatkiem?
Avatar
jezuuuu dlaczego nikt mi wcześniej takich analiz nie robił i nie wybijał głupich pomysłów z głowy
12:45
ogólnie zacznę od tego że ten mechanizm był tylko po to, żeby nie ponawiać requestów w sytuacji, gdy logowanie się i tak nie powiodło
12:45
nie mówię, że nie ma tu bugów
12:45
faktycznie bez sensu to coś
12:45
może to wywalę przy okazji (edited)
12:45
wcześniej tego nie było i jakoś działało
Avatar
{"UczenPseudonim": "RoboT"} 26.03.2024 12:48
Mibac na prezydenta
Avatar
proszę dać koledze rangę contributora
Avatar
{"UczenPseudonim": "RoboT"} 26.03.2024 12:49
przecież ma
Avatar
no to jeszcze jedną
DrakeHyperYea 1
Avatar
Contributor+
Avatar
odnośnie problemów z logowaniem na inne odmiany dziennika
11:37
wygląda na to, że zniknął ciąg permissions ze strony głównej
11:37
<script type="text/javascript"> var VParam = { rootUrl: 'https://uonetplus.vulcan.net.pl/', clientSymbol: 'lodz', appVersion: '24.3.0.58345', permissions: 'eyJVbml0cy... (edited)
11:37
vs
11:38
<script type="text/javascript"> var VParam = { rootUrl: 'https://uonetplus.edu.gdansk.pl/', clientSymbol: 'gdansk', appVersion: '24.4.1.58566', dbId: ... (edited)
11:38
gdansk ma wyższą wersję
11:38
czyli zaraz to do vulcan.net dojdzie xd
Avatar
{"UczenPseudonim": "RoboT"} 20.04.2024 12:19
a wy z permissions wyciągacie rzeczy cnie?
Avatar
taaaa, jakiś czas temu to zmienialiśmy
12:19
bo opieraliśmy się wcześniej na witrynie ucznia
12:19
trzeba teraz do tego wrócić
Avatar
@Fajerbejs nie wiem czy czytałeś, ale vulcan wydaje update'a na vulcan.net.pl tego samego co jest już na innych odmianach i zaraz logowanie przestanie działać w wulkanowym
23:24
więc mamy awarie
23:24
niby mam prawie wszystko gotowe
23:24
ale zastanawiam się jak ugryźć temat userLoginId
23:24
bo nie ma już tego pola nigdzie
Avatar
Ten fix co wydajesz to naprawia właśnie to?
Avatar
@mklkj
08:34
Już poszło
Avatar
Sory że nie odpowiadałem
Avatar
{"UczenPseudonim": "RoboT"} 22.04.2024 17:12
danych z poprzednich lat nie da sie juz pobierac cnie?
17:12
czy tylko opcja na stronie zniknela a api dalej dziala?
Avatar
nie widać opcji na pobranie semestrów z innych dzienników (lat)
17:12
więc poszło w cholerę i pobieranie danych z nich
17:12
nie ma jak tego sprawdzić
17:13
znaczy no dobra, niby jest
17:13
można próbować dekrementować id dziennika
Avatar
{"UczenPseudonim": "RoboT"} 22.04.2024 17:13
a co tam jest potrzebne zeby z innego roku pobrac
17:13
o
Avatar
ale nie chciało mi się bawić bo nic z tego
Avatar
{"UczenPseudonim": "RoboT"} 22.04.2024 17:13
ja mam zapisane stare responsy z uczendziennik
Avatar
to masz materiał do prób
Avatar
{"UczenPseudonim": "RoboT"} 22.04.2024 17:13
da sie jakos w apce latwo zmienic?
Avatar
w bazce możesz podmienić w jednym semestrze (edited)
Avatar
{"UczenPseudonim": "RoboT"} 22.04.2024 17:14
w Semesters?
Avatar
{"UczenPseudonim": "RoboT"} 22.04.2024 17:17
wgl dawno temu wylogowalem uczniow z fakeloga
17:17
a semestry zostaly
17:17
w bazie
Avatar
nie tylko semestry
17:18
wszystko zostaje
17:18
nic oprócz ucznia ze Students nie jest usuwane przy wylogowaniu
Avatar
{"UczenPseudonim": "RoboT"} 22.04.2024 17:18
Jest jakis powod wsm?
Avatar
bo nam się nie chciało xd
17:19
a raczej nie ma negatywnych konsekwencji tego że to zostaje (edited)
17:19
a usuwanie wszystkiego nie jest też takie banalne
Avatar
Avatar
mklkj
można próbować dekrementować id dziennika
{"UczenPseudonim": "RoboT"} 22.04.2024 17:24
no jak patrze to one są sequential
Avatar
chyba że akurat między klasami przeskakiwałeś
17:28
wtedy nie
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
danych z poprzednich lat nie da sie juz pobierac cnie?
{"UczenPseudonim": "RoboT"} 22.04.2024 17:28
Działa
17:30
ej a daloby sie dodac wszystkie te semestry jako w tym roku?
17:30
ze mialbym 10 semestrow XD
Avatar
dałoby się, ale apka ci ich nie pokaże
Avatar
{"UczenPseudonim": "RoboT"} 22.04.2024 17:31
w Zmien semestr jest hardcoded 2?
Avatar
więc będą bezużyteczne
17:31
tak
Avatar
{"UczenPseudonim": "RoboT"} 22.04.2024 17:31
aj
Avatar
był plan, żeby to przerobić, ale się nie udało
17:31
no i zmień semestr jest tylko dla ocen
Avatar
Avatar
{"UczenPseudonim": "RoboT"}
no jak patrze to one są sequential
{"UczenPseudonim": "RoboT"} 22.04.2024 17:36
ale diary_id nie są
17:36
17:36
to potrzebne do requestow?
17:41
ok chyba tak
17:41
sama zmiana semester_id powoduje ze sie nie laduje nic
17:45
czym jest is_current w Semesters?
17:45
bo wszedzie mam 0
Avatar
trochę staroć
17:52
nie przejmuj się nim
17:52
nie usuwamy wszystkiego na bieżąco bo usuwanie kolumn w sqlite jest uciążliwe xd
Avatar
{"UczenPseudonim": "RoboT"} 22.04.2024 17:53
gotchu
17:54
szkoda ze to moje grzebanie w bazie sie naprawilo samo
17:54
i znowu mam najnowszy semestr
Avatar
nie usuwaj aktualnego
Avatar
{"UczenPseudonim": "RoboT"} 22.04.2024 17:54
Nie usuwam nic
Avatar
dodajesz?
Avatar
{"UczenPseudonim": "RoboT"} 22.04.2024 17:54
podmienialem w tych co są
17:54
diary id i semester id i rok (edited)
17:54
a po synchronizacji sie przywrocily
Avatar
tak to działa
Avatar
{"UczenPseudonim": "RoboT"} 22.04.2024 17:55
chyba pora sforkowac wulkanowego
17:56
do przegladania archiwów XD
Avatar
możesz wziąć fork @Luncenoka
Avatar
{"UczenPseudonim": "RoboT"} 22.04.2024 17:56
tam logowanie nie dziala juz chyba
Avatar
był gdzieś stary PR z UI do tego
17:56
no to zmerguj developa
17:56
rozwiąż konflikty
17:56
i będzie jak ta lala
Avatar
{"UczenPseudonim": "RoboT"} 22.04.2024 17:56
jestem zielony w tych sprawach ale moze sprobuje xD
Avatar
SDK privated 👀
Avatar
Ażeby Vulcan nie widział w jaki sposób próbujemy obejść to co robi
Avatar
zrozumiałe zrozumiałe
Avatar
Avatar
silent
Ażeby Vulcan nie widział w jaki sposób próbujemy obejść to co robi
A konkretnie mklej próbuje
10:25
My kibicujemy
👍 1
10:26
Tylko
10:26
😦
Avatar
Avatar
v0id
A konkretnie mklej próbuje
Mklej z faierbelem
Avatar
@Fajerbejs się opierdala
Avatar
Raczej pracuje
Avatar
jak coś to wcale nie pracujemy w tym samym miejscu
Avatar
Avatar
mklkj
jak coś to wcale nie pracujemy w tym samym miejscu
jak coś to fix wulkanowego można robić po pracy jak coś to mam projekt w pracy który ma ciasny deadline jak coś to nawet nie wiem jak miałbym pomóc z naprawą sdk
Avatar
jak coś to nawet nie wiem jak miałbym pomóc z naprawą sdk
mógłbyś tańczyć jak czirliderka kibicując
Avatar
ooo taaaak
Avatar
Dedlajny to fikcja
Avatar
@mklkj trzeba postawić kiedyś ci kebsa za takie poświęcenie
Avatar
mogę liczyć na takiego średniego chociaż?
Avatar
Nawet na dużego
Avatar
uhuhu
13:15
pan jest dla mnie zbyt łaskawy
Avatar
Każdy ma ochotę na kebsa po tak ciężkiej pracy
13:25
A zwłaszcza na miszany miszany 😄 (edited)
Avatar
Avatar
v0id
Dedlajny to fikcja
Fakty
Avatar
Avatar
siroo
SDK privated 👀
sdk znowu public⁉️
Avatar
Może ktoś się skusi naprawić wulkanowego
Avatar
gdyby się ktoś zastanawiał dlaczego dokładnie wiadomości nie działają:
Avatar
whaaat
Avatar
Avatar
mklkj
gdyby się ktoś zastanawiał dlaczego dokładnie wiadomości nie działają:
api global key?
Avatar
to tylko przykład
13:20
jak klucze w responsie z wiadomościami są zakodowane
Avatar
i jak to scrapowac teraz
Avatar
przede wszystkim darować sobie te zbędne obliczenia i zrobić mapping
13:22
bo dla każdego endpointa response jest u wszystkich identyczny
13:22
bo nie ma dodatkowych zmiennych
Avatar
Avatar
mklkj
bo dla każdego endpointa response jest u wszystkich identyczny
w sensie klucze są identyczne
13:23
chociaż co do tego muszę się jeszcze upewnić
Avatar
Avatar
mklkj
gdyby się ktoś zastanawiał dlaczego dokładnie wiadomości nie działają:
ja jak włączyłem debuger to mi zapetla jakąs funkcje
Avatar
dziwne
13:25
u mnie działa
Avatar
u mnie nie
13:25
:c
Avatar
to wygląda jak moduł ucznia
Avatar
bo jest
13:26
modułem ucznia
Avatar
no to co tam szukasz
Avatar
o tak
13:26
sobie patrze
13:28
btw odpaliłem sobie sdk-dart ale już naprawienie logowania mnie zmiotło z planszy
Avatar
tam chyba ze dwa dodatkowe kroki doszły w międzyczasie
Avatar
wlasnie staram sie ogarnac
13:40
co sie dzieje w tym ruchu sieciowym
13:43
wow chyba dobrze mi idzie
Avatar
nawet bardzo
Avatar
uważaj, żeby cię ktoś nie zdoxował
14:40
czy coś
Avatar
mam nudne zycie
14:40
niech doxuja
Avatar
Avatar
mklkj
gdyby się ktoś zastanawiał dlaczego dokładnie wiadomości nie działają:
Oranż Metylowy 04.06.2024 14:01
Chciałbym to widzieć po stronie kodu źródłowego, tzn jak wprowadzają takie śmieszne blokady
Avatar
Jak skompilować Wulkanowego z lokalną wersją SDK? ./gradlew publishToMavenLocal?
20:07
znaczy publish publikuje sdk do lokalnego mavena, potem musisz użyć opublikowanej wersji w apce
Avatar
Jak?
Avatar
numerki w build.gradle się muszą zgadzać
❤️ 1
Avatar
Długo nam służyłeś żołnierzu Salute Pora na zasłużony odpoczynek Prayge
🫡 1
Avatar
Jeśli można jeszcze pytać, to do mappingów mieliście jakiś automat czy ręcznie je tworzyliście Ogarniam sobie forka na rok szkolny
21:36
czyli jednak komuś się uda
🫡 1
21:40
serial name jest do zywkłego ucznia a json names do ucznia+
Avatar
Dzięki popatrzę kotlina się na razie uczę dopiero, pisałem głównie w C/C++
Avatar
Avatar
Serafin
Jeśli można jeszcze pytać, to do mappingów mieliście jakiś automat czy ręcznie je tworzyliście Ogarniam sobie forka na rok szkolny
a propos tego skryptu vulcana to co jakby go odpalić jsdomem albo innym babelm i nasłuchiwać requestow np
00:23
zastosowania jako apka mobilna to chyba ciężko szukać
00:23
ale zastanawiałem się czy da się tak jakiś dane wyciągnąć
Avatar
masz jakis przyklad?
Avatar
Mam prywatne repo
18:12
A sporo rzeczy już napisałem na kanale wulkanowego kiedyś
18:13
Ja akurat to babelem zrobiłem
18:14
Na uczniu było latwo
18:14
Na wiadomościach ciężko gdyż to react
18:14
I zwykle w świecie jest tyle tam abstrakcji że ciężko wyciągać dane jakimś matchingiem
18:15
Ale tak jak kiedyś mówiłem oraz ty teraz, pewnie nasłuchując requesty (dynamic + static reverse engineering) dałoby rade
Avatar
Nie dałoby rady
Avatar
Avatar
mklkj
Nie dałoby rady
😢
Exported 6 900 message(s)
Timezone: UTC+1