Code Monkey home page Code Monkey logo

kitsu-web's People

Contributors

2b2gbi avatar arno500 avatar branlok avatar chrislegault avatar crse avatar cybrox avatar dependabot-preview[bot] avatar dependabot[bot] avatar dissident avatar dreewp avatar dulleh avatar erengy avatar focusjosh avatar ftloic avatar geirmarius avatar greenkeeper[bot] avatar greenkeeperio-bot avatar joshfabian avatar kazzarin avatar matthewdias avatar najibadan avatar nexpb avatar nuckchorris avatar ravmn avatar reinachan avatar sachaw avatar thebushybrow avatar trmcnvn avatar uricorn avatar wopian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kitsu-web's Issues

Advanced scoring system

(Optional) Ability to give points for story, characters, music/audio effects, and visuals separately. This is the main reason I keep using Anilist instead of Kitsu.

V4 - Laying the foundation for the button components

Hello,
Like to make a proposal to expand a bit on the component for v4 button component as part of laying the foundation for the future. All observable styles in v3 (and more as v4 expands) will have the styling logic be included in the component by passing the required and optional props. Abstracting and encapsulating a range of styles can safe guard against developer's altering brand design consistency. While it's still possible to cascade styles from parent component, the constraints should make it become the last resort.

Figma link serves as a visual proposal and examples for the few button types and customizability + additional reasoning.
https://www.figma.com/file/zaPBj1kYY7bZ7NTC3HDnkU/Kitsu-Buttons?node-id=10%3A286

I can implement something for review, but if things are already set in stone, it's okay too.

OG/Twitter meta tags are useless

Because Ember apps are statically generated, you can't use dynamic meta tags, even if you set them after the application loads (what Kitsu currently does). This does not work for almost all sites, as they would only fetch the HTML and not execute it, therefore the meta tags are never generated.

Is this known, or is this not very important?

Page goes blank when fetching data

Whenever you fetch data, the Suspense element at the root catches that and the header and content disappears until it's finished fetching content. Disabling the context.suspence from the query ends up making it reload the component in an infinite loop.

Group Settings gives a 404

Visiting my own group settings through the group dashboard gives a 404.

Such as: https://kitsu.io/groups/GROUP_NAME/dashboard/settings

Browser: Firefox Version 111.0 (64-bit)

Not sure if this helps, but the Firefox developer menu's network tab shows this line when clicking 'Settings'. Maybe it's fetching the wrong file? 'group-categories' doesn't sound right to me.

image

`#profile-links` input validation doesn't take into account destination, just URI.

https://kitsu.io/users/rokejulianlockhart/library?sort=rating&status=completed#profile-links doesn't validate hyperlinks by verifying that they redirect to the correct destination, it just uses some input validation (presumably RegEx). This is inferior to the aforementioned because it prevents the user using hyperlinks like https://linksta.cc/going/7365?https://twitter.com/i/user/3782186368 in order to gauge throughput.

Would remediate #2273 (comment).

Announcements don't stay dismissed

This is my first submitted issue! Yay!

The issue

When I dismiss announcements on the main page of the site, they don't stay dismissed, returning on page refresh.

Investigation so far

Looking at the code in site-announcements.js, clicking the cross dismiss button sends a post request to the back-end, presumably saving to a database the announcements a user has seen to filter them out.

Front-end

Fetch to get announcements

The call is made to https://kitsu.io/api/edge/feeds/site_announcements/57044?include=subject. I believe 57044 here is my user id.
The data returns 4 announcements. Each announcement seems to be split between two objects. The first has an id and a link to the second object. The second object contains the content to be shown in the announcement. This is probably linked to the "data enrichment" mentioned by the site-announcements.js.
image

Fetch to dismiss

Once I click on the dismiss button, the correct announcemment id seems to be sent to the back-end.
image
The url has a matching id. https://kitsu.io/api/edge/feeds/site_announcements/57044/_read
The response is a 200 success code.

Back-end

Bear with me here, as I have never even seen ruby code before.

The controller routes seem to be defined in routes.rb. The relevant resource seems to be jsonapi_resources :site_announcements on line 142, with the appropriate route being

post '/feeds/:group/:id/_read', to: 'feeds#mark_read'

There seems to be a site_announcements controller, but that is basically empty.

Otherwise, the controller for feeds is feeds_controller.rb, which contains the mark_read action.

  def mark_read
    activities = feed.activities.mark(:read, params[:_json])
    render_jsonapi stringify_activities(activities)
  end

mark() here appears to be the function defined in activity_list.rb:

    def mark(type, values = true)
      values = [values] if values.is_a? String
      data["mark_#{type}"] = values
      self
    end

This seems to set the field "mark_read" to true depending on the passed in json, though I'm not sure.

this bit in activity_list.rb may also be relevant:

    %i[limit offset ranking mark_read mark_seen].each do |key|
      define_method(key) do |value|
        data[key] = value
        self
      end
    end

To be honest, though I can find related pieces of code on the back-end, I am struggling to find whats wrong given that I do not know the language. Hopefully the stuff I've done above will be helpful and someone can find whats wrong.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.