Release Vulpes OS 2.7-preview.24
This commit is contained in:
parent
49572b6b45
commit
97ef99f827
135 changed files with 7717 additions and 2524 deletions
|
|
@ -1,6 +1,7 @@
|
|||
export function isGaiaActivity(source) {
|
||||
return source?.name === 'pick' || source?.name === 'share' ||
|
||||
(source?.name === 'moz_configure_window' && source.data?.target === 'device') ||
|
||||
(source?.name === 'configure' && source.data?.target === 'device') ||
|
||||
(source?.name === 'configure' && source.data?.target === 'ringtone') ||
|
||||
(source?.name === 'dial' && source.data?.type === 'webtelephony/number') ||
|
||||
(source?.name === 'new' && source.data?.type === 'websms/sms') ||
|
||||
|
|
@ -33,6 +34,7 @@ export class Activities {
|
|||
else if (types.some(t=>typeof t==='string' && t.startsWith('audio/'))) id='music';
|
||||
else if (types.some(t=>typeof t==='string' && t.startsWith('video/'))) id='video';
|
||||
} else if (name === 'configure' && source.data?.target === 'ringtone') id='ringtones';
|
||||
else if (name === 'configure' && source.data?.target === 'device') id='settings';
|
||||
else if (name === 'dial' && types.includes('webtelephony/number')) id='communications';
|
||||
else if (name === 'new' && types.includes('websms/sms')) id='sms';
|
||||
else if (['new','update','open'].includes(name) && types.includes('webcontacts/contact')) id='communications';
|
||||
|
|
|
|||
|
|
@ -51,6 +51,8 @@ export async function unpackPackage(bytes, source) {
|
|||
if(cursor!==end || !files['manifest.webapp'])throw Error('MISSING_MANIFEST');
|
||||
const original=JSON.parse(decoder.decode(Uint8Array.from(atob(files['manifest.webapp']),c=>c.charCodeAt(0))));
|
||||
if(typeof original.name!=='string' || !original.name.trim() || original.name.length>120)throw Error('INVALID_MANIFEST');
|
||||
if (original.type === 'privileged' || original.type === 'certified')
|
||||
throw Error('PRIVILEGED_APP_UNSUPPORTED');
|
||||
function path(value) {if(typeof value!=='string')throw Error('INVALID_MANIFEST');const u=new URL(value,'https://app.invalid/');
|
||||
if(u.origin!=='https://app.invalid' || !Object.hasOwn(files,decodeURIComponent(u.pathname.slice(1))))throw Error('MISSING_APP_FILE');return u.pathname+u.search+u.hash;}
|
||||
const launch=path(original.launch_path || '/index.html'),icons={};
|
||||
|
|
|
|||
Loading…
Reference in a new issue