···502Note that you should add a newline at the end if setting a non-empty message
503since the knot won't do this for you.
50400000000000000000000000000000505# Spindles
506507## Pipelines
···1561Refer to the [jujutsu
1562documentation](https://jj-vcs.github.io/jj/latest/config/#commit-trailers)
1563for more information.
000000000000000000000000000000000000000000000000000000
···502Note that you should add a newline at the end if setting a non-empty message
503since the knot won't do this for you.
504505+## Troubleshooting
506+507+If you run your own knot, you may run into some of these
508+common issues. You can always join the
509+[IRC](https://web.libera.chat/#tangled) or
510+[Discord](https://chat.tangled.org/) if this section does
511+not help.
512+513+### Unable to push
514+515+If you are unable to push to your knot or repository:
516+517+1. First, ensure that you have added your SSH public key to
518+ your account
519+2. Check to see that your knot has synced the key by running
520+ `knot keys`
521+3. Check to see if git is supplying the correct private key
522+ when pushing: `GIT_SSH_COMMAND="ssh -v" git push ...`
523+4. Check to see if `sshd` on the knot is rejecting the push
524+ for some reason: `journalctl -xeu ssh` (or `sshd`,
525+ depending on your machine). These logs are unavailable if
526+ using docker.
527+5. Check to see if the knot itself is rejecting the push,
528+ depending on your setup, the logs might be in one of the
529+ following paths:
530+ * `/tmp/knotguard.log`
531+ * `/home/git/log`
532+ * `/home/git/guard.log`
533+534# Spindles
535536## Pipelines
···1590Refer to the [jujutsu
1591documentation](https://jj-vcs.github.io/jj/latest/config/#commit-trailers)
1592for more information.
1593+1594+# Troubleshooting guide
1595+1596+## Login issues
1597+1598+Owing to the distributed nature of OAuth on AT Protocol, you
1599+may run into issues with logging in. If you run a
1600+self-hosted PDS:
1601+1602+- You may need to ensure that your PDS is timesynced using
1603+ NTP:
1604+ * Enable the `ntpd` service
1605+ * Run `ntpd -qg` to synchronize your clock
1606+- You may need to increase the default request timeout:
1607+ `NODE_OPTIONS="--network-family-autoselection-attempt-timeout=500"`
1608+1609+## Empty punchcard
1610+1611+For Tangled to register commits that you make across the
1612+network, you need to setup one of following:
1613+1614+- The committer email should be a verified email associated
1615+ to your account. You can add and verify emails on the
1616+ settings page.
1617+- Or, the committer email should be set to your account's
1618+ DID: `git config user.email "did:plc:foobar". You can find
1619+ your account's DID on the settings page
1620+1621+## Commit is not marked as verified
1622+1623+Presently, Tangled only supports SSH commit signatures.
1624+1625+To sign commits using an SSH key with git:
1626+1627+```
1628+git config --global gpg.format ssh
1629+git config --global user.signingkey ~/.ssh/tangled-key
1630+```
1631+1632+To sign commits using an SSH key with jj, add this to your
1633+config:
1634+1635+```
1636+[signing]
1637+behavior = "own"
1638+backend = "ssh"
1639+key = "~/.ssh/tangled-key"
1640+```
1641+1642+## Self-hosted knot issues
1643+1644+If you need help troubleshooting a self-hosted knot, check
1645+out the [knot troubleshooting
1646+guide](/knot-self-hosting-guide.html#troubleshooting).