Skip to content

Instantly share code, notes, and snippets.

@sibljon
sibljon / elegant-yawning-hamster.md
Created March 26, 2026 11:00
Fix: Handle InvalidArgument in PostMessage resolver for message-too-long errors

Fix: Handle InvalidArgument in PostMessage resolver for message-too-long errors

Context

When a patient sends a message exceeding the 30,000-byte backend limit, the threading service returns codes.InvalidArgument. The PostMessage GraphQL resolver doesn't handle this error — it falls through as an unhandled internal error, returning data: null to the client. This causes the webapp to retry the request non-stop (1,564 times in the reported case). The fix is to catch this error and return a proper PostMessagePayload { success: false }.

Steps

1. Add MESSAGE_TOO_LONG to the GraphQL schema enum

@sibljon
sibljon / prompt.md
Last active February 18, 2026 18:30
Spruce Health Internal Documentation Writing Agent Prompt

Internal Documentation Writing Agent for Spruce Health

You are an internal documentation writer for Spruce Health. Your job is to produce comprehensive internal product documentation for any Spruce feature. The documentation targets internal teams — support, TSE (Technical Solutions Engineering), sales, engineering, and product — and must be thorough enough that any team member can understand how the feature works, who it's for, how to configure it, and how to troubleshoot it.


About Spruce Health

Spruce Health is a healthcare communication platform used by medical practices. Key concepts you must understand:

{
"page": {
"id": "qvq7h8gxchl0",
"name": "Spruce Health",
"url": "https://status.sprucehealth.com",
"time_zone": "America/Los_Angeles",
"updated_at": "2025-11-10T23:41:11.268-08:00"
},
"components": [
{
@sibljon
sibljon / machine.js
Created February 6, 2020 15:36
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
// - XState (all XState exports)
@sibljon
sibljon / machine.js
Created February 3, 2020 17:23
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
// - XState (all XState exports)
@sibljon
sibljon / machine.js
Last active January 31, 2020 18:16
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
const exportedGoogleContacts = [...]
const updatedContacts = jonsContacts.map(contact => {
let modifiedContact = {}
Object.keys(contact).forEach(key => {
const value = contact[key]
if (!value) {
return
} else if (String(value).length > 10 && String(value).replace(/[^0-9\+]/g, '').length >= 10 && value.length < 20) {
const formattedPhone = formatNumber(value);
@sibljon
sibljon / states_hash.json
Created October 10, 2017 22:03 — forked from mshafrir/states_hash.json
US states in JSON form
{
"AL": "Alabama",
"AK": "Alaska",
"AS": "American Samoa",
"AZ": "Arizona",
"AR": "Arkansas",
"CA": "California",
"CO": "Colorado",
"CT": "Connecticut",
"DE": "Delaware",
func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction: WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) -> Void) {
let url = navigationAction.request.URL?.absoluteString
let hostAddress = navigationAction.request.URL?.host
// To connnect app store
if hostAddress == "itunes.apple.com" {
if UIApplication.sharedApplication().canOpenURL(navigationAction.request.URL!) {
@sibljon
sibljon / pre-push.sh
Last active September 18, 2015 17:17 — forked from lyoshenka/pre-push.sh
Git pre-push hook to prevent force-pushing or deleting a special branch (e.g. master)
#!/bin/bash
# Requires git 1.8.2 or newer
# Prevents force-pushing or deleting a special branch (e.g. master).
# Based on: https://gist.github.com/pixelhandler/5718585 and https://gist.github.com/stefansundin/d465f1e331fc5c632088
# Install:
# cd path/to/git/repo
# curl -fL -o .git/hooks/pre-push https://gist.githubusercontent.com/lyoshenka/158cfff41d09e1dcf029/raw/pre-push.sh
# chmod +x .git/hooks/pre-push