fuelrats / fuelrats.com Goto Github PK
View Code? Open in Web Editor NEWMain website of the Fuel Rats. Elite: Dangerous's premier emergency refueling service.
Home Page: https://www.fuelrats.com
License: BSD 3-Clause "New" or "Revised" License
Main website of the Fuel Rats. Elite: Dangerous's premier emergency refueling service.
Home Page: https://www.fuelrats.com
License: BSD 3-Clause "New" or "Revised" License
from WEB-69
TODO
It would be really cool if we could have a first and last used/login date display for each client so the user can better identify unauthorized usage of their account.
The redux patterns of old leave the website rather bloated since our entire redux boilerplate needs to be included with the initial download. Removing this hard coupling to ~/store
may improve bundle sizes. Further, the old react-redux patterns of mSTP
and mDTP
are rather inflexible and should really be avoided.
I am going through each connected class component and either rewriting them or removing their coupling to the store.
This progress can be tracked on the refactor/remove-connect-hoc
branch.
Remaining tasks (as of issue creation):
<AddRatForm />
useForm()
based form component.<RatLeaderboardTable />
<AddNicknameForm />
useForm()
based form component.<LoginModal />
<DefaultRatButton />
<RatCard />
<RatShipLine />
<TermsModal />
<UserNicknamesPanel />
~/pages/[slug].js
~/pages/authorize.js
~/pages/i-need-fuel.js
~/pages/admin/rescues.js
~/pages/paperwork/[rescueId]/edit.js
~/pages/paperwork/[rescueId]/index.js
~/store
paste.fuelrats.com
We should have an option added to <ApiErrorBox />
which auto-generates error report documents and posts them to {{paste.fuelrats.com}}.
The final method of sending this report is still in flux. just some ideas:
Copy for text block:
TODO
Object to pass to API is as such:
interface CertBase {
ratId: string; // Inferred from rat dropdown
userId: string; // current user ID
cmdrname: string; // Inferred from rat dropdown
email: string; // current user email
address?: string;
fullname?: string;
postcode?: string; // ZIP code
postname?: string; // City
region?: string; // state/region
country?: string;
}
Avatars on both the API and the default avatar service now default to webp
. This is fine for all but older versions of Safari. We should implement a way to detect support and fallback to when not available. Both avatar sources accept size and format arguments.
size
and format
.
size
is a number in the range of >=32 && <=256
format
may be one of ['webp', 'png', 'jpeg']
/api/avatars/:id/:size?/:format?
, but also accepts size
and format
as query parameters.
size
and format
accept the same values as the FuelRats APIThis issue is for tracking progress of a new way of displaying rescue data on the board.
Tables are kinda old, yo.
RadioInput fails to be placed within tab order, making it inaccessible for screen readers
Input options should also have a focus state
I expect the thing to bloody work with tab controls
No response
No response
just.. look at it. need I say more?
<TagsInput />
instead of inherit it.react-table-6
will soon become a React 18 upgrade blocker due to it's use of UNSAFE_
methods.
We need to investigate paths forward.
react-table
v7
selectAvatarByUserId()
selector needs to be modified in the following ways
user.attributes.image
has become user.relationships.avatar
. Avatars are now represented as a relationship instead, so we need to check if the relationship exists to determine if the user's avatar should be used.url = `/api/fr/:userId/image?v=${user.relationships.avatar.data.id}\`
from WEB-7
Right now each page has the default description of
The Fuel Rats are Elite: Dangerous's premier emergency refueling service. Fueling the galaxy, one ship at a time, since 3301.
This should really only be used for the front page and MAYBE /i-need-fuel
everything else could have a custom description.
/i-need-fuel
on mobile, a notification should appear warning of spotty connection issues.
We are getting an increasing number of clients joining from mobile devices (especially now with the Xbox surge). Many of them end up being bouncy because their device suspends the browser with the IRC webclient. This has already led to failed rescues because the client got frustrated with the spotty communication.
Suggestion: Add a hint to the connection page at https://clients.fuelrats.com:7778/
e.g. "If you are connecting from a mobile device, make sure to keep its screen active so our connection will not be interrupted."
The hint could be selectively shown to mobile users with some CSS, e.g. https://stackoverflow.com/a/42835826
Possible contra: Any extra text for the client to read would delay their preparation in CR cases.
/i-need-fuel
is rather naive. We should switch to something like ua-parser-js
for more in-depth results. This also makes mobile checking easier.Mozilla/5.0 (PlayStation; PlayStation 4/8.52) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Safari/605.1.15
Currently, the paperwork viewer renders unidentified rats, however the edit view does not expose unidentified rats at all. Currently the only way short of direct database manipulation to correct the unidentified rats field is to re-open the case in mecha and deal with it there.
This has caused an issue at least once, where a case was closed without cleaning up unidentified rats, while other rescues were still active. the Rat responsible for correcting the paperwork was unable to remidy this via the website, nor was an overseer able to nor was an netadmin.
The request: add some mechanism to the paperwork editor to allow modifying the unidentified_rats field of a rescue to the edit paperwork view.
Hey! I am trialing where GH Issues has come over the past few years. I have imported a good chunk of our backlog and testing to see if it's worth swapping back from our internal JIRA.
This does not mean we are abandoning JIRA, only that I am exploring other options.
Carousel images are requested multiple times from the worker
Each image should only be gathered once.
We have a new rest api built by NoLifeKing which renders data in JSONAPI format, includes and all. We can use it to significantly speed up our blog load times by dropping the synchronous request loading we do now in favor of having a all-in-one page that includes related data for us.
api docs: https://github.com/FuelRats/fuelrats-blogapi
Page should have some boilerplate "about us" blurbs, images, logos, and the how-to posters we have accumulated through the years. Each should have attached copyright information to make it as easy as possible for those who wish to use our assets.
Checkbox lacks a "hover" or "focus" state to use when focused by tab select.
checkbox should have special styling when selected by tab selection.
/register
)No response
No response
This feature has been partially implemented with a half-baked UI. We should revisit it someday soon.
The API requires the following request to delete a client:
(This may change to include the client secret soon)
DELETE /clients/:id
Authentication: Bearer <token>
The API requires the following request to revoke all tokens:
POST /oauth/revokeAll
Authentication: <ClientId>:<ClientSecret>
Checkout quickstart: https://stripe.com/docs/payments/checkout/one-time
On fuelrats.dev
and fuelrats.com
, security headers are sent by NGINX. next-safe
sends the same headers, causing duplicates. This reeks havoc in Safari, where duplicate headers are concatenated instead of overwritten like other browsers.
The fix for this is to submit a PR to next-safe
allowing us to disable specific features, then disable security features depending on dev mode
No duplicate headers!
N/A
No response
No response
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.