Skip to content

Reporting

This page covers how to get in contact, which platform to use and how to properly share information like logs and errors.

Choosing a Platform

If you have a question, visit the Discord server.
If you experience behaviour that you are unsure of if it's correct, check the 'General Information' page.
If you are sure that something is going wrong (bug) or is missing (feature), create a GitHub issue.

Reporting a Bug

If you experience behaviour that is not correct, you should make a 'bug report':

  1. Enable debug logging in the settings.
  2. Reproduce the error (this way it will occur with debug logs enabled).
  3. Collect all the relevant logs. You can download the debug logs from the last debug session by clicking the 'Download Debug Logs' button in the admin panel. Preferably starting from when you started reproducing, but AT LEAST the complete error (A.K.A. traceback).
  4. On the GitHub issues page, make a new issue and choose the 'Bug report' template. Fill in each field in the template with the information requested.
  5. Make sure to properly format code and errors! Otherwise it's not readable. See the tip below.

Formatting code and errors

Formatting code and errors in GitHub

Note: the logs and errors are from Kapowarr, but that does not have an impact on the subject and goal of this text.

If you want to share logs (that are not the debug logs in the downloaded file), type the following when making a GitHub issue:

```
[2024-01-20 11:20:29][MainThread][INFO] Starting up Kapowarr
[2024-01-20 11:20:29][MainThread][INFO] Kapowarr running on http://0.0.0.0:5656/
[2024-01-20 11:20:29][Thread-1][INFO] Added task: Update All (1)
[2024-01-20 11:20:30][Task Handler][INFO] Finished task Update All
```

It will look like this:

[2024-01-20 11:20:29][MainThread][INFO] Starting up Kapowarr
[2024-01-20 11:20:29][MainThread][INFO] Kapowarr running on http://0.0.0.0:5656/
[2024-01-20 11:20:29][Thread-1][INFO] Added task: Update All (1)
[2024-01-20 11:20:30][Task Handler][INFO] Finished task Update All

If you want to share code or errors, type the following when making a Github issue:

```python
Traceback (most recent call last):
File "/home/nogardvfx/.local/lib/python3.8/site-packages/flask/app.py", line 1455, in wsgi_app
 response = self.full_dispatch_request()
File "/home/nogardvfx/.local/lib/python3.8/site-packages/flask/app.py", line 869, in full_dispatch_request
 rv = self.handle_user_exception(e)
File "/home/nogardvfx/.local/lib/python3.8/site-packages/flask/app.py", line 867, in full_dispatch_request
 rv = self.dispatch_request()
File "/home/nogardvfx/.local/lib/python3.8/site-packages/flask/app.py", line 852, in dispatch_request
 return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
File "/usr/serverApps/Kapowarr/frontend/api.py", line 64, in wrapper
 return method(args, **kwargs)
File "/usr/serverApps/Kapowarr/frontend/api.py", line 207, in wrapper
 result = method(
args, **kwargs)
File "/usr/serverApps/Kapowarr/frontend/api.py", line 398, in api_library_import
 result = propose_library_import(limit, only_english)
File "/usr/serverApps/Kapowarr/backend/library_import.py", line 174, in propose_library_import
 search_results = run(__search_matches(
File "/usr/lib/python3.8/asyncio/runners.py", line 44, in run
 return loop.run_until_complete(main)
File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
 return future.result()
File "/usr/serverApps/Kapowarr/backend/library_import.py", line 37, in __search_matches
 responses = await gather(*tasks)
File "/usr/serverApps/Kapowarr/backend/comicvine.py", line 597, in search_volumes_async
 return self.__process_search_results(query, results)
File "/usr/serverApps/Kapowarr/backend/comicvine.py", line 483, in __process_search_results
 results = [self.__format_volume_output(r) for r in results]
File "/usr/serverApps/Kapowarr/backend/comicvine.py", line 483, in
 results = [self.__format_volume_output(r) for r in results]
File "/usr/serverApps/Kapowarr/backend/comicvine.py", line 303, in __format_volume_output
 result['volume_number'] = int(volume_result.group(1))
ValueError: invalid literal for int() with base 10: 'i'
```

It will look like this:

Traceback (most recent call last):
File "/home/nogardvfx/.local/lib/python3.8/site-packages/flask/app.py", line 1455, in wsgi_app
    response = self.full_dispatch_request()
File "/home/nogardvfx/.local/lib/python3.8/site-packages/flask/app.py", line 869, in full_dispatch_request
    rv = self.handle_user_exception(e)
File "/home/nogardvfx/.local/lib/python3.8/site-packages/flask/app.py", line 867, in full_dispatch_request
    rv = self.dispatch_request()
File "/home/nogardvfx/.local/lib/python3.8/site-packages/flask/app.py", line 852, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
File "/usr/serverApps/Kapowarr/frontend/api.py", line 64, in wrapper
    return method(*args, **kwargs)
File "/usr/serverApps/Kapowarr/frontend/api.py", line 207, in wrapper
    result = method(*args, **kwargs)
File "/usr/serverApps/Kapowarr/frontend/api.py", line 398, in api_library_import
    result = propose_library_import(limit, only_english)
File "/usr/serverApps/Kapowarr/backend/library_import.py", line 174, in propose_library_import
    search_results = run(__search_matches(
File "/usr/lib/python3.8/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
File "/usr/serverApps/Kapowarr/backend/library_import.py", line 37, in __search_matches
    responses = await gather(*tasks)
File "/usr/serverApps/Kapowarr/backend/comicvine.py", line 597, in search_volumes_async
    return self.__process_search_results(query, results)
File "/usr/serverApps/Kapowarr/backend/comicvine.py", line 483, in __process_search_results
    results = [self.__format_volume_output(r) for r in results]
File "/usr/serverApps/Kapowarr/backend/comicvine.py", line 483, in
    results = [self.__format_volume_output(r) for r in results]
File "/usr/serverApps/Kapowarr/backend/comicvine.py", line 303, in __format_volume_output
    result['volume_number'] = int(volume_result.group(1))
ValueError: invalid literal for int() with base 10: 'i'

See the difference? That's why it's important to properly format logs and code when sharing them.