Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eef991c1c5 | ||
|
|
cb31608523 | ||
|
|
17404f0e41 |
39
.github/DISCUSSION_TEMPLATE/ideas.yaml
vendored
Normal file
39
.github/DISCUSSION_TEMPLATE/ideas.yaml
vendored
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Thanks for the suggestion.
|
||||||
|
|
||||||
|
For larger changes, please align with maintainers before investing time.
|
||||||
|
Security issues should go to https://fluxer.app/security.
|
||||||
|
- type: textarea
|
||||||
|
id: problem
|
||||||
|
attributes:
|
||||||
|
label: Problem
|
||||||
|
description: What problem are you trying to solve, and for whom?
|
||||||
|
placeholder: "Right now, users can't ..., which causes ..."
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: proposal
|
||||||
|
attributes:
|
||||||
|
label: Proposed solution
|
||||||
|
description: What would you like to see happen?
|
||||||
|
placeholder: "Add ..., so that ..."
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: notes
|
||||||
|
attributes:
|
||||||
|
label: Notes (optional)
|
||||||
|
description: Constraints, rough plan, or links to relevant code.
|
||||||
|
placeholder: "Notes: ...\nPotential files/areas: ..."
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: checkboxes
|
||||||
|
id: checks
|
||||||
|
attributes:
|
||||||
|
label: Checks
|
||||||
|
options:
|
||||||
|
- label: I searched for existing discussions and didn't find a duplicate.
|
||||||
|
required: true
|
||||||
75
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
75
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -1,100 +1,57 @@
|
|||||||
name: Bug report
|
name: Bug report
|
||||||
description: Report a reproducible problem in fluxer
|
description: Report a reproducible problem in Fluxer
|
||||||
title: 'bug: '
|
|
||||||
labels: ['bug']
|
labels: ['bug']
|
||||||
body:
|
body:
|
||||||
- type: markdown
|
- type: markdown
|
||||||
attributes:
|
attributes:
|
||||||
value: |
|
value: |
|
||||||
Thanks for the report!
|
Thanks for the report.
|
||||||
|
|
||||||
**Security note:** Please do not report security issues here. Use https://fluxer.app/security instead.
|
Please check for existing issues before filing.
|
||||||
|
Security issues should go to https://fluxer.app/security.
|
||||||
Before filing, please check for existing issues and include enough detail for someone else to reproduce.
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
id: summary
|
id: summary
|
||||||
attributes:
|
attributes:
|
||||||
label: Summary
|
label: Summary
|
||||||
description: What happened, in one or two sentences?
|
description: What happened, and what did you expect instead?
|
||||||
placeholder: 'When I ..., the app ..., but I expected ...'
|
placeholder: "When I ..., the app ..., but I expected ..."
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
id: repro
|
id: repro
|
||||||
attributes:
|
attributes:
|
||||||
label: Steps to reproduce
|
label: Steps to reproduce
|
||||||
description: Provide clear, numbered steps. Include any relevant data/inputs.
|
description: Provide clear, numbered steps.
|
||||||
placeholder: |
|
placeholder: |
|
||||||
1. Go to ...
|
1. Go to ...
|
||||||
2. Click ...
|
2. Click ...
|
||||||
3. See error ...
|
3. See ...
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
id: expected
|
|
||||||
attributes:
|
|
||||||
label: Expected behavior
|
|
||||||
placeholder: 'It should ...'
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
id: actual
|
|
||||||
attributes:
|
|
||||||
label: Actual behavior
|
|
||||||
placeholder: 'Instead, it ...'
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: dropdown
|
|
||||||
id: area
|
|
||||||
attributes:
|
|
||||||
label: Area
|
|
||||||
description: Where does this bug appear?
|
|
||||||
options:
|
|
||||||
- Backend / API
|
|
||||||
- Frontend / Web
|
|
||||||
- Mobile
|
|
||||||
- CLI / tooling
|
|
||||||
- CI / build
|
|
||||||
- Docs
|
|
||||||
- Not sure
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
id: environment
|
id: environment
|
||||||
attributes:
|
attributes:
|
||||||
label: Environment
|
label: Environment (optional)
|
||||||
description: Include versions that matter (commit SHA/tag, OS, runtime, browser/device).
|
description: Include versions that matter (commit/tag, OS, runtime, browser/device).
|
||||||
placeholder: |
|
placeholder: |
|
||||||
- Commit/Tag:
|
- Commit/Tag:
|
||||||
- OS:
|
- OS:
|
||||||
- Runtime (node/go/python/etc):
|
- Runtime:
|
||||||
- Browser (if applicable):
|
- Browser (if applicable):
|
||||||
- Deployment (local/dev/prod):
|
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: false
|
||||||
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
id: logs
|
id: logs
|
||||||
attributes:
|
attributes:
|
||||||
label: Logs / screenshots
|
label: Logs or screenshots (optional)
|
||||||
description: Paste logs (redact secrets) and/or attach screenshots/recordings.
|
description: Paste logs (redact secrets) or attach screenshots/recordings.
|
||||||
placeholder: 'Paste stack traces, console output, network errors, etc.'
|
placeholder: "Paste stack traces, console output, network errors, etc."
|
||||||
validations:
|
validations:
|
||||||
required: false
|
required: false
|
||||||
|
|
||||||
- type: checkboxes
|
- type: checkboxes
|
||||||
id: checks
|
id: checks
|
||||||
attributes:
|
attributes:
|
||||||
label: Pre-flight checks
|
label: Checks
|
||||||
options:
|
options:
|
||||||
- label: I searched for existing issues and didn't find a duplicate.
|
- label: I searched for existing issues and didn't find a duplicate.
|
||||||
required: true
|
required: true
|
||||||
- label: This is not a security vulnerability report (those go to https://fluxer.app/security).
|
|
||||||
required: true
|
|
||||||
- label: I included enough information to reproduce the issue.
|
|
||||||
required: true
|
|
||||||
|
|||||||
3
.github/ISSUE_TEMPLATE/config.yml
vendored
3
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -1,5 +1,8 @@
|
|||||||
blank_issues_enabled: false
|
blank_issues_enabled: false
|
||||||
contact_links:
|
contact_links:
|
||||||
|
- name: Feature requests
|
||||||
|
url: https://github.com/orgs/fluxerapp/discussions
|
||||||
|
about: Suggest an improvement or new capability.
|
||||||
- name: Security vulnerability report
|
- name: Security vulnerability report
|
||||||
url: https://fluxer.app/security
|
url: https://fluxer.app/security
|
||||||
about: Please report security issues privately using our security policy.
|
about: Please report security issues privately using our security policy.
|
||||||
|
|||||||
25
.github/ISSUE_TEMPLATE/docs.yml
vendored
25
.github/ISSUE_TEMPLATE/docs.yml
vendored
@@ -1,45 +1,42 @@
|
|||||||
name: Documentation
|
name: Documentation
|
||||||
description: Report a docs issue or suggest an improvement
|
description: Report a docs issue or suggest an improvement
|
||||||
title: 'docs: '
|
|
||||||
labels: ['docs']
|
labels: ['docs']
|
||||||
body:
|
body:
|
||||||
- type: markdown
|
- type: markdown
|
||||||
attributes:
|
attributes:
|
||||||
value: |
|
value: |
|
||||||
Thanks! Clear docs save everyone time.
|
Thanks.
|
||||||
|
|
||||||
**Security note:** Please do not report security issues here. Use https://fluxer.app/security instead.
|
Please check for existing issues before filing.
|
||||||
|
Security issues should go to https://fluxer.app/security.
|
||||||
- type: textarea
|
- type: textarea
|
||||||
id: issue
|
id: issue
|
||||||
attributes:
|
attributes:
|
||||||
label: What's wrong or missing?
|
label: What needs fixing?
|
||||||
description: Describe the docs gap, error, ambiguity, or outdated info.
|
description: Describe the gap, error, or outdated content.
|
||||||
placeholder: 'The README says ..., but actually ...'
|
placeholder: "The README says ..., but actually ..."
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
id: location
|
id: location
|
||||||
attributes:
|
attributes:
|
||||||
label: Where is it?
|
label: Where is it? (optional)
|
||||||
description: Link the file/section if possible.
|
description: Link the file/section if possible.
|
||||||
placeholder: "File: ...\nSection/heading: ...\nLink: ..."
|
placeholder: "File: ...\nSection/heading: ...\nLink: ..."
|
||||||
validations:
|
validations:
|
||||||
required: false
|
required: false
|
||||||
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
id: suggestion
|
id: suggestion
|
||||||
attributes:
|
attributes:
|
||||||
label: Suggested improvement (optional)
|
label: Suggested wording (optional)
|
||||||
description: If you already know how it should read, propose wording.
|
description: If you already know how it should read, propose text.
|
||||||
placeholder: 'Proposed text: ...'
|
placeholder: "Proposed text: ..."
|
||||||
validations:
|
validations:
|
||||||
required: false
|
required: false
|
||||||
|
|
||||||
- type: checkboxes
|
- type: checkboxes
|
||||||
id: checks
|
id: checks
|
||||||
attributes:
|
attributes:
|
||||||
label: Pre-flight checks
|
label: Checks
|
||||||
options:
|
options:
|
||||||
- label: I searched for existing issues and didn't find a duplicate.
|
- label: I searched for existing issues and didn't find a duplicate.
|
||||||
required: true
|
required: true
|
||||||
|
|||||||
82
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
82
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
@@ -1,82 +0,0 @@
|
|||||||
name: Feature request
|
|
||||||
description: Suggest an improvement or new capability
|
|
||||||
title: 'feat: '
|
|
||||||
labels: ['enhancement']
|
|
||||||
body:
|
|
||||||
- type: markdown
|
|
||||||
attributes:
|
|
||||||
value: |
|
|
||||||
Thanks for taking the time to propose an improvement.
|
|
||||||
|
|
||||||
If this is **larger work** (new feature, meaningful refactor, new dependency, new API surface, behavior change),
|
|
||||||
it's best to align with maintainers early; an issue like this is a great place to do that.
|
|
||||||
|
|
||||||
**Security note:** Please do not report security issues here. Use https://fluxer.app/security instead.
|
|
||||||
- type: textarea
|
|
||||||
id: problem
|
|
||||||
attributes:
|
|
||||||
label: Problem / motivation
|
|
||||||
description: What problem are you trying to solve? Who is it for?
|
|
||||||
placeholder: "Right now, users can't ..., which causes ..."
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
id: proposal
|
|
||||||
attributes:
|
|
||||||
label: Proposed solution
|
|
||||||
description: What would you like to see happen? Include UX/API shape if relevant.
|
|
||||||
placeholder: 'Add ..., so that ...'
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
id: alternatives
|
|
||||||
attributes:
|
|
||||||
label: Alternatives considered
|
|
||||||
description: Other approaches you considered, and why they're worse.
|
|
||||||
placeholder: "- Option A: ...\n- Option B: ..."
|
|
||||||
validations:
|
|
||||||
required: false
|
|
||||||
|
|
||||||
- type: dropdown
|
|
||||||
id: impact
|
|
||||||
attributes:
|
|
||||||
label: Impact
|
|
||||||
description: Roughly how big is this change?
|
|
||||||
options:
|
|
||||||
- Small (localized, low risk)
|
|
||||||
- Medium (touches multiple areas)
|
|
||||||
- Large (new surface area / refactor / dependency)
|
|
||||||
- Not sure
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: checkboxes
|
|
||||||
id: compatibility
|
|
||||||
attributes:
|
|
||||||
label: Compatibility
|
|
||||||
options:
|
|
||||||
- label: This might be a breaking change (behavior/API).
|
|
||||||
required: false
|
|
||||||
- label: This introduces a new dependency.
|
|
||||||
required: false
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
id: scope
|
|
||||||
attributes:
|
|
||||||
label: Scope / implementation notes
|
|
||||||
description: Constraints, rough plan, or links to relevant code.
|
|
||||||
placeholder: "Notes: ...\nPotential files/areas: ..."
|
|
||||||
validations:
|
|
||||||
required: false
|
|
||||||
|
|
||||||
- type: checkboxes
|
|
||||||
id: contribution
|
|
||||||
attributes:
|
|
||||||
label: Contribution
|
|
||||||
options:
|
|
||||||
- label: I'm willing to open a PR for this (after maintainer alignment).
|
|
||||||
required: false
|
|
||||||
- label: I can help test/verify a PR for this.
|
|
||||||
required: false
|
|
||||||
17
README.md
17
README.md
@@ -1,3 +1,20 @@
|
|||||||
|
> [!CAUTION]
|
||||||
|
> Holy smokes, what a ride. Fluxer is taking off much earlier than I'd expected.
|
||||||
|
>
|
||||||
|
> Over the past month, I've been working on a major refactor that touches every part of the codebase. The goal is to make Fluxer easier to develop, fully documented, and much simpler and lighter to self-host. This update also includes plenty of bug fixes and improvements, and it should help the Fluxer.app hosted deployment handle the current load far better.
|
||||||
|
>
|
||||||
|
> I know it's hard to resist, but please wait a little longer before you dive deep into the current codebase or try to set up self-hosting. I'm aware the current stack isn't very lightweight. In the next update, self-hosting should be straightforward, with a small set of services: Fluxer Server (TypeScript) using SQLite for persistence, Gateway (Erlang), and optionally LiveKit for voice and video.
|
||||||
|
>
|
||||||
|
> Self-hosted deployments won't include any traces of Plutonium, and nothing is paywalled. You can still configure your own tiers and limits in the admin panel.
|
||||||
|
>
|
||||||
|
> Thanks for bearing with me. Development on Fluxer is about to get much easier, and the project will be made sustainable through community contributions and bounties for development work. Stay tuned – there's not much left now.
|
||||||
|
>
|
||||||
|
> I thought I could take it a bit easier while shipping this stabilising update, but Discord's recent announcement has changed things.
|
||||||
|
>
|
||||||
|
> As soon as the refactor is live, I'll interact more actively and push updates to this repository more frequently. The remaining parts of the refactor are currently being worked on and are being tested by a small group of testers before I'm comfortable pushing everything publicly. After that, all work will happen openly in public.
|
||||||
|
>
|
||||||
|
> ❤️
|
||||||
|
|
||||||
<div align="left" style="margin:12px 0 8px;">
|
<div align="left" style="margin:12px 0 8px;">
|
||||||
<img src="./media/logo-graphic.png" alt="Fluxer graphic logo" width="360">
|
<img src="./media/logo-graphic.png" alt="Fluxer graphic logo" width="360">
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user