Git Product home page Git Product logo

kemai's People

Contributors

alexandreptj avatar buoncri avatar comradekingu avatar dkstiler avatar g3z avatar kevinpapst avatar martonmiklos avatar maxguru avatar milotype avatar muxelplexer avatar oersen avatar office256 avatar poelzi avatar robrobm avatar sdreilinger avatar virtulis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

kemai's Issues

Cumulative time column

Small feature request to cover a standard use case currently.

The use case:

  1. Export all times this week as CSV
  2. Open in Excel
  3. Divide all durations by 3600
  4. Sum them

This is for time management. Anyone who has X hours per week, or fortnight or month to deliver to track cumulative progress, not least on the last day of the period.

The problem of course is that work periods and commitment vary a lot.

A simple suggestion would be to make three new columns available:

  1. Cumulative duration this week
  2. Cumulative duration this fortnight (2 weeks)
  3. Cumulative duration this month

Of course specific people might want more granularity by project, activity or tag. I can't think of an easy way to accommodate that off hand and hope it's not an argument against at least a few nice cumulative duration

There are more complicated ways I can imagine handling it of course but would not want to see this simple idea bogged down by complexity that could come later. One idea would of course be to have a custom cumulative column that can be created which includes a time bracket, project, activity and tag filter. User defined columns to add. Just a thought but as I said, would rather see a broad sweeping sum than none to see an end to the regular exports and spreadsheet sums I'm doing ;-)

Dual Monitor failure

The Version 0.7.1 did not work here with two monitors.
I can move the main window to both screens, that works. But the pull-down boxes opens every time on the wrong monitor. I did not find a solution. Have to go back to 0.6 Version, this version works without issue.

Any hints?

[Improvement] Support for multiple remote kimai endpoints as "profiles"

As a freelancer, i have several customers with their own kimai installations. I want to be able to save the connection details as "profiles" for each of these servers so i can quickly start a new work session without having to enter the credentials every time.

I have started this in a fork and come quite far. I have created this issue in order to have some tracking when the pull request is submitted. If this is the wrong workflow, please correct me.

My approach to this is by using SQLite as storage engine not only because of its good support on all platforms but also for a good abstraction layer regarding data exchange between the current application state and disk storage.
Side note; This also enables for future improvements by having a SQL based storage engine for profiles in a centralized SQL compatible storage engine, for example in enterprise conditions with managed user catalogues. This is however out of the scope of this project.

The user interface will consist of an extra view for adding and editing connections as well as a dropdown in the main tracker window for quick selection of the profile to be used. Upon changing profile, the customer, tasks and activity dropdowns are populated with data from the selected backend endpoint.

I have come very far with this PR and are now merging the current release 0.6 with fork.

Is it still possible to build kemai with qt5? removeIf() appears to be qt6-only

greetings @AlexandrePTJ & Co:

Building release 0.7.1 on an up-to-date gentoo linux machine fails with:

[ 89%] Building CXX object src/app/CMakeFiles/Kemai.dir/settingsdialog.cpp.o /usr/local/src/kemai-github-alexandre/src/app/settingsdialog.cpp: In member function ‘void kemai::app::SettingsDialog::onProfileDelButtonClicked()’: /usr/local/src/kemai-github-alexandre/src/app/settingsdialog.cpp:219:29: error: ‘class QList<kemai::core::Settings::Profile>’ has no member named ‘removeIf’; did you mean ‘removeAt’? 219 | m_settings.profiles.removeIf([profileId = item->data(Qt::UserRole).toUuid()](const Settings::Profile& profile) { return profile.id == profileId; }); | ^~~~~~~~ | removeAt gmake[2]: *** [src/app/CMakeFiles/Kemai.dir/build.make:259: src/app/CMakeFiles/Kemai.dir/settingsdialog.cpp.o] Error 1 gmake[1]: *** [CMakeFiles/Makefile2:232: src/app/CMakeFiles/Kemai.dir/all] Error 2 gmake: *** [Makefile:156: all] Error 2

I can see that kemai checks for qt6, and falls back to qt5 if qt6 is not found, but removeIf() is listed as a function that is newly introduced in qt6.1.

Does settingsdialog.cpp need an alternative to line 219 if the user has qt5?
m_settings.profiles.removeIf([profileId = item->data(Qt::UserRole).toUuid()](const Settings::Profile& profile) { return profile.id == profileId; });

I hope you will continue supporting qt5 for a while longer!
Thanks very much
--sean

Time not listet # Method not allowed

Hello Alexandre,
I'm trying to run the desktop client.
The access is successfull, but the counter is not working. I checked the log file and it seems, there is something wrong .. the cut of log below.

{"code":405,"message":"Method Not Allowed"}
[2022-09-10 10:38:35.957] [kemai] [debug] ===> [PATCH] http://fqdn/api/timesheets/0/stop
[2022-09-10 10:38:36.010] [kemai] [error] Client error: Error on request [timesheets]: Error transferring https://fqdn/api/timesheets/0/stop - server replied: Method Not Allowed
{"code":405,"message":"Method Not Allowed"}
[2022-09-10 10:38:40.919] [kemai] [debug] ===> [PATCH] http://fqdn/api/timesheets/0/stop
[2022-09-10 10:38:40.975] [kemai] [error] Client error: Error on request [timesheets]: Error transferring https://fqdn/api/timesheets/0/stop - server replied: Method Not Allowed

grafik

I'm not sure about one thing. Is the plugin "Task planning" mandatory for the desktop client. If yes, then I have to test ist with the plugin, if not .. what can be the cause.

How to setup?

Hi,

I try to config that App under Mac OS, but without a result yet.
Especially it would a Token and I have no Idea, where I got this.

As Host I fill in my URL to Kimai.
Sample: https://b*******l.de/timetrack/
Username: My Loginname
Token: ???

So I'm new on Kimai and I'm a bit confused... Where I get the correct details?
Kimai is running on my Server as FTP installation.

Thanks for help.

Need help building

Mac OS user here. Maybe you have an idea what is wrong?

$ cmake . -B build
-- The CXX compiler identification is AppleClang 11.0.0.11000033
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The C compiler identification is AppleClang 11.0.0.11000033
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
CMake Error at src/client/CMakeLists.txt:3 (find_package):
  Could not find a package configuration file provided by "Qt5" with any of
  the following names:

    Qt5Config.cmake
    qt5-config.cmake

  Add the installation prefix of "Qt5" to CMAKE_PREFIX_PATH or set "Qt5_DIR"
  to a directory containing one of the above files.  If "Qt5" provides a
  separate development package or SDK, be sure it has been installed.


-- Configuring incomplete, errors occurred!
See also "/Users/kevin/Development/kemai/build/CMakeFiles/CMakeOutput.log".

But QT5 is installed:

$ brew search qt5
==> Formulae
pyqt5                                                                     qt5 ✔

Edit: I have never used cmake or worked with C++

features request

it would be great if you do:

  1. add descriptions to projects
  2. add tags to projects

Screenshot-

Linux Image

How can a linux deb be made for this?

Is it possible to create an app image?

Minimize to tray

When clicking on the application in the tray, it should minimize there. Another click should restore the window.

As a fallback, the tray context menu could contain entries for either showing or hiding the window.

Use new API credentials without restart

When I first launched the program, it naturally failed to read the clients etc. from the API because of missing credentials. I added the credentials to settings but for the program to actually work I needed to restart it. It'd be a good idea to either notify the user of the need to restart or re-load the lists automatically after changing the credentials.

SSL Handshake failed on macos version

Hi,

I have recently tried to use your most excellent program on MacOS. Sadly it can not connect to my kimai instance. I've tried the same kimai instance with the recent kemai version on Windows, and the kimai offline tracker for ios and it works flawlessly. So it seems to be related to the specific macos build.

This is the error message:
Error on request [version]: SSL handshake failed

Do you have an idea how I can fix this?

Wayland support

When trying to launch the program in a Fedora Linux and Wayland / Sway environment, I only got the following shell output:

zeip@jameson ~ » ~/softat/Kemai.AppImage             
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: xcb.

[1]    333853 abort (core dumped)  ~/softat/Kemai.AppImage

Would it be difficult to add native Wayland support for the application? I did get it to work by specifying the xcb platform:

QT_QPA_PLATFORM=xcb ~/softat/Kemai.AppImage

This, however, isn't optimal as it's then not a native Wayland application.

Can't create Customer, Project or Activity

Just connected version 0.7.1 of the app on Windows 11 to a Kimai server running 1.26.0. Trying to create a Customer, Project or Activity does not work. After filling in all data and clicking OK, no error is shown, but the items are not created. Creating through the web UI works.

Input Focus and Tabbing Order Suggestion

Input Focus and Tabbing Order Suggestion

Hello @AlexandrePTJ :

I am using Kemai compiled from the master branch, and appreciate your desktop client very much!

Please consider specifying the input focus and tab order in the Add Customer, Add Project, and Add Activity dialog boxes.

Add Customer Dialog

Input focus defaults to the second field: Customer.
Suggested input focus: Name.

Tab order currently goes from:
Country->Timezone->Name->Currency->Budget->Time Budget
Suggested tab order (based on dialog layout):
Name->Country->Timezone->Currency->Budget->Time Budget

Add Project Dialog

Input focus defaults to: Budget
Suggested input focus: Name

Tab order currently goes from:
Budget->Time Budget->Name
Suggested tab order:
Name->Budget->Time Budget

Add Activity Dialog

Input focus defaults to: Time Budget
Suggested input focus: Name

Tab order currently goes from:
Time Budget->Name->Budget
Suggested tab order:
Name->Budget->Time Budget

Documentation

This documentation may be relevant:

Building 0.3.0 on Debian Linux

I'm trying to compile Kemai 0.3.0 on Debian linux and I get:

$ cmake  . -B build -DCMAKE_BUILD_TYPE=Release
-- The CXX compiler identification is GNU 8.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:13 (FetchContent_MakeAvailable):
  Unknown CMake command "FetchContent_MakeAvailable".


-- Configuring incomplete, errors occurred!
See also "CMakeOutput.log".
$ cmake . -B build -DCMAKE_BUILD_TYPE=Release
CMake Error at CMakeLists.txt:13 (FetchContent_MakeAvailable):
  Unknown CMake command "FetchContent_MakeAvailable".


-- Configuring incomplete, errors occurred!
See also "CMakeOutput.log".

Attached you find the CMakeOutput.log.
CMakeOutput.log

Thank you
Riccardo

Error on request version

Hey we are using Kimai 2 - 1.11 stable (Ayumi) and when trying to connect we get this error:
Error on request (version). Error transfering https://website.com/api/version - server replied: Not found.

I belive it was not yet updated for version 2 of Kimai?
Cheers

SSL doesn't work on Windows

If I want to connect to a kimai server (even the demo instance) with https I get the following error:

Error on request [version]: TLS initialization failed

kép

The demo is not reachable without https, but my instance is, so I could test, that this doesn't happen on plain http:

kép

kép

I already had this issue with older kemai versions. Nor my server, nor the demo uses self-signed certificates.

Windows 10 1909.

[Improvement] Improve Loading of Customer / Projects / Activities

Sorry, for spamming the issues section. Another Idea that came into my mind. :)

Fetching the list of all projects/activities everytime new is cumbersome as so has to wait a few seconds until everything is displayed correctly and fetched from the server. It would be great to have a refresh button that loads all the values only on demand / maybe schedule some planned pulls. But for quickly switching between projects this would be pretty helpful ...

Debian 10, Appimage, GLIBC_2.29 not found

It is not possible to start the appimage on Debian 10.

$ ./Kemai-0.5.0-x86_64.AppImage 
./Kemai-0.5.0-x86_64.AppImage: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/.mount_Kemai-YK7m6D/lib/libQt5Widgets.so.5)
./Kemai-0.5.0-x86_64.AppImage: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/.mount_Kemai-YK7m6D/lib/libQt5Gui.so.5)
./Kemai-0.5.0-x86_64.AppImage: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/.mount_Kemai-YK7m6D/lib/libQt5Core.so.5)
./Kemai-0.5.0-x86_64.AppImage: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/.mount_Kemai-YK7m6D/lib/libpng16.so.16)
./Kemai-0.5.0-x86_64.AppImage: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/.mount_Kemai-YK7m6D/lib/libicui18n.so.66)
./Kemai-0.5.0-x86_64.AppImage: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/.mount_Kemai-YK7m6D/lib/libicuuc.so.66)

Thank you,
Riccardo

Not all required libraries are included: libOpenGL.so.0 is missing

user@kraftwerk:/mnt/chromeos/MyFiles/Downloads$ ./Kemai-0.7.1-x86_64.AppImage 
./Kemai-0.7.1-x86_64.AppImage: error while loading shared libraries: libOpenGL.so.0: cannot open shared object file: No such file or directory

AppImages should be as independent as possible. Imagine running on a plain terminal-only Linux where all you will be provided with is a Wayland server and an XWayland. No additional libraries.

Updating on Windows requires removing the old version manually

I wanted to update from 0.1.0 to 0.2.0 on Windows. However when I run the msi I got a message that says I have another version installed, and I have to remove the old version manually to install the new one.

Is it intentional? Most installers do this automatically.

The settings wasn't deleted, but it's just annoying.

[Improvement] Allow Description Editing during Time Record

Hi there,

A small feature request: As I use Kemai along my workday to track my working time and we also create a work report at the end of the month, I fill my tasks into the description field in parallel to my work I do.

Unfortunately, this is not reflected to be send back to the server (as far as I have seen it by now).

One possibility would be to synchronize the description field again, once the current time record is being stopped. Alternatively, a synch button could be placed next to the description field to enable the same requirement.

Report errors on GUI

Reports errors messages on GUI.

Use an icon at the bottom with a shorten message. Full message may be displayed on hover.
May add log widgets.

Check permissions

  • On test process
  • On the "login" process

Check for kimai's rights to ensure

  • user is able to list project/customer/activity/timesheet (mandatory)
  • user is able to add/edit (optional)

VCRUNTIME140_1.dll was not found

Downloaded MSI and installed on Windows 10 system. Installation seemed successful. However, when I ran (using the shortcut/icon added to my desktop), I get this.

image

Any ideas?

I am running Windows 10 Pro, v1909, OS build 18363.1082.

Client does not calculate times based on user's timezone

I have configured Kemai for the timezone Europe/Berlin. My operating system (Debian 10 Buster) is set to the same time.

When starting the clock the UI shows 22:00:00 as starting point:

grafik

After stopping the clock the web interface start and end times do not match, so no time can be calculated:

grafik

This is the logfile of the UI client:

===> [GET]   "https://kimai.my-host.hld/api/version"
===> [GET]   "https://kimai.my-host.hld/api/timesheets/active"
===> [GET]   "https://kimai.my-host.hld/api/customers"
===> [GET]   "https://kimai.my-host.hld/api/projects?customer=1"
===> [GET]   "https://kimai.my-host.hld/api/activities?project=2"
===> [GET]   "https://kimai.my-host.hld/api/activities?project=1"
===> [GET]   "https://kimai.my-host.hld/api/timesheets/active"
===> [GET]   "https://kimai.my-host.hld/api/customers"
===> [GET]   "https://kimai.my-host.hld/api/projects?customer=1"
===> [GET]   "https://kimai.my-host.hld/api/activities?project=1"
===> [POST]  "https://kimai.my-host.hld/api/timesheets" "{\n    \"activity\": 1,\n    \"begin\": \"2020-05-10T13:26:05\",\n    \"description\": \"\",\n    \"project\": 1\n}\n"

Counter stuck on 00:00:00

When starting a task, the counter is stuck at 00:00:00 without any error messages. The stop button also does not work. I verified that the instance connects correctly using Settings > Profiles > Test. This is on Kimai 1.26.0.

2022-10-16 23_28_29-Kemai - Kimai client

Translation

Add translation.
Detect language from user profile, add option for user to use detected language or another one.
Use weblate.

settings.json not created on first start

The following error appears and none of the settings are saved:

QIODevice::read (QFile, "/home/<user>/.config/Kemai/Kemai/settings.json"): device not open

As soon as I manually create the file, everything works fine.

OS: ArchLinux
Version: develop branch

No Data Listed

After Connecting successfully on setting tab and showing connected to kimai 1.15.5

no customers or projects is loaded

tried run as administrator same thing

Windows 10

"Started at" can not be modified

Hi there,

first let me say that I use your Kimai client nearly daily and am glad that you made it. I have a small request or question. At the bottom of the window you have an area with "Started at" and a dropdown menu for the time. Thing is - that dropdown menu is greyed out. Is there a way to use it? Sometimes I forget to start the timer timely and have to start my activitys a bit in the past. At the moment I start my acitivity with Kemai and then have to correct the start time in my Kimai instance. I would like to get rid of that extra step and correct the start time directly in Kemai.

TLS initialization failed - Appimage on Debian 11

Hi,
the Kemai-0.7.1-x86_64.AppImage on Debian 11 shows me, for multiple instances of Kimai, on different servers:
Error on request [version]: TLS initialization failed
when testing the connection.

The server ssl certificate is valid and is not self signed.

Thank you,
Riccardo

Request: Remember window position and which monitor if dual screen

Thanks very much for your work and time developing this program. I was wondering if you would be able to add the ability for the program to remember the last position of the active window on close? I have dual monitors so it would be great to have Kemai open on my second monitor in the place it was when I last closed it. I'm not a C++ dev so can't contribute directly but I found this which might be relatively simple to implement?: https://doc.qt.io/qt-5/restoring-geometry.html

Edit: Also, if you could make the app remember last Customer, Project and Activity would be great.

Not working without administrator rights

Without administrator rights, Kemai silently fails without even opening. In the event log, there is an error shown about ucrtbase.dll. If Kemai is run as Administrator, it just works fine.

V 0.7 Can't save setting

We are using V 0.6 smoothly, when we update V 0.7, we can't save settings. When write a settings values and try to test, Its successful but when we close the setting page and re-open all setting erased.

System win 10-64 B

If I change Settings "Timetracking mode" no Start/Stop possible

I use Kimai on Windows 10 with Docker 20.10.7 and Kimai 1.14.1 stable (Ayumi).
If I change Settings "Timetracking mode" to "[Time-clock] user can start and stop records, but not edit the times or duration",
kemai wont start Timetracking.
Docker CLI shows the follow message after pressing start button:
localhost:8001 172.17.0.1 - - [09/Aug/2021:14:48:54 +0100] "POST /api/timesheets HTTP/1.1" 400 644 "-" "Mozilla/5.0"
With default Settings:
localhost:8001 172.17.0.1 - - [09/Aug/2021:14:54:24 +0100] "POST /api/timesheets HTTP/1.1" 200 726 "-" "Mozilla/5.0"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.