Version 0.24.0 - Internal Server Error (Breaking change)

I have upgraded from v0.23.0 to v0.24.0. My docker-compose.yml is attached below. I am not even sure how to get the logs from the container, as the shell was removed in the current release. I believe this is related to most recent breaking changes, as there was a change made to the way Projects are called.

Or This issue might be related to “Docker image now uses scratch as base” as I run my Vikunja in LXC (Proxomx) as root.

Or it could probably be related to (views) Return tasks in buckets by view.

I can see list of tasks and open them from “Overview”, but individual projects don’t open, for example at this path: https://board.FQDN.io/projects/2/1

Any troubleshooting suggestions will be helpful.

For example here:

version: '3'

services:
  vikunja:
    image: vikunja/vikunja
    environment:
      VIKUNJA_SERVICE_PUBLICURL: https://FQDN.io
      VIKUNJA_DATABASE_HOST: db
      VIKUNJA_DATABASE_PASSWORD: pass
      VIKUNJA_DATABASE_TYPE: mysql
      VIKUNJA_DATABASE_USER: user
      VIKUNJA_DATABASE_DATABASE: vikunja
      VIKUNJA_SERVICE_JWTSECRET: poss
      VIKUNJA_REDIS_ENABLED: 1
      VIKUNJA_REDIS_HOST: 'redis:6379'
      VIKUNJA_REDIS_PASSWORD: pass
      VIKUNJA_REDIS_DB: 0
      VIKUNJA_CACHE_ENABLED: 1
      VIKUNJA_CACHE_TYPE: redis
      VIKUNJA_MAILER_ENABLED: true
      VIKUNJA_MAILER_HOST: smtp.sendgrid.net
      VIKUNJA_MAILER_PORT: 465
      VIKUNJA_MAILER_AUTHTYPE: plain
      VIKUNJA_MAILER_USERNAME: apikey
      VIKUNJA_MAILER_PASSWORD: pass
      VIKUNJA_MAILER_SKIPTLSVERIFY: false
      VIKUNJA_MAILER_FROMEMAIL: board@FQDN.io
      VIKUNJA_MAILER_QUEUELENGTH: 100
      VIKUNJA_MAILER_QUEUETIMEOUT: 30
      VIKUNJA_MAILER_FORCESSL: true
      VIKUNJA_SERVICE_CUSTOMLOGOURL: https://FQDN/Favicon.png
      VIKUNJA_TYPESENSE_ENABLED: true
      VIKUNJA_TYPESENSE_URL: http://192.168.1.188:8051
      VIKUNJA_TYPESENSE_APIKEY: string
      VIKUNJA_FILES_MAXSIZE: 500MB
      VIKUNJA_DEFAULTSETTINGS_WEEK_START: 1
    ports:
      - 8050:3456
    volumes:
      - ./files:/app/vikunja/files
    depends_on:
      db:
        condition: service_healthy
    restart: unless-stopped
    networks:
      - vikunja
  db:
    image: mariadb:10
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    environment:
      MYSQL_ROOT_PASSWORD: pass
      MYSQL_USER: beck
      MYSQL_PASSWORD: pass
      MYSQL_DATABASE: vikunja
    volumes:
      - ./db:/var/lib/mysql
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "mysqladmin ping -h localhost -u $$MYSQL_USER --password=$$MYSQL_PASSWORD"]
      interval: 2s
      start_period: 30s
    networks:
      - vikunja
  redis:
    image: redis
    restart: unless-stopped
    environment:
      - REDIS_PASSWORD=pass
    volumes:
      - ./redis:/bitnami/redis/data
    networks:
      - vikunja
  typesense:
    image: typesense/typesense:0.25.2
    restart: unless-stopped
    ports:
      - 8051:8108
    volumes:
      - ./typesense-data:/data
    command: '--data-dir /data --api-key=pass --en>
    networks:
      - vikunja
networks:
  vikunja:
    name: vikunja
    external: true

Same with debian-package install Correct way to update Vikunja Debian package? - #3 by ageekhere

Atm you have to revert back to 23 and reload your backed up database

1 Like

Luckily I have daily backups.

In my case, database seems to have all the tasks, as I can see them and open them under ‘Overview’.

But the frolicked with new URL path are not opening. Maybe the path was not updated in the database?

UPDATE:
Creation and deletion of projects produce the same error.

Logs are sent to stdout if you didn’t configure them to go to a file instead. What do you see on the server logs when the error happens?

Good point, it outputs the following when I try to open one of the projects:

2024-07-08T07:05:18.776391779Z: WEB     ▶ [IPv4 of reverse proxy]  GET 200 /api/v1/notifications?page=1 1.407266ms - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15
2024-07-08T07:05:28.049314629Z: WEB     ▶ [IPv4 of reverse proxy]  GET 200 /api/v1/projects/6 3.820991ms - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15
2024-07-08T07:05:28.049852128Z: ERROR   ▶ handler/ReadAllWeb 9126 status: 404 response: {"message": "Could not find a field named `positions.view_9` in the schema for sorting."}
2024-07-08T07:05:28.049901827Z: WEB     ▶ [IPv4 of reverse proxy]  GET 500 /api/v1/projects/6/views/9/tasks?sort_by[]=position&order_by[]=asc&filter=&filter_include_nulls=false&filter_timezone=Europe%2FLondon&s=&expand=subtasks&page=1 4.407931ms - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15
2024-07-08T07:05:28.791555608Z: WEB     ▶ [IPv4 of reverse proxy]  GET 200 /api/v1/notifications?page=1 699.675µs - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15

Interestingly, out of 4 views, Gantt displays the tasks without error. and I can open all the tasks from Gantt view. All other views output the same error, see here:

2024-07-08T07:11:59.145280988Z: WEB     ▶ [IPv4 of reverse proxy]  GET 200 /api/v1/notifications?page=1 1.343511ms - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15
2024-07-08T07:12:04.739234957Z: ERROR   ▶ handler/ReadAllWeb 9289 status: 404 response: {"message": "Could not find a field named `positions.view_1` in the schema for sorting."}
2024-07-08T07:12:04.739274074Z: WEB     ▶ [IPv4 of reverse proxy]  GET 500 /api/v1/projects/2/views/1/tasks?sort_by[]=position&order_by[]=asc&filter=&filter_include_nulls=false&filter_timezone=Europe%2FLondon&s=&expand=subtasks&page=1 7.397334ms - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15
2024-07-08T07:12:06.787995473Z: ERROR   ▶ handler/ReadAllWeb 928c status: 404 response: {"message": "Could not find a field named `positions.view_3` in the schema for sorting."}
2024-07-08T07:12:06.788040721Z: WEB     ▶ [IPv4 of reverse proxy]  GET 500 /api/v1/projects/2/views/3/tasks?sort_by[]=index&order_by[]=desc&filter=&filter_include_nulls=false&filter_timezone=Europe%2FLondon&s=&expand=subtasks&page=1 3.929916ms - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15
2024-07-08T07:12:08.458032375Z: ERROR   ▶ handler/ReadAllWeb 9291 status: 400 response: {"message": "Could not find a filter field named `buckets` in the schema."}
2024-07-08T07:12:08.458074427Z: WEB     ▶ [IPv4 of reverse proxy]  GET 500 /api/v1/projects/2/views/4/tasks?filter=&filter_include_nulls=false&s=&per_page=25&page=1 3.846642ms - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15
2024-07-08T07:12:09.147170065Z: WEB     ▶ [IPv4 of reverse proxy]  GET 200 /api/v1/notifications?page=1 724.775µs - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15
2024-07-08T07:12:10.678039644Z: WEB     ▶ [IPv4 of reverse proxy]  GET 200 /api/v1/projects/2/views/2/tasks?sort_by[]=start_date&sort_by[]=done&sort_by[]=id&order_by[]=asc&order_by[]=asc&order_by[]=desc&filter=start_date+%3E%3D+%222024-06-23%22+%26%26+start_date+%3C%3D+%222024-09-01%22&filter_include_nulls=false&page=1 8.727193ms - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15

I had the same problem on my instance after updating to 0.24.0. Disabling typesense helps. I think this is a bug in vikunja.

Yes, I confirm, simply changing this to false in the docker-compose.yml VIKUNJA_TYPESENSE_ENABLED: false allows me to load all the views under all projects.

This is a workaround, @kolaente it would be great to get your view on how to resolve this without disabling Typesense.

This is now fixed in 2c6bc7742f, please check with the next unstable build (should be ready for deployment in ~45min).

Waiting impatiently :slight_smile: will try in a staging env.

@kolaente just to check, does typesense play a big role in Vikunja’s functionality? As a workaround, it is disabled now, and my production Vikunja is functioning funny. For example: when tasks are “Done” the page needs to be refreshed for the task to move to “Done” bucket. Moving tasks between buckets also act funny after reload (they move back to their initial bucket after page reload).

Typesense is only used for full text search and not much else. You won’t miss any other major feature by not using it.

The issues you mentioned are already reported as #2518 - Moving tasks to done bucket does not mark them done anymore - vikunja - Gitea and #2543 - Task created in a bucket goes to the default bucket - vikunja - Gitea

Thanks for highlighting it, I will follow those issues.
And a big thank you for all your hard work developing such an amazing tool!

@kolaente, could you enable my account (username: geotag-nice) so I can subscribe to the issues:

Done, you should be able to log in now.

1 Like