Skip to content

Release 3.1.1: Instagram works on a fresh install; printable guide rewritten - #26

Merged
sathyaprakash000 merged 5 commits into
mainfrom
claude/install-guide-3.1.1
Oct 26, 2026
Merged

sathyaprakash000 merged 5 commits into
mainfrom
claude/install-guide-3.1.1

Conversation

@sathyaprakash000

@sathyaprakash000 sathyaprakash000 commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Fixes

  • Instagram could not be connected on a fresh install. The Social section refuses to save Instagram credentials without SOCIAL_ENCRYPTION_KEY, and nothing generated it. install.sh and generate-secrets.sh now generate it with the other secrets, only when it is empty, so an existing key is never changed. .env.example documents it.

  • The installer's closing "Next steps" said Admin Settings → WhatsApp Accounts, a menu that no longer exists. It now says Settings → WhatsApp → Accounts and adds Settings → Instagram → Connection.

  • The installer hung forever, silently, on Alpine / docker:dind. BusyBox's lsof ignores its arguments and exits 0, so every port read as busy and the free-port walk never ended. A BusyBox lsof is now skipped in favour of netstat, and the walk stops with a clear message after 100 ports.

Docs

  • docs/ForgeGrowth-Installation-Guide.pdf is rewritten. The old one predated 1.0.0 and sent readers to Admin Settings → Domain (removed in 3.0.0) in five places. The new one adds the zip route, a chapter on connecting Instagram, and domain checks that use curl. Its source is docs/guide/installation-guide.html; scripts/make-guide.sh renders it with WeasyPrint in a throwaway container.
  • docs/social-section.md: the installer now generates the key. docs/install.md backups section: back up SOCIAL_ENCRYPTION_KEY too.

Release prep (same pattern as 3.1.0)

Changelog [3.1.1], pins v3.1.0 → v3.1.1 in README, install.md and SECURITY.md, package versions, and dist/forge-growth-v3.1.0.zip → forge-growth-v3.1.1.zip, built with make-bundle.sh (all links verified).

Tested

  • Upgrade path: installed v3.1.0 in an isolated project. Instagram credentials were blocked there: canSaveSecrets: false and no key in .env. Re-ran this branch's installer over it: generated SOCIAL_ENCRYPTION_KEY, canSaveSecrets: true, and saving an app secret through PUT /api/social/credentials succeeded. The new "Next steps" text printed.
  • HTTPS (--domain) end to end, in an isolated docker:dind container (which is how the hang above was found): this branch's installer with --domain crm.fgtest.internal --tls-email internal. Caddy started on 80/443 and served a certificate for the domain; HTTP returned 308 to HTTPS; /api/auth/me answered through HTTPS; web was bound to 127.0.0.1 only; TLS_MODE=caddy; sign-in was verified. Not covered: real Let's Encrypt issuance, which needs public ports 80/443.
  • PDF rendered (20 pages) and checked visually.

After merge

Tag this PR's merge commit v3.1.1, wait for Publish images, then gh release create v3.1.1 dist/forge-growth-v3.1.1.zip.

🤖 Generated with Claude Code

forgemindbusiness and others added 5 commits October 26, 2026 10:26
…e for 3.1.1

Instagram could not be connected on a fresh install: the Social section
refuses to save credentials without SOCIAL_ENCRYPTION_KEY and nothing set
it. install.sh and generate-secrets.sh now generate it with the other
secrets (only when empty). The installer's closing message also named a
Settings path that no longer exists.

The installation guide PDF predated 1.0.0 and pointed at Admin Settings ->
Domain, removed in 3.0.0. It is rewritten from an HTML source in
docs/guide/, rendered by the new scripts/make-guide.sh.

Release prep for 3.1.1: changelog, version pins, package versions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
On Alpine (and docker:dind) lsof is BusyBox's, which ignores its
arguments and exits 0. Every port read as in use, so the free-port walk
never ended and the install hung with no output after 'install name'.
Skip a BusyBox lsof in favour of netstat, and stop after 100 ports.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sathyaprakash000
sathyaprakash000 merged commit 45afe0a into main Oct 26, 2026
9 checks passed
@sathyaprakash000
sathyaprakash000 deleted the claude/install-guide-3.1.1 branch October 26, 2026 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants