-
-
Notifications
You must be signed in to change notification settings - Fork 6.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Activity log #6746
Activity log #6746
Conversation
@mkortstiege: Can I ask you for an Xcode sync? |
Sure, will do once #6747 is in so we do not have the unrelated changes in there (all the time). |
Love the idea. Small suggestion. Would renaming the Debugging to Logging and create debugging section and activity section inside? and move this stuff there make more sense going forward? If not anyway, I can have a go at creating a icon anyway for this. |
+1 on what @UniversaI said (both points, this is great). Icing on the cake would be persistence (complete or limited, maybe keep a rolling n days?), and accessing the contents of the activity log via JSON-RPC would be a "nice to have". |
@universal: Yeah I'll give that a go. I didn't really wanna add an extra category for the activity stuff anyway. @MilhouseVH: Yeah I wasn't sure if people really wanted persistance so I left it out for now. But obviously it can easily be added later. |
As I posted on the forum could you use the kaitoast icons as indicators for each activity? |
Could the activity log be viewed as another panel in the System Information dialog (along with Hardware, Network etc.)? |
RE: Using a dialog instead of window. The buttons could easily be added to bottom of a dialog and the sort order button doesn't really seem necessary. |
Throwing this out there... should there be support for Profiles? For instance, logging when a new profile is loaded (or failed to load, invalid PIN etc.), created, deleted. Logging the current profile against which a particular activity took place might become relevant, depending on the activity. The profile corresponding to the activity would need to be listed against the activity, although maybe only if there is more than one profile configured for the client. Filtering by profile might also be useful. |
It's available as a VFS so skins could integrate it anywhere using
Sure, it simply was a lot more work (also integrating the context menu to be able to delete a specific activity etc) but I'm open to suggestions.
Ah I knew I forgot to mention something. Yes we should probably store the activities per profile and let the master user see all activites but all other profiles should only be able to see their activities. |
Adding the activities to the Notification area of ios (or android) would really spam that area. Thats imo nothing we want. This area is more about getting push messages from messangers or calender entries or something like that. |
@Memphiz: It could be limited to a certain level like only show warning and error or only error activities. There aren't that many activities right now and most of them are of level information. EDIT: And obviously it would be optional and turned off by default. |
Ok fine then for android - for ios its not the right type of messages to show in the notification area (as far as i can judge from the stuff that appears there normally). |
6feb5d5
to
40599e8
Compare
nice. I'll think a bit about a nice UI integration. Important for me is that this doesn't end up becoming a devlog UI (seeing the "Kodi successfully started" entry which is superflous IMO - I'd only report startup issues and no success). As for the persistance. While this might be nice for a certain usecase (system log) I'd also like to suggest having some sort of "recent activities" that's more enduser oriented and is only showing "unread" activities one can dismiss/mark read. So again similar to what Android has. |
@HitcherUK @MilhouseVH: What do you guys think about keeping the @da-anda: The "Kodi successfully started" activity is there for when we support persisting activities across multiple restarts in which case it is useful to know when kodi was shutdown/started. For grouping we would have to increase the granularity of the activities. Right now there's simply an Marking activities as dismissed/read is currently supported by deleting them. On android you also can't get back the activities that you have dismissed. Unfortunately the deleting is not very well integrated yet i.e. you have to do it over the context menu. But you can clear all listed activities with a single button. "Recent activities" should also be possible by showing a list with a limited number of items which could be supported by the simpler dialog I proposed above. Or skinners could use the |
@Montellese with "dismiss" I didn't mean delete, because deleting would mean that the activity is removed from the "history" and this might not be wanted in case we persist (with persistence I see this more like an ever growing system log until you clear the log). So "dismiss" would just be some "mark as read" thing which would hide the entry from the "recent activities" dialog/window/whatever but you could still see the activity history in the dedicated window until you delete it there or flush the entire history. That's not required for an initial version ofc (unless you don't have better things to do ;) ) - just as an idea for future improvement. About the grouping - what about subtypes specific to each main activity type? So we only have a edit: this kind of grouping could only be done in a "recent activities" view and doesn't have to be applied on a probably huge history (once it's persisted) |
@da-anda: Those are all potential features for the future and should all be possible. The current system is very basic but it already provides access to information that is otherwise well hidden in our log files. @MilhouseVH: I've added basic support for storing activities per profile and it's only possible to view/delete/clear/interact with activities generated by the current profile. In the future it might be useful for the master profile to also see activities that took place in another profile which e.g. shares the same video database. |
@Montellese please rebase and pick mkortstiege@9c6ccc3 (not compile tested - i am bit low on time right now but can do later today). |
@Montellese : Regarding the UI implementation, whatever you think is best - I'm not really up on all the different window types but might have a better idea once I see it (currently can't apply this PR to my test builds due to a strings.po conflict with #5747, might be nice to clear that one off the deck and rebase this one). |
f8259ac
to
7086f5d
Compare
@mkortstiege: Thanks, added. I've merged the "activities" and "debug" settings into a new "logging" category. |
Regarding persistence, perhaps we should wait with that as a seperate PR. Perhaps we don't' even want it :) Also, I think persistence here would be a perfect opportunity to try out a NoSQL solution |
@@ -12456,7 +12516,7 @@ msgstr "" | |||
|
|||
#: xbmc/addons/AddonInstaller.cpp | |||
msgctxt "#24045" | |||
msgid "Add-on does not have the correct structure" | |||
msgid "Failed to install addon from zip file" |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
7086f5d
to
6c187f1
Compare
@MartijnKaijser: Thanks for the "Add-on" reminder :-) There was another one as well and I fixed both. |
5ce470f
to
f44c2ef
Compare
…ing/disabling/breaking
e669fc7
to
4f56250
Compare
@Memphiz: Thanks that would have been the next thing I'd have blindly tried. jenkins build this please |
It worked! Thanks guys. Only some binary addons failed. |
i'm fine with it for osx/ios |
fine for me as well. In the longer run, we should probably send a proper build system upstream, so we can get rid of the hacks. |
I've already PRed an improved VS project structure and setup upstream and it go merged quickly. |
nice, but VS is not enough. Currently, they have absolutely zero unix build sys wise. |
Yes but my autoconf and pkg-config skills are nearly zero so I don't feel comfortable writing that and sending it upstream. So I only did VS where I felt confident enough. |
I didn't imply you should do it, rather that I will when I find some time and patience. |
Where is the best place to continue discussion about the Activity Log while the rough edges are knocked off? :) Maybe a dedicated forum thread? This morning my repositories auto-updated, and I've now got 260+ notifications informing me about incompatible add-ons that I do not have installed. Surely we only need to be notified about problems with add-ons that we do have installed? Problems with add-ons that are not installed are likely to be of no interest to anyone. Icons indicating the level (ie. Error, Warning, Info, Basic/Notify) would be useful - perhaps the "level" icon could appear to the left of the event/notification icon? |
@MilhouseVH Here's the forum thread - http://forum.kodi.tv/showthread.php?tid=212067 |
Thanks @HitcherUK - I'll post again there. Edit: Actually, this looks like it might be a better discussion thread: http://forum.kodi.tv/showthread.php?tid=211603&pid=2077605#pid2077605 |
Wasn't aware of that thread as I wasn't a member then ;) |
http://forum.kodi.tv/showthread.php?tid=212067 Is readable by all http://forum.kodi.tv/showthread.php?tid=211603&pid=2077605#pid2077605 very likely only team members. |
@Montellese this somehow breaks a lot of addons in our repo. |
I know I'm a little late for the party but due to some issues in my media import work I came back to the activity log feature I proposed a while ago. Back then I didn't finish it because I didn't get much feedback from skinners so I've decided to do what's easiest.
The idea of the activity log is to have a place where a chronological list of activities that happened while Kodi was running can be stored. Most of the time I miss the kai toasts telling me that something happend. So it would be nice if there was a place where I could go and see all the "important" activities that have happened. That list would be sorted by datetime descending (i.e. the latest activity at the top) and would only show activities of the current instance (i.e. no persistance although that would be possible).
This adds the
CActivityLog
singleton which stores all activities (and can show some of them as kai toast notifications). Ideally most calls toCGUIDialogKaiToast
would be replaced by calls toCActivityLog
in the future. The feature set consists ofIActivity
interface representing an activity consisting of a type, level, label, icon, description, details, date and possible actionCActivityLog
to store and retrieve activitesCActivitiesDirectory
supporting theactivities://
protocol to retrieve list items representing activitiesCGUIWindowActivityLog
providing a window to display and manage activitesActivityLog.xml
for Confluence coveringCGUIWindowActivityLog
I have added some basic activites like
The most useful functionality of an activity is the fact that it can provide an action which can be executed when selecting the activity. As an example in case of an addon activity the user will be taken directly to the addon in the addon manager.
Here are two screenshots of the new functionality. The first is showing the available settings to enable/disable activity logging and to show the activity log window (this could certainly also be better integrated into another place in Confluence). The second is showing the activity log window (which is basically a combination of the full width list view and the select dialog details list view).
A few things that are missing:
but IMO all of that can be improved later.