aniskip / aniskip-extension Goto Github PK
View Code? Open in Web Editor NEWWeb browser extension to skip anime openings and endings
License: MIT License
Web browser extension to skip anime openings and endings
License: MIT License
Repro steps:
We currently use anilist
to search for title synonyms. This has some edge cases such as "86 2nd Season" where it does not match any synonms. We should allow the user to manually input the show they would like to watch. We can also add other APIs (such as myanimelist) which has a search functionality.
Due to the interval of the timeupdate
event listener, the accuracy of the auto skip has a margin of error of around +- 250ms. We can use setTimeout
to reduce this to around +- 10ms
Global:
Anime specific:
Allows users to manually skip if it is enabled
Hi, can you add neko-sama a very popular french streaming site with very big catalog
website: https://neko-sama.io/
player: https://pstream.net
language: French
THX !!
Some supported websites do not correctly set the episode number when parsing an anime movie
These are small bars in the seek bar which indicate the start and the end of an opening or ending
Add popup page
Complete the following:
It would be useful to have a discord server to discuss the extension on, because not everything falls into the realm of github issues.
When creating a skip time, the current start and end time should appear in the seek bar of the video player.
This will add suggested timestamps from external timestamp sources such as https://github.com/jonbarrow/open-anime-timestamps/. These timestamps will be distinguished (such as different indicator colour) from the timestamps that the users submit and will be prioritized lower than the user submitted ones. The user should be able to submit these timestamps and edit them if there are slight inaccuracies.
Currently the player script is handling all the player functions, we should move them into the player object
Local
When you preview a skip time, the skip time indicators on the seek bar appears briefly until the skip time is skipped. It should not appear at all.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates are currently rate-limited. Click on a checkbox below to force their creation now.
@typescript-eslint/eslint-plugin
, @typescript-eslint/parser
)These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
@babel/core
, @babel/plugin-transform-runtime
, @babel/preset-env
, @babel/runtime
)@types/react
, @types/react-dom
).github/workflows/ci.yml
actions/checkout v3
actions/checkout v3
.github/workflows/release.yml
actions/checkout v3
actions/upload-release-asset v1
actions/checkout v3
actions/upload-release-asset v1
package.json
@babel/runtime ^7.23.2
@headlessui/react ^1.7.17
@redux-devtools/remote ^0.8.2
@reduxjs/toolkit ^1.9.7
entities ^4.5.0
glob-to-regexp ^0.4.1
ky ^0.33.3
lodash ^4.17.21
qs ^6.11.2
react ^18.2.0
react-color ^2.19.3
react-device-detect ^2.2.3
react-dom ^18.2.0
react-icons ^4.12.0
react-redux ^8.1.3
redux ^4.2.1
sprintf-js ^1.1.3
string-similarity ^4.0.4
tailwindcss ^3.3.5
type-fest ^4.8.3
uuid ^9.0.1
webextension-polyfill-ts ^0.26.0
@babel/core ^7.23.2
@babel/plugin-transform-runtime ^7.23.2
@babel/preset-env ^7.23.2
@babel/preset-react ^7.23.3
@babel/preset-typescript ^7.23.3
@mantiquillal/web-ext-plugin ^1.5.1
@redux-devtools/cli ^3.0.2
@types/chrome ^0.0.253
@types/glob-to-regexp ^0.4.4
@types/react ^18.2.17
@types/react-color ^3.0.10
@types/react-dom ^18.2.7
@types/sprintf-js ^1.1.4
@types/string-similarity ^4.0.2
@types/tailwindcss ^3.0.11
@types/uuid ^9.0.7
@types/webpack ^5.28.5
@typescript-eslint/eslint-plugin ^6.13.1
@typescript-eslint/parser ^6.13.1
autoprefixer ^10.4.16
babel-loader ^9.1.3
babel-plugin-lodash ^3.3.4
chrome-webstore-upload-cli ^2.2.2
clean-webpack-plugin ^4.0.0
concurrently ^8.2.2
copy-webpack-plugin ^11.0.0
cross-env ^7.0.3
css-loader ^6.8.1
css-minimizer-webpack-plugin ^5.0.1
eslint ^8.55.0
eslint-config-airbnb ^19.0.4
eslint-config-airbnb-typescript ^17.1.0
eslint-config-prettier ^9.1.0
eslint-import-resolver-node ^0.3.9
eslint-plugin-import ^2.29.0
eslint-plugin-jsx-a11y ^6.7.1
eslint-plugin-prettier ^4.2.1
eslint-plugin-react ^7.33.2
eslint-plugin-react-hooks ^4.6.0
fork-ts-checker-webpack-plugin ^9.0.2
html-webpack-plugin ^5.5.3
lodash-webpack-plugin ^0.11.6
mini-css-extract-plugin ^2.7.6
postcss ^8.4.32
postcss-import ^15.1.0
postcss-loader ^7.3.3
prettier ^2.8.8
rimraf ^5.0.5
sass ^1.69.5
sass-loader ^13.3.2
schema-utils ^4.2.0
style-loader ^3.3.3
to-string-loader ^1.2.0
typescript ^5.3.2
wait-on ^7.2.0
web-ext ^7.8.0
web-ext-submit ^7.8.0
webpack ^5.89.0
webpack-bundle-analyzer ^4.10.1
webpack-cli ^5.1.4
webpack-copy-plugin ^0.0.4
webpack-merge ^5.10.0
yarn 3.7.0
Currently the menu is within the controls container, it should be attached to the video container instead to prevent it from disappearing when the controls container disappears
When the timestamp is close to 60 seconds, the toFixed
function will cause 59 seconds to round up to 60 seconds
Makes developing easier
"Redux is a predictable state container for JavaScript apps." Redux will be used to make the code cleaner and more readable, both state management wise, removes the nesting of props passing and can also reduce the need for our current (and somewhat unreliable) messaging system of the background script
acting as a relay to pass messages between parts of the player-script
.
When using auto skip times and the video is paused, the skip time is skipped regardless.
Notify user when:
op
/ed
has been auto-skippedop
/ed
started during a manual skipAdd keybinds for moving the current time forwards and backwards by one frame like on YouTube. The default keybinds are ,
and .
. We can also add keybinds to manually skip an opening / ending (+-90s to the current time).
The extension does not inject the menus and buttons properly when watching on a phone
https://api.malsync.moe/page/<Provider_Id>/<Provider_Anime_Id>
Provider Id
Website: https://zoro.to/
Player: Plyr, JW
Language: English
Automatically pack the extension for release for extension webstores
Currently each opening and ending is fetched with one API call for each opening and ending. This can be done using one.
Have the skip button animate into view when a skip region is currently playing so the user is reminded that its available, and if the user doesn't move their mouse (or moves it then stops) wait for a short-timer to animate it away.
Add changelog notification whenever there's a new update. This can be placed on the bottom of the options page
Makes setting start and end times easier
Add ability to vote on a skip time
Crunchyroll does not use the seasonal episode number. This will not allow Crunchyroll users to retrieve opening and ending times from other providers
Production build optimisations
Currently it supports minutes and seconds only
Why
With more features and (hopefully) more users, we best document the basic and advances feature, be sad if the feature that took 30 development hours are overlook and people kept asking for it right?
What to do
Create a README for
Be cool if there's a GIF, or before/after for each of the feature (if applicable).
More skip types should be supported such as recap
, mixed opening
, mixed ending
. Currently we have opening and endings hard coded, we should allow any number of new types to be added with ease.
There are some anime without english titles. We need to use a fallback title if the english one is not available.
When previewing a skip time with start time zero, the video will freeze at the end time.
If the vote menu has a timestamp which is close to 0 and the offset is negative, the timestamp shows undefined behaviour
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.