Skip to content

Requests API: timeline_focused returns 500 when using link from request response #3418

@Samk13

Description

@Samk13

Package version (if known): 14.0.0b10.dev5
file_storage: S3

Describe the bug

Calling the timeline_focused endpoint via the link returned in the request payload results in a 500 error.
e.g: https://127.0.0.1:5000/api/requests/<UUID>/timeline_focused

Steps to Reproduce

  1. Fetch a request: GET /api/requests/<id>
  2. From the response, follow: links.timeline_focused

Expected behavior

Not getting a 500

Screenshots (if applicable)

"GET /api/requests/4f523918-f74c-4935-b558-e81875dc3329/timeline_focused HTTP/1.1" 500 -
Traceback (most recent call last):
  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/flask/app.py", line 1536, in __call__
    return self.wsgi_app(environ, start_response)
           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/werkzeug/middleware/dispatcher.py", line 81, in __call__
    return app(environ, start_response)
  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/flask/app.py", line 1536, in __call__
    return self.wsgi_app(environ, start_response)
           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/flask/app.py", line 1514, in wsgi_app
    response = self.handle_exception(e)
  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/flask_resources/resources.py", line 65, in view
    return view_meth()
  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/flask_resources/content_negotiation.py", line 116, in inner_content_negotiation
    return f(*args, **kwargs)
  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/flask_resources/parsers/decorators.py", line 51, in inner
    return f(self, *args, **kwargs)
  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/flask_resources/parsers/decorators.py", line 51, in inner
    return f(self, *args, **kwargs)
  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/flask_resources/parsers/decorators.py", line 51, in inner
    return f(self, *args, **kwargs)
  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/flask_resources/responses.py", line 39, in inner
    res = f(*args, **kwargs)
  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/invenio_requests/resources/events/resource.py", line 172, in focused_list
    hits = self.service.focused_list(

  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/invenio_requests/services/events/service.py", line 451, in focused_list
    search = self._search(

  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/invenio_records_resources/services/records/service.py", line 220, in _search
    search = self.search_request(

  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/invenio_records_resources/services/records/service.py", line 194, in search_request
    search = interpreter_cls(search_opts).apply(identity, search, params)
  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/invenio_records_resources/services/records/params/pagination.py", line 38, in apply
    if not p.valid():
           ~~~~~~~^^
  File "/Users/test-user/invenio-dev-latest/.venv/lib/python3.14/site-packages/invenio_records_resources/pagination.py", line 31, in valid
    pre_condition = 1 <= self.size and 1 <= self.page
                    ^^^^^^^^^^^^^^
TypeError: '<=' not supported between instances of 'int' and 'NoneType'

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions