v195 - scopes

This commit is contained in:
Arseny Sazhin (via WeWeb) 2025-10-07 17:31:37 +03:00
parent 6d0917d83e
commit 0d3e320273
35 changed files with 58 additions and 48 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"cacheVersion":194,"page":{"id":"cf9f551f-e733-4934-a682-535575cb7c70","paths":{"en":"promo","default":"promo"},"cmsDataSetPath":null,"workflows":[]},"sections":{"4a2188f6-d98c-4150-9ba7-5918c72f3421":{"uid":"4a2188f6-d98c-4150-9ba7-5918c72f3421","linkId":"416695e7-e54e-4897-9f9a-befeb223f1b0","_state":{"style":{"default":{}}},"content":{"default":{"wwObjects":[],"_ww-layout_alignItems":"flex-start","_ww-layout_flexDirection":"column"}},"sectionBaseId":"99586bd3-2b15-4d6b-a025-6a50d07ca845","sectionTitle":"Section"}},"wwObjects":{},"collections":[],"variables":[],"workflows":[],"formulas":[],"libraryComponents":[]}
{"cacheVersion":195,"page":{"id":"cf9f551f-e733-4934-a682-535575cb7c70","paths":{"en":"promo","default":"promo"},"cmsDataSetPath":null,"workflows":[]},"sections":{"4a2188f6-d98c-4150-9ba7-5918c72f3421":{"uid":"4a2188f6-d98c-4150-9ba7-5918c72f3421","linkId":"416695e7-e54e-4897-9f9a-befeb223f1b0","_state":{"style":{"default":{}}},"content":{"default":{"wwObjects":[],"_ww-layout_alignItems":"flex-start","_ww-layout_flexDirection":"column"}},"sectionBaseId":"99586bd3-2b15-4d6b-a025-6a50d07ca845","sectionTitle":"Section"}},"wwObjects":{},"collections":[],"variables":[],"workflows":[],"formulas":[],"libraryComponents":[]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"name":"Образовательная платформа Meetguru","short_name":"Образовательная платформа Meetguru","icons":[{"src":"images/48-favicon.png?_wwcv=194","type":"image/png","sizes":"48x48"},{"src":"images/72-favicon.png?_wwcv=194","type":"image/png","sizes":"72x72"},{"src":"images/96-favicon.png?_wwcv=194","type":"image/png","sizes":"96x96"},{"src":"images/128-favicon.png?_wwcv=194","type":"image/png","sizes":"128x128"},{"src":"images/144-favicon.png?_wwcv=194","type":"image/png","sizes":"144x144"},{"src":"images/152-favicon.png?_wwcv=194","type":"image/png","sizes":"152x152"},{"src":"images/192-favicon.png?_wwcv=194","type":"image/png","sizes":"192x192"},{"src":"images/256-favicon.png?_wwcv=194","type":"image/png","sizes":"256x256"},{"src":"images/384-favicon.png?_wwcv=194","type":"image/png","sizes":"384x384"},{"src":"images/512-favicon.png?_wwcv=194","type":"image/png","sizes":"512x512"}],"start_url":"/","display":"fullscreen","scope":"/","background_color":"#FFFFFF","theme_color":"#FFFFFF"}
{"name":"Образовательная платформа Meetguru","short_name":"Образовательная платформа Meetguru","icons":[{"src":"images/48-favicon.png?_wwcv=195","type":"image/png","sizes":"48x48"},{"src":"images/72-favicon.png?_wwcv=195","type":"image/png","sizes":"72x72"},{"src":"images/96-favicon.png?_wwcv=195","type":"image/png","sizes":"96x96"},{"src":"images/128-favicon.png?_wwcv=195","type":"image/png","sizes":"128x128"},{"src":"images/144-favicon.png?_wwcv=195","type":"image/png","sizes":"144x144"},{"src":"images/152-favicon.png?_wwcv=195","type":"image/png","sizes":"152x152"},{"src":"images/192-favicon.png?_wwcv=195","type":"image/png","sizes":"192x192"},{"src":"images/256-favicon.png?_wwcv=195","type":"image/png","sizes":"256x256"},{"src":"images/384-favicon.png?_wwcv=195","type":"image/png","sizes":"384x384"},{"src":"images/512-favicon.png?_wwcv=195","type":"image/png","sizes":"512x512"}],"start_url":"/","display":"fullscreen","scope":"/","background_color":"#FFFFFF","theme_color":"#FFFFFF"}

View File

@ -1,4 +1,4 @@
const version = 194;
const version = 195;
self.addEventListener('install', event => {
// eslint-disable-next-line no-console
console.log(`Service worker v${version} installed`);

File diff suppressed because one or more lines are too long

View File

@ -173,6 +173,14 @@ type: 'string',
defaultValue: '',
});
// === ADDED: ensure 'email' scope helper ===
const ensureEmailScope = (scopes) => {
if (!scopes || typeof scopes !== 'string') return 'email';
const parts = scopes.split(/[,\s]+/).filter(Boolean);
if (!parts.includes('email')) parts.unshift('email');
return Array.from(new Set(parts)).join(','); // dedupe and normalize
};
// Computed properties
const buttonStyle = computed(() => {
return {
@ -248,7 +256,8 @@ responseMode: props.content?.backendTokenExchange === true
? VKID.ConfigResponseMode.Code
: VKID.ConfigResponseMode.Callback,
source: VKID.ConfigSource.LOWCODE,
scope: props.content?.scopes || '',
// === ADDED: make sure 'email' is always in scope ===
scope: ensureEmailScope(props.content?.scopes || ''),
});
// Create and render OneTap
@ -328,7 +337,8 @@ const window = wwLib.getFrontWindow();
const oauthUrl = new URL('https://oauth.vk.com/authorize');
oauthUrl.searchParams.append('client_id', props.content?.appId);
oauthUrl.searchParams.append('redirect_uri', props.content?.redirectUri);
oauthUrl.searchParams.append('scope', props.content?.scopes || 'email');
// === CHANGED: force scopes to include email
oauthUrl.searchParams.append('scope', ensureEmailScope(props.content?.scopes));
oauthUrl.searchParams.append('response_type', 'code');
oauthUrl.searchParams.append('v', '5.131'); // Ensure API version is set
@ -552,7 +562,7 @@ const telegramCloseApp = () => {
if (isEditing.value) return;
const window = wwLib.getFrontWindow();
if (!window.Telegram || !window.Telegram.WebApp) return;
if (!window.Telegram || !window.TeleApp) return;
try {
window.Telegram.WebApp.close();

View File

@ -12,20 +12,20 @@
<link rel="icon" type="image/x-icon" href="favicon.ico?_wwcv={{cacheVersion}}" />
<link rel="manifest" href="manifest.json?_wwcv=194" />
<link rel="manifest" href="manifest.json?_wwcv=195" />
<meta name="theme-color" content="" />
<link rel="apple-touch-icon" sizes="48x48" href="images/48-favicon.png?_wwcv=194">
<link rel="apple-touch-icon" sizes="72x72" href="images/72-favicon.png?_wwcv=194">
<link rel="apple-touch-icon" sizes="96x96" href="images/96-favicon.png?_wwcv=194">
<link rel="apple-touch-icon" sizes="128x128" href="images/128-favicon.png?_wwcv=194">
<link rel="apple-touch-icon" sizes="144x144" href="images/144-favicon.png?_wwcv=194">
<link rel="apple-touch-icon" sizes="152x152" href="images/152-favicon.png?_wwcv=194">
<link rel="apple-touch-icon" sizes="192x192" href="images/192-favicon.png?_wwcv=194">
<link rel="apple-touch-icon" sizes="256x256" href="images/256-favicon.png?_wwcv=194">
<link rel="apple-touch-icon" sizes="384x384" href="images/384-favicon.png?_wwcv=194">
<link rel="apple-touch-icon" sizes="512x512" href="images/512-favicon.png?_wwcv=194">
<link rel="apple-touch-icon" sizes="48x48" href="images/48-favicon.png?_wwcv=195">
<link rel="apple-touch-icon" sizes="72x72" href="images/72-favicon.png?_wwcv=195">
<link rel="apple-touch-icon" sizes="96x96" href="images/96-favicon.png?_wwcv=195">
<link rel="apple-touch-icon" sizes="128x128" href="images/128-favicon.png?_wwcv=195">
<link rel="apple-touch-icon" sizes="144x144" href="images/144-favicon.png?_wwcv=195">
<link rel="apple-touch-icon" sizes="152x152" href="images/152-favicon.png?_wwcv=195">
<link rel="apple-touch-icon" sizes="192x192" href="images/192-favicon.png?_wwcv=195">
<link rel="apple-touch-icon" sizes="256x256" href="images/256-favicon.png?_wwcv=195">
<link rel="apple-touch-icon" sizes="384x384" href="images/384-favicon.png?_wwcv=195">
<link rel="apple-touch-icon" sizes="512x512" href="images/512-favicon.png?_wwcv=195">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'">
<link href="/fonts/Phosphor/font.css?_wwcv=194" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'">
<link href="/fonts/Phosphor/font.css?_wwcv=195" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'">
<link href="https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'">
<style>:root{ --ww-default-font-family: 'Raleway', sans-serif }</style>
<style>

File diff suppressed because one or more lines are too long