nextcloud / nextcloud/integration_youtube

The picker is not showing any search results

Open
#57 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug priority: medium
Dominant language
JavaScript
Stars
4
Forks
0
PR merge metrics
No merged PRs in 30d

Description

How to use GitHub
  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Steps to reproduce
  1. Goto Nextcloud Talk
  2. Select Youtube link picker
  3. Type the search string
  4. The search does not show any results
Expected behaviour

As the search text is typed, there should be some results below the search box

Actual behaviour

Nothing happens. There are no results.

Server configuration

Web server: Apache

Database: PostgreSQL

PHP version: 8.3

Nextcloud version: (see Nextcloud admin page)

List of activated apps
If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your Nextcloud installation folder
Nextcloud configuration
If you have access to your command line run e.g.:
sudo -u www-data php occ config:list system
from within your Nextcloud installation folder
Browser

Browser name: Firefox

Browser version: 149.0.2

Operating system: Ubuntu

Browser log

The console log repeatably shows this while typing the search string:

XHRGET
https://cloud.xxx.com/ocs/v2.php/search/providers/youtube-video-search/search?term=petru&limit=5
[HTTP/2 500  55ms]

Nextcloud log shows this error on each search intent:

ExceptionAuthenticated ciphertext could not be decoded.

    /var/www/nextcloud/lib/private/Security/Crypto.phpLínea 102

    OC\Security\Crypto->decryptWithoutSecret(
      "*** sensitive parameters replaced ***"
    )

    /var/www/nextcloud/apps/integration_youtube/lib/Service/YoutubeAPIService.phpLínea 142

    OC\Security\Crypto->decrypt(
      "*** sensitive parameters replaced ***"
    )

    /var/www/nextcloud/apps/integration_youtube/lib/Service/YoutubeAPIService.phpLínea 77

    OCA\IntegrationYoutube\Service\YoutubeAPIService->request()

    /var/www/nextcloud/apps/integration_youtube/lib/Search/YoutubeBaseSearchProvider.phpLínea 121

    OCA\IntegrationYoutube\Service\YoutubeAPIService->search()

    /var/www/nextcloud/apps/integration_youtube/lib/Search/YoutubeBaseSearchProvider.phpLínea 81

    OCA\IntegrationYoutube\Search\YoutubeBaseSearchProvider->paginatedSearch()

    /var/www/nextcloud/apps/integration_youtube/lib/Search/YoutubePlaylistSearchProvider.phpLínea 51

    OCA\IntegrationYoutube\Search\YoutubeBaseSearchProvider->searchFor()

    /var/www/nextcloud/lib/private/Search/SearchComposer.phpLínea 365

    OCA\IntegrationYoutube\Search\YoutubePlaylistSearchProvider->search()

    /var/www/nextcloud/core/Controller/UnifiedSearchController.phpLínea 117

    OC\Search\SearchComposer->search()

    /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.phpLínea 205

    OC\Core\Controller\UnifiedSearchController->search()

    /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.phpLínea 118

    OC\AppFramework\Http\Dispatcher->executeController()

    /var/www/nextcloud/lib/private/AppFramework/App.phpLínea 153

    OC\AppFramework\Http\Dispatcher->dispatch()

    /var/www/nextcloud/lib/private/Route/Router.phpLínea 321

    OC\AppFramework\App::main()

    /var/www/nextcloud/ocs/v1.phpLínea 61

    OC\Route\Router->match()

    /var/www/nextcloud/ocs/v2.phpLínea 8

    undefinedundefinedrequire_once(
      "/var/www/nextcloud/ocs/v1.php"
    )

NOTE:
I have tried replacing the API key with a new one, but it does the same

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with apps/integration_youtube/lib/Service/YoutubeAPIService.php at lines 77 and 142, then follow the call from YoutubeBaseSearchProvider.php line 121. Reproduce the search request and inspect the ciphertext decoding failure. Done means the YouTube search endpoint no longer returns HTTP 500 and results appear in the picker.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, php
Domain
api, backend, search
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.