Comments (4)
Allright, after diggin a bit into it i could get the following errors.
This is what i get from the chrome developer-console:
And this is what i can see from the docker-compose logs:
docspell-restserver | java.lang.Exception: Hook 'FGTzoaUQ1vf-jcMwDLx2hWw-MadYsUVS8on-j4ftUFjRnVm' has no associated channels!
docspell-restserver | at docspell.store.records.RNotificationHookChannel$.$anonfun$allOfNel$4(RNotificationHookChannel.scala:174)
docspell-restserver | at scala.Option.getOrElse(Option.scala:201)
docspell-restserver | at docspell.store.records.RNotificationHookChannel$.$anonfun$allOfNel$2(RNotificationHookChannel.scala:174)
docspell-restserver | at cats.free.Free.$anonfun$step$1(Free.scala:76)
docspell-restserver | at cats.free.Free.step(Free.scala:77)
docspell-restserver | at cats.free.Free.$anonfun$foldMap$1(Free.scala:164)
docspell-restserver | at cats.data.KleisliFlatMap.$anonfun$tailRecM$2(Kleisli.scala:701)
docspell-restserver | at cats.StackSafeMonad.tailRecM(StackSafeMonad.scala:37)
docspell-restserver | at cats.StackSafeMonad.tailRecM$(StackSafeMonad.scala:36)
docspell-restserver | at flatMap @ fs2.Compiler$Target.flatMap(Compiler.scala:163)
docspell-restserver | at $anonfun$tailRecM$1 @ doobie.util.transactor$Transactor$$anon$4.$anonfun$apply$4(transactor.scala:165)
docspell-restserver | at flatMap @ fs2.Compiler$Target.flatMap(Compiler.scala:163)
docspell-restserver | at $anonfun$tailRecM$1 @ doobie.util.transactor$Transactor$$anon$4.$anonfun$apply$4(transactor.scala:165)
docspell-restserver | at $anonfun$tailRecM$1 @ doobie.util.transactor$Transactor$$anon$4.$anonfun$apply$4(transactor.scala:165)
docspell-restserver | at blocking @ fs2.io.file.FilesCompanionPlatform$AsyncFiles.exists(FilesPlatform.scala:219)
docspell-restserver | at flatMap @ fs2.Compiler$Target.flatMap(Compiler.scala:163)
docspell-restserver | at $anonfun$tailRecM$1 @ doobie.util.transactor$Transactor$$anon$4.$anonfun$apply$4(transactor.scala:165)
docspell-restserver | at flatMap @ fs2.Compiler$Target.flatMap(Compiler.scala:163)
docspell-restserver | at $anonfun$tailRecM$1 @ doobie.util.transactor$Transactor$$anon$4.$anonfun$apply$4(transactor.scala:165)
docspell-restserver | at flatMap @ fs2.Compiler$Target.flatMap(Compiler.scala:163)
docspell-restserver | at $anonfun$tailRecM$1 @ doobie.util.transactor$Transactor$$anon$4.$anonfun$apply$4(transactor.scala:165)
docspell-restserver | at $anonfun$tailRecM$1 @ doobie.util.transactor$Transactor$$anon$4.$anonfun$apply$4(transactor.scala:165)
docspell-restserver | at delay @ docspell.logging.impl.ScribeWrapper$Impl.log(ScribeWrapper.scala:29)
docspell-restserver | at flatMap @ fs2.Compiler$Target.flatMap(Compiler.scala:163)
docspell-restserver | at $anonfun$tailRecM$1 @ doobie.util.transactor$Transactor$$anon$4.$anonfun$apply$4(transactor.scala:165)
Not sure if this could be an reverse-proxy config. I've been playing around a bit with it, so here is the config (with some out commented lines)
<VirtualHost *:80>
ServerName docs.fuchscloud.de
ProxyPreserveHost On
ProxyPass / http://192.168.127.232:7880/
ProxyPassReverse / http://192.168.127.232:7880/
RewriteEngine on
# RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
RewriteCond %{SERVER_NAME} =docs.fuchscloud.de
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName docs.fuchscloud.de
ProxyPreserveHost On
#ProxyPass /api/v1/sec/ws ws://192.168.127.232:7880/api/v1/sec/ws
#ProxyPassReverse /api/v1/sec/ws ws://192.168.127.232:7880/api/v1/sec/ws
#ProxyPass /(.*) http://192.168.127.232:7880/$1
ProxyPass / http://192.168.127.232:7880/
#ProxyPassReverse /(.*) http://192.168.127.232:7880/$1
ProxyPassReverse / http://192.168.127.232:7880/
RewriteEngine on
RewriteCond %{SERVER_NAME} =docs.fuchscloud.de
# RewriteRule ^ http://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
# RewriteRule /api/v1/sec/ws ws://192.168.127.232:7880/api/v1/sec/ws [P,L]
Include /etc/apache2/sites-enabled/local-network.config
Include /etc/apache2/ssl-options.conf
</VirtualHost>
from docspell.
Hi @mikedolx oh that doesn't look nice. For some reason you have a notification hook without a "channel". I think it would be good to check the table notification_hook
. there are foreign keys into other tables for a certain channel, like notification_channel_gotify
etc. The problematic hook has id FGTzoaUQ1vf-jcMwDLx2hWw-MadYsUVS8on-j4ftUFjRnVm
- perhaps you can see in the db some obvious link problem. It would be interesting how you came to this state.
from docspell.
Hi @eikek ,
thanks fΓΌr the reply. It took me some time, to get pgadmin attached to the db, but here i am now. Please find below a screenshot of my notification_hook
table. You may tell me if something looks odd π
EDIT: To answer your question: I don't actually know how i get into this state. I just created one webhook after another. As they did not show up in the ui i thought, that something must be wrong, so i created another one. This issue persists a bit longer, as you can see by the creation date of the hooks.
Nevertheless, if i edit a document, i get bombarded by notifications triggered by the webhooks. I think i could workaround the notification bombardement by creating another webhook, that points to a different http-address.
from docspell.
I'm sorry, I'd need another table :) The table you showed is the main one and you can see the first row is the hook that is in a bad state (it's id is mentioned in the exception in the logs). If you don't hang on to it too strongly you can just delete that row. Then the error won't appear anymore.
For the cause, there is another table, connecting channels to a hook. So that one hook can use multiple channels to send its messages (gotify, matrix etc). This table is notification_hook_channel
. It probably doesn't have an entry for the FGTzoaUQ1vf-β¦
notification hook (or all channel_x
columns are null).
The message bombardment is probably caused by too many hooks triggered for the same event. If you like to start from scratch, you can empty the table notification_hook_channel
and afterwards notification_hook
.
from docspell.
Related Issues (20)
- Docspell doesn't upload documents HOT 2
- FR: Allow meta data (e.g. tag) in webapp upload HOT 1
- FR: Allow to find all documents without tags or deselect all tags easily HOT 1
- Not all folders (meta tag folder) are shown in item search (with possible explanation) HOT 4
- Errors while processing documents HOT 1
- FR: Allow search name and search content together HOT 1
- FR: Put power search selection on main search page HOT 1
- FR: Power search text box background string HOT 1
- FR: Allow power search for "no" tag HOT 1
- weasyprint failing to convert any HTML inside docker HOT 1
- Add "package" option for docspell nix modules HOT 1
- Addon collectOutput documentation does not reflect what actually happens
- Invalid addon output not handled properly
- opening password protected PDFs does not work HOT 4
- When SSO with OpenID is set, Login Screen always skipped to Identity Provider HOT 5
- nix: option logout-url does not exist HOT 4
- Addon with docker results in Joex raising java.nio.file.NotDirectoryException HOT 5
- Joex fails to start: SQL processing failed HOT 7
- Running addon in docker fails: Error response from daemon: invalid mount config for type "bind": bind source path does not exist HOT 9
- Japanese and CJK Testing & Optimizations HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from docspell.