-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Samuel Ainsworth edited this page Nov 28, 2021
·
30 revisions
Welcome to the cuddlefish wiki!
As much as possible we try to 1-index line number in the backend and hasura. VSCode OTOH uses 0-indexed line numbers.
-
set up sentry
-
email override system?
-
migrate startsession to next.js (this one is highest priority since the current github request logic is custom and brittle, better to use octokit)
- create duplicate hasura action, now that it's gone from the remote schema
- switch vscode extension to the right one
- remove StartCuddlefishSession2 action
-
VSCode extension
- send feedback (make clicking the toolbar button do send feedback?)
- show warning when commenting on a line that does not have a valid email
- warn the user if their personal git config email is not valid
- fix dev mode commands showing up in prod (use setContext)
- handle
git blame
timeouts, eg onall-packages.nix
- implement some mechanism to check the validity of session tokens in the extension and replace them as necessary (set up hasura query to get user details instead of using octokit in the login command)
- set up an icon
- private repo -> interest form
- open line in github
- email link -> open vscode -> show readonly file with comment thread
- disallow commenting on lines from commits that are not pushed yet. See https://stackoverflow.com/questions/2016901/viewing-unpushed-git-commits.
- subscribe for updates
- Use the reply
label
attribute to show "code author", "code committer", etc. - lowprio: what's up with that collapse button?
- verify publisher
- Use WASM libgit2 in place of the git binary.
- publish from CI
- fix "Error: not enough input" (can't reproduce)
-
API
- Migrate away from rust api
- migrate hasura_auth_webhook to next.js
- migrate startthread to next.js
- log all sent email addresses/subjects
- Migrate away from rust api
-
Hasura
- Hasura issues:
- M1 support: https://github.com/hasura/graphql-engine/issues/6337
- hasura console doesn't work on M1: https://github.com/hasura/graphql-engine/issues/7820
- read-only hasura console: https://github.com/hasura/graphql-engine/issues/7728
- postgres 14 support: https://github.com/hasura/graphql-engine/issues/7676
- hasura console over SSH doesn't work (https://github.com/hasura/graphql-engine/issues/4926 and https://github.com/hasura/graphql-engine/discussions/7789)
- can't use base types as action output: https://github.com/hasura/graphql-engine/issues/7805
- Hasura issues:
-
Sending email
- include code snippet syntax highlighting? (shiki? how is the line highlighting with hover accomplished here: https://fatihkalifa.com/typescript-twoslash)
- markdown syntax highlighting? (see https://github.com/antfu/markdown-it-shiki)
- lowprio: auto link @-links
-
Receive email
- check requester ip
-
email notifications for new user signups
-
write an AddComment mutation, disallow empty comments
-
Comment reactions
-
Email reply parsers
- talon (python) developed by malign. uses SVMs for classification of text
- email_reply_trimmer (ruby) the package that discourse develops and uses
- https://github.com/mko/emailreplyparser (node.js) port of github's email_reply_parser. also fork of another port
- https://github.com/andreascreten/email_reply_parser.js (node.js) port of github's parser.
- https://github.com/zapier/email-reply-parser (python) port of github's parser developed by zapier
- https://github.com/t2bot/node-email-reply-parser (node.js) port of php port of github's ruby parser. appears to be the most starred and best supported library on node.js.
- https://github.com/crisp-dev/email-reply-parser (node.js) library developed by Crisp
- Shiki
- grammar typo: https://github.com/shikijs/shiki/pull/261
- Render
- 3000: CRA web frontend (legacy?)
- 3001: rust api
- 3002: next.js
- 5432: postgres
- 8080: hasura
- 9695: dev hasura console
- 11111: prod hasura console
- SendGrid: Pros: can set Message-Id, In-Reply-To, References headers. Cons: shitty SDKs, seems to be insecure
- AWS SES: Pros: cheap, secure. Cons: can't set Message-Id (but can retrieve it), hard/impossible to set In-Reply-To, have to get out of sandbox
- Mailgun: Pros: developer friendly, secure. Cons: expensive, maybe can't set Message-Id?
- Postmark: Pros: looks easy to use. Cons: expensive, doesn't look developer friendly, how do I set Message-Id?
- Pro: performant
- Pro: sane, strong type system
- Con: graphql_client is not well supported, not always type safe (https://github.com/graphql-rust/graphql-client/issues/357, https://github.com/graphql-rust/graphql-client/issues/265, https://github.com/graphql-rust/graphql-client/issues/218, https://github.com/graphql-rust/graphql-client/issues/97)
- Con: no GC is a little annoying sometimes
- Pro: type system is impressively strong, yet flexible
- Pro: good library ecosystem
- Con: errors in
Promise
s can be silently lost - Con: graphql type codegen is shockingly still not that great. Apollo's codegen doesn't seem to be very well supported these days. graphql-code-generator is not perfect either (https://github.com/dotansimha/graphql-code-generator/issues/6916).