Skip to content

Create a warning that Safari is unsupported #183

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Keavon opened this issue Jun 12, 2021 · 6 comments · Fixed by #209
Closed

Create a warning that Safari is unsupported #183

Keavon opened this issue Jun 12, 2021 · 6 comments · Fixed by #209
Assignees
Labels
Good First Issue Good for newcomers Web Involves web programming (TypeScript, Svelte, CSS)
Milestone

Comments

@Keavon
Copy link
Member

Keavon commented Jun 12, 2021

Create a way to tell the user that their browser is unsupported. Provide justification to avoid pissing people off. The reason is Safari's lack of support for the BigInt64Array API, because Safari is basically today's Internet Explorer.

It would probably be nice to still let the user view the web page even if functionality is broken. Let's do something that hides the page until the user reads and acknowledges the message. Try to implement this entirely in App.vue to avoid polluting other parts of the frontend codebase.

@Keavon Keavon added Feature Good First Issue Good for newcomers Web Involves web programming (TypeScript, Svelte, CSS) labels Jun 12, 2021
@Keavon Keavon added this to the Sprint 5 (current) milestone Jun 12, 2021
@tillarnold
Copy link
Contributor

Are you looking for a solution with a proper modal dialog (which for example contains a link to download a supported browser) or would something like this suffice?

if (!("BigInt64Array" in window)) {
	alert("Unfortunately your browser does not support the BigInt64Array API. To be able to use Graphite please use a supported browser such as Mozilla Firefox, Google Chrome or Microsoft Edge.");
}

@Keavon
Copy link
Member Author

Keavon commented Jun 13, 2021

It is ideally better to avoid using the alert(...) feature (which blocks the window process). It would be preferable if App.vue can conditionally load the MainWindow component, and otherwise show a decently styled information dialog with a "see the interface anyways" button to load it.

@tillarnold
Copy link
Contributor

I'll try to implement this.

@Keavon
Copy link
Member Author

Keavon commented Jun 14, 2021

Thank you for the feature, that was an awesomely fast turnaround and it's nice and polished. Would you like some suggestions for next things you can tackle? Is your background in web, or do you also know some Rust?

@tillarnold
Copy link
Contributor

Yeah it would be great if you could recomend a next task for me to tackle 😄. I do know some Rust, so I feel I should be able to do a Rust or a Rust/Web task.

@Keavon
Copy link
Member Author

Keavon commented Jun 15, 2021

@tillarnold Splendid! It's especially great to have someone versed in both parts of the stack because a formidable percentage of all our tasks require touching frontend and backend in some capacity. I've picked out a few relevant possibilities for you which are ready to grab off the shelf. They're ordered from lesser to greater complexity:

Feel free to ask more details about each issue you're drawn to. I want to comment on the issue you choose and give you additional details and implementation steps so you aren't left guessing. Some will require a bit of design too.

@Keavon Keavon removed the In-Progress label Jul 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Good First Issue Good for newcomers Web Involves web programming (TypeScript, Svelte, CSS)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants