Release Vulpes OS 2.7-preview.24

This commit is contained in:
OverSu 2026-11-04 12:52:20 +01:00
commit 97ef99f827
135 changed files with 7717 additions and 2524 deletions

View file

@ -475,20 +475,25 @@
}
}
// Set the .icon property before saving for
// backwards compatibility with verticalhome
// Set the .icon property before saving for backwards compatibility with
// verticalhome. A missing favicon must not prevent pinning the site.
var saveSite = function(icon) {
siteObject.icon = icon || '';
BookmarksDatabase.put(siteObject, siteObject.id)
.then(() => {
this.app.debug('pinSite: ' + siteObject.id);
this.systemBanner.show('site-pinned-to-home-screen');
})
.catch((error) => {
console.error('pinSite, Failed to pin site: ' + error);
});
}.bind(this);
IconsHelper.getIcon(siteObject.url, null,
{icons: this.app.favicons}, siteObject).then(icon => {
siteObject.icon = icon;
BookmarksDatabase.put(siteObject, siteObject.id)
.then(() => {
this.app.debug('pinSite: ' + siteObject.id);
this.systemBanner.show('site-pinned-to-home-screen');
})
.catch((error) => {
console.error('pinSite, Failed to pin site: ' + error);
});
});
{icons: this.app.favicons}, siteObject).then(saveSite, function(error) {
this.app.debug('pinSite: using no favicon: ' + error);
saveSite('');
}.bind(this));
};
/**
@ -986,12 +991,14 @@
return;
}
// Enable/disable the bookmark option
BookmarksDatabase.get(this._currentURL).then(function resolve(result) {
// start_url is the bookmark key for installed web apps, while _currentURL
// may be a later page in the app. Check the canonical key first.
var siteUrl = this.getSiteUrl();
BookmarksDatabase.get(siteUrl).then(function resolve(result) {
this.addToHomeButton.hidden = !!result;
}.bind(this),
function reject() {
this.addToHomeButton.hidden = true;
this.addToHomeButton.hidden = false;
}.bind(this));
};

View file

@ -0,0 +1,173 @@
/* dialog */
/* FIXME we have to see why we need such specific style here and why
* the general style in confirm.css isn't sufficient */
#setup-installed-app-dialog,
#ime-layout-dialog,
#app-install-dialog,
#app-install-cancel-dialog,
#app-download-cancel-dialog {
display: none;
top: 3rem;
pointer-events: none;
}
/* Shift the bottom of the prompt to account for the height of the
software home button */
#screen.software-button-enabled #setup-installed-app-dialog,
#screen.software-button-enabled #ime-layout-dialog,
#screen.software-button-enabled #app-install-dialog,
#screen.software-button-enabled #app-install-cancel-dialog,
#screen.software-button-enabled #app-download-cancel-dialog {
bottom: var(--software-home-button-height);
}
@media (orientation: landscape) {
#screen.software-button-enabled #setup-installed-app-dialog,
#screen.software-button-enabled #ime-layout-dialog,
#screen.software-button-enabled #app-install-dialog,
#screen.software-button-enabled #app-install-cancel-dialog,
#screen.software-button-enabled #app-download-cancel-dialog {
bottom: 0;
/* BiDi note: the software home button should not be mirrored in RTL. */
right: var(--software-home-button-height);
}
}
#setup-installed-app-dialog.visible,
#ime-layout-dialog.visible,
#app-install-dialog.visible,
#app-install-cancel-dialog.visible,
#app-download-cancel-dialog.visible {
display: inline-block;
pointer-events: auto;
}
#app-uninstall-dialog {
position: absolute;
}
#setup-installed-app-dialog section,
#ime-layout-dialog section,
#app-install-dialog section,
#app-install-cancel-dialog section,
#app-download-cancel-dialog section {
height: auto;
}
#setup-installed-app-dialog h1,
#ime-layout-dialog h1,
#app-install-dialog h1,
#app-install-cancel-dialog h1,
#app-download-cancel-dialog h1 {
border-bottom: none;
background: none;
}
#app-install-dialog dl > dt {
width: 8rem;
margin-inline-end: 1rem;
overflow: hidden;
text-overflow: ellipsis;
}
#app-install-dialog p {
font-size: 1.4rem;
font-weight: 400;
line-height: normal;
border-top: none;
}
#app-install-dialog #system-addon-warning p + p {
margin-top: 0;
}
#app-install-dialog span {
font-size: 1.4rem;
font-weight: 400;
line-height: normal;
color: inherit;
}
#app-install-dialog #system-addon-icon {
height: 3rem;
width: 3rem;
}
html[dir="ltr"] #app-install-dialog #system-addon-icon {
float: left;
margin: 1.5rem 0 0 1.5rem;
}
html[dir="rtl"] #app-install-dialog #system-addon-icon {
float: right;
margin: 1.5rem 1.5rem 0 0;
}
#app-install-author-url {
direction: ltr;
}
#app-install-cancel-dialog small:first-child {
margin-bottom: 1rem;
}
/* ... end of dialog */
/* notification */
#install-manager-notification-container > .fake-notification {
position: relative;
border-bottom: none;
}
#install-manager-notification-container > .fake-notification > * {
pointer-events: none;
}
#install-manager-notification-container [data-icon] {
color: #9ab0c0;
background-color: #edf1f4;
}
#install-manager-notification-container .title-container {
margin: 1.4rem 0 0;
line-height: 3rem;
}
html[dir="ltr"] #install-manager-notification-container .title-container {
margin-left: 3.7rem;
}
html[dir="rtl"] #install-manager-notification-container .title-container {
margin-right: 3.7rem;
}
#install-manager-notification-container progress {
position: absolute;
width: 100%;
height: 0.4rem;
left: 0;
top: 5.6rem;
border: none;
}
#install-manager-notification-container progress::-moz-progress-bar {
background: url(../shared/progress.gif) repeat-x;
}
/* ... end of notification */
/* ... start of keyboard layout */
ul#ime-list {
padding-inline-start: 1.5rem;
}
ul#ime-list > li {
/* Positioning */
position: relative;
/* Display & Box Model */
width: 100%;
height: 3rem;
padding-top: 2rem;
/* Other */
list-style: none;
}
ul#ime-list > li label {
text-transform: none;
}
/* ... end of keyboard layout */

View file

@ -57,6 +57,6 @@
#os-logo { background:#071d35; display:flex; flex-direction:column; align-items:center; justify-content:center; }
#os-logo::before { content:""; width:min(42vw,190px); aspect-ratio:1; flex:none; background:url('/shared/resources/branding/vulpes-symbol.png') center / contain no-repeat; animation:vulpes-boot 2s ease-in-out infinite alternate; }
#os-logo::after { content:"VULPES\A Firefox OS Community Project"; white-space:pre-line; padding:12px 22px; color:#f5f8fa; font:500 20px/1.8 FiraSans,sans-serif; text-align:center; }
#poweroff-splash { background:#071d35 url('/shared/resources/branding/vulpes-symbol.png') center / 190px 190px no-repeat; }
#poweroff-splash { background:#071d35; }
@keyframes vulpes-boot { from {opacity:.75} to {opacity:1} }
@media (prefers-reduced-motion: reduce) { #os-logo::before {animation:none} }