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

Heatmap fix segment repeating #4557

Merged
merged 1 commit into from
Feb 15, 2024

Conversation

NodudeWasTaken
Copy link
Contributor

@NodudeWasTaken NodudeWasTaken commented Feb 14, 2024

This commit fixes that segments repeat when they shouldnt
Here's a heatmap
old_interactive_heatmap
Notice that in a section that is empty, there is action for some reason.
Here's the new version:
new_interactive_heatmap
No action where there is no action

The issue for nerds:

for i := 0; i < numSegments; i++ {
	segmentTS := int64(float64(i) / float64(numSegments))

	// Empty segment - fill it with the previous up to backfillThreshold ms
	if segments[i].count == 0 {
		if segmentTS-lastSegment.at < backfillThreshold {

In this code, segmentTS is always zero.
Why?
Well, if numSegments is 50, and i is 25, this is 25/50, which is 0.5.
This is a calculation that approaches 1 as you reach numSegments, and its an integer, so its zero until i=numSegments (cant happen).
Here's the new code:

for i := 0; i < numSegments; i++ {
	segmentTS := (maxts / int64(numSegments)) * int64(i)

In this, we take the duration, divided by the number of segments, and multiplied by the current segment.
This should give us the approximate time of this segment.
You cant use ".at", since this segment is empty and ".at" was never set.

I also cleanup the speed code to use interactive speed instead of slope calculation, as slope seemed redundant and unnecessarily complicated.

@WithoutPants WithoutPants added the bug Something isn't working label Feb 15, 2024
@WithoutPants WithoutPants added this to the Version 0.25.0 milestone Feb 15, 2024
@WithoutPants WithoutPants merged commit 15aac68 into stashapp:develop Feb 15, 2024
2 checks passed
dogwithakeyboard pushed a commit to dogwithakeyboard/stash that referenced this pull request Feb 18, 2024
dogwithakeyboard added a commit to dogwithakeyboard/stash that referenced this pull request Feb 18, 2024
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291425 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291424 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291423 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291422 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291420 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291418 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291418 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291417 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291413 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291412 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291411 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291410 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291409 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291407 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291326 +0000

Image performer age filter

Fix saved filter UI bugs (stashapp#4394)

* Fix missing intl strings
* Fix saved filter list z-index
* Fix saved filter list double scrollbar
* Display error inside filter list
* Filter out nonexistent saved filter rows in FrontPageConfig

Refresh package managers after setup (stashapp#4397)

* Refresh package managers after setup
* Fix default plugins/scrapers paths

Fix Scene Tagger config blacklist  (stashapp#4396)

* Refactoring
* Add item on Enter
* Don't add duplicate items

Update macOS readme links (stashapp#4347)

* Update readme macOS download links

* Update docker readme to point to develop branch

Revert modal button order change (stashapp#4400)

Use 8.14.3-r0 of vips (stashapp#4402)

Workaround setting protocol on external player url (stashapp#4403)

Update changelog for bugfix release

Add CSP to plugin from the yaml file (stashapp#4424)

Add join to intCriterionHandler (stashapp#4414)

* Add join to intCriterionHandler
* Add join to floatCriterionHandler

Fix scraped performer alias matching (stashapp#4432)

Fixes package manger head border (stashapp#4420)

Scene queue autoplay (stashapp#4428)

* Remove unnecessary undefined checks
* Respect autostartVideoOnPlaySelected in scene queue

Fix settings tab links (stashapp#4430)

Disable select all checkbox for plugin sources (stashapp#4434)

Sort plugin settings (stashapp#4435)

Update FieldStrategyOverwrite to work when scene has no existing URL (stashapp#4412)

Hide tag input when set tags is disabled (stashapp#4440)

Calculate DetailImage fallback width using rem (stashapp#4441)

Don't bail on error when scraping all (stashapp#4442)

Fix error when creating/updating performer with alias == name (stashapp#4443)

* Filter out performer aliases that match the name
* Validate when creating/updating performer in stash-box task

Fix scene marker merging (stashapp#4446)

Update changelog for bugfix release

Don't retry failed autoplay (stashapp#4450)

Fix studio name uniqueness validation (stashapp#4454)

Update changelog

added support for image orientation filter (stashapp#4404)

* added support for image orientation filter
* Add orientation filtering to scenes
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>

Bump golang.org/x/crypto from 0.14.0 to 0.17.0 (stashapp#4375)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.14.0 to 0.17.0.
- [Commits](golang/crypto@v0.14.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Bump vite from 4.4.11 to 4.4.12 in /ui/v2.5 (stashapp#4348)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.4.11 to 4.4.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.4.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.4.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Improved scene queue (stashapp#4448)

* Improved scene queue
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>

Update Performer gender filter (stashapp#4419)

* Update Performer gender filter

Updated the Performer gender filter to allow selection of multiple genders (`IS`) or performers with no gender specified (`IS NULL`).

* Add default modifier for circumcised
* Handle existing saved filters
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>

Move zip files while moving folders (stashapp#4374)

Add support for disabling mobile media-viewer's fullscreen auto-rotate (stashapp#4416)

Advanced settings (stashapp#4378)

* Add advanced settings mode toggle
* Add advanced settings

Improved list view for scenes, galleries and performers (stashapp#4368)

Co-authored-by: InfiniteStash <117855276+InfiniteStash@users.noreply.github.com>
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>

Tag select refactor (stashapp#4478)

* Add interface to load tags by id
* Use minimal data for tag select queries
* Center image/text in select list
* Overhaul tag select
* Support excludeIds. Comment out image in dropdown
* Replace existing selects
* Remove unused code
* Fix styling of aliases

Clarify session description (stashapp#4468)

Add note for auto tag (stashapp#4490)

Update scene list setting (stashapp#4473)

Minor UI fixes (stashapp#4509)

* Fix a zero value disabling the SettingModal
* Fix performer disambiguation styling
* Fix performer tagger error message

only use details background image when provided (stashapp#4515)

Frontend fix media_err_decode on playback (stashapp#4506)

Improve list table readability (stashapp#4497)

* fixes mandatory columns bug and consistency issues

Link improvements and fixes (stashapp#4501)

* Add ExternalLink
* Replace <a> with <Link>

Add blank favicon on login page (stashapp#4498)

Fix tag selector in scrape dialogs (stashapp#4526)

Studio select refactor (stashapp#4493)

* Add id interface to findStudios
* Replace existing selects
* Remove unused code
* Fix scrape/merge select
* Make clearable

expose useful libs (stashapp#4489)

* expose useful libs
* Update UIPluginApi.md

Fix UI crash during setup (stashapp#4527)

Fit cards properly within their containers (stashapp#4514)

* created missing cards grids

support filesize in scene list (stashapp#4480)

Studio child filter and sort (stashapp#4479)

Improve client-side graphql scalar types (stashapp#4511)

* Add types to graphql scalars
* Upgrade dependencies
* Override UI config type
* Remove all IUIConfig casts
* Add tableColumns to IUIConfig
* Add BoolMap type, set strictScalars
* Add PluginConfigMap
* Replace any with unknown
* Add SavedObjectFilter and SavedUIOptions
* Remove unused items from CriterionType

Bump vite from 4.4.12 to 4.5.2 in /ui/v2.5 (stashapp#4477)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.4.12 to 4.5.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.5.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.5.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Improve sorting of results when entering text in select fields (stashapp#4528)

* Sort select results by relevance
* Apply relevance sorting to studio select
* Apply relevance sorting to filter select

Fix tag popper over card (stashapp#4529)

Fix UI config mutation not working (stashapp#4533)

Add gallery select filter and fix image gallery filtering (stashapp#4535)

* Accept gallery ids in findGalleries
* Add gallery select component
* Add and fix image gallery filter
* Show gallery path as alias

Wrap card popovers (stashapp#4539)

Common studio overlay component (stashapp#4540)

* Move GridCard to own directory
* Make common studio overlay component

Add disambiguation to performer link and performer select values (stashapp#4541)

* Add disambiguation to PerformerLink
* Add disambiguation to performer select values

Plugin api improvements (stashapp#4546)

* Expose useToast

* Expose components:

- studio/tag/performer/gallery selects
- date input
- country select
- folder select

Fix url not updated for default tab on Performer/Studio/Tag pages (stashapp#4538)

Fix scraped studio not matching existing value (stashapp#4548)

* Fix scraped studio not matching existing
* Fix incorrect key value

Fix segment repeating + cleanup speed calculation (stashapp#4557)

Bugfix: No Image Upscale for Clips (stashapp#4569)

Fix country selector in bulk performer edit dialog (stashapp#4565)

* Fix country select in edit performers dialog
* Fix edit performer dialog height

Mount edit panels only when first entering (stashapp#4564)

Fix merge not deleting deleted scene generated files (stashapp#4567)

Developer option: extra blob paths (stashapp#4566)

* Allow additional read-only blob paths
* Add developer option to add more blob sources
* Add makefile targets to start and remove build container
* Documentation

Weblate translations update (stashapp#4578)

* Translated using Weblate (French)

Currently translated at 100.0% (1056 of 1056 strings)

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/fr/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 81.3% (859 of 1056 strings)

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/pt_BR/

* Translated using Weblate (Swedish)

Currently translated at 96.3% (1017 of 1056 strings)

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/sv/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/

* Translated using Weblate (French)

Currently translated at 100.0% (1056 of 1056 strings)

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/fr/

* Translated using Weblate (Swedish)

Currently translated at 99.8% (1054 of 1056 strings)

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/sv/

* Translated using Weblate (French)

Currently translated at 100.0% (1056 of 1056 strings)

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/fr/

* Added translation using Weblate (Norwegian Bokmål)

* Translated using Weblate (French)

Currently translated at 100.0% (1056 of 1056 strings)

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/fr/

* Translated using Weblate (Hungarian)

Currently translated at 37.5% (397 of 1056 strings)

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/hu/

* Translated using Weblate (Swedish)

Currently translated at 99.9% (1055 of 1056 strings)

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/sv/

* Pretty locale files

* Sort locale keys

---------

Co-authored-by: doodoo <adr.web@hotmail.fr>
Co-authored-by: Robert de Abreu Viana <deathrobert2010@gmail.com>
Co-authored-by: alpacaserious <srhsgsef@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: R Balu <balu.ka@hotmail.com>
Co-authored-by: Luna Jernberg <droidbittin@gmail.com>

Update translation files (stashapp#4581)

Updated by "Cleanup translation files" hook in Weblate.

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/

Co-authored-by: Hosted Weblate <hosted@weblate.org>

Fix saved filter UI bugs (stashapp#4394)

* Fix missing intl strings
* Fix saved filter list z-index
* Fix saved filter list double scrollbar
* Display error inside filter list
* Filter out nonexistent saved filter rows in FrontPageConfig

Refresh package managers after setup (stashapp#4397)

* Refresh package managers after setup
* Fix default plugins/scrapers paths

Fix Scene Tagger config blacklist  (stashapp#4396)

* Refactoring
* Add item on Enter
* Don't add duplicate items

Update macOS readme links (stashapp#4347)

* Update readme macOS download links

* Update docker readme to point to develop branch

Revert modal button order change (stashapp#4400)

Use 8.14.3-r0 of vips (stashapp#4402)

Workaround setting protocol on external player url (stashapp#4403)

Add CSP to plugin from the yaml file (stashapp#4424)

Add join to intCriterionHandler (stashapp#4414)

* Add join to intCriterionHandler
* Add join to floatCriterionHandler

Fix scraped performer alias matching (stashapp#4432)

Fixes package manger head border (stashapp#4420)

Scene queue autoplay (stashapp#4428)

* Remove unnecessary undefined checks
* Respect autostartVideoOnPlaySelected in scene queue

Disable select all checkbox for plugin sources (stashapp#4434)

Sort plugin settings (stashapp#4435)

Update FieldStrategyOverwrite to work when scene has no existing URL (stashapp#4412)

Hide tag input when set tags is disabled (stashapp#4440)

Calculate DetailImage fallback width using rem (stashapp#4441)

Don't bail on error when scraping all (stashapp#4442)

Fix error when creating/updating performer with alias == name (stashapp#4443)

* Filter out performer aliases that match the name
* Validate when creating/updating performer in stash-box task

Fix scene marker merging (stashapp#4446)

Don't retry failed autoplay (stashapp#4450)

Fix studio name uniqueness validation (stashapp#4454)

Update changelog

Bump golang.org/x/crypto from 0.14.0 to 0.17.0 (stashapp#4375)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.14.0 to 0.17.0.
- [Commits](golang/crypto@v0.14.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Improved scene queue (stashapp#4448)

* Improved scene queue
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>

Move zip files while moving folders (stashapp#4374)

Clarify session description (stashapp#4468)

Add note for auto tag (stashapp#4490)

Update scene list setting (stashapp#4473)

only use details background image when provided (stashapp#4515)

Frontend fix media_err_decode on playback (stashapp#4506)

Improve list table readability (stashapp#4497)

* fixes mandatory columns bug and consistency issues

Add blank favicon on login page (stashapp#4498)

expose useful libs (stashapp#4489)

* expose useful libs
* Update UIPluginApi.md

Fix UI crash during setup (stashapp#4527)

support filesize in scene list (stashapp#4480)

Studio child filter and sort (stashapp#4479)

Bump vite from 4.4.12 to 4.5.2 in /ui/v2.5 (stashapp#4477)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.4.12 to 4.5.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.5.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.5.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Fix tag popper over card (stashapp#4529)

Fix UI config mutation not working (stashapp#4533)

Wrap card popovers (stashapp#4539)

Common studio overlay component (stashapp#4540)

* Move GridCard to own directory
* Make common studio overlay component

Add disambiguation to performer link and performer select values (stashapp#4541)

* Add disambiguation to PerformerLink
* Add disambiguation to performer select values

Plugin api improvements (stashapp#4546)

* Expose useToast

* Expose components:

- studio/tag/performer/gallery selects
- date input
- country select
- folder select

Fix url not updated for default tab on Performer/Studio/Tag pages (stashapp#4538)

Fix scraped studio not matching existing value (stashapp#4548)

* Fix scraped studio not matching existing
* Fix incorrect key value

Fix segment repeating + cleanup speed calculation (stashapp#4557)

Bugfix: No Image Upscale for Clips (stashapp#4569)

Fix country selector in bulk performer edit dialog (stashapp#4565)

* Fix country select in edit performers dialog
* Fix edit performer dialog height

Mount edit panels only when first entering (stashapp#4564)

Fix merge not deleting deleted scene generated files (stashapp#4567)

Developer option: extra blob paths (stashapp#4566)

* Allow additional read-only blob paths
* Add developer option to add more blob sources
* Add makefile targets to start and remove build container
* Documentation

Update translation files (stashapp#4581)

Updated by "Cleanup translation files" hook in Weblate.

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/

Co-authored-by: Hosted Weblate <hosted@weblate.org>
halkeye pushed a commit to halkeye/stash that referenced this pull request Sep 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants