Skip to content

Boosted profiles on the plans, and a real suspension clause - #167

Merged
xuelink merged 3 commits into
mainfrom
claude/boosted-and-suspension
Sep 10, 2026
Merged

Boosted profiles on the plans, and a real suspension clause#167
xuelink merged 3 commits into
mainfrom
claude/boosted-and-suspension

Conversation

@xuelink

@xuelink xuelink commented Sep 10, 2026

Copy link
Copy Markdown
Member

The site half of langx/langx#1274, which ships boosted profiles and account
suspension. This is the hand-kept mirror the README's table describes:
plans.ts and features.ts copy PLAN_LIMITS, and nothing checks that they
stay in step.

Boosted profiles

Fluent buys a place in a strip above the Discover list, shown to people whose
languages match yours, on by default and switchable off in Settings. Polyglot
leads that strip.

It is in both plan lists, for the same reason the translation allowance is:
both plans get it and Polyglot gets more of it, which "everything in Fluent"
would otherwise hide. One feature card rather than two, and the paywall replica
in PaywallScreen.svelte gains the Fluent line it mirrors.

Suspension, in Terms §8

The clause there was boilerplate — "for any reason, including but not limited
to" — and the app now does something specific enough to describe: a person
reviews the report, a suspension is for a stated period or permanent, it is
shown in the app with its end date and the reason, the profile leaves discovery
and search, tokens and streak are kept but nothing is earned, a subscription is
not cancelled by it, and there is one appeal. §4 already pointed at section 8,
so the numbering does not move.

The sentence that stopped being true

Both legal pages said a deleted account becomes invisible immediately. It is
removed from discovery and search immediately, but somebody who already has a
conversation with you can now still open the profile, marked as deleted, until
the data goes 30 days later. Terms §8, Privacy §11 and the data-deletion page
all say that, and the two effective dates move with it. Privacy §11 also states
what a suspension record and an appeal text are kept for, and for how long.

The FAQ said reports "go to a moderation team". There is no team and there is no
console; they are read by a person.

One unrelated commit

7339f43 reflows WelcomeBack.svelte. npm run lint fails on a clean main
without it — CI does not run lint, which is how it got there. One prettier pass,
no words changed, kept as its own commit so the diff that matters stays
readable.

Verification

npm run check (0 errors, 3 pre-existing text-wrap scss warnings),
npm run build, and npm run lint all pass. postbuild's image optimisation
crashes on Node 24 for reasons that predate this branch.

🤖 Generated with Claude Code

xuelink and others added 2 commits September 10, 2026 14:48
Unrelated to the plan work on this branch, in its own commit so the diff
that matters stays readable. `npm run lint` on a clean `main` fails on
this file's line wrapping; CI does not run lint, which is how it got
there. One prettier pass, no words changed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The app side of both landed in langx/langx. This is the hand-kept mirror
the README's table describes: `plans.ts` and `features.ts` copy
`PLAN_LIMITS`, and nothing checks that they stay in step.

**Boosted profiles.** Fluent buys a place in a strip above the Discover
list, shown to people whose languages match yours, on by default and
switchable off in Settings; Polyglot leads that strip. It is in both plan
lists for the same reason the translation allowance is — both plans get
it and Polyglot gets more of it, which "everything in Fluent" would
otherwise hide. One feature card, not two, and the paywall replica in
`PaywallScreen.svelte` gains the Fluent line it mirrors.

**Suspension**, in Terms §8. The clause there was boilerplate — "for any
reason, including but not limited to" — and the app now does something
specific enough to describe: a person reviews the report, a suspension is
for a stated period or permanent, it is shown in the app with its end
date and the reason, the profile leaves discovery and search, tokens and
streak are kept but nothing is earned, a subscription is not cancelled by
it, and there is one appeal. §4 already pointed at section 8, so the
numbering does not move.

**And the sentence that stopped being true.** Both legal pages said a
deleted account becomes invisible immediately. It is removed from
discovery and search immediately; somebody who already has a conversation
can still open the profile, marked as deleted, until the data goes 30
days later. Terms §8, Privacy §11 and the data-deletion page all say that
now, and the two effective dates move with it. Privacy §11 also says what
a suspension record and an appeal are kept for, and for how long.

The FAQ said reports "go to a moderation team". There is no team and
there is no console; they are read by a person.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
I had rewritten this to say reports are "reviewed by a person", on the
grounds that there is no team and no console. Behic's answer: hi@langx.io
will be staffed by a team, so "team" is the true word and the address
belongs in the same sentence — somebody deciding whether the app is safe
wants to know there is somewhere to write, not only that a human reads.

Terms §8 and `docs/community-guidelines.md` still say a report is
reviewed by a person, which stays true either way and is the sentence
that matters there: what they promise is that no machine suspends
anybody.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@xuelink
xuelink marked this pull request as ready for review September 10, 2026 19:55
@xuelink
xuelink merged commit a574626 into main Sep 10, 2026
1 check passed
@xuelink
xuelink deleted the claude/boosted-and-suspension branch September 10, 2026 19:55
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.

1 participant