diff --git a/todo.txt b/todo.txt new file mode 100644 index 0000000..faf476b --- /dev/null +++ b/todo.txt @@ -0,0 +1,214 @@ +- dafa +? dafa? +! no! +* fatto +# in corso + +--- Contenuto --- + +* rinominare "blacklist" in qualcos'altro -> "nocive" +- correggere "Chi ne porta avanti lo sviluppo non ha alcun copyright sul software che realizza e mette a disposizione gratuitamente" +- correggere "uno smanettone" +- correggere, in 6.1, "gente propria"? +- aggiornare trans credits pescando dal report generabile da weblate +! mettere la traduzione "de" accessibile senza linkarla dal menu (display: none) +- una presa di posizione contro la deriva centralizzante e gamificante di mastodon +? un paragrafo di presentazione (non siamo la documentazione ufficiale, link alla stessa) +* se weblate poi va bene, aggiornare la pagina "contribuisci" +- la parte su "cambiare istanza" mi sembra ancora un po' sbumballata. +- forse bisognerebbe dire che nella gran maggioranza dei casi non sono richiesti nome e cognome reali +? dire all'inizio della guida che un post su mastodon è un toot, e nel seguito usare toot/s invece di post/s nella guida. +* in mastodon i trending topics si chiamano trending hashtags, usare quello quando ci si riferisce a mastodon + +--- Tech --- + +- eliminare la tabella Noxious, aggiungere colonne "NoxTS" e "NoxReason" in Instances, modificare il codice di conseguenza +* "setold" (settare "New=0" per istanze che hanno avuto "New=1" per un mese o più) va fatto in crawler.php e tolto da mustool.php +- dates-times, at least in instances.php, should be shown in local format according to the browser or chosen locale; and in utc, always +- remove all the "guest" stuff from admin? +- remove "Good" ("papabile") column from Instances table and modify code accordingly +* upgradare LanguageDetection? +- crawler.php: il check di nodeinfo dovrebbe essere più accurato (vedi getNodeInfo in fedicrawl.php) +- tutto il "condimento" (script di backup e di update) metterlo in una sottodir di clitools +? instances.php: se il thumb del server non c'è (su check), magari evitare la div relativa? +- instances.php: possibilità di linkare una singola istanza (id=x) +* mustool.php: aggiungere possibilità di cancellare record InstActivity, InstChecks, Notifications più vecchi di tot tempo (ZHits viene già pulita da "updstats") +* fare qualcosa perché il backup venga mandato da qualche parte: per e-mail ora non va più perché l'allegato è troppo grosso +- un tasto sulla ricerca istanze per togliere tutti i limiti tranne "non è nociva" +* l'ordine casuale fa casino con il paginamento... +- aggiungere alle keyword per seo "fediverso", e altro? +* "consigliata": migliorare la leggibilità +- possibilità di cercare per nome-uri istanza +? possibilità di cercare per lingua non principale +? possibilità di cercare per "famiglie di lingue" (tipo "it*") +? possibilità di cercare negli hashtags? +? possibilità di cercare nelle note admin +* il menu delle pagine deve stare in fondo al centro sul cell +* correggere quel campo sbagliato in inglese +* pare che a volte dia inglese invece di italiano - pare che non più +* le lingue nella scheda istanza vanno mostrate tradotte +* prima attività, poi checks +~ backup! +* pagina info è ancora giustificata su cell, invece che allineata a sx +* accorciare "hashtag più usati dell'ultima settimana" -> "hastag più usati (ult. settimana)" + +- crawler.php: le istanze devono essere dichiarate "morte" non dopo tot tempo, ma dopo tot checks; siccome gira 1 volta al giorno, "tot" potrebbe essere 2 mesi = 60 checks +- crawler.php, peerscrawl.php: timestamp nei log +- crawler.php, peerscrawl.php: "-r" (ripristino sessione precedente) dovrebbe cercare i file di sessione, ma non bloccare l'esecuzione se non li trova +? transazioni, dove appropriato (crawler compreso) +* vedere un po' se è possibile determinare quanta ram sugge il crawler, in modo da poter dare indicazioni più precise in INSTALL --- usare memory_get_peak_usage(true) --- fatto per ora con altro metodo +* crawler.php: possibilità di passargli le opzioni da riga di comando +? peerscrawl.php: rendere opzionale il check su google.com, spiegare però bene a cosa serve +* peerscrawl.php: possibilità di settare timeout +! crawler.php: deve controllare se nella tabella Instances GuestID è definito; se è definito e la mail del corrispettivo account "guest" è cambiata, deve aggiornare l'account "guest" corrispettivo in Admins con la mail e il nome utente attuali e creare nuova password; se i dati dell'istanza sono già stati editati, mandare mail di "aggiornamento"; se non lo sono, mandare invito --- alla fine lasciam perdere, si organizzano gli admin se vogliono. +- tutto: scomparsa-comparsa div di debug +- tutto: se opzione "debug" in ini è false, niente output debug +- anche nel sito usare il menu.php nuovo di mustard + +* 404: loggare da qualche parte le richieste che ci finiscono +* about: mettere solo il nick, linkato alla pagina mastodon +* about, instances: una sola pagina +- anche home una sola pagina? con il suo file di gettext? +* la mail in "collabora" in magenta +- "scorporare" css home-guida +* a imgs/featured-it.svg dovrebbero affiancarsi immagini per le altre lingue, ma forse meglio fare una div testuale così da poterne tradurre il testo con gettext? Sarebbe anche più leggibile, probabilmente. +- bida: garantire a MastoStartAdmin la possibilità di creare e alterare tabelle (in UPDATE.php) +~ paragrafo introduttivo Istanze +- aggiungere alla intro che è beta e che poi permetterà agli admin... +* chiedere a redglow e paulbutgold se vogliono essere messi nella lista di chi ha contribuito +* statistiche minime +~ pagina statistiche (totali e di ricerca: numero istanze, numero utenti, partecipazione(?)) +? pagina istanze nocive +~ ordinamento +- se è Noxious dire perché interrogando la tabella Noxious +- evidenziare espressioni corrispondenti alla ricerca +- possibilità di settare tutti i parametri "senza constraints" con un solo tasto +- un ultimo giro di aggiornamento delle traduzioni +* impostare un po' di priority per le italiane +? mettere da qualche parte che usiamo quella libreria per la rilevazione delle lingue +* usare menu.php di mustard, poi modificarlo in modo che da cell si veda menu hamburger - o simili +- i pad su cisti con il materiale ancora da tradurre per le varie lingue sono morti, sarebbero da resuscitare su soluzione alternativa non effimera + +- crawl.bash: su errore, mandare mail +- crawler.php: per il rilevamento della lingua, se la timeline non è disponibile si possono usare le descrizioni +- negli script web (non cli), gmdate dappertutto invece di strftime; magari un menu a tendina da cui scegliere timezone? +? crawler.php: rendere opzionale il check su Dead +? edinst.php: possibilità di settare Instances.Dead +* spostare tutta la roba sensibile in una dir "contenitore", tipo fare che la root dir è "/srv/http/mastodon.help/site", e in "/srv/http/mastodon.help" fare dir per logs, per accounts, per ini files, ecc. +- rimuovere Instances.Chosen e Instances.Visible dappertutto +~ PER FAVORE un metodo valido per verificare che un'istanza sia mastodon - più o meno fatto + +- mustard: instances.php: usare input type datetime per le colonne time +- mustard: account.php: checkare che l'email non esista già (prima e dopo post) +* mustard: account.php: aggiungere possibilità di fare nuovo account quando id=0 +- mustard: dispinst.php: setlocale: il nome della locale è sempre quello su tutti i sistemi? +! mustard: invite.php: una modalità di test che non manda le mail ma crea gli account "guest" +- mustard: "stabilizzare" $cjrand in glob.php a una versione +* mustard: in attesa dei template di Ca_Gi, nei template per le mail dichiarare comunque già che un requisito è moderazione attiva contro contenuti fascisti-razzisti-sessisti +* mustard: viewinst.php +- mustard: pagina gestione accounts +* mustard: pagina gestione proprio account +! mustard: pagina gestione nocive (no: le nocive vengono gestite singolarmente da edinst +- mustard: pagina reset password +- mustard: una pagina che dia la possibilità di vedere le istanze che non rispondono da un tot di tempo impostabile, e di marcarle in modo che non vengano più controllate, fino a quando non sono "smarcate" (crawler.php dev'essere modificato all'uopo) +? mustard: help online +- mustard: una pagina che rilevi eventuali inconsistenze nel db, tra le quali: mail account guest diversa da mail di contatto istanza (mail contatto d'istanza può cambiare nel tempo) +* mustard: implementare la faccenda dell'invio di mail preformattate agli admin con invito a editare i propri dati (quindi implementare "livelli di admin" e relative restrizioni: admin invitat* può vedere solo la pagina relativa alla propria istanza, solo aggiungere valori (non in tutti i casi), editare ed eliminare solo valori che ha aggiunto e solo se non sono già stati linkati da altr*) +* mustard: dispinst.php, mustard: invite.php: possibilità di, errrr, "incalzare" admin già invitat* +* mustard: dispinst.php: "versione in inglese" per le admin invitate +? mustard: edinstres.php deve mostrare messaggio di successo +* mustard: edinst.php: un'icona per deselezionare Locality +* mustard: nei vari helper, sarebbe meglio morisse in json, alla bisogna +* mustard: aggiungere notifica quando "guest" edita istanza +? mustard: index.php: lunghezza automatica di username +# mustard: serve un "notifs.php" (è già linkato dalla lista notifiche accessibile dalla campanella) per la gestione accurata delle notifiche (possibilità di marcarle tutte o "precedenti a" come lette, possibilità di cancellarle tutte o "precedenti a") +- mustard: instances.php: possibilità di *scegliere* la lingua da usare tra quelle supportate per il filtraggio su Localities e Languages +? mustard: instances.php: bottoni per pagina precedente-successiva +- mustard: instances.php: alerta su cambio pagina quando è stato modificato filtro/ordinamento +* mustard: instances.php: possibilità di vedere solo le istanze che non hanno risposto all'ultimo check +- mustard: instances.php: ckf: controllare che non venga eseguito ordinamento su una stessa colonna più volte (non rompe query ma è ridondante) + +--- Fatti --- + +* spostare i flag di esclusione sotto il resto +* se InstOurLangs è null cercare e riportare InstLangs - fatto, impostando InstOurLangs come InstLangs in crawler.php se InstOurLangs è NULL e InstLangs no +* mettere tra le nocive byoblu +* possibilità di escludere quelle con registrazione soggetta ad approvazione +* possibilità di escludere quelle che non han risposto all'ultimo check, vedi sotto +* lastcheck bool in tabella Instances, per poterlo verificare facilmente +* anche in peerscrawl non checkare le istanze morte +* cambiare password a utente admin e normale su mastodon.help; l'utente normale non deve poter leggere la tabella Admins (e forse altre?) +* trimdom ecc. ... forse che scarta già a monte quelle che sarebbero trimmate? altrimenti sarebbe da fare, e cassare trimdom del tutto +* info di debug a scomparsa +! possibilità di includere nella ricerca per lingua anche le istanze senza lingua specificata +! un ultimo tentativo prima di dichiararla morta in crawler.php (no perché viene già fatto a monte) + +* crawler.php, peerscrawl.php: verificare perché stderr viene indirizzato a stdout, fare in modo che lo sia sempre a livello di script - dipende da "display_errors" in php.ini, per default li manda a stdout, bona lè* crawler.php: aggiornamento stato "New" e "Noxious" in uno script a parte - fatto, in mustool.php +* crawler.php e peerscrawl.php: devono creare un lockfile all'esecuzione e cancellarlo quando escono (sia per errore, sia per uscita normale); se esiste, uscire con errore; più un'opzione per forzare l'esecuzione anche già in presenza di lockfile. +* crawler.php: quando instances.job e currinst.job esistono, oltre a --restore serve anche un’opzione che forzi l'esecuzione. +* crawler.php: NON ripristinare sessione interrotta se non viene esplicitato con opzione (da aggiungere) +* crawler.php: togliere "lecho", aggiungere time ed etr, aggiungere controllo memoria +* crawler.php: massimo utilizzo di memoria alla fine - o no? tanto già lo dice nell'ultima riga di check - va be' fatto +* crawler.php: se non viene rilevata nessuna lingua, e se c'è lingua di default, usare quella anche per le nostre +* edinst.php: possibilità di settare Priority +! crawler.php: mi sa che se non trova activity, non checka neanche trends, ma è sbagliato, sono indipendenti. Verificare. -- No, è ok. + +* Menu principale: "header" con "INSTRUCTIONS / CHOOSE AN INSTANCE / LANGUAGE / ABOUT US" +* la div a (s)comparsa coi capitoletti spostarla sotto il menu di cui sopra, ingrandirne l'icona +* alcune svg pesano molto, non è che contengono ancora bitmap? +* immagini nei capitoletti (aspettarle da cagi) +* numeretti nei titoli capitoli nella pagina "instructions" (solo dopo aver scorporato "instances" e "about us") +* versione italiana +* elefantino sinistro è un po' sfocato + +* aggiungere contatti a "about us" +* "didascalie" foto con fotografo (alt e title per tutte le immagini) + +* immagine trending topics da interfaccia easy +* moving to another instance è da rivedere +* obscured followers list è da rivedere + +* qualcosa non torna nel flow: o è sbagliata thread_02.svg oppure thread_03.svg +* Hilit link corrispondente a sezione visualizzata nel menu. +* ridurre elefantino nel titolone +* via "Resources" + +* mustard: rinominare tutto da "Mastodon Startpage Admin" a "Mustard" +* crawler.php: ricorsivizzarlo? - fatto, in questo modo: peerscrawl.php crea una lista di "tutte le istanze note" a partire da una certa instanza, crawler.php usa questa lista, insieme a quella delle istanze già note pescata dal db, per importare nel db i dati delle istanze che rispondono +* crawler.php: le notifiche, invece di edinst.php, devono linkare un viewinst.php che mostri l'istanza +* crawler.php: sarebbe tanto bello fare a meno di tutta la faccenda "tronconi" ecc. +* mustard: instances.php: possibilità di filtraggio per GuestID, LastGuestEdit, OurLangsLock +* mustard: edinst.php: su languages se account "Level" è "guest", "lock this list" dev'essere checkato per default *se "guest" non ha ancora mai modificato i dati dell'istanza* +* mustard: sanificazione input: edinsth.php: su edit e add controllare sempre che il valore "nuovo" non ci sia già +* mustard: aggiungere colonna "OSMID" a Localities, in modo che se aggiungiamo altre lingue in seguito sia più facile recuperarle per aggiornare la tabella +* mustard: aggiungere colonna NameCA a Languages e Localities, e relativi pimpumpam nel codice (greppare "NameES" e "\'es\'" dappertutto) +* troncare tabella languages e far rigirare tools/popudb.php per ricrearla: my_ucfirst metteva in minuscolo tutta la stringa, a parte il primo carattere maiuscolo +* mustard: aggiungere colonna "timestamp" "LastGuestEdit" a Instances: null quando non è stata mai editata da "guest", altrimenti time() php +* mustard: tutto: visualizzazione notifiche (campanellina e div a s/comparsa) +* mustard: edinsth.php: finire Localities +* mustard: l'icona per l'uscita senza div o quel che è, come in instances.php +* mustard: edinsth.php: su edit e add, nel js, selezionare solo il valore editato/aggiunto, perché nella finestrella elenco valori mostra il primo selezionato +* mustard: edinstres.php deve mostrare scheda istanza completa +* mustard: guestinsts.php, edinst.php e edinstres.php devono avere menu particolare per "guest" con la possibilità di andare alla vista delle istanze +* mustard: edinsth.php: per "guest" deve tenere conto dei limiti impostati con MaxLocalities ecc. +* imustard: nstances.php: invece di rifare la querona con LIMIT, usare il $res che c'è ritornando solo le istanze giuste per la pagina +* mustard: instances.php: icona della lente in qualche modo diversa se è attivo un filtro/ordinamento +* mustard: instances.php: i criteri di ricerca e ordinamento "volanti" vanno salvati sempre in un preset "di battaglia" (uno per ogni admin) in modo da poter slegare il cambio pagina dal submittare i filtri/ordinamenti e in modo che, per esempio, al ritorno da edinst*.php si possa vedere ciò che si vedeva prima (forse la cosa più agevole è fare due tabelle ad-hoc uguali a PresFiltConds e PresOrdConds dove invece di PresID si ha AdminID) +* mustard: instances.php, edinst*.php: implementare la faccenda della lingua del browser: se è tra quelle supportate (o una variante delle stesse) impostare la ricerca e la visualizzazione dei campi multilingua nella lingua supportata; altrimenti in inglese +* mustard: instances.php: rendere funzione il codice che crea una tabella-istanza; usare la funzione in guestinsts.php +* mustard: edinst.php: aggiungere colonna flag bool in Instances che viene settata a 1 quando qualcuno edita la lista delle lingue "nostre", così che il crawler al giro successivo non la sovrascriva con quelle autorilevate +* mustard: edinsth.php: caso particolare di edaddrem() per "Languages": usare locale_get_display_name() per determinare le lingue supportate e controllare che la lingua esista (se la lingua non esiste ritorna valore uguale al codice lingua passato, per tutte le lingue) +* instances.php: eliminare il riferimento a "stato", aggiungere "OurDescEN" +* mustard: instances.php: quando ordinamento è su una "1 a molti", eseguirlo su "GROUP_CONCAT" di questi molti ordinati per "Pos" della joinosa tabella +* ripristinare le colonne descrittive in Languages: una per la locale impostata (it), una per en, una per fr, una per es... +* mustard: instancesh.php: ritornare di tutte solo quelle che effettivamente sono usate, magari con un count tra () +* mustard: instances.php: definito/non definito non vengono riprodotte bene dalla plancia dopo post +* mustard: instances.php: quando si seleziona definito/non definito, oltre a disabilitare il campo valsel/valinp, farlo sparire proprio? assegnargli un css che da disabilitato lo fa diventare tuttonero? tipo + +* docker: istruzioni per usare l'image +* docker: configurare per benino phpmyadmin +* docker: settare php per email (o dare istruzioni su come farlo...) +* docker: cron e cron job per il crawler (o uno script con sleep...) +* docker: /usr/local/bin/binit.sh dovrebbe lanciare mysql con file di log ecc. più umani +* docker: niente virtualhost, spostare mastostart nella docroot di default di apache, così che per vederlo basti andare su 172.17.0.2, senza dover toccare /etc/hosts dell'host +* docker: aggiornare update.sh così che rifletta il cambiamento al punto precedente