mcndt / obsidian-toggl-integration Goto Github PK
View Code? Open in Web Editor NEWA Toggl integration plugin for the popular knowledge base application Obsidian.
License: GNU General Public License v3.0
A Toggl integration plugin for the popular knowledge base application Obsidian.
License: GNU General Public License v3.0
Right now it seems like the plugin only shows the most recent 4 timers (might partially be based on a time cutoff so maybe it sometimes shows more). It would be great if it was possible to show more and/or search them. I'm not sure if that's an API limitation but if not this would be great to have.
With the short list I find that I accidentally recreate tasks with slightly different phrasing/spelling.
In the "New Timer" dialog it would like to create a new project and not just select an already exsisting
Definitely enjoying being able to reduce one more application I need to have running through my various workflows, so many thanks for the plugin. I had almost given up on using Toggl, to be honest, but this certainly helped me keep the tool. :)
However, I like to have a landing page with a number of different summary queries that shows me kind of a bird's eye view of my productivity, which inevitably leads to:
I suspect this is because there are 6 blocks of toggle queries on the one page and I am assuming they are all being sent at the same time. If they were instead entered into a queue and only one or two queries sent at once with their blocks being updated once data is returned, that would probably eliminate this problem. It would delay the appearance of the queries, but at least they could appear in the appropriate order. Right now they randomly fail. 😂
I wouldn't consider this vital. I can probably cull one or two of the queries, but it would be a nice safeguard to enter into the system at some point.
It would be nice to show the Project name in the status bar instead of the description.
If we could use a template in the status bar, we could change it to fit each user of the plugin.
Some ideas about what to customize
Originally posted by @davidolrik in #2
When creating new timer / existing, it could not fetch the latest projects. Workaround is to restart the app.
It should check for latest projects when the command is triggered
I have some very long Toggl entries due to tracking Todoist Tasks that are themselves generated using the Todoist Outlook add-on.
When these are pulled into a list style report by this obsidian plugin, they overflow the space given and produce a horizontal scroll bar (see attached image).
The task duration is also pushed off.
I think there should be some sort of max length before an item is trimmed to prevent this if possible.
Just a small bug I noticed using/testing this plugin over the past few days.
When retriggering past timers in the Obsidian interface, the name and project are properly applied, but the associated tags are lost and need to be applied manually.
Originally posted by @AetheresMMI in #12
It would be great if I could start the timer and then add the name and the project. This way there would be much less friction in terms of starting a timer. This is basically how both mobile and web versions work.
I am new so there is probably already that feature.
I currently have the problem that my daily data is not ordered by time. I would greatly appreciate it, if the datasets are ordered by their amount. So the highest percentage points at the top and the lowest at the bottom.
IF THIS IS ALREADY POSSIBLE:
please tell me how to do that. I would greatly appreciate any help
a simple sort desc doesn't work
IF THIS IS NOT A FEATURE YET:
please add it as a feature it would immensely improve it.
Seeing what I did today the most amount of time is the reason I use toggl Tracker so if that would be easier with a sorting feature, i think the programming effort would be worth it for everybody.
Originally posted by kenjibailly January 30, 2022
Sometimes I have something that I forgot to track, or a custom input that I couldn't track at that moment.
Would be nice to be able to add custom length timers that already happened.
Right now I only see the option to add a timer and track its time.
In color schemes default, dracula, nord and polarized the "start" button has one color button - the same color of --button-fill-outer
and --button-fill-inner
, the inner part (triangle) become visible when hoovering on the button
The rest - atom, gruvbox, macos and others are ok
The difference
The light theme doesn't seem to be affected, only dark
This enables a GitOps flow for updating and managing documentation pages, which should make it easier to update feature documentation in the future.
I would like to have the toggl summary as part of my daily, not template. However, I can't figure out how to have that day's date pulled into the query. For example, if I use "TODAY" it will only show the current day's summary, not the day for that note. Is there a variable or some special syntax that I can add to match the date of the daily note into the toggl summary?
Thanks in advance for the help.
When embedding a summary in a page it would be nice to be able to filter on "client".
Like so:
``toggl
summary week
client <client-name>
``
Hypothesis: this could be because the preload of the projects failed, such that the PID is unknown.
Before I make a feature request, I wanted to make sure I understood this roadmap item. If implemented, would this enable a user to display, for instance, all the Toggl entries for a specific date in an Obisidian note? If so, I'd strongly +1 this feature.
I would love to include a Toggl code block in my daily and weekly review notes. Thanks!
Jack
Originally posted by @jebeaudoin in #26
I was happy to see your plugin on the latest obsidian roundup! While testing it, I noticed that you store the API key in the data.js
under your plugins' directory.
Can you please change where on disk the API token is stored? Basically, I am asking for an implementation similar to the todoist sync plugin; .obsidian/toggl-token
or similar. The exact location does not matter, only that the token is kept separate; putting` it in the plugins' data dir would be fine.
I don't use obsidian sync for my vaults, i use a different solution. Since the plugin basically needs the token in plain text, i try to prevent my cloud sync clients from syncing certain files to the server.
Loving the plugin so far, super convenient!
If there was an "Edit Active Timer" option exactly like the "Start Toggl Timer" option when a timer is active, or you could click the name of the current entry and have the same timer selection popup appear, that would be super useful.
Thanks!
Not noticed this before, but am seeing a constant stream of the following errors in dev mode;
plugin:obsidian-toggl-integration:16433 Error reaching Toggl API
eval @ plugin:obsidian-toggl-integration:16433
rejected @ plugin:obsidian-toggl-integration:65
processTicksAndRejections @ node:internal/process/task_queues:96
Promise.then (async)
step @ plugin:obsidian-toggl-integration:66
eval @ plugin:obsidian-toggl-integration:67
__awaiter @ plugin:obsidian-toggl-integration:63
updateCurrentTimer @ plugin:obsidian-toggl-integration:16423
eval @ plugin:obsidian-toggl-integration:16418
plugin:obsidian-toggl-integration:16434
RequestError: getaddrinfo ENOTFOUND api.track.toggl.com
at ClientRequest.eval (plugin:obsidian-toggl-integration:12833:111)
at Object.onceWrapper (node:events:510:26)
at ClientRequest.emit (node:events:402:35)
at ClientRequest.origin.emit (plugin:obsidian-toggl-integration:7331:20)
at TLSSocket.socketErrorListener (node:_http_client:447:9)
at TLSSocket.emit (node:events:390:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21)
at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)
at __node_internal_ (node:internal/errors:686:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:71:26)
I am still seeing Toggle data in Obsidian and, the errors show whether the Toggle pane is in view, or not.
Also, whether the setting for real time daily total is enable, or not.
However, the settings page fails on Test API Connection... 🤷🏻♂️
e.g
LIST
PAST 2 Days
INCLUDE DESCRIPTION "Coding"
This would basically complete this amazing plugin for me!
Releasing is kind of a chore. Need to write a script to:
It would be great if reports could have the option to display tags.
Understand reports are new and you are busy!
At present, it would appear that the entries under each date in LIST mode are in descending order. I'm not sure of the Toggl API sends the necessary information to change the sort order for these, but it would be nice to have them in ascending order to the first entry is displayed first:
You can see from the image, the dates are ascending, but the order in which the entries are displayed is reversed. Project Creation was first, followed by Author Photo Touchup, Main Titles, and then Blasted Crown.
Hi i really love this Plugin!
Are there any plan to support mobile devices? I‘m a heavy iPad User and would love to use this Plugin there.
I generate logs in my daily notes by using this in the template:
LIST
FROM {{date}} to {{date}}
It works for the current day, but previous days display this error:
Error while rendering report
Please report this exception on GitHub.
TypeError: Cannot read properties of undefined (reading 'data') at groupByDate (eval at (app://obsidian.md/app.js:1:1433729), :31926:10) at getListGroups (eval at (app://obsidian.md/app.js:1:1433729), :31841:17) at Object.$$self.$$.update (eval at (app://obsidian.md/app.js:1:1433729), :31972:36) at init$1 (eval at (app://obsidian.md/app.js:1:1433729), :894:8) at new TogglListReport (eval at (app://obsidian.md/app.js:1:1433729), :31987:3) at create_if_block_1 (eval at (app://obsidian.md/app.js:1:1433729), :32178:21) at Object.p (eval at (app://obsidian.md/app.js:1:1433729), :32375:18) at update (eval at (app://obsidian.md/app.js:1:1433729), :577:36) at flush (eval at (app://obsidian.md/app.js:1:1433729), :544:13)
Link toggl project and obsidian note, so we can rename note in feature.
And make project names in sidebar clickable to such project notes (if we have such relation).
Originally posted by abonhote February 28, 2022
I'd love to see the time in decimal notation, so instead of 2:30 rather 2.5. It's possible with Toggl's native reports already.
I am so sorry for asking this, because I have the feeling that this was asked thousand times before me. I couldn't find anything.
I do want in my daily obsidian note the summary of that day.
I thought I could just
summary 2022-04-04
and do that day with templater plugin. But it doesnt work that easily
I need to give an interval expression. I cant just say day: 2022-04-04
I can ofc say
summary From 2022-04-04 To 2022-04-04
But is there a smoother way so it is not that ugly at the daily page?
I think the heading with telling the name twice looks a bit trashy
I'd like to be able to filter by tags, not just projects or clients. That would help me view unbilled time as
```toggl
summary past 3 months include projects "Project" exclude tags "Billed"
```
Would it be possible to extend the filtering to include this?
Whenever I start a previously used timer with a keyboard shortcut (in my case, CMD + T), I am frequently unable to enter text in my primary workspace afterwards. For some reason, it usually takes a few seconds for this bug to show up--I am typically able to type for a few seconds, and only later am I unable to enter text. It is still possible to enter text in areas like the search bar, command palette, and quick switcher. As soon as I move my cursor out of my workspace and back in, the issue resolves itself. While this may not be directly related to the Toggl integration plugin, I have not had this issue until using the plugin, and it only comes up after triggering a timer.
I am new to toggl so not sure if this is a toggl issue or something to do with the plugin. Sidebar says toggl API is unreachable but in the plugin settings the connection is a success. (Attached video)
On query:
list
past 2 weeks
include projects "Reading"
group by date
sort desc
The group by expression causes the following console error and an infinite loading spinner:
Note that the query only includes a single project.
Solution:
It would also be cool if I could show the Project in the sidebar, as I don't use descriptions much.
Right now it just says undefined
.
Originally posted by @davidolrik in #2 (comment)
For example, a note's frontmatter can contain:
toggl-pid: 120219380293
or
toggl-project: "Obsidian Plugin Development"
This links the note internally with the project, making the project title clickable in plugin UI elements to open the project note.
The sidebar list of activities periodically clears during the day and only current activity shows. It's intermittent and I haven't determined a trigger that causes it.
Minor but it would be nice if the list stay. Love the plugin!
In case I accidentally closed it or it is missing from my Obsidian workspace layout.
Would be really nice to be able to use GROUP BY CLIENT, since Toggl provides this functionality.
It's really handy when creating weekly/monthly reports. So, instead of a project list you could see the time spent on each client. or even include both projects and clients given the "include" option.
For example, in the screenshot below it would be something like:
Solution: set user-agent header for plugin specifically.
First: thank you so much for developing this plugin! It’s really cool ; it’s a nice incitative to have my weekly report in Obsidian (so like, all the time in sight).
The only problem for now is that since I’ve pinned a md file with my report in it, it’s not showing the latest timers. The report only seems to reload when I navigate away from the file and open it back again—and since I’ve pinned the file with my report in it, it won’t update anymore (unless I e.g., close then reopen Obsidian).
Maybe an auto-refresh at set interval (e.g., every minute) would be the appropriate solution?
Greetings from Toggl Track👋
Thanks for creating this integration for the Obsidian users and for adding a custom User-Agent.
We have detected that his integration is doing a lot of request GET to the /api/v8/time_entries/current
endpoint. Looks like the frequency is ~1 request per second.
A good rate in terms of UX for this request(refreshing what's the current time entry) is 1 request between 5-15s.
Help us(and the users) lowering this rate. Thanks :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.