L-istat erbgħa jqajjem notifika fuq API waħda u jfisser xi ħaġa oħra fuq oħra, u l-kodiċi ma juri ebda differenza. Kull valur tal-istat f’NetworkManager jappartjeni għal enumerazzjoni bl-isem, u l-enumerazzjonijiet ma jaqblux dwar xi jfisser numru partikolari. Għalhekk l-ikkopjar ta’ numru sħiħ minn snippet li jaħdem għal callback ieħor mhuwiex trasferiment ta’ imġieba; huwa koinċidenza li tistenna biex tinqasam. Sib l-ewwel it-tip, u n-numru jsir jinqara.

Numru mingħajr tip huwa biss għajdut

Żewġ enumerazzjonijiet huma importanti hawn. Waħda tiddeskrivi konnessjoni attiva b’mod ġenerali: mhux magħruf, qed jattiva, attiv, qed jiżattiva, diżattivat. L-oħra tiddeskrivi speċifikament konnessjoni VPN, u għandha aktar waqfiet fit-triq, inklużi t-tħejjija, it-twaqqif tal-konnessjoni, il-konfigurazzjoni tal-IP u talba għall-awtentikazzjoni qabel ma jiġi attivat xi ħaġa. In-numerazzjoni tagħhom tibda minn żero fiż-żewġ każijiet u mbagħad tiddiverġi, għalhekk il-valur li jfisser diżattivat fl-enumerazzjoni ġenerali jinżel f’xi mkien fin-nofs tas-sekwenza VPN. Ħadd mill-intestaturi mhu ħażin; huma jwieġbu mistoqsijiet differenti.

Uża l-kostanti simbolika mill-intestatura jew mill-binding installat minflok litterali. L-isem jgħaddi minn rinumerazzjoni; in-numru sħiħ le.

Issorvelja konnessjoni waħda, mhux il-magna

Ibda mill-UUID tal-profil li jimpurtak u mill-oġġett tal-konnessjoni attiva maħluq minn dik l-attivazzjoni. Stat ta’ apparat, jew stat ta’ tunnel ieħor, mhuwiex sostitut, anki meta t-tnejn jinbidlu fl-istess mument. Żomm l-identità tal-oġġett mal-osservazzjoni, sabiex rapport aktar tard ikun jista’ jgħid liema profil ipproduċieh. Il-magna għandha ħafna stati; in-notifika hija dwar wieħed minnhom.

Imbagħad iddeċiedi x’għandha tfisser in-notifika. Konnessjoni li qatt ma waslet għall-attivazzjoni hija falliment fit-twaqqif, u sessjoni li kienet attiva u mbagħad sparixxet hija telfa. Dawn jixirqu kliem differenti.

Għid liema tranżizzjoni qed tirrapporta

Aħżen l-istat preċedenti u qabblu mal-ġdid, minflok ma tittestja l-valur il-ġdid waħdu. Tranżizzjoni għal stat fallut u tranżizzjoni barra minn stat attivat huma avvenimenti differenti anki meta t-tnejn jispiċċaw b’xejn konness. Irreġistra l-string tar-raġuni maġenbu, għax spiss hija l-unika parti li fuqha utent jista’ jaġixxi.

Skunnessjoni intenzjonata mhijiex ħsara. Jekk in-notifika ma tistax tiddistingwi, se tgħallem lin-nies jinjorawha.

Żomm l-osservatur ħaj

L-istħarriġ ripetut m’għandux iqajjem twissija oħra għal stat li ma nbidilx. Dik ir-regola waħda tneħħi l-biċċa l-kbira tal-istorbju li jġibu dawn in-notifikaturi.

Ittratta wkoll il-każ fejn il-maniġer jerġa’ jibda jew l-oġġett osservat jiġi sostitwit. Osservatur marbut ma’ identità skaduta jiskot għal kollox eżatt fil-mument li jiġri xi ħaġa interessanti, u s-skiet jidher bħas-saħħa. Erġa’ skopri l-oġġett attwali wara bidla fil-preżenza tal-maniġer, u rreġistra meta seħħet l-iskoperta mill-ġdid. Inkella r-reġistru juri tunnel li sempliċement waqaf jirrapporta.

Wassal in-notifika fejn jinsab l-utent

Callback tas-sistema b’privileġġ ma jirtx is-servizz tan-notifiki ta’ sessjoni tad-desktop. Messaġġ mibgħut minn handler fil-livell root jista’ jisparixxi mingħajr żball, li jipproduċi notifikatur li jaħdem meta tiġi ttestjata bl-idejn u qatt fil-prattika. Wassal fis-sessjoni li tippossjedi d-desktop, jew ħalli l-klijent tad-desktop stess iqajjem in-notifika.

Ippreferi n-notifika eżistenti tal-klijent jekk diġà tkopri l-każ, għax żewġ notifikaturi għal avveniment wieħed huma problema ta’ appoġġ u mhux redundanza. Żomm il-ħin tal-avveniment, il-profil u r-raġuni fir-rekord tal-appoġġ, u ħalli l-passwords u l-profili sħaħ barra minnu. Ftakar x’inhi n-notifika: rapport ta’ stat osservat, mhux mekkaniżmu ta’ infurzar, għax l-imblukkar tat-traffiku waqt li t-tunnel ma jkunx hemm hija politika separata bl-implimentazzjoni tagħha stess.

Artikli relatati