2025-07-06 GnuCash IRC logs
01:20:46 *** fell has quit IRC
01:22:05 *** fell has joined #gnucash
01:22:05 *** ChanServ sets mode: +o fell
01:38:14 *** chris has joined #gnucash
01:38:14 *** ChanServ sets mode: +v chris
01:38:14 *** gncbot sets mode: +o chris
01:40:07 <chris> jralls: my strategy for adding chartjs>2 is:
01:40:10 <chris> 1. rename chartjs to chartjs-2 because it's effectively frozen.
01:40:19 <chris> 2. rename html-chart.scm to html-chart-legacy.scm and create html-chart.scm which is a thin shim to it
01:40:22 <chris> 3. add chartjs-4 named "chartjs" because it'll be hopefully evergreen with modern browsers
01:40:25 <chris> 4. upgrade html-chart.scm to selectively pick chartjs-2 or chartjs depending on webkit version, or GNC_MODERN_JAVASCRIPT=[0|1] override
02:08:13 *** chris has quit IRC
03:27:14 *** chris has joined #gnucash
03:27:14 *** ChanServ sets mode: +v chris
03:27:14 *** gncbot sets mode: +o chris
04:10:13 *** chris has quit IRC
05:06:02 *** chris has joined #gnucash
05:06:02 *** ChanServ sets mode: +v chris
05:06:02 *** gncbot sets mode: +o chris
05:38:01 *** chris has quit IRC
06:30:11 *** chris has joined #gnucash
06:30:11 *** ChanServ sets mode: +v chris
06:30:11 *** gncbot sets mode: +o chris
06:56:58 <chris> jralls: any comment on naming things? borrowed will have chartjs (updatable) and chartjs-2 (frozen)
07:51:49 <chris> alternatively: chartjs-legacy vs chartjs
08:24:11 *** chris has quit IRC
09:09:22 *** chris has joined #gnucash
09:09:22 *** ChanServ sets mode: +v chris
09:09:22 *** gncbot sets mode: +o chris
09:32:12 *** warlord has joined #gnucash
09:32:12 *** gncbot sets mode: +o warlord
09:55:53 *** moka has joined #gnucash
10:18:19 *** ChanServ sets mode: +v moka
11:11:20 *** hamaryns has joined #gnucash
11:11:20 *** ChanServ sets mode: +v hamaryns
11:53:27 *** hamaryns has quit IRC
12:11:20 *** chris has quit IRC
12:42:01 *** moka has quit IRC
13:43:21 <jralls> @tell chris I think chartjs-2 and chartjs-3.
13:43:21 <gncbot> jralls: The operation succeeded.
16:05:26 *** hamaryns has joined #gnucash
16:05:26 *** ChanServ sets mode: +v hamaryns
16:14:25 *** hamaryns has quit IRC
17:33:36 *** chris has joined #gnucash
17:33:37 *** ChanServ sets mode: +v chris
17:33:37 *** gncbot sets mode: +o chris
17:35:15 <chris> .
17:35:15 <gncbot> chris: Sent 3 hours and 51 minutes ago: <jralls> I think chartjs-2 and chartjs-3.
17:35:28 <chris> jralls: ok it willbe chartjs-2 and chartjs-4 then
17:37:14 *** moka has joined #gnucash
18:12:30 <chris> jralls: and I guess create html-wrapper-chartjs-2 and html-wrapper-chartjs-4
18:18:08 *** moka has quit IRC
18:39:03 <jralls> chris, on the latter why? I'd think you'd just want some "have-chartjs-feature-x" conditionals in gnucash/report/html-chart.scm to set off the bits that need newer chartjs features.
18:42:03 <chris> jralls: yeah was thinking -- either duplicate html-chart.scm into 2 wrappers, or augment html-chart.scm to selectively choose chartjs-2 or chartjs-4
18:42:41 <chris> I felt the latter would lead to many conditionals within the wrapper
18:43:06 <chris> options object and the js would both need to change
18:44:06 <chris> see #1530 "Update to the chartjs4 api"
18:44:25 <chris> https://github.com/Gnucash/gnucash/pull/1530/commits/266e8b87622f790a9dca2319ca19c38b35162391
18:54:58 <chris> so, wdyt... 2 parallel shims or 1 polyglot? I feel the former is simpler, and the chartjs-4 shim can be developed independently, backported where possible to chartjs-2 shim
19:46:43 <jralls> I guess it's going to require separate shims because this is really a build-time change: Cmake is going to have to pick which shim to install. It looks like you'll need two sets of abstractions, one for html generation (html-chart.scm) and another for the options args (e.g. (options scales xAxes (0) type) vs. (options scales x type)).
19:47:00 <jralls> GTG, time for me to make dinner.
19:49:36 *** chris has quit IRC
19:50:38 *** chris has joined #gnucash
19:50:38 *** ChanServ sets mode: +v chris
19:50:38 *** gncbot sets mode: +o chris
19:52:11 <chris> jralls: I'd made a build which IMHO would be nice: both chartjs2 and chartjs4 are installed, and both html-chartjs-2 and html-chartjs-4 exist. the decision is by default dependent on whether WEBKIT1 is set, or can be overidden by env GNC_MODERN_JS=1
19:52:49 <chris> I think this would be the most flexible method, and will also ease testing of future changes when developing further
19:54:22 <chris> see https://github.com/Gnucash/gnucash/compare/stable...christopherlam:upgrade-chartjs-4?expand=1
19:54:46 <chris> https://github.com/Gnucash/gnucash/commit/339650075e4ece69141a183e813d9e9b712d6305
19:57:15 <chris> oops https://github.com/christopherlam/gnucash/commits/upgrade-chartjs-4
20:39:38 *** chris has quit IRC
22:24:44 *** Robert847 has joined #gnucash
22:24:45 *** ChanServ sets mode: +v Robert847
22:26:20 *** Robert847 has left #gnucash
23:10:00 *** jonakeys has quit IRC
23:10:08 *** jonakeys has joined #gnucash