Drop Waterfox Classic support (#4237)

This commit is contained in:
Alexander Zinchuk 2024-02-06 16:49:28 +01:00
parent 13f436861d
commit 0ba12d4dd5
19 changed files with 31 additions and 175 deletions

View File

@ -3,8 +3,13 @@ function compatTest() {
var hasWebSockets = typeof WebSocket !== 'undefined';
var hasWebCrypto = window.crypto && typeof window.crypto.subtle !== 'undefined';
var hasObjectFromEntries = typeof Object.fromEntries !== 'undefined';
var hasResizeObserver = typeof window.ResizeObserver !== 'undefined';
var hasCssSupports = window.CSS && typeof window.CSS.supports === 'function';
var hasIntl = typeof window.Intl !== 'undefined';
var hasDisplayNames = hasIntl && typeof Intl.DisplayNames !== 'undefined';
var isCompatible = hasPromise && hasWebSockets && hasWebCrypto && hasObjectFromEntries;
var isCompatible = hasPromise && hasWebSockets && hasWebCrypto && hasObjectFromEntries && hasResizeObserver
&& hasCssSupports && hasDisplayNames;
if (isCompatible || (window.localStorage && window.localStorage.getItem('tt-ignore-compat'))) {
window.isCompatTestPassed = true;
@ -17,6 +22,9 @@ function compatTest() {
console.warn('WebSocket', hasWebSockets);
console.warn('WebCrypto', hasWebCrypto);
console.warn('Object.fromEntries', hasObjectFromEntries);
console.warn('ResizeObserver', hasResizeObserver);
console.warn('CSS.supports', hasCssSupports);
console.warn('Intl.DisplayNames', hasDisplayNames);
}
document.body.innerHTML = '<iframe src="./unsupported.html" width="100%" height="100%">';

View File

@ -10,10 +10,7 @@
@media (max-width: 600px) {
padding-right: 1rem;
@supports (bottom: env(safe-area-inset-bottom)) {
bottom: env(safe-area-inset-bottom);
}
bottom: env(safe-area-inset-bottom);
}
&::before {

View File

@ -118,12 +118,6 @@
left: env(safe-area-inset-left) !important;
width: calc(100vw - env(safe-area-inset-left)) !important;
// Target: Old Firefox (Waterfox Classic)
@supports not (left: env(safe-area-inset-left)) {
left: 0 !important;
width: 100vw !important;
}
// Fix: when opening the SymbolMenu, the chat list flashes in the background
body.is-symbol-menu-open &::before {
content: '';

View File

@ -89,15 +89,6 @@
}
}
// Target: Old Firefox (Waterfox Classic)
@supports not (padding: 0.5rem max(1.25rem, env(safe-area-inset-left))) {
padding: 0.5rem 1.25rem;
@media (max-width: 600px) {
padding: 0.5rem;
}
}
body.is-electron.is-macos & {
-webkit-app-region: drag;
}
@ -161,16 +152,6 @@
right: env(safe-area-inset-right);
transform: scaleX(-1);
}
// Target: Old Firefox (Waterfox Classic)
@supports not (left: env(safe-area-inset-left)) {
left: 0;
&[dir="rtl"] {
left: auto;
right: 0;
}
}
}
&.next {
@ -183,16 +164,6 @@
left: env(safe-area-inset-left);
transform: scaleX(-1);
}
// Target: Old Firefox (Waterfox Classic)
@supports not (right: env(safe-area-inset-right)) {
right: 0;
&[dir="rtl"] {
right: auto;
left: 0;
}
}
}
&.inline {

View File

@ -42,18 +42,6 @@
}
}
// Target: Old Firefox (Waterfox Classic)
@supports not (right: max(1rem, env(safe-area-inset-right))) {
right: 1rem;
@media (max-width: 600px) {
right: 0.5rem;
:global(body:not(.keyboard-visible)) & {
bottom: 4.5rem;
}
}
}
&.revealed {
transform: translateY(0);
opacity: 1;

View File

@ -32,9 +32,7 @@
bottom: 0;
@media (max-width: 600px) {
@supports (bottom: calc(0px - env(safe-area-inset-bottom))) {
bottom: calc(0px - env(safe-area-inset-bottom));
}
bottom: calc(0px - env(safe-area-inset-bottom));
}
body.keyboard-visible.no-page-transitions & {
@ -101,10 +99,8 @@
.last-in-list {
margin-bottom: 4.25rem;
@supports (margin-bottom: calc(4.25rem + env(safe-area-inset-bottom))) {
body:not(.keyboard-visible) & {
margin-bottom: calc(4.25rem + env(safe-area-inset-bottom));
}
body:not(.keyboard-visible) & {
margin-bottom: calc(4.25rem + env(safe-area-inset-bottom));
}
}
}

View File

@ -9,9 +9,7 @@
margin: 0;
@media (max-width: 600px) {
@supports (bottom: calc(0.5rem + env(safe-area-inset-bottom))) {
bottom: calc(0.5rem + env(safe-area-inset-bottom));
}
bottom: calc(0.5rem + env(safe-area-inset-bottom));
}
.mask-image-disabled &::before {

View File

@ -192,12 +192,10 @@
top: 0;
@media (max-width: 600px) {
@supports (padding-bottom: env(safe-area-inset-bottom)) {
padding-bottom: env(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
body.keyboard-visible & {
top: env(safe-area-inset-bottom);
}
body.keyboard-visible & {
top: env(safe-area-inset-bottom);
}
}
}
@ -325,12 +323,8 @@
}
@media (max-width: 600px) {
padding-bottom: 0.75rem;
margin-left: -0.5rem;
@supports (padding-bottom: calc(0.75rem + env(safe-area-inset-bottom))) {
padding-bottom: calc(0.75rem + env(safe-area-inset-bottom));
}
padding-bottom: calc(0.75rem + env(safe-area-inset-bottom));
}
.mask-image-disabled &::before {

View File

@ -45,17 +45,6 @@
padding-right: max(0.5rem, env(safe-area-inset-right));
}
// Target: Old Firefox (Waterfox Classic)
@supports not (padding-left: max(1.5rem, env(safe-area-inset-left))) {
padding-left: 1.5rem;
padding-right: 0.8125rem;
@media (max-width: 600px) {
padding-left: 0.5rem;
padding-right: 0.5rem;
}
}
.Transition {
width: 100%;
// https://dfmcphee.com/flex-items-and-min-width-0/

View File

@ -15,12 +15,6 @@
margin-left: 0.25rem;
flex: 1;
}
// Target: Old Firefox (Waterfox Classic)
@supports not (padding-left: max(0.25rem, env(safe-area-inset-left))) {
padding-left: 0.25rem;
padding-right: 0.5rem;
}
}
#MobileSearch > .footer {
@ -42,22 +36,9 @@
}
@media (max-width: 600px) {
@supports (padding-bottom: env(safe-area-inset-bottom)) {
body:not(.keyboard-visible) & {
padding-bottom: env(safe-area-inset-bottom);
height: calc(3.5rem + env(safe-area-inset-bottom));
}
}
}
// Target: Old Firefox (Waterfox Classic)
@supports not (padding-left: max(1rem, env(safe-area-inset-left))) {
padding-left: 1rem;
padding-right: 0.5rem;
body:not(.keyboard-visible) & {
padding-bottom: 0;
height: 3.5rem;
padding-bottom: env(safe-area-inset-bottom);
height: calc(3.5rem + env(safe-area-inset-bottom));
}
}

View File

@ -27,9 +27,7 @@
overflow-x: auto;
@media (max-width: 600px) {
@supports (padding-bottom: env(safe-area-inset-bottom)) {
padding-bottom: env(safe-area-inset-bottom);
}
padding-bottom: env(safe-area-inset-bottom);
}
}
@ -81,9 +79,7 @@
transform: translate3d(0, calc((var(--symbol-menu-height)) * -1), 0);
@media (max-width: 600px) {
@supports (bottom: env(safe-area-inset-bottom)) {
transform: translate3d(0, calc((var(--symbol-menu-height) - env(safe-area-inset-bottom)) * -1), 0);
}
transform: translate3d(0, calc((var(--symbol-menu-height) - env(safe-area-inset-bottom)) * -1), 0);
}
}

View File

@ -33,20 +33,6 @@
transform: translate3d(0, calc(var(--symbol-menu-height)), 0);
}
// Target: Old Firefox (Waterfox Classic)
@supports not (padding-right: env(safe-area-inset-right)) {
padding-right: 0;
padding-left: 0;
transform: translate3d(0, calc(var(--symbol-menu-height)), 0);
}
@media (max-width: 600px) {
@supports not (padding-right: env(safe-area-inset-right)) {
padding-bottom: env(safe-area-inset-bottom);
transform: translate3d(0, calc(var(--symbol-menu-height) + env(safe-area-inset-bottom)), 0);
}
}
body.no-page-transitions & {
transition: none;
}
@ -61,9 +47,7 @@
max-height: calc(100vh - var(--symbol-menu-footer-height));
@media (max-width: 600px) {
@supports (max-height: calc(100vh - var(--symbol-menu-footer-height) - env(safe-area-inset-bottom))) {
max-height: calc(100vh - var(--symbol-menu-footer-height) - env(safe-area-inset-bottom));
}
max-height: calc(100vh - var(--symbol-menu-footer-height) - env(safe-area-inset-bottom));
}
}
@ -181,12 +165,6 @@
position: absolute;
right: max(0.25rem, env(safe-area-inset-right));
top: max(0.25rem, env(safe-area-inset-top));
// Target: Old Firefox (Waterfox Classic)
@supports not (right: max(0.25rem, env(safe-area-inset-right))) {
right: 0.25rem;
top: 0.25rem;
}
}
@media (orientation: landscape) {

View File

@ -12,11 +12,6 @@
transition: transform var(--layer-transition);
// Target: Old Firefox (Waterfox Classic)
@supports not (padding-right: env(safe-area-inset-right)) {
padding-right: 0;
}
body.no-page-transitions &,
body.no-right-column-animations & {
transition: none !important;

View File

@ -12,9 +12,7 @@
padding: 0 0.5rem 0.5rem;
}
@supports (margin-bottom: env(safe-area-inset-bottom)) {
margin-bottom: env(safe-area-inset-bottom);
}
margin-bottom: env(safe-area-inset-bottom);
}
.viewInfo {

View File

@ -8,11 +8,7 @@
flex-direction: column;
overflow: hidden;
color: var(--color-text);
height: 38rem;
@supports (height: min(38rem, 90vh)) {
height: min(38rem, 90vh);
}
height: min(38rem, 90vh);
}
.header {

View File

@ -3,10 +3,7 @@
flex-direction: column;
padding-bottom: 0 !important;
height: 35rem;
@supports (height: min(80vh, 35rem)) {
height: min(80vh, 35rem);
}
height: min(35rem, 80vh);
}
.views-list-loading {

View File

@ -237,10 +237,7 @@
width: calc(100% - 1rem) !important;
height: auto !important;
margin: 0.5rem;
bottom: 3.5rem;
@supports (bottom: calc(3.5rem + env(safe-area-inset-bottom))) {
bottom: calc(3.5rem + env(safe-area-inset-bottom));
}
bottom: calc(3.5rem + env(safe-area-inset-bottom));
}
:global(body.ghost-animating) & {
@ -522,20 +519,16 @@
.caption {
position: absolute;
bottom: 5rem;
left: 0;
width: 100%;
top: 4rem;
bottom: calc(4.25rem + env(safe-area-inset-bottom));
display: flex;
flex-direction: column;
justify-content: flex-end;
border-radius: 0 0 var(--border-radius-default-small) var(--border-radius-default-small);
overflow: hidden;
pointer-events: none;
@supports (bottom: env(safe-area-inset-bottom)) {
bottom: calc(4.25rem + env(safe-area-inset-bottom));
}
}
.captionInner {
@ -628,10 +621,7 @@
@media (max-width: 600px) {
padding: 0 0.5rem 0.5rem;
@supports (margin-bottom: env(safe-area-inset-bottom)) {
margin-bottom: env(safe-area-inset-bottom);
}
margin-bottom: env(safe-area-inset-bottom);
}
}
@ -694,11 +684,7 @@
.modal :global(.modal-content) {
padding: 0.5rem !important;
max-height: 35rem;
@supports (max-height: min(80vh, 35rem)) {
max-height: min(80vh, 35rem);
}
max-height: min(35rem, 80vh);
}
.thumbnail {

View File

@ -50,7 +50,6 @@
<link rel="alternate icon" href="./favicon.ico" type="image/x-icon">
<link rel="manifest" id="the-manifest-placeholder" href="./<%= htmlWebpackPlugin.options.manifest %>">
<script src="./compatTest.js"></script>
<script src="./redirect.js"></script>
</head>
@ -61,6 +60,7 @@
<p>Please, enable JavaScript to open the app.</p>
</noscript>
<div id="portals"></div>
<script src="./compatTest.js"></script>
</body>
</html>

View File

@ -109,12 +109,6 @@
padding-right: max(0.5rem, env(safe-area-inset-right));
background: var(--color-background);
// Target: Old Firefox (Waterfox Classic)
@supports not (padding-left: max(0.75rem, env(safe-area-inset-left))) {
padding-left: 0.75rem;
padding-right: 0.5rem;
}
&::before {
content: "";
display: block;