Compare commits

...

4 Commits

6 changed files with 1607 additions and 1849 deletions

View File

@ -1,4 +1,4 @@
import {DidFailLoadEvent, ipcRenderer, PageFaviconUpdatedEvent, UpdateTargetUrlEvent,} from "electron"; import {DidFailLoadEvent, ipcRenderer, PageFaviconUpdatedEvent, UpdateTargetUrlEvent} from "electron";
import Service from "../../src/Service"; import Service from "../../src/Service";
import {IconProperties, IconSet, SpecialPages} from "../../src/Meta"; import {IconProperties, IconSet, SpecialPages} from "../../src/Meta";
import Config from "../../src/Config"; import Config from "../../src/Config";

View File

@ -1,6 +1,6 @@
{ {
"name": "tabs", "name": "tabs",
"version": "1.3.0", "version": "1.3.1",
"description": "Persistent and separate browser tabs in one window.", "description": "Persistent and separate browser tabs in one window.",
"author": { "author": {
"name": "Alice Gaudon", "name": "Alice Gaudon",
@ -30,22 +30,23 @@
"devDependencies": { "devDependencies": {
"@babel/core": "^7.9.6", "@babel/core": "^7.9.6",
"@babel/preset-env": "^7.9.6", "@babel/preset-env": "^7.9.6",
"@fortawesome/fontawesome-free": "^5.13.0", "@fortawesome/fontawesome-free": "^6.1.0",
"@types/node": "^14.17.18", "@types/node": "^14.6.2",
"@typescript-eslint/eslint-plugin": "^4.3.0", "@typescript-eslint/eslint-plugin": "^5.15.0",
"@typescript-eslint/parser": "^4.3.0", "@typescript-eslint/parser": "^5.15.0",
"babel-loader": "^8.1.0", "babel-loader": "^8.1.0",
"concurrently": "^6.0.0", "concurrently": "^7.0.0",
"copy-webpack-plugin": "^9.0.0", "copy-webpack-plugin": "^10.2.4",
"css-loader": "^6.3.0", "css-loader": "^6.3.0",
"electron": "^15.0.0", "electron": "^17.1.2",
"electron-builder": "^22.11.5", "electron-builder": "^22.11.5",
"eslint": "^7.10.0", "eslint": "^8.11.0",
"image-minimizer-webpack-plugin": "^2.2.0", "image-minimizer-webpack-plugin": "^3.2.3",
"imagemin": "^8.0.1",
"imagemin-gifsicle": "^7.0.0", "imagemin-gifsicle": "^7.0.0",
"imagemin-mozjpeg": "^9.0.0", "imagemin-mozjpeg": "^10.0.0",
"imagemin-pngquant": "^9.0.2", "imagemin-pngquant": "^9.0.2",
"imagemin-svgo": "^9.0.0", "imagemin-svgo": "^10.0.1",
"mini-css-extract-plugin": "^2.1.0", "mini-css-extract-plugin": "^2.1.0",
"sass": "^1.32.12", "sass": "^1.32.12",
"sass-loader": "^12.1.0", "sass-loader": "^12.1.0",

View File

@ -76,6 +76,8 @@ export default class Application {
if (contents.getType() === 'webview') { if (contents.getType() === 'webview') {
console.log('Setting external links to open in default OS browser'); console.log('Setting external links to open in default OS browser');
contents.setWindowOpenHandler(details => { contents.setWindowOpenHandler(details => {
if (details.url.startsWith(details.referrer.url)) return {action: 'allow'};
const url = details.url; const url = details.url;
this.openExternalLink(url) this.openExternalLink(url)
.catch(console.error); .catch(console.error);

View File

@ -1,5 +1,5 @@
import path from "path"; import path from "path";
import {clipboard, ContextMenuParams, dialog, ipcMain, Menu, MenuItem, session, webContents,} from "electron"; import {clipboard, ContextMenuParams, dialog, ipcMain, Menu, MenuItem, session, webContents} from "electron";
import ServiceSettingsWindow from "./ServiceSettingsWindow"; import ServiceSettingsWindow from "./ServiceSettingsWindow";
import SettingsWindow from "./SettingsWindow"; import SettingsWindow from "./SettingsWindow";
import Application from "../Application"; import Application from "../Application";

View File

@ -1,7 +1,7 @@
const path = require('path'); const path = require('path');
const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const ImageMinimizerPlugin = require("image-minimizer-webpack-plugin"); const ImageMinimizerPlugin = require("image-minimizer-webpack-plugin");
const { extendDefaultPlugins } = require("svgo"); const {extendDefaultPlugins} = require("svgo");
const CopyWebpackPlugin = require('copy-webpack-plugin'); const CopyWebpackPlugin = require('copy-webpack-plugin');
const dev = process.env.NODE_ENV === 'development'; const dev = process.env.NODE_ENV === 'development';
@ -87,48 +87,53 @@ const config = {
] ]
}), }),
new ImageMinimizerPlugin({ new ImageMinimizerPlugin({
minimizerOptions: { minimizer: {
// Lossless optimization with custom option implementation: ImageMinimizerPlugin.imageminMinify,
// Feel free to experiment with options for better result for you options: {
plugins: [ // Lossless optimization with custom option
["gifsicle", {}], // Feel free to experiment with options for better result for you
["mozjpeg", {}], plugins: [
["pngquant", {}], ["gifsicle", {}],
// Svgo configuration here https://github.com/svg/svgo#configuration ["mozjpeg", {}],
[ ["pngquant", {}],
"svgo", // Svgo configuration here https://github.com/svg/svgo#configuration
{ [
plugins: extendDefaultPlugins([ "svgo",
{ {
name: "removeViewBox", plugins: extendDefaultPlugins([
active: false, {
}, name: "removeViewBox",
{ active: false,
name: "addAttributesToSVGElement",
params: {
attributes: [{ xmlns: "http://www.w3.org/2000/svg" }],
}, },
}, {
]), name: "addAttributesToSVGElement",
//TODO for imagemin-svgo ^10.0.0 when https://github.com/webpack-contrib/image-minimizer-webpack-plugin/issues/237 is fixed params: {
// plugins: { attributes: [{ xmlns: "http://www.w3.org/2000/svg" }],
// name: 'preset-default', },
// params: { },
// overrides: { ]),
// removeViewBox: { },
// active: false, // todo: still not fixed
// }, // {
// addAttributesToSVGElement: { // plugins: {
// params: { // name: 'preset-default',
// attributes: [{ xmlns: "http://www.w3.org/2000/svg" }], // params: {
// overrides: {
// removeViewBox: {
// active: false,
// },
// addAttributesToSVGElement: {
// params: {
// attributes: [{xmlns: "http://www.w3.org/2000/svg"}],
// },
// }, // },
// }, // },
// }, // },
// }, // },
// }, // },
}, ],
], ],
], },
}, },
}), }),
] ]

3348
yarn.lock

File diff suppressed because it is too large Load Diff