@actual-app/web 23.12.0 → 24.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/asset-manifest.json +13 -15
- package/build/data/migrations/1632571489012_remove_cache.js +18 -17
- package/build/index.html +1 -1
- package/build/kcab/{kcab.worker.676aa69de34599d64b7b.js → kcab.worker.26846256cb1531298b26.js} +61 -56
- package/build/kcab/kcab.worker.26846256cb1531298b26.js.map +1 -0
- package/build/static/js/231.e37c027b.chunk.js +2 -0
- package/build/static/js/231.e37c027b.chunk.js.map +1 -0
- package/build/static/js/553.e06509f6.chunk.js +2 -0
- package/build/static/js/553.e06509f6.chunk.js.map +1 -0
- package/build/static/js/main.eea3298c.js +201 -0
- package/build/static/js/main.eea3298c.js.map +1 -0
- package/build/static/js/narrow-components.574c7b46.chunk.js +2 -0
- package/build/static/js/narrow-components.574c7b46.chunk.js.map +1 -0
- package/build/static/js/reports.892e778c.chunk.js +2 -0
- package/build/static/js/reports.892e778c.chunk.js.map +1 -0
- package/build/static/js/wide-components.8ded5c13.chunk.js +2 -0
- package/build/static/js/wide-components.8ded5c13.chunk.js.map +1 -0
- package/package.json +1 -2
- package/build/kcab/kcab.worker.676aa69de34599d64b7b.js.map +0 -1
- package/build/static/js/226.8132a539.chunk.js +0 -2
- package/build/static/js/226.8132a539.chunk.js.map +0 -1
- package/build/static/js/231.370f17f8.chunk.js +0 -2
- package/build/static/js/231.370f17f8.chunk.js.map +0 -1
- package/build/static/js/444.301f7ece.chunk.js +0 -15
- package/build/static/js/444.301f7ece.chunk.js.map +0 -1
- package/build/static/js/main.39d3269d.js +0 -188
- package/build/static/js/main.39d3269d.js.map +0 -1
- package/build/static/js/narrow-components.b0c96dd8.chunk.js +0 -2
- package/build/static/js/narrow-components.b0c96dd8.chunk.js.map +0 -1
- package/build/static/js/reports.dec86016.chunk.js +0 -2
- package/build/static/js/reports.dec86016.chunk.js.map +0 -1
- package/build/static/js/wide-components.eb0a5f91.chunk.js +0 -2
- package/build/static/js/wide-components.eb0a5f91.chunk.js.map +0 -1
|
@@ -1,34 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
3
|
"main.css": "/static/css/main.476f35a5.css",
|
|
4
|
-
"main.js": "/static/js/main.
|
|
4
|
+
"main.js": "/static/js/main.eea3298c.js",
|
|
5
5
|
"static/js/473.02c273e8.chunk.js": "/static/js/473.02c273e8.chunk.js",
|
|
6
|
-
"static/js/231.
|
|
7
|
-
"reports.js": "/static/js/reports.
|
|
8
|
-
"narrow-components.js": "/static/js/narrow-components.
|
|
9
|
-
"wide-components.js": "/static/js/wide-components.
|
|
6
|
+
"static/js/231.e37c027b.chunk.js": "/static/js/231.e37c027b.chunk.js",
|
|
7
|
+
"reports.js": "/static/js/reports.892e778c.chunk.js",
|
|
8
|
+
"narrow-components.js": "/static/js/narrow-components.574c7b46.chunk.js",
|
|
9
|
+
"wide-components.js": "/static/js/wide-components.8ded5c13.chunk.js",
|
|
10
10
|
"resize-observer-polyfill.js": "/static/js/resize-observer-polyfill.98a18736.chunk.js",
|
|
11
11
|
"static/js/665.ae7f6f2a.chunk.js": "/static/js/665.ae7f6f2a.chunk.js",
|
|
12
|
-
"static/js/
|
|
13
|
-
"static/js/226.8132a539.chunk.js": "/static/js/226.8132a539.chunk.js",
|
|
12
|
+
"static/js/553.e06509f6.chunk.js": "/static/js/553.e06509f6.chunk.js",
|
|
14
13
|
"static/media/Inter-italic.var.woff2?v=3.19": "/static/media/Inter-italic.var.30807be7abc48ba8c73c.woff2",
|
|
15
14
|
"static/media/Inter-roman.var.woff2?v=3.19": "/static/media/Inter-roman.var.ba4caefcdf5b36b438db.woff2",
|
|
16
15
|
"index.html": "/index.html",
|
|
17
16
|
"static/media/browser-server.js": "/static/media/browser-server.4fea7aa4628e0f1edc35.js",
|
|
18
17
|
"main.476f35a5.css.map": "/static/css/main.476f35a5.css.map",
|
|
19
|
-
"main.
|
|
18
|
+
"main.eea3298c.js.map": "/static/js/main.eea3298c.js.map",
|
|
20
19
|
"473.02c273e8.chunk.js.map": "/static/js/473.02c273e8.chunk.js.map",
|
|
21
|
-
"231.
|
|
22
|
-
"reports.
|
|
23
|
-
"narrow-components.
|
|
24
|
-
"wide-components.
|
|
20
|
+
"231.e37c027b.chunk.js.map": "/static/js/231.e37c027b.chunk.js.map",
|
|
21
|
+
"reports.892e778c.chunk.js.map": "/static/js/reports.892e778c.chunk.js.map",
|
|
22
|
+
"narrow-components.574c7b46.chunk.js.map": "/static/js/narrow-components.574c7b46.chunk.js.map",
|
|
23
|
+
"wide-components.8ded5c13.chunk.js.map": "/static/js/wide-components.8ded5c13.chunk.js.map",
|
|
25
24
|
"resize-observer-polyfill.98a18736.chunk.js.map": "/static/js/resize-observer-polyfill.98a18736.chunk.js.map",
|
|
26
25
|
"665.ae7f6f2a.chunk.js.map": "/static/js/665.ae7f6f2a.chunk.js.map",
|
|
27
|
-
"
|
|
28
|
-
"226.8132a539.chunk.js.map": "/static/js/226.8132a539.chunk.js.map"
|
|
26
|
+
"553.e06509f6.chunk.js.map": "/static/js/553.e06509f6.chunk.js.map"
|
|
29
27
|
},
|
|
30
28
|
"entrypoints": [
|
|
31
29
|
"static/css/main.476f35a5.css",
|
|
32
|
-
"static/js/main.
|
|
30
|
+
"static/js/main.eea3298c.js"
|
|
33
31
|
]
|
|
34
32
|
}
|
|
@@ -31,14 +31,14 @@ CREATE TABLE kvcache_key (id INTEGER PRIMARY KEY, key REAL);
|
|
|
31
31
|
`);
|
|
32
32
|
|
|
33
33
|
// Migrate budget amounts and carryover
|
|
34
|
-
|
|
34
|
+
const budget = db.runQuery(
|
|
35
35
|
`SELECT * FROM spreadsheet_cells WHERE name LIKE 'budget%!budget-%'`,
|
|
36
36
|
[],
|
|
37
37
|
true,
|
|
38
38
|
);
|
|
39
39
|
db.transaction(() => {
|
|
40
40
|
budget.forEach(monthBudget => {
|
|
41
|
-
|
|
41
|
+
const match = monthBudget.name.match(
|
|
42
42
|
/^(budget-report|budget)(\d+)!budget-(.+)$/,
|
|
43
43
|
);
|
|
44
44
|
if (match == null) {
|
|
@@ -46,24 +46,25 @@ CREATE TABLE kvcache_key (id INTEGER PRIMARY KEY, key REAL);
|
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
const type = match[1];
|
|
50
|
+
const month = match[2].slice(0, 4) + '-' + match[2].slice(4);
|
|
51
|
+
const dbmonth = parseInt(match[2]);
|
|
52
|
+
const cat = match[3];
|
|
53
53
|
|
|
54
54
|
let amount = parseInt(getValue(monthBudget));
|
|
55
55
|
if (isNaN(amount)) {
|
|
56
56
|
amount = 0;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
const sheetName = monthBudget.name.split('!')[0];
|
|
60
|
+
const carryover = db.runQuery(
|
|
61
61
|
'SELECT * FROM spreadsheet_cells WHERE name = ?',
|
|
62
62
|
[`${sheetName}!carryover-${cat}`],
|
|
63
63
|
true,
|
|
64
64
|
);
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
const table =
|
|
67
|
+
type === 'budget-report' ? 'reflect_budgets' : 'zero_budgets';
|
|
67
68
|
db.runQuery(
|
|
68
69
|
`INSERT INTO ${table} (id, month, category, amount, carryover) VALUES (?, ?, ?, ?, ?)`,
|
|
69
70
|
[
|
|
@@ -78,16 +79,16 @@ CREATE TABLE kvcache_key (id INTEGER PRIMARY KEY, key REAL);
|
|
|
78
79
|
});
|
|
79
80
|
|
|
80
81
|
// Migrate buffers
|
|
81
|
-
|
|
82
|
+
const buffers = db.runQuery(
|
|
82
83
|
`SELECT * FROM spreadsheet_cells WHERE name LIKE 'budget%!buffered'`,
|
|
83
84
|
[],
|
|
84
85
|
true,
|
|
85
86
|
);
|
|
86
87
|
db.transaction(() => {
|
|
87
88
|
buffers.forEach(buffer => {
|
|
88
|
-
|
|
89
|
+
const match = buffer.name.match(/^budget(\d+)!buffered$/);
|
|
89
90
|
if (match) {
|
|
90
|
-
|
|
91
|
+
const month = match[1].slice(0, 4) + '-' + match[1].slice(4);
|
|
91
92
|
let amount = parseInt(getValue(buffer));
|
|
92
93
|
if (isNaN(amount)) {
|
|
93
94
|
amount = 0;
|
|
@@ -102,15 +103,15 @@ CREATE TABLE kvcache_key (id INTEGER PRIMARY KEY, key REAL);
|
|
|
102
103
|
});
|
|
103
104
|
|
|
104
105
|
// Migrate notes
|
|
105
|
-
|
|
106
|
+
const notes = db.runQuery(
|
|
106
107
|
`SELECT * FROM spreadsheet_cells WHERE name LIKE 'notes!%'`,
|
|
107
108
|
[],
|
|
108
109
|
true,
|
|
109
110
|
);
|
|
110
111
|
|
|
111
|
-
|
|
112
|
+
const parseNote = str => {
|
|
112
113
|
try {
|
|
113
|
-
|
|
114
|
+
const value = JSON.parse(str);
|
|
114
115
|
return value && value !== '' ? value : null;
|
|
115
116
|
} catch (e) {
|
|
116
117
|
return null;
|
|
@@ -119,9 +120,9 @@ CREATE TABLE kvcache_key (id INTEGER PRIMARY KEY, key REAL);
|
|
|
119
120
|
|
|
120
121
|
db.transaction(() => {
|
|
121
122
|
notes.forEach(note => {
|
|
122
|
-
|
|
123
|
+
const parsed = parseNote(getValue(note));
|
|
123
124
|
if (parsed) {
|
|
124
|
-
|
|
125
|
+
const [, id] = note.name.split('!');
|
|
125
126
|
db.runQuery(`INSERT INTO notes (id, note) VALUES (?, ?)`, [id, parsed]);
|
|
126
127
|
}
|
|
127
128
|
});
|
package/build/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/><title>Actual</title><link rel="canonical" href="/"/><link rel="shortcut icon" href="/favicon.ico"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/><link rel="manifest" href="/site.webmanifest"/><meta name="msapplication-TileColor" content="#da532c"/><meta name="theme-color" content="#ffffff"/><style>body,html{margin:0;padding:0;font-size:13px}body,button,html,input{font-family:'Inter var',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Fira Sans','Droid Sans','Helvetica Neue',Helvetica,Arial,sans-serif}a{color:inherit;text-decoration-skip:ink}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:focus{outline-color:#2b8fed}input,textarea{font-size:1em;font-family:'Inter var',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Fira Sans','Droid Sans','Helvetica Neue',Helvetica,Arial,sans-serif}#root,body,html{height:100%}body{overflow:hidden}.view{align-items:stretch;border-width:0;border-style:solid;box-sizing:border-box;display:flex;flex-direction:column;margin:0;padding:0;position:relative;min-height:0;min-width:0}.js-focus-visible :focus:not(.focus-visible){outline:0}</style><script defer="defer" src="/static/js/main.
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/><title>Actual</title><link rel="canonical" href="/"/><link rel="shortcut icon" href="/favicon.ico"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/><link rel="manifest" href="/site.webmanifest"/><meta name="msapplication-TileColor" content="#da532c"/><meta name="theme-color" content="#ffffff"/><style>body,html{margin:0;padding:0;font-size:13px}body,button,html,input{font-family:'Inter var',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Fira Sans','Droid Sans','Helvetica Neue',Helvetica,Arial,sans-serif}a{color:inherit;text-decoration-skip:ink}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:focus{outline-color:#2b8fed}input,textarea{font-size:1em;font-family:'Inter var',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Fira Sans','Droid Sans','Helvetica Neue',Helvetica,Arial,sans-serif}#root,body,html{height:100%}body{overflow:hidden}.view{align-items:stretch;border-width:0;border-style:solid;box-sizing:border-box;display:flex;flex-direction:column;margin:0;padding:0;position:relative;min-height:0;min-width:0}.js-focus-visible :focus:not(.focus-visible){outline:0}</style><script defer="defer" src="/static/js/main.eea3298c.js"></script><link href="/static/css/main.476f35a5.css" rel="stylesheet"></head><body><div id="root"></div></body></html>
|