wallabag icon indicating copy to clipboard operation
wallabag copied to clipboard

ReadKit sync error: "object not found by the @ParamConverter annotation"

Open itsthejb opened this issue 1 year ago • 4 comments

Environment

  • Version: 2.6.9
  • Installation: Proxmox LXC (https://ipv6.rs/tutorial/Alpine_Linux_Latest/Wallabag/)
  • PHP version: 8.3.10
  • OS: Alpine Linux v3.20.2
  • Database: 11.4.3-MariaDB-deb12
  • Parameters: n/a
My app/config/parameters.yml is:
# This file is auto-generated during the composer install
parameters:
  database_driver: pdo_mysql
  database_host: mariadb
  database_port: 3306
  database_name: wallabag
  database_user: wallabag
  database_password: ...
  database_path: null
  database_table_prefix: wallabag_
  database_socket: null
  database_charset: utf8mb4
  domain_name: '...'
  server_name: '...'
  mailer_dsn: 'smtp://smtp.mail.me.com'
  locale: en
  secret: ...
  twofactor_sender: [email protected]
  fosuser_registration: false
  fosuser_confirmation: false
  fos_oauth_server_access_token_lifetime: 3600
  fos_oauth_server_refresh_token_lifetime: 1209600
  from_email: [email protected]
  rss_limit: 50
  rabbitmq_host: localhost
  rabbitmq_port: 5672
  rabbitmq_user: guest
  rabbitmq_password: guest
  rabbitmq_prefetch_count: 10
  redis_scheme: tcp
  redis_host: localhost
  redis_port: 6379
  redis_path: null
  redis_password: null
  sentry_dsn: null

What steps will reproduce the bug?

Syncing with ReadKit iOS current version leads to:

IMG_208963A8C8D8-1

The error I see in the Wallabag prod.log is:

[2024-08-11T16:17:37.746553+00:00] request.INFO: Matched route "api_delete_entries". {"route":"api_delete_entries","route_parameters":{"_route":"api_delete_entries","_format":"json","_controller":"Wallabag\\ApiBundle\\Controller\\EntryRestController::deleteEntriesAction","entry":"4711"},"request_uri":"http://wallabag.jcrooke.net/api/entries/4711.json","method":"DELETE"} []
[2024-08-11T16:17:37.825752+00:00] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "Wallabag\CoreBundle\Entity\Entry object not found by the @ParamConverter annotation." at /var/www/wallabag/vendor/sensio/framework-extra-bundle/src/Request/ParamConverter/DoctrineParamConverter.php line 107 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException(code: 0): Wallabag\\CoreBundle\\Entity\\Entry object not found by the @ParamConverter annotation. at /var/www/wallabag/vendor/sensio/framework-extra-bundle/src/Request/ParamConverter/DoctrineParamConverter.php:107)"} []

How can I solve this error? I wonder if running on Alpine might be too restrictive. However, ReadKit has successfully synched previous (I have articles downloaded). However it's now failing consistently

Thanks in advance!

itsthejb avatar Aug 11 '24 16:08 itsthejb

Looks like the entry with the id 4711 does not exists anymore in your wallabag. Can you confirm it? Maybe, we should ack that the entry is deleted if we can't found it.

But I don't know why it make the sync to fail.

j0k3r avatar Aug 14 '24 14:08 j0k3r

You are correct yes - that entry doesn't exist:

Screenshot 2024-08-14 at 17 16 12

I'm going to just clear the account on the device, resync and see if that sorts it...

Thanks for your input

itsthejb avatar Aug 14 '24 15:08 itsthejb

Hello @itsthejb,

Do you know which HTTP return code was sent for the API call?

Kdecherf avatar Aug 14 '24 17:08 Kdecherf

@Kdecherf No, it would be challenging to proxy the API calls or something

In any case, I'm inclined to believe this is a ReadKit-only specific issue. The problem appears to be using both their iOS and macOS clients together. It's possible I should be creating separate tokens for each (currently just reusing the same ones, which I suppose is smelly)

itsthejb avatar Aug 15 '24 11:08 itsthejb