OpenGrabeso / loctio

Presence / location service and GitHub notification
GNU General Public License v2.0
0 stars 1 forks source link

Loctio - více uživatelů #5

Closed Bebul closed 4 years ago

Bebul commented 4 years ago

K zamyšlení

Mezi uživateli vidím Stravissimo... Napadá mě, že bych tam rád viděl svýho kluka, ...

Já tam tedy vidím, pokud něco commitne na GitHub, a to dokonce plný obsah issue, což je skoro monstrózní, ale uvidíme, jak se to osvědčí.

Ale kdyby nějak šlo přidat Matěje, že bych ho ale viděl jen já a vy ani prd, tak to by bylo zajímavé, že bych v tom okénku viděl kromě vás taky něco zajímavějšího...

?

OndrejSpanel commented 4 years ago

To už znamená možnost mít nějaké "roomy", skupiny uživatelů, kteří se navzájem vidí.

OndrejSpanel commented 4 years ago

Zatím správa uživatelů žádná neexistuje, seznam uživatelů má server pevně daný. Pokud bys chtěl soukromé loctio, je to možné, musel bys:

Udělat lepší správu uživatelů (roomy) je možné, ale pro naše pracovní účely se mi to nezdá potřebné a v tuhle chvíli nemám chuť se tomu věnovat. Pokud k tomu uděláš ve volném čase PR, klidně ho zmerguji.

OndrejSpanel commented 4 years ago

vidím, pokud něco commitne na GitHub, a to dokonce plný obsah issue, což je skoro monstrózní, ale uvidíme, jak se to osvědčí.

To už jsem snad zmiňoval - viz https://github.com/gamatron/im/issues/8#issuecomment-617755224

Založil jsem na to teď issue: gamatron/loctio/issues/1

Bebul commented 4 years ago
  • založit si App Engine projekt, dostal by url řekněme bebulio.appspot.com

dřív nebo později si určitě App Engine budu chtít založit. Potřebuju si hrát i s menšími projektíky...

OndrejSpanel commented 4 years ago

Udělat lepší správu uživatelů (roomy) je možné, ale pro naše pracovní účely se mi to nezdá potřebné a v tuhle chvíli nemám chuť se tomu věnovat.

Napadá mě jiné řešení, které by snad mělo být docela jednoduché, a sice použít systém "Follow", jako má Strava (a nejspíš i jiné sociální sítě).

Jedná se pouze o presence / location, notifikace jdou zcela mimo, ty na žádné uživatele nekoukají.

Každý uživatel by měl dva seznamy: uživatele, kterým dovoluje, aby ho viděli, a uživatele, které chce sám vidět. V prvním přiblížení to může být i seznam jeden, ale ta možnost asymetrie mi připadá docela zajímavá. Mohl bys pak třeba teoreticky vidět Matěje a on by nemusel vidět tebe, kdybys nechtěl.

Každý uživatel by potom viděl stav všech uživatelů, které chce vidět, a kteří mu dovolují, aby je viděl.

Druhá otázka je, komu vůbec dovolit přistupovat na server. Je možné to nechat zcela otevřené, ať to používá, kdo chce, ale to se mi moc nelíbí, nerad bych se dostal do situace, kdy mi cizí uživatelé vyčerpají kvóty (i když se nejspíš bojím zbytečně a nejspíš by to kromě nás stejně nepoužíval vůbec nikdo). Mohlo by to fungovat tak, že ti dosud vyjmenovaní uživatelé by byli "adminové" a mohli by editovat seznam uživatelů, kteří mají právo se na loctio server připojit.

Bebul commented 4 years ago

Koncept Followers je super!

OndrejSpanel commented 4 years ago

Každý uživatel by měl dva seznamy: uživatele, kterým dovoluje, aby ho viděli, a uživatele, které chce sám vidět.

Začal jsem na tom pracovat, není to technicky těžké, ale u téhle věci si přestávám být jist, jestli ji chci, protože se tím docela komplikuje user interface. Pro každého uživatele potom máte čtyři akce: watch / unwatch, allow watching / disallow watching (z nich vždy dvě jsou možné). Zdá se mi to poměrně nepřehledné. Zkusím to ale takhle dodělat, pracné to není, pak uvidíme.

OndrejSpanel commented 4 years ago

Myslím, že sledování mám rámcově hotovo. Udělal jsem to tak, že povolit sledování můžete i tomu, kdo vás o to nepožádal, jakmile vás požádá, rovnou se mu žádost schválí.

Každý z nás si tedy musí:

Zveřejnil bych to, ale může se stát, že se přitom něco rozbije, testoval jsem to jen se dvěma uživateli.

Seznam uživatelů povolených na serveru zatím funguje stejně, jako dřív, tj. je napevno. Do toho se už mezitím pustím, ale to už by tahle nastavená sledování změnit nemělo.

Až mi potvrdíte, že jste připraveni, zveřejním to. Tray klienta by se to nemělo nijak týkat, jen v době, než se navzájem povolíme, neuvidí ostatní uživatele.

Gralfim commented 4 years ago

Za mě to můžeš zveřejnit kdykoli. Neslibuji, že to povolím hned, ale budu se snažit co nejdříve.

OndrejSpanel commented 4 years ago

Jeden pokusný králík mi asi stačí. Je to na serveru, můžeš povolovat.

Gralfim commented 4 years ago

Povoleno, na webu jsem tě viděl hned, v appce to chvilku trvalo.

OndrejSpanel commented 4 years ago

Dal jsi mi "Allow watching me"?

Gralfim commented 4 years ago

Takovou možnost tam nemám. Dal jsem "Watch user", u tebe v menu vidím "Stop watching" a "Disallow watching me". Asi chybka, předpokládám že bych ti měl povolovat a ne zakazovat.

OndrejSpanel commented 4 years ago

Hm. Zvláštní. To znamená, že si to myslí, žes mi to už dovolil.

Gralfim commented 4 years ago

Když udělám disallow, nic se nestane, pořád u tebe vidím Requested.

OndrejSpanel commented 4 years ago

A v menu máš dál disallow?

Gralfim commented 4 years ago

jj

OndrejSpanel commented 4 years ago

Už mám ve stejném stavu i Bebula i stravissimo, vidím to i na lokálním serveru, takže to snad dokážu debugovat.

Gralfim commented 4 years ago

Teď u tebe mám Watching No a v menu allow.

OndrejSpanel commented 4 years ago

Možná se mi někde plete podmět / předmět.

OndrejSpanel commented 4 years ago

Tak to nakonec byla hrozně jednoduchá chyba, jen v UI:

63ac8a3501814d587d8c9c633074eb55af340ee6

Mohli jste tedy dovolit vás sledovat jen tomu, kdo vás o to nepožádal.

Gralfim commented 4 years ago

Zatím žádný rozdíl nepozoruji. U Bébula mám Watching me Requested a v menu disallow, u tebe taky, před chvílí jsem měl u tebe Watching me No a allow.

OndrejSpanel commented 4 years ago

Od commitu ke zveřejnění to ještě chvíli trvá (a musím to dělat ručně). Na serveru je oprava, prosím, dovol mi tě sledovat.

OndrejSpanel commented 4 years ago

Už tě vidím.

OndrejSpanel commented 4 years ago

A už vidím i Bébula. Takže teď to přidávání nových uživatelů (to by mělo být výrazně jednodušší) a bude to.

Bebul commented 4 years ago

Dobře, představuju si, že utilitku nainstaluju na našem domácím počítači a hodím tam Matějův token. A teď...

OndrejSpanel commented 4 years ago

Každý uvidí stejné notifikace, jaké vidí na GitHubu (svoje).

Notifikace k té utilitě vlastně nijak nepatří, jsou tam k tomu připláclé úplně nezávisle. Klidně by to mohly být dvě utility.

Žádný jiný obsah, než notifikace, to neukazuje.

Bebul commented 4 years ago

Super, takže Matěj uvidí, pokud do jeho repository udělám nějaký isssue, comment, commit apod. Totéž já z jeho strany. A krom toho udivím, že je náš počítač online. Vlastně i založením repository IM u Matěje docílím toho, že budu moci poslat tomu, kdo sedí u domácího počítače NOTIFIKACI. Obávám se, že toho budu nadužívat 😄

OndrejSpanel commented 4 years ago

Myslím, že mám hotovo

Je to takové velmi základní, administrátoři vidí tlačítko "Add user...", když ho zmáčknou, zadají GitHub jméno a ten tím získává právo přístupu na server. Není žádná zpětná vazba, není žádný způsob, jak si ověřit, jestli uživatel existuje (jedině v Google Cloud konzoli v datech na serveru)

Ještě jsem tam založil tlačítko "Site administration", vypadá sice hezky, ale nedělá zatím vůbec nic.

Implementační poznámka: přestal jsem používat soubor secret.txt, i seznam administrátorů se nyní dělá v Google Cloud Storage (což je taková primitivní databáze). Zatím jsme administrátoři my tři.

Server je zveřejněn.