﻿titolo:MemoryProposte
descrizione:App desktop Windows compagna di NasoSanMemory. Cataloga i progetti presenti sul PC a partire da una cartella principale e sincronizza in modo bidirezionale i file proposte.txt con Memory tramite rete locale o VPN (discovery UDP + HTTP). Non mostra il contenuto delle proposte: gestisce solo inclusione/esclusione cartelle e la sincronizzazione; la lettura e modifica avvengono in Memory. Riconoscimento progetti da app.json (nome) o dal nome cartella, cartelle escludibili e multi-progetto. Backup dei proposte.txt prima di ogni scrittura. Semaforo di connessione a Memory (verde/giallo/rosso).
linguaggio:C# / .NET WinForms
nota:
novita:v0.248 - 17/10/2026
Riepilogo a fine sincronizzazione: ora mostra il totale (su tutta la sincronizzazione, non per singolo progetto) di voci tolte dal PC, messe sul PC, tolte da Memory, messe su Memory.
A sincronizzazione finita l'elenco progetti si aggiorna da solo (come il pulsante "Aggiorna elenco"), senza bisogno di farlo a mano.
v0.243 - 02/10/2026
Icona della finestra (barra applicazioni) ora caricata dal PNG del progetto invece che dal .ico: il .ico con fotogrammi in formato PNG non veniva mostrato da Windows e lasciava l'icona generica a quadretti multicolore. Ora si vede sempre il logo NS verde.
Casella "Salta questo progetto": casella standard di Windows su una riga.
v0.238 - 01/10/2026
Rimossa la voce fissa "Altro": ora che si possono aggiungere progetti liberamente era ridondante. In cima all'elenco resta solo "Tutti / Generale".
v0.233 - 30/09/2026
Intestazione "Punti / Righe" dei blocchi ora su una riga sola e non piu' tagliata (colonna allargata quanto basta).
Tolte le barre di scorrimento DENTRO le celle: ogni cella mostra tutte le sue righe, si scorre solo con l'unica barra a lato dell'elenco.
Le celle dell'elenco ora sono alte quanto lo spazio disponibile (prima restavano schiacciate a poche righe con una barra di scorrimento interna). Ogni cella si riempie di righe fino a occupare l'altezza della finestra, il numero si ricalcola al ridimensionamento; i blocchi in eccesso stanno sotto, con l'unica barra a lato. Margini attorno all'elenco e tra i blocchi.
Rifiniture all'elenco a blocchi: la rotellina del mouse ora scorre l'intero elenco anche col puntatore sopra un blocco; l'intestazione "Punti / Righe" e' su due righe e non viene piu' tagliata; ordinando per punti i progetti con PIU' punti compaiono per primi (non piu' quelli con zero).
Elenco progetti nella finestra principale riorganizzato su DUE colonne affiancate (layout a giornale) per sfruttare lo spazio: la finestra e' piu' larga. L'elenco intero viene ordinato e poi diviso in blocchi-tabella da 10 progetti; ogni blocco e' una tabella completa con le SUE intestazioni (Progetto | Percorso | Punti sulla stessa riga), spunta "escludi", menu col tasto destro e ordinamento cliccando un'intestazione (riordina TUTTO l'elenco). I blocchi si dispongono a coppie riga per riga (1-10 in alto a sinistra, 11-20 a destra, 21-30 sotto a sinistra, 31-40 a destra, e cosi' via) con una sola barra di scorrimento verticale. Ogni blocco occupa in larghezza la sua meta' di finestra e le colonne si adattano. Restano le voci fisse "Tutti / Generale" e "Altro" in cima.
Anteprima di sincronizzazione piu' chiara: ora ogni voce mostra il testo intero su entrambe le colonne e si capisce dove va a finire. Grigio = resta dov'e', verde = viene aggiunta su quel lato, rosso = viene tolta. Prima una voce da propagare compariva solo dalla parte del PC con l'altra colonna vuota, dando l'impressione sbagliata che Memory restasse vuoto: adesso la stessa voce appare in verde anche nella colonna di destinazione (Memory o PC).
v0.213 - 29/09/2026
"Azzera TUTTO su Memory" ora funziona anche quando cancellava zero voci segnalando "operazioni non riuscite": se la via rapida (imposta elenco vuoto) non e' disponibile sull'app Memory, la companion ripiega automaticamente sul metodo compatibile (svuota o ricrea il progetto vuoto), cosi' Memory viene davvero azzerato.
Nella striscia "Azzeramento totale" i due pulsanti sono stati invertiti: ora "Azzera TUTTO sul PC" sta a sinistra e "Azzera TUTTO su Memory" a destra.
"Azzera TUTTO su Memory" ora cancella DAVVERO tutte le voci di ogni progetto (punti e note), non piu' soltanto i punti numerati; inoltre rimuove da Memory i progetti che non esistono piu' sul PC (cartella sparita o mai esistita). I contenitori "Tutti / Generale" e "Altro" restano ma vengono svuotati. Il PC non viene toccato.
"Azzera TUTTO sul PC" ora elimina i file proposte.txt catalogati (tutte le voci, punti e note); le cartelle dei progetti restano intatte. Prima viene fatto un backup automatico (recuperabile con "Ripristina proposte"). Memory non viene toccato.
v0.207 - 26/09/2026
Corretta la striscia "Azzeramento totale": il testo dell'etichetta non finisce piu' sopra il primo pulsante rosso (i pulsanti ora partono dopo la fine reale dell'etichetta).
Pulsante "Esci" spostato in fila subito dopo "Impostazioni" (prima era staccato in fondo a destra).
Finestra ridotta per togliere lo spazio vuoto a destra.
v0.202 - 25/09/2026
Anteprima di sincronizzazione rifatta come confronto a due colonne allineate (sinistra PC, destra Memory): le voci uguali sono grigie e allineate ("resta"), cosi' vedi l'intero contenuto; le differenze (anche in mezzo e distanti) compaiono dal lato dove stanno, evidenziate.
Ogni differenza ora si decide voce per voce con un interruttore: TIENI (verde) = la voce finisce su entrambi i lati; TOGLI (rosso) = viene tolta dal lato che la ha. Lo stato iniziale e' suggerito dal confronto (voce nuova = TIENI, voce sparita rispetto all'ultima sync = TOGLI) e si cambia con un clic. Clic sul testo per leggerlo intero.
Dopo un azzeramento, lo stato di riferimento diventa il lato rimasto: alla sincronizzazione successiva le voci ancora presenti risultano da ripropagare (TIENI) e non da cancellare.
Aggiunti due pulsanti di azzeramento, in una striscia rossa "Azzeramento totale (irreversibile)" separata dai comandi normali: "Azzera TUTTO su Memory" e "Azzera TUTTO sul PC". Rimuovono SOLO i punti numerati (N)) da tutti i progetti; le note "*)" restano. I progetti NON vengono cancellati e su Memory i contenitori "Tutti / Generale" e "Altro" non vengono toccati; sul PC i file proposte.txt restano. Servono per ripartire pulito col nuovo standard delle proposte.
Prima di azzerare il PC viene fatto un backup automatico (recuperabile con "Ripristina proposte"); prima di azzerare Memory viene salvato uno snapshot interno di sicurezza. L'azzeramento di Memory richiede la connessione e una doppia conferma.
Icona della finestra ora quella verde NS (la stessa dell'eseguibile e della barra Start): prima le finestre mostravano l'icona grigia predefinita di Windows.
Pulsante "Cerca Memory" spostato accanto al testo di stato connessione, in posizione fissa: se il testo si allunga (indirizzo di Memory) il pulsante non si sposta piu'.
Elenco progetti ordinato di default per numero di punti, dai piu' punti in alto; "Tutti / Generale" e "Altro" restano sempre in cima anche cambiando l'ordinamento delle colonne.
Anteprima di sincronizzazione: tolta la barra di scorrimento orizzontale (i pulsanti dei conflitti ora si adattano alla larghezza della finestra); il testo lungo tronca con "..." e si legge per intero cliccando la riga.
Pulsante "Annulla (nessuna modifica)" ora su due righe, non piu' tagliato.
Adottato il formato unico delle proposte: ogni punto inizia con un numero e la parentesi (1) 10) 100)) e ogni nota o avviso inizia con "*)". Il riconoscimento e' tollerante: uno spazio in piu' o in meno (6), 6 ), 6)testo, 6) testo) non fa piu' sbagliare la lettura.
Le note "*)" non vengono contate tra i punti, ma restano a tutti gli effetti nella sincronizzazione (se le togli da una parte spariscono anche dall'altra).
Sincronizzazione piu' pulita e affidabile: ora l'allineamento con Memory avviene in un colpo solo impostando l'elenco esatto delle voci, cosi' anche le cancellazioni si propagano bene nei due sensi (compresi i contenitori fissi), senza il vecchio giro di cancella-e-ricrea il progetto.
v0.180 - 24/09/2026
Anteprima di sincronizzazione piu' affidabile: i progetti non modificati non mostrano piu' false cancellazioni (rosse) o aggiunte (verdi). Il confronto ora guarda al contenuto riga per riga e non a come le proposte sono spezzate in blocchi, quindi PC e Memory con lo stesso testo risultano davvero uguali.
Anteprima semplificata a un'unica vista chiara "Risultato PC" (cosa diventa il proposte.txt del PC: grigio = resta, rosso = cancellata, verde = aggiunta); i conflitti si risolvono direttamente qui scegliendo la versione da tenere.
v0.076 - 23/09/2026
Ricerca automatica piu' robusta (come NasoSanShare): se la scoperta rapida non trova Memory, la companion scandisce la rete locale indirizzo per indirizzo via HTTP (traffico in uscita, quello che funziona sempre), trovando Memory anche quando l'antivirus/firewall blocca la scoperta UDP.
Ricerca automatica di Memory ora sulla porta fissa 47200 (invio e risposta): prima la risposta tornava su una porta casuale non coperta dalla regola del firewall, cosi' con IP vuoto non trovava Memory anche avendo aperto la 47200.
Nell'elenco progetti aggiunta la colonna "Punti / Righe" (punti = voci numerate del proposte.txt, righe = righe non vuote).
Logo NasoSan nell'intestazione ora grande e completo (prima appariva ridotto a una fettina perche' l'immagine larga veniva stretta in un riquadro quadrato).
Barra del titolo ora scura anche sulle finestre di sistema (prima restava bianca).
Impostazioni: etichette chiare, l'indirizzo Memory lasciato vuoto attiva la ricerca automatica; la password del server web non e' piu' troncata.
Intestazione con logo NasoSan grande (versione solo nel piede).
Riepilogo sincronizzazione: conteggi a punti (non a righe) e frecce per capire dove avviene la modifica (destra = Memory/app, sinistra = PC).
Backup dei proposte: ne resta uno solo, l'ultimo (non si accumulano piu' copie).
Il pulsante "Cerca Memory" ora usa anche l'indirizzo salvato: prima provava solo la ricerca automatica e non trovava Memory nemmeno inserendo l'IP giusto a mano.
Sincronizzazione corretta: i progetti e le loro voci arrivano ora davvero a Memory (prima venivano segnalati come sincronizzati ma il contenuto non veniva salvato).
Gestione conflitti: si continua a unire (non si perdono idee), ma le voci cancellate apposta ora si propagano; se dopo la sincronizzazione un file proposte.txt resta senza voci, viene chiesta conferma prima di eliminarlo, con un pulsante per aprirlo e controllarlo.
A fine sincronizzazione un riepilogo intelligente mostra i totali (aggiunte/eliminate con dettaglio PC/Memory, modifiche) e un pulsante "Dettagli" con l'albero dei soli progetti toccati.
Aggiunta una barra di ricerca per filtrare i progetti nell'elenco; rimossa la colonna "Tipo" (i multi-progetto sono segnati con "[multi]").
L'app ora si installa (icona sul desktop) e avvisa se e' gia' in esecuzione chiedendo di chiuderla; aggiunto il pulsante Esci; la versione e' inclusa nell'eseguibile.
Se la ricerca automatica non trova Memory, un avviso spiega che spesso e' un antivirus/firewall di terze parti (es. Kaspersky) a bloccarla e come rimediare.
Ripiego sul server web protetto: la companion fa il login da sola con la password salvata (cifrata) e non serve piu' toglierla.
Nuovi pulsanti "Backup proposte" e "Ripristina proposte" (backup automatico anche prima di ogni sincronizzazione): i file proposte.txt si ripristinano con un click.
v0.001 - 22/09/2026 - Prima versione: catalogo progetti (scansione ricorsiva con esclusioni e cartelle multi-progetto), configurazione cartella principale/modalita'/timeout, discovery UDP di Memory (porta 47200) con responder inverso, client HTTP endpoint /appunti con header identificativo, sincronizzazione bidirezionale dei proposte.txt con merge e backup, interfaccia con intestazione logo+versione, semaforo connessione e piede firma.
