Skip to content
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

Prepare for v1.1.3 release #217

Merged
merged 1 commit into from Oct 30, 2020
Merged

Conversation

dagwieers
Copy link
Collaborator

@dagwieers dagwieers commented Oct 11, 2020

Update README and addon.xml for release.

This fixes #205

@dagwieers dagwieers added the release Related to release management label Oct 11, 2020
@dagwieers dagwieers added this to the v1.1.3 milestone Oct 11, 2020
@dagwieers
Copy link
Collaborator Author

cc @im85288 @MoojMidge @michaelarnauts @mediaminister @CastagnaIT Please test this!

@mediaminister
Copy link
Contributor

mediaminister commented Oct 12, 2020

Just found an error on Windows in the latest Kodi 19 nightly build:

2020-10-12 11:49:56.698 T:4300     INFO <general>: initializing python engine.
2020-10-12 11:49:56.722 T:4300    ERROR <general>: CPythonInvoker(1, C:\Users\test\AppData\Roaming\Kodi\addons\service.upnext\resources\lib\service_entry.py): C:\Users\test\AppData\Roaming\Kodi\addons\service.upnext\resources\lib\service_entry.py not found!
2020-10-12 11:49:56.843 T:9612  WARNING <general>: CGUIMediaWindow::OnMessage - updating in progress
2020-10-12 11:49:57.272 T:4300    ERROR <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                                    - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                                   Error Type: <class 'UnicodeDecodeError'>
                                                   Error Contents: 'utf-8' codec can't decode byte 0xf6 in position 11: invalid start byte
                                                   UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf6 in position 11: invalid start byte
                                                   -->End of Python script error report<--
                                                   
2020-10-12 11:49:57.276 T:4300     INFO <general>: Python interpreter stopped

I investigated and found out that this error only occurs on Windows with recent Kodi 19 builds when the windows username contains special chars. This bug must have been introduced between July 28th and September 1st in the Kodi master branch.
I got exactly the same error for service.xbmc.versioncheck and plugin.video.vrt.nu so this is definitely a Kodi bug.

I also tested with Kodi 19 Matrix alpha1 and found out that it just works fine.

I opened a bug report for this at xbmc/xbmc#18557

@MoojMidge
Copy link
Collaborator

Might want to mention that the Still Watching? functionality does not work (as identified in #204 (comment) by @theberster, as a side effect of #198)

@dagwieers
Copy link
Collaborator Author

dagwieers commented Oct 13, 2020

@MoojMidge I would like to add a demo-mode for testing, that when enabled, would play the next video after e.g. 20 seconds of playback. This would allow to easily test StillWatching functionality as well as increase chances of hitting known issues. Which are both now hard to test. Maybe the demo-mode should also reset the resumepoint ;-)

PS We should also reset the StillWatching logic when someone interacts with Kodi (e.g. pauzes, feed forward/backward, etc.) at some point in the future.

@MoojMidge
Copy link
Collaborator

I would like to add a demo-mode for testing

I think there would be some benefit to that. The only issue is that a number of the timing issues I observed were not able to be reliably replicated or only became apparent when there was some kind of unexpected action caused by VideoPlayer closing/re-opening early or late.

For instance Still Watching never worked for me because on my setup the onPlayBackStopped callback was always being executed and the UpNext state was therefore always being reset. This is evidently not something that occurs on other setups.

I did implement a method of overriding the xbmc.Player state as a means of testing and simulating UpNext. This is done in player.py and is used in script.py to generate a test popup. The same technique could be extended further to control how the test popup behaved and actually play files.

@CastagnaIT

This comment has been minimized.

@dagwieers

This comment has been minimized.

@CastagnaIT

This comment has been minimized.

@CastagnaIT

This comment has been minimized.

@dagwieers

This comment has been minimized.

@michaelarnauts
Copy link

I think the OnSeek is to ensure that the episode is marked as watched before closing. Otherwise an episode will appear to not have been finished because the end credits take longer than the margin we have to consider it watched to the end.

# Play playlist media, only seek/skip if media has not already played through
if should_play_non_default:
self.player.seekTime(self.player.getTotalTime())
self.player.playnext()

Update: Looking at the code I have two remarks here:

  1. We should probably do this for other methods as well (it is not specific to playlist)
  2. We could skip it if the offset is sufficiently close to the end (based on advanced settings

This might be the cause of some issues in VTM Go, the stream starts at -2 (that's actually an issue), so the stream also ends two seconds early. I've experienced some strange crashes, that might be due to seeking to the end while there is no data there?

@dagwieers

This comment has been minimized.

@CastagnaIT

This comment has been minimized.

@MoojMidge

This comment has been minimized.

@dagwieers

This comment has been minimized.

@CastagnaIT

This comment has been minimized.

@MoojMidge

This comment has been minimized.

@CastagnaIT

This comment has been minimized.

@MoojMidge

This comment has been minimized.

@dagwieers

This comment has been minimized.

@CastagnaIT

This comment has been minimized.

@MoojMidge

This comment has been minimized.

@dagwieers

This comment has been minimized.

@CastagnaIT
Copy link
Contributor

the choice is yours, but force a player Seek only to change watched status is not a good design

if you keep this, you have to mention this peculiarity to the Wiki
because it cause unexpected hidden player event which can cause unexpected behaviours in to the addons

yes nf use "play_info" because don't need the callback anymore
i have also noticed that "play_info" not works in fast way as in it his initial implementation,
now before start next video return to the video list and after play next video

@dagwieers

This comment has been minimized.

@dagwieers

This comment has been minimized.

@MoojMidge

This comment has been minimized.

@dagwieers

This comment has been minimized.

@dagwieers

This comment has been minimized.

@CastagnaIT

This comment has been minimized.

@dagwieers

This comment has been minimized.

@dagwieers

This comment has been minimized.

@CastagnaIT

This comment has been minimized.

@CastagnaIT

This comment has been minimized.

@dagwieers

This comment has been minimized.

@CastagnaIT

This comment has been minimized.

@dagwieers

This comment has been minimized.

@CastagnaIT

This comment has been minimized.

@dagwieers

This comment has been minimized.

@dagwieers
Copy link
Collaborator Author

dagwieers commented Oct 14, 2020

Sorry guys, for the long discussion, but let's focus on the positive. seekTime() is gone now 👍

The discussion probably should not have happened in this PR (maybe Slack next time? 😉 ), but PR #219 has the conclusive bits.

Let us focus now on testing this branch, it has been rebased with #219 included.
I am confident the user experience is going to be better than ever.

@Dnkhatri
Copy link

As this plugin does not have a beta test repo could you guys maybe please add an GitHub action to create test versions with a pr. Makes it easier for us non programmers to test. I had to mess around with my fork to generate usable plugins with this pr as the matrix official release has simply become unusable and I could not wait any longer for the update.

@dagwieers
Copy link
Collaborator Author

dagwieers commented Oct 30, 2020

@Dnkhatri Normally you can download the ZIP from the branch and that will work, but because Kodi devs decided to break the backward compatibility in the Add-on metadata, we can no longer offer one package for both Matrix and Leia, and we decided to use Leia by default (as most users use Leia). The change is simple.

What you can do is clone the repository locally and run:

$ make multizip

This will give you two packages, one for Leia and one for Matrix that will work.

@dagwieers
Copy link
Collaborator Author

Can we release this as-is? Have people been testing this?

Apart from the known issues related to automatic playing the next item in the list (when this is unwanted) are there any other issues? Has this been tested on Matrix?

Update README and addon.xml for release.
@Dnkhatri
Copy link

its working fine for me on matrix so far I only use with local files so not sure about streaming addons. 1 problem I had was that the next episode started but the subtitles were stuck from the last episode but I was not able to reproduce it yet so didn't file a bug report

@dagwieers
Copy link
Collaborator Author

1 problem I had was that the next episode started but the subtitles were stuck from the last episode but I was not able to reproduce it yet so didn't file a bug report

This is not something Up Next is taking care of, so must be a bug in Kodi. It is possible that the use of playlists triggers this issue which was not the case before. If you see this again, please open a new ticket for this to track it.

@mediaminister
Copy link
Contributor

Has this been tested on Matrix?

Yes: #217 (comment)

@dagwieers dagwieers merged commit 3d60b46 into im85288:master Oct 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Related to release management
Projects
None yet
Development

Successfully merging this pull request may close these issues.

LOGSEVERE and LOGNOTICE will deprecated in kodi/python addons
6 participants