Գրանցում և հաշիվ

Ինչո՞ւ մուտքանուն և գաղտնաբառ պետք չեն։

Գրանցման ժամանակ հավելվածը սերվերից ստանում է փոքր գաղտնագրական խնդիր (Proof of Work) և լուծում է այն՝ սա պաշտպանություն է բոտերի ավտոմատ գրանցումից։ Զուգահեռ գեներացվում են սարքի եզակի նույնացուցիչներ և գաղտնագրման բանալիների մի քանի հավաքածու՝ երկարաժամկետ նույնականացման բանալիներ, ստորագրված նախաբանալիներ և մեկանգամյա նախաբանալիներ (ներառյալ հետքվանտային ML-KEM-1024)։ Սերվեր են ուղարկվում միայն այդ բանալիների բաց մասերը և PoW-խնդրի արդյունքը։ Գաղտնի բանալիները երբեք չեն լքում սարքը։ Գաղտնաբառ չկա․ հաշիվը որոշվում է բանալիներով, իսկ նոր սարքում դրան հասանելիությունը կարելի է վերականգնել 12 բառից բաղկացած վերականգնման բանալիով։

Կարելի՞ է դուրս գալ հաշվից և նորից մտնել։

Այո՝ 12 բառից բաղկացած վերականգնման բանալիով․ նոր սարքում կամ վերատեղադրումից հետո ընտրեք «Վերականգնել» և մուտքագրեք բառերը։ Կվերադառնան հաշիվը և նրա հասցեն․ հին հաղորդագրություններն ու սեսիաները մնում են նախկին սարքում և չեն փոխանցվում։ Առանց այդ բառերի սարքի կորուստը կամ հավելվածի ջնջումը նշանակում է հաշվի կորուստ ընդմիշտ։

Ինչպե՞ս չկորցնել հաշիվը հեռախոսը փոխելիս։

Վերականգնման բանալին ստեղծվում է ինքնաբերաբար գրանցման ժամանակ՝ ոչինչ անել պետք չէ։ Նրա պատճենը (12 բառ) կարելի է պահպանել ավելի ուշ՝ Կարգավորումներում․ հավելվածը կհիշեցնի, իսկ հաշվից դուրս գալուց առաջ պարտադիր կպահանջի։ Քանի դեռ պատճենը չի արված, բառերը պահվում են սարքում գաղտնագրված և բացվում են միայն Face ID-ից, մատնահետքից կամ հեռախոսի կոդից հետո․ պատճենելուց հետո դրանք ջնջվում են սարքից։ Գրեք դրանք և պահեք հուսալի տեղում՝ Konstruct-ը չունի ձեր հեռախոսահամարը և փոստը, սա հաշիվը վերադարձնելու միակ ճանապարհն է։

Կոնտակտներ

Ինչպե՞ս գրել ինչ-որ մեկին։

Համակարգը կառուցված է այնպես, որ անծանոթ մարդը չի կարող պարզապես սկսել ձեզ գրել։ Զրույց սկսելու համար մեկը կիսվում է QR-կոդով կամ հրավերի հղումով, իսկ մյուսը սկանավորում է այն կամ անցնում հղումով։ Դրանք մեկանգամյա են՝ QR-կոդը գործում է հինգ րոպե, հղումը՝ տասներկու ժամ, իսկ մեկ անգամ ընդունված հղումը կրկին օգտագործել հնարավոր չէ։ Առանձին կարող եք կարգավորումներում միացնել հայտնաբերումը և դառնալ գտնելի օգտանունով․ լռելյայն այն անջատված է, ուրեմն քանի դեռ չեք միացրել, հրավերը միակ ճանապարհն է։

Ինչո՞ւ է այս սահմանափակումը։ Չէ՞ որ անհարմար է։

Սա միտումնավոր որոշում է։ Մեսենջերների մեծ մասում բավական է իմանալ հեռախոսահամարը կամ մականունը, որպեսզի սկսես մարդուն հաղորդագրություններով լցնել։ Այստեղ փոխադարձ համաձայնությունը ներդրված է ճարտարապետության մեջ, այլ ոչ թե պարզապես հայտարարված քաղաքականության մեջ։

Ի՞նչ կլինի, եթե ինչ-որ մեկը կիսվի իմ QR-կոդով առանց իմ իմացության։

Կոդն ընդունվում է միայն մեկ անգամ, ուստի տարածված հղումով կարող է ավելանալ առավելագույնը մեկ մարդ, իսկ արդեն օգտագործված հղումը ոչինչ չի անի։ Բացի այդ, հղումը դադարում է գործել ստեղծվելուց տասներկու ժամ անց, իսկ QR-կոդը՝ հինգ րոպե անց։ Եթե ինչ-որ մեկն այնուամենայնիվ ավելացել է, կտեսնեք նոր զրույց և կկարողանաք անմիջապես արգելափակել նրան։

Գաղտնագրում և գաղտնիություն

Ինչպե՞ս է աշխատում գաղտնագրումը։

Բոլոր հաղորդագրությունները գաղտնագրվում են ուղարկողի սարքում՝ ուղարկելուց առաջ, և վերծանվում են միայն ստացողի սարքում։ Սերվերը տեսնում է միայն գաղտնագրված հոսքը և ուղղորդում է այն՝ բովանդակությունը կարդալ չի կարող։ Սեսիա հաստատելու համար օգտագործվում է X3DH՝ ընդլայնված հետքվանտային բանալիների համաձայնեցմամբ (PQXDH)․ ուղարկողը ML-KEM-1024 գաղտնիքը ինկապսուլացնում է ստացողի Kyber-նախաբանալու մեջ, և այդ գաղտնիքը կլասիկ գաղտնիքների հետ մտնում է սեսիայի սկզբնական բանալու մեջ՝ հենց դա է սահմանափակում «գրանցել հիմա, քվանտային համակարգչով վերծանել հետո» սցենարը։ Հետքվանտային պաշտպանությունը գործում է առաջին հաղորդագրությունից, իսկ առանց դրա սեսիա հավելվածը չի հաստատի։ Այնուհետև աշխատում է Double Ratchet-ը, որը փոխում է բանալիները յուրաքանչյուր հաղորդագրության հետ, և յուրաքանչյուր հաղորդագրություն ունի նաև իր հետքվանտային բանալին՝ այնպես որ մեկ բանալու փոխզիջումը չի բացահայտում ո՛չ անցյալ, ո՛չ ապագա հաղորդագրությունները։ Թե ով է ուղարկել հաղորդագրությունը, նույնպես թաքցված է հետքվանտային եղանակով․ զանգերը պաշտպանված են հետքվանտային DTLS-ով, երբ երկու հավելվածներն էլ աջակցում են այն։ Առայժմ կլասիկ են մնում՝ սերվերի ստորագրությունները (ուղարկողի վկայագրերը, բանալիների թափանցիկության մատյանը), սարքի մուտքը և հաշվի վերականգնումը, Privacy Pass-ի թոքենները և տրանսպորտային TLS-ը․ խմբեր դեռ չկան․ ամբողջական ցանկը՝ արձանագրության սպեցիֆիկացիայում։

Կոնկրետ ի՞նչ է տեսնում սերվերը։

Շատ քիչ, և դրանցից ոչինչ դուք չեք։ Հաղորդագրությունը հասցնելու համար սերվերին պետք են ստացողի հաշվի անթափանց նույնացուցիչը, գաղտնագրի չափը և ստացման ժամանակը․ նա պահում է նաև ձեր բաց բանալիները և iOS-ում՝ push-թոքեն։ Սա ամբողջ ցանկն է։ Նա չի տեսնում ո՛չ բովանդակությունը, ո՛չ ձեր անունը, ո՛չ ավատարը, ո՛չ կոնտակտների ցանկը, և ուղարկողի պաշտպանության մշտապես միացված ճանապարհով չի տեսնում, թե ով է ուղարկել հաղորդագրությունը։ Հաղորդագրությունները սերվերի մոտ պահվում են միայն գաղտնագրված և ջնջվում են պահպանման ժամկետով (մոտ 7 օր), այլ ոչ թե առաքման պահին։ Օգտանունը պարտադիր չէ, ուղղորդմանը չի մասնակցում և պահվում է միայն բանալիով հեշի տեսքով՝ մեկ նպատակով՝ որպեսզի ձեզ կարողանան գտնել․ հենց որոնումն անջատված է, քանի դեռ չեք միացրել հայտնաբերումը, ուստի լռելյայն հաշիվն անունով գտնել հնարավոր չէ ընդհանրապես։

Իսկ մետատվյալնե՞րը։ Ո՞վ ում հետ է շփվում։

Սա ավելի դժվար մասն է։ Սերվերը դեռ տեսնում է, որ ինչ-որ մեկը գաղտնագիր է հասցրել B սարքին (ստացող, ժամանակ, չափ)։ Մշտապես միացված ուղարկողի պաշտպանության դեպքում նա չի իմանում, թե կոնկրետ ով է գրել՝ տես հաջորդ հարցը։ Ցենզուրայի պաշտպանությունը մասամբ թաքցնում է ցանցային ուղին։ Երթուղավորման մակարդակում լիարժեք անանունությունը (թաքնվել և ստացողից, և IP-ով ու ժամանակով կորելյացիայից) այլ կարգի խնդիր է, և այսօր այն լուծված չէ։

Գիտե՞ սերվերը, թե ով է ուղարկել հաղորդագրությունը։

Ոչ՝ ուղարկողի դաշտը ծրարի մեջ չի դրվում, և սա միշտ միացված է սովորական տրաֆիկի համար (հաղորդագրություններ, առաքման անդորրագրեր, զանգի հաստատում, պրոֆիլների փոխանակում)։ Մոռանալու հնարավոր անջատիչ չկա։ Ձեր սարքը ստորագրված ուղարկողի վկայագիրը կնքում է ստացողի բանալու վրա․ ստացողը կարող է այն բացել և ստուգել, թե ով է գրել, իսկ սերվերը՝ ոչ։ Մի քանի ներքին ուղիներ՝ կապի պահպանումը, ձեր սեփական սարքերի համաժամեցումը, սեսիայի սպասարկման հաղորդագրությունները, ըստ նախագծի դեռ կրում են ուղարկողին։

Արժե ճշտել, թե կոնկրետ ինչ է թաքցվում, որովհետև դա ինքնությունը չէ։ Այն սերվերը երբեք չի ունեցել․ հաշիվն այստեղ բանալիների զույգ է և անթափանց նույնացուցիչ՝ առանց հեռախոսահամարի, փոստի և իրական անվան, ուստի մարդու հետ կապելու բան սկզբից չկա։ Ուղարկողի պաշտպանությունը վերացնում է երկու այդպիսի նույնացուցիչների միջև վերջին կապը՝ ով ումն է գրել։ Ցանցային մակարդակը առանձին հարց է, այն ավելի բարձր է․ ժամանակը և IP-ն մնում են տեսանելի, և հենց այնտեղ է աշխատում ռեսուրսներ ունեցող դիտորդը։

Սահմանափակումներ․ Ուղարկողի պաշտպանությունը սերվերից թաքցնում է ուղարկողի ինքնությունը, բայց ոչ ժամանակը, չափը կամ IP-ն․ դա երևում է ցանցային/տրանսպորտային մակարդակում։ Privacy Pass-ի թոքենները կարող են գնալ sealed ուղարկման հետ՝ սպամի դեմ․ server-side enforcement-ը դեռ ներդրվում է՝ թոքեններով rate-control-ը համարվում է հասունացող, ոչ թե ավարտուն։

Հավաքո՞ւմ եք անալիտիկա կամ հեռաչափություն։

Ոչ՝ ընդհանրապես։ Ոչ մի անալիտիկա, օգտագործման մետրիկա, վարքագծային իրադարձություն, կրաշների ուղարկում, գովազդային նույնացուցիչ։ Ոչ թե «հավաքված և անանձնավորված», այլ ընդհանրապես չհավաքված։ Հավելվածում երրորդ կողմի հետագծիչներ չկան (ոչ Firebase, ոչ Crashlytics, ոչ Sentry, ոչ Amplitude, ոչ Segment)․ միակ արտաքին կախվածությունները տրանսպորտն ու մեդիան են, իսկ iOS-ում՝ խոսքի ճանաչման տեղային գրադարանը։ Թողարկման կառուցվածքները նաև չեն գրում ախտորոշիչ լոգեր սկավառակի վրա և չունեն դեբագի էկրան կամ լոգերի արտահանում։ Երբ մեզ լոգեր են պետք սխալը շտկելու համար, դրանք ուղարկում եք դուք՝ բետա կառուցվածքում «կիսվել» կոճակով․ ոչ մի լուռ ուղարկում։

Պրոֆիլ

Ինչի՞ համար է Display Name-ը։

Ձեր Display Name-ը և ավատարը մնում են սարքում․ դրանք հանրային պրոֆիլի մաս չեն, և ոչ ոք չի կարող դրանք գտնել։ Երբ նոր զրույց եք սկսում, զրուցակիցը տեսնում է միայն գեներացված կեղծանունը՝ դետերմինացված, տվյալ ID-ի համար միշտ նույնը։ Իրական անունն ու լուսանկարը ցույց տալու համար բացեք զրուցակցի պրոֆիլը և միացրեք «Կիսվել իմ պրոֆիլով»․ և՛ մեկը, և՛ մյուսը կգնան գաղտնագրված ալիքով։ Մեկ բացառություն․ կոնտակտի հարցում ուղարկելիս դրան կցվում են ձեր օգտանունը և Display Name-ը, որպեսզի ստացողը հասկանա, թե ով է խնդրում։ Սերվերը պահում է այդ պատճենը գաղտնագրված, բայց սեփական բանալիով՝ դա ծայրից ծայր գաղտնագրում չէ․ ավատարը պատճենի մեջ երբեք չի մտնում։

Ինչո՞ւ գեներացված անուն, այլ ոչ թե պարզապես դատարկ։

Դատարկ անունն անհարմար է․ չաթերի ցանկում կտեսնեիք անդեմ տողեր և չէիք կարողանա տարբերել մի կոնտակտը մյուսից։ Գեներացված անունը կայուն է՝ «Արագ Բազեն» այդ ID-ի համար միշտ կմնա «Արագ Բազե», ցանկացած սարքում։

Եթե օգտատերը username ունի, տեսնո՞ւմ եմ այն։

Այո։ Ցուցադրման առաջնահերթությունը՝ Display Name (եթե կիսվել է) → username → գեներացված անուն։ Եթե մարդը գրանցվել է @john username-ով, կտեսնեք հենց այն, այլ ոչ թե «Խաղաղ Կետ»։

Հաղորդագրություններ

Ի՞նչ են նշանակում հաղորդագրությունների կարգավիճակները։
  • Ուղարկվում է գաղտնագրվում է ձեր սարքում
  • Ուղարկված է դուրս է եկել սարքից, սերվերն ընդունել է այն
  • Առաքված է ստացողի սարքը վերծանել է այն և հաստատում ուղարկել
  • Հերթում է դեռ չի գնացել․ հավելվածը շարունակում է փորձերն ինքնուրույն․ սեղմեք, եթե չեք ուզում սպասել
  • Չհաջողվեց ուղարկել մերժվել է պատճառով, որը կրկնությունը չի շտկի, ուստի ինքնուրույն ոչինչ չի լինի․ սեղմեք՝ նորից փորձելու համար

«Կարդացված է» կարգավիճակ չկա, և դա միտումնավոր է․ կարդալու նշանը ուղարկողին կասեր, թե երբ եք բացել հավելվածը՝ ձեր մասին փաստ, որը հաղորդագրությանը պետք չէ։ «Առաքված է»-ը ստացողի սարքի գաղտնագրված անդորրագիրն է, այլ ոչ թե սերվերի հաղորդագրությունն այն մասին, որ նա ինչ-որ բան փոխանցել է։

Կարելի՞ է խմբագրել ուղարկված հաղորդագրությունները։

Այո, խմբագրումն աջակցվում է։ Փոփոխությունից հետո հաղորդագրության վրա հայտնվում է «խմբագրված» նշանը։ Խմբագրումը հասնում է ստացողի սարքին այն նույն առաքման մեխանիզմով, ինչ սովորական հաղորդագրությունները։

Ինչո՞ւ երբեմն ծանուցումներ չեն գալիս, երբ հավելվածը փակ է։

iOS-ում ծանուցումները գալիս են Apple Push Notification Service-ի (APNs) միջոցով․ պետք է կայուն ինտերնետ, և եթե հեռախոսը ավիառեժիմում է, ագրեսիվ ֆիլտրմամբ VPN-ի հետևում, կամ Apple-ը push-ը համարել է «ցածր առաջնահերթության», ծանուցումը կարող է ուշանալ կամ չգալ։ Android-ում push-ծառայություններ ընդհանրապես չկան․ հավելվածը պահում է սեփական կապը, որի մասին վկայում է մշտական ծանուցումը․ մարտկոցի ագրեսիվ խնայումը կամ արգելափակված ցանցը կարող են հաղորդագրությունները ուշացնել։ Երբ հավելվածը նորից բացվի, հաղորդագրությունները ինքնաբերաբար կբեռնվեն։

Ցենզուրայի պաշտպանություն

Աշխատո՞ւմ է Konstruct-ը այնտեղ, որտեղ մեսենջերներն արգելափակված են

Հավելվածում կա ցենզուրայի պաշտպանության ռեժիմ. այն փոխում է, թե ինչպես է հավելվածը դուրս գալիս ցանց, երբ ուղիղ կապը արգելափակվում է։ Կարգավորումներում դա մեկ անջատիչ է երեք դիրքով՝ անջատված, ավտոմատ, միացված, և լռելյայն դրված է «ավտոմատ». քանի դեռ ուղիղ կապն աշխատում է, օգտագործվում է այն, իսկ անցումը կատարվում է միայն ապացուցված խափանումից հետո։ Կարգավորելու բան չկա, հասցեներ մուտքագրել պետք չէ, ամեն ինչ տեղի է ունենում ֆոնային ռեժիմով։ Իրականացումը բաց է, այնպես որ դիզայնը կարող է ուսումնասիրել ցանկացած մարդ։

Ցենզուրայի պաշտպանությունը միշտ միացվա՞ծ է

Լռելյայն՝ ավտոմատ. ուղիղ կապն ավելի արագ է, ուստի քանի դեռ այն աշխատում է, օգտագործվում է այն, իսկ անցումը կատարվում է միայն ապացուցված խափանման դեպքում։ Կարելի է նաև ստիպողաբար միացնել կամ անջատել։ Այն, ինչ մենք միտումնավոր չենք հրապարակում, այն է, թե կոնկրետ որ տեխնիկաներն են այժմ գործում և որտեղ են դրանք այժմ անցնում կամ չեն անցնում. այս հարցի վերաբերյալ հանրային և արդի ամփոփագիրը անվճար հետադարձ կապ է նրանց համար, ովքեր արգելափակում են։ Նույն պատճառով դա չի ցուցադրում նաև հենց հավելվածը։

Ցանցի կայունություն և կենսունակություն

Ի՞նչ կլինի, եթե Konstruct-ի սերվերները անջատվեն

Հաղորդագրությունների փոխանակումը կանգ է առնում մինչև նրա վերադարձը։ Ալֆան աշխատում է մեկ վստահելի սերվերի վրա, և այսօր երկրորդ ուղի չկա՝ ո՛չ ռելե, ո՛չ ուղիղ կապեր, ո՛չ այլ հանգույց, որի վրա կարելի է հենվել։ Ամեն գաղտնագրված բան մնում է գաղտնագրված, ոչինչ չի կորչում՝ պարզապես չի շարժվում։ Ճանապարհային քարտեզը գոյություն ունի հենց նրա համար, որ սա դադարի ճշմարիտ լինել, և դրանից առայժմ ոչինչ չի թողարկվել։

Հիմնական մեսենջինգը միշտ անվճա՞ր կլինի

Այո՝ անվերապահորեն։ Հաղորդագրություններ ուղարկելը, ստանալը, E2EE-ն և անվտանգության բոլոր գործառույթները երբեք չեն հայտնվի վճարովի պատնեշի հետևում։ Միայն նվիրատվությունների մոդելը պատմականորեն փխրուն է ստացվել privacy-նախագծերի համար, ուստի Konstruct-ը պլանավորում է համադրություն՝ կամավոր նվիրատվություններ, ընտրովի premium գործառույթներ (մեծ ֆայլեր, ընդլայնված պատմություն, թեմաներ՝ երբեք անվտանգության գործառույթներ) և B2B-հոսթինգ կազմակերպությունների համար։ Միջուկը միշտ անվճար կլինի։

Ինչո՞վ է ապրում Konstruct-ը։ Կարո՞ղ եմ նվիրաբերել

Առանց գովազդի, առանց տվյալների վերավաճառքի, առանց հեռաչափության՝ դրա հակառակ կողմն այն է, որ Konstruct-ը ապրում է կամավոր նվիրատվություններով։ Դրանք ուղիղ գնում են մշակմանը և սերվերին։ Եթե գաղտնիությունը կարևոր է ձեզ համար, նախընտրեք Monero (XMR)․ ի տարբերություն բիթքոյնի, նրա շղթան հանրային չէ։ Ուղարկելուց առաջ միշտ համեմատեք հասցեն նախագծի պահոցի հետ՝ էջի կեղծման դեպքից խուսափելու համար։

  • Monero (XMR) — խորհուրդ է տրվում․
    496i5qvPzRtJPQjiPXnLvEGutjHFth4pWDQaJwbbMreyaTYg4qfbo48MXrTnYH32MHiAn5GcSEN1c48EYBvVkrx9Pi5BWvn
  • Bitcoin (BTC)․
    bc1q5cthgu6k9utg9hk2mx2xshdtsrhvu54ysmqhmm
  • Ko-fi — հարմար է, բայց ոչ գաղտնի․ վճարային ծառայությունը գիտի, թե ով եք դուք․
    ko-fi.com/construct_msg
Ի՞նչ է P2P ռեժիմը և ե՞րբ է այն ակտիվանում

P2P ռեժիմը նախատեսված է, բայց դեռ իրականացված չէ. ամբողջ տրաֆիկն այժմ անցնում է կենտրոնական սերվերով։ Նպատակային մոտեցումը. երբ երկու զրուցակիցները միաժամանակ առցանց են և միացած են Konstruct-ի սերվերին, սերվերը նրանց ազդանշան կտա՝ անցնելու QUIC-ի վրա կառուցված ուղիղ P2P կապի։ Կապը հաստատվելուց հետո սերվերը դուրս է գալիս առաքման ուղուց. տրաֆիկը գնում է անմիջապես սարքերի միջև։ Եթե կողմերից մեկը անցնում է անցանց, առաքումը վերադառնում է սերվերին։

Անվտանգություն և պաշտպանություն

Ի՞նչ անել, եթե անծանոթ մարդիկ սկսեն զանգվածաբար գրել ինձ

Դրա համար հավելվածում կա «Արգելափակման ռեժիմ»։ Երբ այն միացված է, ծանուցումներն ու ահազանգերը գալիս են միայն այն մարդկանցից, ովքեր ձեր կոնտակտներում էին նրա ակտիվացման պահին։ Նոր ուղարկողների հաղորդագրությունները, այնուամենայնիվ, պահպանվում են. պարզապես դրանք ձեզ չեն անհանգստացնի։ Ռեժիմը օգտակար է, եթե դուք հանրային անձ եք և ցանկանում եք ժամանակավորապես փակվել նոր կոնտակտներից։

Իսկ եթե մեկ կոնկրետ մարդ սկսի հարյուրավոր հաղորդագրություններով սպամ անե՞լ

Եթե մեկ ուղարկողից կարճ ժամանակում կասկածելիորեն շատ հաղորդագրություններ են գալիս (30 վայրկյանում ~10-ից ավելի), հաճախորդը ավտոմատ կերպով զգուշացում կցուցադրի և կլռեցնի նրա ծանուցումները։ Դուք կկարողանաք կամ թույլատրել նրան, կամ արգելափակել։ Կարևոր է. սա ստացողի կողմի պաշտպանություն է և աշխատում է անկախ այն բանից, թե ուղարկողը ինչ հաճախորդ է օգտագործում։

Տեխնիկական հարցեր

Ի՞նչ է «սեսիան» և ինչո՞ւ է այն երբեմն «կոտրվում»

Սեսիան երկու սարքերի միջև հաստատված գաղտնագրված ալիք է։ Այն կառուցվում է մեկանգամյա բանալիների վրա, որոնք չի կարելի կրկին օգտագործել, և բանալիները փոխվում են յուրաքանչյուր հաղորդագրության հետ։ Եթե հավելվածը երկար ժամանակ չի աշխատել, սարքը վերատեղադրվել է կամ զրուցակիցը ջնջել է զրույցը, մուտքային հաղորդագրությունը կարող է ընթեռնելի չլինել։ Այդ դեպքում ստացողի հավելվածը հայտնում է ուղարկողին, թե սեսիայի որ վիճակով է գրվել այդ հաղորդագրությունը. ուղարկողի հավելվածը բացում է նոր վիճակ և հաղորդագրությունը նորից ուղարկում։ Օգտատերը, որպես կանոն, ոչինչ չի նկատում. հաղորդագրությունը պարզապես հասնում է։

Աջակցվո՞ւմ են մի քանի սարքեր

Երկրորդ սարքը կապել հանրային կառուցվածքներում առայժմ հնարավոր չէ։ Բնիկ դեսկտոպ հաճախորդը սառեցված է, մշակման փուլում է կոնսոլային (TUI) հաճախորդը։ Քանի որ ինքնությունը կապված է բանալիների, այլ ոչ թե սերվերի վրա գտնվող հաշվի հետ, բազմասարքայնությունը պահանջում է բանալիների կապակցման առանձին մեխանիզմ. մենք աշխատում ենք դրա վրա։

Ի՞նչ տրանսպորտ է օգտագործում Konstruct-ը live հաղորդագրությունների համար

Live հաղորդագրությունները գնում են երկկողմանի gRPC MessageStream-ով. մեկ երկարակյաց հոսք heartbeat-ների, մուտքային հաղորդագրությունների և ստացման հաստատումների համար, առանց request/response polling-ի։ iOS-ի ընթացիկ կառուցվածքներում հիմնական ուղին QUIC-ն է (construct-transport). եթե QUIC-ը կտրվում է կամ handshake-ը չի անցնում, հաճախորդն ավտոմատ կերպով անցնում է gRPC-ի՝ HTTP/2 + TLS 1.3-ի վրա։ Ծայրից ծայր գաղտնագրումը կախված չէ տրանսպորտից. լարով անցնում է միայն փակված գաղտնագրված տեքստը։

Թեստավորողների համար

Ի՞նչ ստուգել առաջին հերթին
  • Գրանցում և կոնտակտի ավելացում QR կոդով
  • Հաղորդագրությունների ուղարկում և ստացում (երկու ուղղությամբ)
  • Առաքման կարգավիճակներ. հասնու՞մ է արդյոք հաղորդագրությունը մինչև «առաքված», և կրկնվո՞ւմ է արդյոք ուղարկումը «հերթում» ու «չհաջողվեց ուղարկել» կարգավիճակներից՝ սեղմելիս
  • Հաղորդագրությունների խմբագրում. տեսնո՞ւմ է արդյոք ստացողը փոփոխությունները
  • Ծանուցումներ՝ ծալված հավելվածի դեպքում
  • Վարքը վատ կապի պայմաններում (ավիառեժիմ → վերականգնում)
  • Հաշվի վերականգնում վերականգնման բանալիով՝ վերատեղադրումից հետո
  • Վերականգնման բանալու պատճենը Կարգավորումներից
Ինչպե՞ս հաղորդել սխալի մասին

Ախտորոշիչ (ներքին) կառուցվածքներում ճանապարհը հետևյալն է. Կարգավորումներ → Ախտորոշում և մատյաններ → Կիսվել մատյաններով։ Հանրային կառուցվածքները մատյաններ չեն վարում և այս էկրանը ընդհանրապես չեն կոմպիլացնում. եթե ձեր կառուցվածքում այդպիսի տող չկա, նկարագրեք սցենարը, և մենք ձեզ ախտորոշիչ կառուցվածք կտրամադրենք։ Որքան ճշգրիտ լինի նկարագրությունը (ինչ արեցիք, ինչ էիք ակնկալում, ինչ տեղի ունեցավ), այնքան արագ կպարզենք խնդիրը։ Սեսիայի հետ կապված խնդրի դեպքում կցեք մատյանները երկու սարքից։

Ինչո՞ւ են մատյաններում այդքան կրկնվող տողեր

Վրիպազերծման կառուցվածքներում որոշ բաղադրիչներ գրանցում են մատյանում ինտերֆեյսի յուրաքանչյուր թարմացման ժամանակ. մշակման համար սա նորմալ է։ FRC updated: 69 message(s) in window տիպի տողերը զրույցների ցանկի թարմացումն են, դրանք խնդրի նշան չեն։