Commit 2fbd7aa2 authored by yPhil's avatar yPhil
Browse files

Conflict resolution after unreadCount subs merge

parents 9f9e20cf 0bd3233b
......@@ -7,5 +7,5 @@ job1:
stage: build
script:
- npm install
- PTL_PORT_HTTP=8000 npm start
- PTL_PORT_HTTP=8000 npm run coverage
- npm start
- npm run coverage
......@@ -25,7 +25,8 @@
"remotestorage": "rs#1.2.3",
"rs-widget": "1.3.0",
"DOMPurify": "dompurify#^2.2.6",
"responsively-lazy": "^2.0.2"
"responsively-lazy": "^2.0.2",
"idb-keyval": "^5.0.5"
},
"resolutions": {
"intro.js": "^3.3.1"
......
......@@ -9,16 +9,25 @@ const httpServer = http.createServer(petrolette);
const portHttp = pjson.HTTP_PORT || 8000;
const portHttps = pjson.HTTPS_PORT || 8001;
process.on('uncaughtException', function(err) {
console.error('### Pétrolette uncaughtException: %s', err.code);
});
httpServer.listen(portHttp, () => {
console.debug('HTTP Server running on port %s', portHttp);
});
const httpsServer = https.createServer({
key: fs.readFileSync('/etc/letsencrypt/live/petrolette.space/privkey.pem'),
cert: fs.readFileSync('/etc/letsencrypt/live/petrolette.space/cert.pem'),
ca: fs.readFileSync('/etc/letsencrypt/live/petrolette.space/chain.pem'),
}, petrolette);
try {
const httpsServer = https.createServer({
key: fs.readFileSync('/etc/letsencrypt/live/petrolette.space/privkey.pem'),
cert: fs.readFileSync('/etc/letsencrypt/live/petrolette.space/cert.pem'),
ca: fs.readFileSync('/etc/letsencrypt/live/petrolette.space/chain.pem'),
}, petrolette);
httpsServer.listen(portHttps, () => {
console.debug('HTTPS Server running');
});
httpsServer.listen(portHttps, () => {
console.debug('HTTPS Server running');
});
} catch (error) {
console.error('error: no HTTPS here');
}
{
"name": "petrolette",
"version": "1.3.0A",
"version": "1.3.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"version": "1.3.0A",
"version": "1.3.0",
"hasInstallScript": true,
"license": "GPL-3.0-only",
"dependencies": {
......@@ -19,6 +19,7 @@
"feedrat": "git+https://framagit.org/yphil/feedrat.git",
"helmet": "^4.4.1",
"iconv-lite": "^0.6.2",
"idb": "^6.0.0",
"morgan": "^1.10.0",
"node-fetch": "^2.6.1",
"npm": "^7.10.0",
......@@ -28,6 +29,7 @@
"devDependencies": {
"mocha": "^8.3.2",
"nyc": "^15.1.0",
"rollup": "^2.47.0",
"should": "^13.2.3"
},
"engines": {
......@@ -1817,11 +1819,6 @@
"node": ">= 10.18.1"
}
},
"node_modules/feedparser/node_modules/process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"node_modules/feedparser/node_modules/readable-stream": {
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
......@@ -2320,6 +2317,11 @@
"node": ">=0.10.0"
}
},
"node_modules/idb": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/idb/-/idb-6.0.0.tgz",
"integrity": "sha512-+M367poGtpzAylX4pwcrZIa7cFQLfNkAOlMMLN2kw/2jGfJP6h+TB/unQNSVYwNtP8XqkLYrfuiVnxLQNP1tjA=="
},
"node_modules/imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
......@@ -2735,9 +2737,9 @@
}
},
"node_modules/lodash": {
"version": "4.17.20",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
"integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"node_modules/lodash.assign": {
"version": "4.2.0",
......@@ -6804,6 +6806,11 @@
"node": ">= 0.8.0"
}
},
"node_modules/process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"node_modules/process-on-spawn": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz",
......@@ -7059,6 +7066,21 @@
"rimraf": "bin.js"
}
},
"node_modules/rollup": {
"version": "2.47.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.47.0.tgz",
"integrity": "sha512-rqBjgq9hQfW0vRmz+0S062ORRNJXvwRpzxhFXORvar/maZqY6za3rgQ/p1Glg+j1hnc1GtYyQCPiAei95uTElg==",
"dev": true,
"bin": {
"rollup": "dist/bin/rollup"
},
"engines": {
"node": ">=10.0.0"
},
"optionalDependencies": {
"fsevents": "~2.3.1"
}
},
"node_modules/run-series": {
"version": "1.1.9",
"resolved": "https://registry.npmjs.org/run-series/-/run-series-1.1.9.tgz",
......@@ -9362,11 +9384,6 @@
"sax": "^1.2.4"
},
"dependencies": {
"process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"readable-stream": {
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
......@@ -9748,6 +9765,11 @@
"safer-buffer": ">= 2.1.2 < 3.0.0"
}
},
"idb": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/idb/-/idb-6.0.0.tgz",
"integrity": "sha512-+M367poGtpzAylX4pwcrZIa7cFQLfNkAOlMMLN2kw/2jGfJP6h+TB/unQNSVYwNtP8XqkLYrfuiVnxLQNP1tjA=="
},
"imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
......@@ -10072,9 +10094,9 @@
}
},
"lodash": {
"version": "4.17.20",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
"integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"lodash.assign": {
"version": "4.2.0",
......@@ -12885,6 +12907,11 @@
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
"integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
},
"process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"process-on-spawn": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz",
......@@ -13090,6 +13117,15 @@
"glob": "^7.1.3"
}
},
"rollup": {
"version": "2.47.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.47.0.tgz",
"integrity": "sha512-rqBjgq9hQfW0vRmz+0S062ORRNJXvwRpzxhFXORvar/maZqY6za3rgQ/p1Glg+j1hnc1GtYyQCPiAei95uTElg==",
"dev": true,
"requires": {
"fsevents": "~2.3.1"
}
},
"run-series": {
"version": "1.1.9",
"resolved": "https://registry.npmjs.org/run-series/-/run-series-1.1.9.tgz",
......
{
"name": "petrolette",
"description": "The news reader that doesn't know you",
"version": "1.3.0A",
"version": "1.3.0",
"private": true,
"license": "GPL-3.0-only",
"HTTP_PORT": 8000,
......@@ -37,6 +37,7 @@
"feedrat": "git+https://framagit.org/yphil/feedrat.git",
"helmet": "^4.4.1",
"iconv-lite": "^0.6.2",
"idb": "^6.0.0",
"morgan": "^1.10.0",
"node-fetch": "^2.6.1",
"npm": "^7.10.0",
......@@ -46,6 +47,7 @@
"devDependencies": {
"mocha": "^8.3.2",
"nyc": "^15.1.0",
"rollup": "^2.47.0",
"should": "^13.2.3"
}
}
......@@ -8,32 +8,16 @@ const express = require('express'),
helmet = require("helmet"),
compression = require('compression');
// if (!fs.existsSync(path.join(__dirname, pjson.FAVICONS_CACHE_DIR))){
// fs.mkdirSync(path.join(__dirname, pjson.FAVICONS_CACHE_DIR));
// }
fs.mkdir(path.join(__dirname, pjson.FAVICONS_CACHE_DIR), (err) => {
fs.mkdir(path.join(__dirname, pjson.FAVICONS_CACHE_DIR), {
recursive: true
}, (err) => {
if (err) {
return console.error(err);
}
console.log('Directory created successfully!');
return true;
});
fs.mkdir(path.join(__dirname, pjson.FAVICONS_CACHE_DIR),
{ recursive: true }, (err) => {
if (err) {
return console.error(err);
}
console.log('Directory created successfully!');
});
// app.use(function(req, res, next) {
// if (req.secure) {
// res.setHeader('Strict-Transport-Security', 'max-age=63072000; includeSubDomains'); // 2 years
// }
// next();
// });
app.set('views', path.join(__dirname, 'views'));
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
......@@ -45,10 +29,11 @@ app.use(helmet({contentSecurityPolicy: false}));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
// app.use(express.static(__dirname + '/renewal', { dotfiles: 'allow' }));
app.use('/favicons', express.static(path.join(__dirname, pjson.FAVICONS_CACHE_DIR)));
app.use('/static', express.static(path.join(__dirname, 'public')));
app.use('/bower', express.static(path.join(__dirname, 'bower_components')));
app.use('/', router);
module.exports = app;
@font-face {
font-family: 'fontello';
src: url('../font/fontello.eot?46778389');
src: url('../font/fontello.eot?46778389#iefix') format('embedded-opentype'),
url('../font/fontello.woff2?46778389') format('woff2'),
url('../font/fontello.woff?46778389') format('woff'),
url('../font/fontello.ttf?46778389') format('truetype'),
url('../font/fontello.svg?46778389#fontello') format('svg');
src: url('../font/fontello.eot?78914911');
src: url('../font/fontello.eot?78914911#iefix') format('embedded-opentype'),
url('../font/fontello.woff2?78914911') format('woff2'),
url('../font/fontello.woff?78914911') format('woff'),
url('../font/fontello.ttf?78914911') format('truetype'),
url('../font/fontello.svg?78914911#fontello') format('svg');
font-weight: normal;
font-style: normal;
}
......@@ -15,7 +15,7 @@
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family: 'fontello';
src: url('../font/fontello.svg?46778389#fontello') format('svg');
src: url('../font/fontello.svg?78914911#fontello') format('svg');
}
}
*/
......@@ -56,16 +56,14 @@
}
.icon-left:before { content: '\e801'; } /* '' */
.icon-down-circle:before { content: '\e802'; } /* '' */
.icon-down:before { content: '\e802'; } /* '' */
.icon-upload:before { content: '\e803'; } /* '' */
.icon-up:before { content: '\e804'; } /* '' */
.icon-down:before { content: '\e805'; } /* '' */
.icon-right:before { content: '\e806'; } /* '' */
.icon-rss:before { content: '\e807'; } /* '' */
.icon-checked:before { content: '\e808'; } /* '' */
.icon-checkbox:before { content: '\e809'; } /* '' */
.icon-petrolette:before { content: '\e80a'; } /* '' */
.icon-download:before { content: '\e80b'; } /* '' */
.icon-checked:before { content: '\e80f'; } /* '' */
.icon-trash-empty:before { content: '\e810'; } /* '' */
.icon-plus:before { content: '\e811'; } /* '' */
.icon-minus:before { content: '\e812'; } /* '' */
......@@ -75,7 +73,8 @@
.icon-cancel:before { content: '\e816'; } /* '' */
.icon-refresh:before { content: '\e817'; } /* '' */
.icon-pencil:before { content: '\e818'; } /* '' */
.icon-cog:before { content: '\e819'; } /* '' */
.icon-checkbox:before { content: '\e81a'; } /* '' */
.icon-cog:before { content: '\e81b'; } /* '' */
.icon-pin:before { content: '\e820'; } /* '' */
.icon-audio:before { content: '\e821'; } /* '' */
.icon-comments:before { content: '\e822'; } /* '' */
......
......@@ -204,6 +204,10 @@ i.tabIcon,
cursor: pointer;
}
.middleButton {
margin: 0 5px;
}
p.dangerous {
color: var(--color-ui-danger);
}
......@@ -554,10 +558,6 @@ li.feedItem.error > strong.value {
z-index: 10;
}
.hidden {
display: none;
}
#newTabTab.hidden {
display: none;
}
......@@ -692,10 +692,6 @@ i.tabIcon {
right: 3px;
}
button#feedGuessButton {
margin-left: 0.4em;
}
a.feedErrorReportButton,
a.validateFeedButton {
flex: 1;
......@@ -787,7 +783,7 @@ ul.help li.cloud::before {
.grow,
.shrink,
.unique {
.unique:not(#feedTabSelect) {
margin: 0.2em;
}
......@@ -1075,7 +1071,7 @@ div.introjs-helperLayer {
/* IntroJS (help tooltips) */
.introjs-tooltip {
background-color: var(--color-background) !important;
border: 1px solid var(--color-ui-qua);
border: 1px solid var(--color-text);
color: var(--color-text) !important;
width: 360px !important;
max-width: 360px !important;
......@@ -1281,11 +1277,6 @@ li.ui-tabs-tab {
border: 1px solid var(--color-dialog-border);
}
/* .ui-tab.ui-state-active a:link, */
/* .ui-tab.ui-state-active i { */
/* color: var(--color-link-hover); */
/* } */
.introjs-button,
.introjs-button:focus,
.ui-button {
......@@ -1300,9 +1291,6 @@ li.ui-tabs-tab {
color: var(--color-button-text);
}
/* .ui-state-active, */
/* .ui-widget-content .ui-state-active, */
/* .ui-widget-header .ui-state-active, */
.introjs-button:active,
a.ui-button:active,
.ui-button:active,
......@@ -1310,6 +1298,14 @@ a.ui-button:active,
background: var(--color-button-bg-active);
}
.introjs-arrow.top {
border-bottom-color: var(--color-text) !important;
}
.introjs-arrow.bottom {
border-top-color: var(--color-text) !important;
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover {
......@@ -1374,3 +1370,34 @@ a:visited.ui-button {
button.ui-state-success {
background: var(--color-ui-success) !important;
}
.newItemsBadge {
flex-basis: content;
flex-grow: 1;
flex-shrink: 1;
font-size: 0.7em;
background: var(--color-ui-success);
color: var(--color-ui-qua);
width: 17px;
max-width: 17px;
min-width: 17px;
height: 17px;
line-height: 17px;
margin: 3px 3px 0 0;
text-align: center;
border-radius: 3px;
}
.hidden {
display: none;
}
.helpIcon {
margin: 0 0 0 0.3em;
cursor: pointer;
color: var(--color-ui-sec);
}
.helpIcon:hover {
color: var(--color-ui-success);
}
......@@ -44,12 +44,6 @@
"code": 59393,
"src": "elusive"
},
{
"uid": "616b755d0f4c7d2dc7a1dcc2e5427039",
"css": "down",
"code": 59397,
"src": "elusive"
},
{
"uid": "dc4a03854ef986d64565143bea4241aa",
"css": "right",
......@@ -62,18 +56,6 @@
"code": 59399,
"src": "fontawesome"
},
{
"uid": "b90d80c250a9bbdd6cd3fe00e6351710",
"css": "checked",
"code": 59400,
"src": "iconic"
},
{
"uid": "4b900d04e8ab8c82f080c1cfbac5772c",
"css": "checkbox",
"code": 59401,
"src": "fontawesome"
},
{
"uid": "f48ae54adfb27d8ada53d0fd9e34ee10",
"css": "trash-empty",
......@@ -128,12 +110,6 @@
"code": 59416,
"src": "entypo"
},
{
"uid": "6083c8aa5e3345476a24a28ac1afaa61",
"css": "cog",
"code": 59417,
"src": "elusive"
},
{
"uid": "c91522256a4c3972e9a2765b995b7252",
"css": "pin",
......@@ -202,9 +178,27 @@
},
{
"uid": "da74e2a8125fdbca337031474a48215a",
"css": "down-circle",
"css": "down",
"code": 59394,
"src": "elusive"
},
{
"uid": "67a9d2e5512b8aa812eff7da6d36bffc",
"css": "checked",
"code": 59407,
"src": "elusive"
},
{
"uid": "56b0141d7bbb0717fc6246ea145bc0bd",
"css": "checkbox",
"code": 59418,
"src": "elusive"
},
{
"uid": "7560ca08e3d83e43c58fcbf8f16d8f03",
"css": "cog",
"code": 59419,
"src": "elusive"
}
]
}
\ No newline at end of file
No preview for this file type
......@@ -8,26 +8,22 @@
<missing-glyph horiz-adv-x="1000" />
<glyph glyph-name="left" unicode="&#xe801;" d="M0 350l148 149 352 351 148-148-351-352 351-352-148-148-352 352z" horiz-adv-x="648" />
<glyph glyph-name="down-circle" unicode="&#xe802;" d="M0 350q0 207 147 354t353 146 354-146 146-354-146-354-354-146-353 146-147 354z m248 55l252-377 252 377-135 0 0 267-234 0 0-267-135 0z" horiz-adv-x="1000" />
<glyph glyph-name="down" unicode="&#xe802;" d="M0 350q0 207 147 354t353 146 354-146 146-354-146-354-354-146-353 146-147 354z m248 55l252-377 252 377-135 0 0 267-234 0 0-267-135 0z" horiz-adv-x="1000" />
<glyph glyph-name="upload" unicode="&#xe803;" d="M0 84v73q0 33 24 56t57 24 56-24 24-56v-73q0-17 12-29t30-13h531q18 0 30 13t12 29v73q0 33 24 56t56 24 57-24 24-56v-73q0-84-59-143t-144-60h-531q-84 0-143 59t-60 144z m155 407q0 33 24 57l247 247q23 23 57 23 33 0 56-23l243-242q23-24 23-57t-23-57q-24-23-57-23t-57 23l-105 105v-344q0-33-24-57t-56-24q-33 0-57 24t-24 57v344l-110-110q-24-23-57-23t-56 23-24 57z" horiz-adv-x="937.5" />
<glyph glyph-name="up" unicode="&#xe804;" d="M366 790l334-334q31-31 31-73t-31-74-74-31-73 31l-83 82 0-377q0-44-31-74t-73-30q-43 0-74 31t-31 73l0 377-82-82q-31-31-74-31t-74 31-31 74 31 73z" horiz-adv-x="731" />
<glyph glyph-name="down" unicode="&#xe805;" d="M0 526l148 148 352-351 352 351 148-148-352-352-148-148-148 148z" horiz-adv-x="1000" />
<glyph glyph-name="right" unicode="&#xe806;" d="M0-2l352 352-352 352 148 148 352-351 148-149-148-148-352-352z" horiz-adv-x="648" />
<glyph glyph-name="rss" unicode="&#xe807;" d="M286 136q0 29-21 50t-51 21-50-21-21-50 21-51 50-21 51 21 21 51z m196-53q-8 130-99 222t-221 98q-8 1-14-5t-5-13v-71q0-7 5-12t12-6q86-6 147-68t67-147q1-7 6-12t12-5h72q7 0 13 6t5 13z m214 0q-3 86-31 166t-78 145-115 114-145 78-166 31q-7 1-13-5-5-5-5-13v-71q0-7 5-12t12-6q114-4 211-62t156-155 62-211q0-8 5-13t13-5h71q7 0 13 6 6 5 5 13z m161 535v-536q0-66-47-113t-114-48h-535q-67 0-114 48t-47 113v536q0 66 47 113t114 48h535q67 0 114-48t47-113z" horiz-adv-x="857.1" />
<glyph glyph-name="checked" unicode="&#xe808;" d="M352-10l-334 333 158 160 176-174 400 401 159-160z" horiz-adv-x="928" />
<glyph glyph-name="checkbox" unicode="&#xe809;" d="M625 707h-464q-37 0-63-26t-27-63v-464q0-37 27-63t63-27h464q37 0 63 27t26 63v464q0 37-26 63t-63 26z m161-89v-464q0-67-47-114t-114-47h-464q-67 0-114 47t-47 114v464q0 66 47 113t114 48h464q66 0 114-48t47-113z" horiz-adv-x="785.7" />
<glyph glyph-name="petrolette" unicode="&#xe80a;" d="M54 850c-18 0-36-10-46-27l0 0c-16-26-7-60 19-75l252-149 0-432c0-30 24-55 55-55 30 0 55 25 55 55l0 463c0 17-8 32-21 42-3 3-5 5-9 7l-276 163c-9 6-19 8-29 8z m892 0c-10 0-20-2-29-8l-276-163c-3-2-6-4-9-7-13-10-20-25-20-42l0-463c0-30 24-55 54-55 31 0 55 25 55 55l0 432 252 149c26 15 35 49 19 75l0 0c-10 17-28 27-46 27z m-446-48c-30 0-55-24-55-55l0-842c0-31 25-55 55-55 30 0 55 24 55 55l0 842c0 31-25 55-55 55z" horiz-adv-x="1000" />
<glyph glyph-name="download" unicode="&#xe80b;" d="M0 84v73q0 33 24 56t57 24 56-24 24-56v-73q0-17 12-29t30-13h531q18 0 30 13t12 29v73q0 33 24 56t56 24 57-24 24-56v-73q0-84-59-143t-144-60h-531q-84 0-144 60t-59 143z m155 359q0 33 24 57 23 23 56 23t57-23l105-106v344q0 33 24 57t56 23 57-23 24-57v-344l110 110q24 24 57 24t56-24q24-23 24-56t-24-57l-247-247q-24-25-57-25-32 0-56 25l-242 242q-24 24-24 57z" horiz-adv-x="937.5" />
<glyph glyph-name="checked" unicode="&#xe80f;" d="M0 350q0 207 147 354t353 146 354-146 146-354-146-354-354-146-353 146-147 354z m182-57l105-105 104-104 103 104 324 324-103 104-324-325-106 106z" horiz-adv-x="1000" />
<glyph glyph-name="trash-empty" unicode="&#xe810;" d="M286 439v-321q0-8-5-13t-13-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q8 0 13-5t5-13z m143 0v-321q0-8-5-13t-13-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q8 0 13-5t5-13z m142 0v-321q0-8-5-13t-12-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q7 0 12-5t5-13z m72-404v529h-500v-529q0-12 4-22t8-15 6-5h464q2 0 6 5t8 15 4 22z m-375 601h250l-27 65q-4 5-9 6h-177q-6-1-10-6z m518-18v-36q0-8-5-13t-13-5h-54v-529q0-46-26-80t-63-34h-464q-37 0-63 33t-27 79v531h-53q-8 0-13 5t-5 13v36q0 8 5 13t13 5h172l39 93q9 21 31 35t44 15h178q23 0 44-15t30-35l39-93h173q8 0 13-5t5-13z" horiz-adv-x="785.7" />
<glyph glyph-name="plus" unicode="&#xe811;" d="M550 400q30 0 30-50t-30-50l-210 0 0-210q0-30-50-30t-50 30l0 210-210 0q-30 0-30 50t30 50l210 0 0 210q0 30 50 30t50-30l0-210 210 0z" horiz-adv-x="580" />
......@@ -46,7 +42,9 @@
<glyph glyph-name="pencil" unicode="&#xe818;" d="M718 680q32-32 47-64t15-48l0-16-252-252-290-288-238-52 50 240 290 288 252 252q54 12 126-60z m-494-640l24 24q-2 44-52 94-22 22-45 35t-35 13l-14 2-22-24-18-80q28-16 46-34 24-24 36-48z" horiz-adv-x="780" />
<glyph glyph-name="cog" unicode="&#xe819;" d="M0 272l0 156 150 16q14 45 38 88l-96 117 109 109 117-95q41 23 88 37l16 150 156 0 16-150q45-14 88-37l117 95 109-109-96-117q24-43 38-88l150-16 0-156-150-16q-14-47-38-88l96-117-109-109-117 96q-43-24-88-38l-16-150-156 0-16 150q-47 14-88 38l-117-96-109 109 96 117q-24 41-38 88z m355 78q0-60 42-102t103-42 103 42 42 102-42 103-103 42-103-42-42-103z" horiz-adv-x="1000" />
<glyph glyph-name="checkbox" unicode="&#xe81a;" d="M0 350q0 207 147 354t353 146 354-146 146-354-146-354-354-146-353 146-147 354z m109 0q0-162 115-276t276-115 276 115 115 276-115 276-276 115-276-115-115-276z m106-51l94 92 93-94 289 291 94-93-291-289-92-94-93 94z" horiz-adv-x="1000" />
<glyph glyph-name="cog" unicode="&#xe81b;" d="M0 350q0 207 147 354t353 146 354-146 146-354-146-354-354-146-353 146-147 354z m195-47l92-10q8-29 22-52l-59-73 68-68 73 59q23-14 52-22l10-92 94 0 10 92q29 8 52 22l73-59 68 68-59 73q14 23 22 52l92 10 0 94-92 10q-8 29-22 52l59 73-68 68-73-59q-23 14-52 22l-10 92-94 0-10-92q-29-8-52-22l-73 59-68-68 59-73q-14-23-22-52l-92-10 0-94z m217 47q0 37 26 63t62 25 63-25 25-63-25-62-63-26-62 26-26 62z" horiz-adv-x="1000" />
<glyph glyph-name="pin" unicode="&#xe820;" d="M0 527l316 323 0-123 301-277 187 46-195-208 391-438-444 392-188-192 30 169-255 316z" horiz-adv-x="1000" />
......
No preview for this file type
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later
PTL.db = {
get: function(url) {
return new Promise((resolve, reject) => {
let dbOpen = indexedDB.open(PTL.DbName, PTL.DbVersion);
dbOpen.onsuccess = event => {
var db = event.target.result;
const txn = db.transaction(PTL.DbStore, 'readonly');
const store = txn.objectStore(PTL.DbStore);
let query = store.get(url);
query.onsuccess = (event) => {
if (!event.target.result) {
console.log('Feed: [%s] not in db (%s)', url, PTL.DbName);
resolve(null);
} else {
// console.table(event.target.result);
resolve(event.target.result);
}
};
<