Skip to content

17.0.1 Four survey-related YTNodes not found by parser #1173

Open

Description

@gBasil

Steps to reproduce

When calling getHomeFeed(), the following warnings from the parser popped up in the console:

Index.tsx:57 [YOUTUBEJS][Parser]: InnertubeError: InlineSurvey not found!
This is a bug, want to help us fix it? Follow the instructions at https://github.com/LuanRT/YouTube.js/blob/main/docs/updating-the-parser.md or report it at https://github.com/LuanRT/YouTube.js/issues!
Introspected and JIT generated this class in the meantime:
class InlineSurvey extends YTNode {
  static type = 'InlineSurvey';

  endpoint: NavigationEndpoint;
  title: Text;
  subtitle: Text;
  inline_content: YTNodes.CompactVideo | null;
  response: YTNodes.ExpandableSurveyResponse | null;
  dismissal_text: Text;
  impression_endpoints: {
    click_tracking_params: string,
    command_metadata: {
      web_command_metadata: {
        send_post: boolean,
        api_url: string
      }
    },
    feedback_endpoint: NavigationEndpoint
  }[];

  constructor(data: RawNode) {
    super();
    this.endpoint = new NavigationEndpoint(data.dismissalEndpoint);
    this.title = new Text(data.title);
    this.subtitle = new Text(data.subtitle);
    this.inline_content = Parser.parseItem(data.inlineContent, YTNodes.CompactVideo);
    this.response = Parser.parseItem(data.response, YTNodes.ExpandableSurveyResponse);
    this.dismissal_text = new Text(data.dismissalText);
    this.impression_endpoints = data.impressionEndpoints.map((item: any) => ({
      click_tracking_params: item.clickTrackingParams,
      command_metadata: {
        web_command_metadata: {
          send_post: item.commandMetadata.webCommandMetadata.sendPost,
          api_url: item.commandMetadata.webCommandMetadata.apiUrl
        }
      },
      feedback_endpoint: new NavigationEndpoint(item.feedbackEndpoint)
    }));
  }
}
[YOUTUBEJS][Parser]: InnertubeError: ExpandableSurveyResponse not found!
This is a bug, want to help us fix it? Follow the instructions at https://github.com/LuanRT/YouTube.js/blob/main/docs/updating-the-parser.md or report it at https://github.com/LuanRT/YouTube.js/issues!
Introspected and JIT generated this class in the meantime:
class ExpandableSurveyResponse extends YTNode {
  static type = 'ExpandableSurveyResponse';

  options: YTNodes.RatingSurvey | null;
  submit_button: YTNodes.Button | null;

  constructor(data: RawNode) {
    super();
    this.options = Parser.parseItem(data.options, YTNodes.RatingSurvey);
    this.submit_button = Parser.parseItem(data.submitButton, YTNodes.Button);
  }
}
[YOUTUBEJS][Parser]: InnertubeError: RatingSurvey not found!
This is a bug, want to help us fix it? Follow the instructions at https://github.com/LuanRT/YouTube.js/blob/main/docs/updating-the-parser.md or report it at https://github.com/LuanRT/YouTube.js/issues!
Introspected and JIT generated this class in the meantime:
class RatingSurvey extends YTNode {
  static type = 'RatingSurvey';

  ratings: ObservedArray<YTNodes.RatingSurveyOption> | null;
  undo_button: YTNodes.Button | null;

  constructor(data: RawNode) {
    super();
    this.ratings = Parser.parse(data.ratings, true, YTNodes.RatingSurveyOption);
    this.undo_button = Parser.parseItem(data.undoButton, YTNodes.Button);
  }
}
[YOUTUBEJS][Parser]: InnertubeError: RatingSurveyOption not found!
This is a bug, want to help us fix it? Follow the instructions at https://github.com/LuanRT/YouTube.js/blob/main/docs/updating-the-parser.md or report it at https://github.com/LuanRT/YouTube.js/issues!
Introspected and JIT generated this class in the meantime:
class RatingSurveyOption extends YTNode {
  static type = 'RatingSurveyOption';

  response_text: Text;
  default_state_icon: {
    icon_type: string
  };
  on_state_icon: {
    icon_type: string
  };
  endpoint: NavigationEndpoint;
  endpoint: NavigationEndpoint;

  constructor(data: RawNode) {
    super();
    this.response_text = new Text(data.responseText);
    this.default_state_icon = {
      icon_type: data.defaultStateIcon.iconType
    };
    this.on_state_icon = {
      icon_type: data.onStateIcon.iconType
    };
    this.endpoint = new NavigationEndpoint(data.followUpCommand);
    this.endpoint = new NavigationEndpoint(data.responseEndpoint);
  }
}

Failure Logs

No logs, just these warnings in the console.

Expected behavior

Parsing should succeed.

Current behavior

Parsing logs these warnings.

Version

Default

Anything else?

No response

Checklist

  • I am running the latest version.
  • I checked the documentation and found no answer.
  • I have searched the existing issues and made sure this is not a duplicate.
  • I have provided sufficient information.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions