Kalk issueshttps://invent.kde.org/utilities/kalk/-/issues2020-08-02T10:03:55Zhttps://invent.kde.org/utilities/kalk/-/issues/3Please use my fork2020-08-02T10:03:55Zamrith mmhPlease use my forkHi,
Please go through my fork of Kalk. There is more commits already.
https://invent.kde.org/amrith/kalkHi,
Please go through my fork of Kalk. There is more commits already.
https://invent.kde.org/amrith/kalkhttps://invent.kde.org/utilities/kalk/-/issues/31UX/UI - Don't show the advanced drawer on startup2023-01-16T15:07:45ZJustin ZobelUX/UI - Don't show the advanced drawer on startupI assume this is to show the user that advanced features are hiding in the side drawer. However, I think this could be hidden already and users would still be able to find it.I assume this is to show the user that advanced features are hiding in the side drawer. However, I think this could be hidden already and users would still be able to find it.https://invent.kde.org/utilities/kalk/-/issues/30Use bugzilla2022-11-13T17:17:46ZNate GrahamUse bugzillaThis is generally required for KDE apps, and we are now getting Kalk bugs on bugzilla filed to the generic "kde" product, because people can't find the Kalk prodict--because it doesn't exist. See https://bugs.kde.org/show_bug.cgi?id=4602...This is generally required for KDE apps, and we are now getting Kalk bugs on bugzilla filed to the generic "kde" product, because people can't find the Kalk prodict--because it doesn't exist. See https://bugs.kde.org/show_bug.cgi?id=460232.
I'd like to create a bugzilla product for Kalk to resolve this situation. Who can I make the assignee? Is there a mailing list, or should I use a person?https://invent.kde.org/utilities/kalk/-/issues/29Typo in "Convertor"2022-08-19T19:09:18ZstardustspiritTypo in "Convertor"It's spelled "convert**e**r"
![image](/uploads/dfbaa0801eade1700c311534cb4b8b48/image.png)It's spelled "convert**e**r"
![image](/uploads/dfbaa0801eade1700c311534cb4b8b48/image.png)https://invent.kde.org/utilities/kalk/-/issues/28Cannot input decimal numbers with locales using comma separator2022-06-01T17:43:25ZMattia OrlandiCannot input decimal numbers with locales using comma separatorBug description
---------------
I'm using the Italian locale, which uses comma as decimal separator, and I cannot input decimal numbers: if I press the comma key nothing is displayed, while if I press the dot key the app displays "nan".
...Bug description
---------------
I'm using the Italian locale, which uses comma as decimal separator, and I cannot input decimal numbers: if I press the comma key nothing is displayed, while if I press the dot key the app displays "nan".
![Screenshot_20220601_183926](/uploads/d1dc8ef52a5e3d6ac9eb09ac07162e9f/Screenshot_20220601_183926.png)
System description
------------------
- App version: kalk 22.04 (from AUR - git version)
- OS: EndeavourOS
- Kernel: 5.18.1-zen1-1-zenhttps://invent.kde.org/utilities/kalk/-/issues/27Fails to build (git master)2022-05-23T03:15:44ZJustin ZobelFails to build (git master)```
# kdesrc-build running: 'gmake' '-j' '4'
# from directory: /home/justin/kde/build/kalk
[ 2%] Generating mo...
[ 2%] Generating ts...
[ 4%] Automatic MOC for target knumber
[ 4%] Built target knumber_autogen
[ 4%] Built target ts...```
# kdesrc-build running: 'gmake' '-j' '4'
# from directory: /home/justin/kde/build/kalk
[ 2%] Generating mo...
[ 2%] Generating ts...
[ 4%] Automatic MOC for target knumber
[ 4%] Built target knumber_autogen
[ 4%] Built target tsfiles-d1bd10d0120cc052a04f281b96c423ce
Consolidate compiler generated dependencies of target knumber
[ 4%] Built target pofiles-d1bd10d0120cc052a04f281b96c423ce
[ 5%] Building CXX object knumber/CMakeFiles/knumber.dir/knumber.cpp.o
/home/justin/kde/src/kalk/knumber/knumber.cpp:374:1: error: no declaration matches ‘KNumber::KNumber(long double)’
374 | KNumber::KNumber(long double value) : value_(new detail::knumber_float(value)) {
| ^~~~~~~
In file included from /home/justin/kde/src/kalk/knumber/knumber.cpp:19:
/home/justin/kde/src/kalk/knumber/knumber.h:77:9: note: candidates are: ‘KNumber::KNumber(const KNumber&)’
77 | KNumber(const KNumber &other);
| ^~~~~~~
/home/justin/kde/src/kalk/knumber/knumber.h:75:18: note: ‘KNumber::KNumber(double)’
75 | explicit KNumber(double value);
| ^~~~~~~
/home/justin/kde/src/kalk/knumber/knumber.cpp:367:1: note: ‘KNumber::KNumber(quint64, quint64)’
367 | KNumber::KNumber(quint64 num, quint64 den) : value_(new detail::knumber_fraction(num, den)) {
| ^~~~~~~
/home/justin/kde/src/kalk/knumber/knumber.cpp:361:1: note: ‘KNumber::KNumber(qint64, quint64)’
361 | KNumber::KNumber(qint64 num, quint64 den) : value_(new detail::knumber_fraction(num, den)) {
| ^~~~~~~
/home/justin/kde/src/kalk/knumber/knumber.cpp:355:1: note: ‘KNumber::KNumber(quint64)’
355 | KNumber::KNumber(quint64 value) : value_(new detail::knumber_integer(value)) {
| ^~~~~~~
/home/justin/kde/src/kalk/knumber/knumber.cpp:349:1: note: ‘KNumber::KNumber(quint32)’
349 | KNumber::KNumber(quint32 value) : value_(new detail::knumber_integer(value)) {
| ^~~~~~~
/home/justin/kde/src/kalk/knumber/knumber.cpp:343:1: note: ‘KNumber::KNumber(qint64)’
343 | KNumber::KNumber(qint64 value) : value_(new detail::knumber_integer(value)) {
| ^~~~~~~
/home/justin/kde/src/kalk/knumber/knumber.cpp:337:1: note: ‘KNumber::KNumber(qint32)’
337 | KNumber::KNumber(qint32 value) : value_(new detail::knumber_integer(value)) {
| ^~~~~~~
/home/justin/kde/src/kalk/knumber/knumber.cpp:282:1: note: ‘KNumber::KNumber(const QString&)’
282 | KNumber::KNumber(const QString &s) : value_(nullptr) {
| ^~~~~~~
/home/justin/kde/src/kalk/knumber/knumber.cpp:270:1: note: ‘KNumber::KNumber()’
270 | KNumber::KNumber() : value_(new detail::knumber_integer(0)) {
| ^~~~~~~
/home/justin/kde/src/kalk/knumber/knumber.h:29:7: note: ‘class KNumber’ defined here
29 | class KNumber {
| ^~~~~~~
gmake[2]: *** [knumber/CMakeFiles/knumber.dir/build.make:90: knumber/CMakeFiles/knumber.dir/knumber.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:433: knumber/CMakeFiles/knumber.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
```https://invent.kde.org/utilities/kalk/-/issues/26NaN when using comma as decimal numbers separator2022-04-25T12:35:22ZMattia OrlandiNaN when using comma as decimal numbers separatorBug description
---------------
I'm using the Italian locale, which uses the comma as decimal number separator instead of the dot. Kalk handles the comma correctly as output (e.g. if I type "2/5" it outputs "0,4", with the comma), but no...Bug description
---------------
I'm using the Italian locale, which uses the comma as decimal number separator instead of the dot. Kalk handles the comma correctly as output (e.g. if I type "2/5" it outputs "0,4", with the comma), but not as input (e.g. if I type "0,4 * 3" it outputs "nan"). If I explicitly type the dot separator it works correctly, but it's uncomfortable when chaining operations (e.g. typing in "2/5", pressing enter, then multiplying by 4).
I'm not sure if I have to post this issue here, but I've checked bugs.kde.org and I haven't found a section for Kalk, only for the old KCalc.
This works:
![Screenshot_20220424_141316](/uploads/24e1cfd5a29d5b22aedf2cb007d6c3d2/Screenshot_20220424_141316.png)
This outputs nan:
![Screenshot_20220424_141409](/uploads/9159ec0d256c0b075135bafec305eb07/Screenshot_20220424_141409.png)
System information
------------------
- App version: 22.02 (from AUR)
- OS: EndeavourOS
- Kernel: 5.17.4-zen1-1-zenhttps://invent.kde.org/utilities/kalk/-/issues/25German test failing on 22.042022-04-25T12:36:54ZDang HuynhGerman test failing on 22.04This is on Arch Linux ARM, all the other tests passed, except for the german test.
```
Test project /build/kalk/src/build
Start 1: knumbertest
1/3 Test #1: knumbertest ...................... Passed 0.03 sec
Start 2: inputma...This is on Arch Linux ARM, all the other tests passed, except for the german test.
```
Test project /build/kalk/src/build
Start 1: knumbertest
1/3 Test #1: knumbertest ...................... Passed 0.03 sec
Start 2: inputmanagertest
2/3 Test #2: inputmanagertest ................. Passed 0.07 sec
Start 3: inputmanagertest_de
3/3 Test #3: inputmanagertest_de ..............***Failed 0.03 sec
********* Start testing of InputManagerTest *********
Config: Using QtTest library 5.15.3, Qt 5.15.3 (arm64-little_endian-lp64 shared (dynamic) release build; by GCC 11.2.0), archarm unknown
PASS : InputManagerTest::initTestCase()
1.4: syntax error, unexpected end of file
QDEBUG : InputManagerTest::testAddition() save "/build/.config/kalk/history.json"
1.9: syntax error, unexpected end of file
PASS : InputManagerTest::testAddition()
**QDEBUG : InputManagerTest::testMultiplication() save "/build/.config/kalk/history.json"
**PASS : InputManagerTest::testMultiplication()
1.29: syntax error, unexpected end of file
QDEBUG : InputManagerTest::testDivision() save "/build/.config/kalk/history.json"
**PASS : InputManagerTest::testDivision()
1.47: syntax error, unexpected end of file
QDEBUG : InputManagerTest::testNonIntegerDivision() save "/build/.config/kalk/history.json"
**FAIL! : InputManagerTest::testNonIntegerDivision() Compared values are not the same
Actual (InputManager::inst()->result()): "nan"
Expected (QStringLiteral("70")) : "70"
Loc: [/build/kalk/src/kalk-22.04/autotests/inputmanagertest.cpp(87)]
PASS : InputManagerTest::cleanupTestCase()
Totals: 5 passed, 1 failed, 0 skipped, 0 blacklisted, 7ms
********* Finished testing of InputManagerTest *********
67% tests passed, 1 tests failed out of 3
Total Test time (real) = 0.13 sec
The following tests FAILED:
3 - inputmanagertest_de (Failed)
Errors while running CTest
```https://invent.kde.org/utilities/kalk/-/issues/24Random crashes from calculations2022-11-13T01:26:23ZDevin LinRandom crashes from calculationsThe application crashes seemingly randomly when doing calculations:
```
Thread 1 "kalk" received signal SIGABRT, Aborted.
0x00007ffff5a2334c in __pthread_kill_implementation () from /usr/lib/libc.so.6
(gdb) backtrace
#0 0x00007ffff5a23...The application crashes seemingly randomly when doing calculations:
```
Thread 1 "kalk" received signal SIGABRT, Aborted.
0x00007ffff5a2334c in __pthread_kill_implementation () from /usr/lib/libc.so.6
(gdb) backtrace
#0 0x00007ffff5a2334c in __pthread_kill_implementation ()
from /usr/lib/libc.so.6
#1 0x00007ffff59d64b8 in raise () from /usr/lib/libc.so.6
#2 0x00007ffff59c0534 in abort () from /usr/lib/libc.so.6
#3 0x00007ffff5a17397 in __libc_message () from /usr/lib/libc.so.6
#4 0x00007ffff5a2d33c in malloc_printerr () from /usr/lib/libc.so.6
#5 0x00007ffff5a2f420 in _int_free () from /usr/lib/libc.so.6
#6 0x00007ffff5a31be3 in free () from /usr/lib/libc.so.6
#7 0x000055555556cf41 in __gnu_cxx::new_allocator<int>::deallocate (
this=0x5555555d7c78 <InputManager::inst()::singleton+24>,
__p=0x555556104a40, __t=16)
at /usr/include/c++/11.2.0/ext/new_allocator.h:145
#8 0x000055555556cf00 in std::allocator_traits<std::allocator<int> >::deallocate (__a=..., __p=0x555556104a40, __n=16)
at /usr/include/c++/11.2.0/bits/alloc_traits.h:492
#9 0x000055555556cea0 in std::_Vector_base<int, std::allocator<int> >::_M_deallocate (this=0x5555555d7c78 <InputManager::inst()::singleton+24>,
__p=0x555556104a40, __n=16)
at /usr/include/c++/11.2.0/bits/stl_vector.h:354
#10 0x000055555556fc3e in std::vector<int, std::allocator<int> >::_M_realloc_insert<int> (this=0x5555555d7c78 <InputManager::inst()::singleton+24>,
__position=80) at /usr/include/c++/11.2.0/bits/vector.tcc:500
--Type <RET> for more, q to quit, c to continue without paging--
nt> (this=0x5555555d7c78 <InputManager::inst()::singleton+24>) at /usr/include/c++/11.2.0/bits/vector.tcc:121
#12 0x000055555556f364 in std::vector<int, std::allocator<int> >::push_back (this=0x5555555d7c78 <InputManager::inst()::singleton+24>, __x=@0x7fffffff4760: 1)
at /usr/include/c++/11.2.0/bits/stl_vector.h:1204
#13 0x000055555556e120 in InputManager::append (this=0x5555555d7c60 <InputManager::inst()::singleton>, subexpression=...) at /home/devin/Flow/kde/kalk/src/inputmanager.cpp:70
#14 0x000055555556bc71 in InputManager::qt_static_metacall (_o=0x5555555d7c60 <InputManager::inst()::singleton>, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7fffffff49b0)
at /home/devin/Flow/kde/kalk/build/src/kalklib_autogen/EWIEGA46WW/moc_inputmanager.cpp:129
#15 0x000055555556c0ad in InputManager::qt_metacall (this=0x5555555d7c60 <InputManager::inst()::singleton>, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7fffffff49b0)
at /home/devin/Flow/kde/kalk/build/src/kalklib_autogen/EWIEGA46WW/moc_inputmanager.cpp:224
#16 0x00007ffff692d396 in ?? () from /usr/lib/libQt5Qml.so.5
#17 0x00007ffff683023d in ?? () from /usr/lib/libQt5Qml.so.5
#18 0x00007ffff6831182 in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () from /usr/lib/libQt5Qml.so.5
#19 0x00007ffff685009e in QV4::Runtime::CallPropertyLookup::call(QV4::ExecutionEngine*, QV4::Value const&, unsigned int, QV4::Value*, int) () from /usr/lib/libQt5Qml.so.5
#20 0x00007fffac5139ae in ?? ()
#21 0x0000000000000000 in ?? ()
```https://invent.kde.org/utilities/kalk/-/issues/23Appstream missing Data2021-05-04T05:11:32ZJustin ZobelAppstream missing Data`AppData problem: tag-missing : <metadata_license> is not present`
I get this error when trying to create a flatpak for testing.`AppData problem: tag-missing : <metadata_license> is not present`
I get this error when trying to create a flatpak for testing.https://invent.kde.org/utilities/kalk/-/issues/22Clicking on history page entry is broken2021-03-17T07:43:20ZDevin LinClicking on history page entry is brokenClicking on the history page entry seems to add an empty calculator page to the page stack.Clicking on the history page entry seems to add an empty calculator page to the page stack.https://invent.kde.org/utilities/kalk/-/issues/21Kalk buttons extremely tiny in landscape orientation2023-09-18T04:47:06ZBrian AbertsKalk buttons extremely tiny in landscape orientationIn landscape orientation the buttons get extremely tiny and are just not usable.In landscape orientation the buttons get extremely tiny and are just not usable.https://invent.kde.org/utilities/kalk/-/issues/20NumberPad alignment in Units converter2021-02-28T17:59:07ZGhost UserNumberPad alignment in Units converterThe NumberPad alignment in Units Converter seems off. Any idea? @devinlin ![Kalk_Screenshot_20210228_215404](/uploads/484f25507c8aff7842fde8a4121f9fb8/Kalk_Screenshot_20210228_215404.png)The NumberPad alignment in Units Converter seems off. Any idea? @devinlin ![Kalk_Screenshot_20210228_215404](/uploads/484f25507c8aff7842fde8a4121f9fb8/Kalk_Screenshot_20210228_215404.png)https://invent.kde.org/utilities/kalk/-/issues/18Add swap button to unit converter2021-03-02T19:10:14ZDevin LinAdd swap button to unit converterThis allows you to easily swap your units without having to scroll and scroll and scroll...This allows you to easily swap your units without having to scroll and scroll and scroll...https://invent.kde.org/utilities/kalk/-/issues/17Bison 3.6.4 requirement causing packaging difficulty in KDE Neon2021-01-14T17:02:46ZAshley StoneBison 3.6.4 requirement causing packaging difficulty in KDE NeonAt the moment in KDE Neon (currently based on Ubuntu 20.04) the only currently available version of Bison is 3.5.1 which is causing some difficulty with building Kalk. This has been [preventing us from producing new working Kalk packages...At the moment in KDE Neon (currently based on Ubuntu 20.04) the only currently available version of Bison is 3.5.1 which is causing some difficulty with building Kalk. This has been [preventing us from producing new working Kalk packages](https://build.neon.kde.org/view/3%20unstable%20%E2%98%A3%20git%20master/job/focal_unstable_mobile_kalk/) for the Neon variant of plasma-mobile images.
The build system gracefully rejects our version of Bison, as it should:
```
src/mathengine/parser.yy:24.10-16: error: require bison 3.6.4, but have 3.5.1
24 | %require "3.6.4"
| ^~~~~~~
make[3]: *** [src/CMakeFiles/kalk.dir/build.make:65: src/parser.cc] Error 63
```
I have attempted very simple edits in order to get the build to try to build with older versions, but as I expected this did not go down too well.
```
/usr/share/bison/skeletons/bison.m4:1033: error: invalid error_verbose value:
/usr/share/bison/skeletons/bison.m4:1033: the top level
src/mathengine/parser.yy:45.1-28: error: invalid value for %define variable 'parse.error': 'detailed'
45 | %define parse.error detailed
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mathengine/parser.yy:45.1-28: accepted value: 'simple'
src/mathengine/parser.yy:45.1-28: accepted value: 'verbose'
```
This lead me to attempting to try to backport newer releases of Bison packages, but I have quickly learned that this became a rabbit hole, discovering I needed to backport other parts of the build chain to support building a newer release of Bison (m4, autoconf and these of course required other newer dependencies etc) which becomes quite a significant undertaking.
The next Ubuntu LTS release is likely going to be in April 2022 and I would expect that Neon is likely to be rebased on that shortly after which would resolve this current issue entirely, but this is probably too long of a wait.
I am not really sure how to move forward from this point, so felt it best to raise this to discuss and find a solution.https://invent.kde.org/utilities/kalk/-/issues/16Move calculation input Pad logic to c++2021-01-05T09:27:29ZGhost UserMove calculation input Pad logic to c++With more feature added, we've relied on js too much. Some workaround is a bit hacky. Add a new class called "ExpressionManager" that accepts keyboard/inputPad input, display the result. Integrating with math engine and history manager.With more feature added, we've relied on js too much. Some workaround is a bit hacky. Add a new class called "ExpressionManager" that accepts keyboard/inputPad input, display the result. Integrating with math engine and history manager.https://invent.kde.org/utilities/kalk/-/issues/12Add inverse hyperbolic functions2023-11-19T05:53:51ZGhost UserAdd inverse hyperbolic functionsatan, acos, asin and possibly x^-1, we can use functions in <cmath>.
A toggle button maybe needed in functionpad for those additional functions.atan, acos, asin and possibly x^-1, we can use functions in <cmath>.
A toggle button maybe needed in functionpad for those additional functions.https://invent.kde.org/utilities/kalk/-/issues/11Having terms next to each other adds them, doesn't multiply them2020-12-07T05:54:36ZDevin LinHaving terms next to each other adds them, doesn't multiply them![image](/uploads/cad5b98175da2dd0d7b59cb6bde74e10/image.png)![image](/uploads/cad5b98175da2dd0d7b59cb6bde74e10/image.png)https://invent.kde.org/utilities/kalk/-/issues/10Add ln2020-11-24T12:15:32ZDevin LinAdd lnI see `e` has been added, but no ln button is there.I see `e` has been added, but no ln button is there.https://invent.kde.org/utilities/kalk/-/issues/9Add ability to switch between radians and degrees2023-12-04T18:33:42ZDevin LinAdd ability to switch between radians and degreesUseful for doing trigonometryUseful for doing trigonometry