- corretto problema ROGNOSO : Risolvere la questione "Sessioni multiple", se apro 2 browser l'ultimo va a cancellare il precedente, e mi da errore di email non valida !

Il problema era sulla fetch nel service worker, gestita in quel modo personalizzato, andava in conflitto, non tenendo le chiamate bloccanti, ma uscivano prima che arrivasse la risposta del server.
- Per chi è da tanto che non si collega a RISO, compare "Email non verificata"... (si risolve chiudendo su ESCI e riloggandosi)... però andrebbe sistemata.
(stesso problema di prima).
This commit is contained in:
Surya Paolo
2025-10-26 02:47:59 +02:00
parent eb0fb72c70
commit df98ec9471
64 changed files with 1286 additions and 704 deletions

View File

@@ -134,6 +134,10 @@ function AddCol(params: IColGridTable) {
path: params.path === undefined ? '' : params.path,
onlyforAdmin: params.onlyforAdmin === undefined ? false : params.onlyforAdmin,
dont_clone: params.dont_clone === undefined ? false : params.dont_clone,
showifIsStatusDiPersona: params.showifIsStatusDiPersona,
showifIsStatusOnLine: params.showifIsStatusOnLine,
requiredifIsStatusDiPersona: params.requiredifIsStatusDiPersona,
requiredifIsStatusOnLine: params.requiredifIsStatusOnLine,
};
}
@@ -3259,6 +3263,7 @@ export const colmyBachecas = [
icon: 'mood',
sortable: false,
typeobj: 'checkbox',
required: true,
}),
AddCol({
name: 'descr',
@@ -3316,25 +3321,10 @@ export const colmyBachecas = [
name: 'dateTimeStart',
name2: 'dateTimeEnd',
label_trans: 'event.dateTimeStart',
// jointable: toolsext.TABCALALLDATE,
fieldtype: costanti.FieldType.date2startend,
// fieldtype: costanti.FieldType.select,
// fieldtype_real: costanti.FieldType.onlydate,
// fieldtype: costanti.FieldType.onlydate,
icon: 'fas fa-calendar-day',
required: true,
}),
/*AddCol({
name: 'dateTimeEnd',
label_trans: 'event.dateTimeEnd',
fieldtype: costanti.FieldType.date,
// jointable: toolsext.TABCALALLDATE,
// fieldtype: costanti.FieldType.select,
// fieldtype_real: costanti.FieldType.onlydate,
icon: 'fas fa-calendar-day',
sortable: false,
required: true,
}),*/
AddCol({
name: 'idCity',
label_trans: 'skill.cityorprovince',
@@ -3352,7 +3342,9 @@ export const colmyBachecas = [
remote_key: '_id',
remote_field: 'comune',
sortable: false,
required: true,
requiredifIsStatusDiPersona: true,
showifIsStatusDiPersona: true,
showifIsStatusOnLine: false,
}),
AddCol({
name: 'idSector',
@@ -3401,10 +3393,22 @@ export const colmyBachecas = [
required: false,
sortable: false,
}),
AddCol({
name: 'link_conference',
label_trans: 'reg.link_conference',
fieldtype: costanti.FieldType.link,
showWhen:
costanti.showWhen.NewRec +
costanti.showWhen.InEdit +
costanti.showWhen.InView_OnlyifExist,
sortable: false,
showifIsStatusOnLine: true,
}),
AddCol({
name: 'address',
label_trans: 'event.address',
fieldtype: costanti.FieldType.string,
showifIsStatusDiPersona: true,
}),
AddCol({
name: 'organisedBy',
@@ -3431,6 +3435,7 @@ export const colmyBachecas = [
costanti.showWhen.InView_OnlyifExist,
sortable: false,
isadvanced_field: true,
showifIsStatusDiPersona: true,
}),
AddCol({
name: 'website',
@@ -3495,14 +3500,14 @@ export const colmyBachecas = [
fieldtype: costanti.FieldType.string,
isadvanced_field: true,
}),
AddCol({
/*AddCol({
name: 'pub_to_share',
label_trans: 'skill.pub_to_share',
fieldtype: costanti.FieldType.select,
icon: 'fas fa-users',
jointable: 'pub_to_share',
isadvanced_field: true,
}),
}),*/
AddCol({
name: 'date_created',
label_trans: 'event.dateCreated',

View File

@@ -8250,10 +8250,10 @@ export const tools = {
return {
idSector: tools.getSelectionByTable('sectors', 0, true),
idSkill: tools.getSelectionByTable('skills', 0, true),
idStatusSkill: tools.getSelectionByTable('statusSkills', []),
idStatusSkill: tools.getSelectionByTable('statusSkills', [shared_consts.STATUSSKILL_DI_PERSONA]),
idContribType: tools.getSelectionByTable('contribtypes', []),
dateTimeStart: tools.getDateTomorrowByTime(21),
dateTimeEnd: tools.getDateTomorrowByTime(23),
dateTimeEnd: null,
idCity: tools.getCitySel(),
NumLevel: 0,
adType: tools.getSelectionByTable('adtypes', costanti.AdType.OFFRO),
@@ -9153,20 +9153,19 @@ export const tools = {
// console.log('checkApp (homescreen=', globalStore.homescreen)
try {
let displayMode = 'browser';
const mqStandAlone = '(display-mode: standalone)';
// @ts-ignore
if (
(navigator && navigator.standalone) ||
window.matchMedia(mqStandAlone).matches
) {
// console.log('navigator.standalone')
displayMode = 'standalone';
}
// prova altro 2
// console.log('displayMode = ', displayMode)
// Rileva iOS
const isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent);
globalStore.isAppRunning = displayMode === 'standalone' || globalStore.homescreen;
// Modalità standalone su iOS (Safari)
const isStandaloneIOS = isIOS && (navigator as any).standalone === true;
// Modalità standalone su altri browser (Chromium, Firefox, ecc.)
const isStandaloneOther = window.matchMedia('(display-mode: standalone)').matches;
const isStandalone = isStandaloneIOS || isStandaloneOther;
// Imposta lo stato
globalStore.isAppRunning = isStandalone || globalStore.homescreen;
} catch (e) {
console.log('error navigator.standalone ?!', e);
}
@@ -9175,10 +9174,11 @@ export const tools = {
try {
// console.log('initprompt')
const globalStore = useGlobalStore();
console.log('ADD: beforeinstallprompt');
window.addEventListener('beforeinstallprompt', (event) => {
console.log('*** ESSGUI: beforeinstallprompt');
event.preventDefault();
console.log('beforeinstallprompt !');
// Stash the event so it can be triggered later.
globalStore.deferredPrompt = event;
@@ -11194,7 +11194,9 @@ export const tools = {
getmenuByPath(path: string) {
const myroutes = static_data.routes;
const norm = path ? (path.startsWith('/') ? path : `/${path}`).trim().toLowerCase() : undefined;
const norm = path
? (path.startsWith('/') ? path : `/${path}`).trim().toLowerCase()
: undefined;
const mymenus = myroutes.find((menu: any) => menu.path === norm);
@@ -11203,9 +11205,21 @@ export const tools = {
return mymenus;
},
norm(path?: string): string | undefined {
return typeof path === 'string' ? path.trim().replace(/^\/+|\/+$/g, '').toLowerCase() : undefined;
return typeof path === 'string'
? path
.trim()
.replace(/^\/+|\/+$/g, '')
.toLowerCase()
: undefined;
},
isInTelegramWebView() {
try {
return /Telegram/.test(navigator.userAgent);
} catch (e) {
return false
}
},
// FINE !
// getLocale() {