Git Product home page Git Product logo

meta's People

Contributors

annevk avatar dbaron avatar domenic avatar domfarolino avatar foolip avatar is2ei avatar karlcow avatar keithamus avatar lucacasonato avatar r12a avatar sideshowbarker avatar snuggs avatar xfq avatar zcorpan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

meta's Issues

Protecting master branches everywhere in order to give more folks write access

Giving more folks write access will empower them to add labels, assign issues, and create and update branches. That seems like a good thing as we're all here to make the web better and any mistakes are easily corrected.

We don't necessarily want everyone to have access to the couple administrative repositories however so a way to manage this would be to have a large contributor team that has write access to each repository. We'd then add most folks to this team.

Before we do that we need to ensure that the master branches are protected, as mistakes are more costly for those and other than through pull requests nobody should be meddling with those anyway.

Branch snapshots

Most standards (HTML Standard excluded) have a branch-snapshots/ directory. This hosts a copy of the standard reflecting the last commit in a PR. If the branch name used in the PR gets reused, the copy gets overridden. If the branch name is not local, it doesn't get created.

PR Preview has similar functionality, though I believe no overriding takes place and non-local branch names do not matter.

It would be nice if we could reconcile the two. I don't think we need to keep distinct solutions.

cc @tobie @domenic @foolip

PR Preview hosting

We need to sort out how to host PR Preview resources. Currently they use Amazon S3. We could continue to use that or create some kind of space where the PR Preview tool can upload resources to (just HTML or also other resources found in the repository?).

Since these resources can come from untrusted sources we should consider not hosting them on whatwg.org. Perhaps "preview.whatwg.org" is sufficient though I'm a little wary of that still due to cookies.

cc @tobie @domenic @foolip

Consolidate human- and machine-readable Living Standard/Workstream lists

An ideal setup would be a single machine-readable (JSON) document listing:

  • Workstreams
    • Name
    • Scope
    • Short, "database" name (used by participate.whatwg.org code)
    • Editor
      • Name
      • Email address
    • Living standards. Per living standard:
      • Authors (usually a superset of workstream editor; used for bibliographies and attribution, not decision-making power)
      • Short all-caps name for cross-references
      • Full citable title that includes "Standard" at the end
      • Description (currently seen on spec.whatwg.org)
  • Non-workstream things people might cite

Right now this data is scattered across:

The new resource would live in whatwg/sg since the SG controls scope changes/the creation of new workstreams/etc.

From this new machine-readable data source, we would then

  • Generate spec.whatwg.org
  • Generate idea.whatwg.org
  • Generate whatwg.org/workstreams
  • Generate https://resources.whatwg.org/biblio.json
  • Update participate.whatwg.org code to consult this canonical resource
  • Update labels.py to consult this canonical resource

Deduplicating Bikeshed metadata

Here is my vision:

Group: WHATWG
Title: Streams Standard
H1: Streams
Shortname: streams
Text Macro: TWITTER streamsstandard
Abstract: ...

I would like this to generate the following additional metadata:

Repository: whatwg/streams
Status: LS
Boilerplate: omit conformance, omit feedback-header
No Editor: true
Logo: https://resources.whatwg.org/logo-streams.svg
!Participate: <a href="https://github.com/whatwg/streams">GitHub whatwg/streams</a> (<a href="https://github.com/whatwg/streams/issues/new">new issue</a>, <a href="https://github.com/whatwg/streams/issues">open issues</a>)
!Participate: <a href="https://wiki.whatwg.org/wiki/IRC">IRC: #whatwg on Freenode</a>
!Commits: <a href="https://github.com/whatwg/streams/commits">GitHub whatwg/streams/commits</a>
!Commits: [SNAPSHOT-LINK]
!Commits: <a href="https://twitter.com/streamsstandard">@streamsstandard</a>
!Tests: <a href="https://github.com/w3c/web-platform-tests/tree/master/streams">web-platform-tests streams/</a> (<a href="https://github.com/w3c/web-platform-tests/labels/streams">ongoing work</a>)

Almost all of this is inferred from the shortname.

Is that possible, @tabatkins? By editing defaults.include? The shortname substitution and the macro interaction I'm particularly unsure about.

Do we have a style for when to add [SPECNAME] to the end of a paragraph?

Continuing discussion from whatwg/infra#156 (comment)

At one extreme, every time we reference a concept or algorithm from another specification, the end of that paragraph should contain a [SPECNAME] reference. I think that's what @annevk is claiming has been the style.

If so, we're not at all consistent about it, especially within algorithm steps. A bunch of places call algorithms or use concepts from other specs without adding a [specname] at the end of the line. E.g. https://xhr.spec.whatwg.org/#dom-xmlhttprequest-send step 4, or https://html.spec.whatwg.org/multipage/webappapis.html#runtime-script-errors step 5, or everywhere that throws a TypeError without referencing ES.

At the other extreme these [SPECNAME] things should not generally be used unless you are mentioning the spec by name. E.g. https://html.spec.whatwg.org/multipage/webappapis.html#integration-with-the-javascript-module-system intro paragraph. The reference is implicit if you are cross-linking correctly.

The latter seems to be what we do more often, in my experience.

Landing PRs quickly after each other can cause problems

In particular an older commit on master might take a longer time building and by the time it finishes, overwrite the newer commit that was already copied to the server. This happened with Fetch today (the ABNF change is no longer represented until I land another commit).

Implement SSML parsing at SpeechSynthesisUtterance

Steps to reproduce the problem: Pass valid SSML as first argument SpeechSynthesisUtterance

What is the expected behavior?
SSML to be parsed

What went wrong?
SSML is not parsed

Chromium/Chrome bug: https://bugs.chromium.org/p/chromium/issues/detail?id=795371

Mozilla bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1425523

Specifications: https://w3c.github.io/speech-api/speechapi.html#utterance-attributes, https://www.w3.org/TR/speech-synthesis11/

Related: whatwg/html#3294

Let's get this implemented in browsers in an open source (FOSS, FLOSS) manner.

Blog: "Sunsetting the JavaScript Standard" URL dead (https://blog.whatwg.org/javascript)

[I didn't see any more specific way to report technical issues with the blog, so I'm reporting this here.]

It's still there; it shows up just fine on https://blog.whatwg.org/2016/08. It's even still said to have the URL https://blog.whatwg.org/javascript that's linked to from e.g. https://github.com/whatwg/javascript. There's just one problem: that URL no longer actually works :-(.

According to Google, this is actually a very new problem: they still have the page cached as it appeared on Dec 4, 2017 19:29:36 GMT.

Document teams

The way I'd like to use teams:

  • Anyone can join any team they desire. To join just let someone know or file an issue against whatwg/meta.
  • Everyone tries to ensure the appropriate teams are pinged on relevant issues/pull requests
  • Teams have no formal authority, though it's fine to add them as contributors to repositories for ease of collaboration. For all repositories we care about protecting master primarily. The bar for write access to other branches is much much lower.
  • Teams have no responsibility either. If you ping a team and get no feedback, moving things forward responsibly is still on you.
  • Creating new teams should be easy via filing an issue against whatwg/meta. Review should take some care it's not too much of a niche or overlap with existing teams.

I was thinking we'd put this in a Markdown to point folks to or maybe add it to the FAQ? Should we have a GitHub-specific FAQ?

Moving specs to modern infrastructure [missing: html-differences]

Excluding HTML, since it is a special duckling, all specs should ideally:

  • Be on Bikeshed
  • Not check their source files into the repo, but auto-deploy via Travis
  • Deploy commit snapshots
  • Include file-issue.js, commit-snapshot-shortcut-key.js, and dfn.js. (Or, instead of dfn.js, we should use Bikeshed's generated definition panels.)

If all of these become true we can start making some nice assumptions, e.g. we can move some script elements into our Bikeshed boilerplate.

What's missing?

  • Fullscreen, Notifications, Mimesniff, Storage, Quirks
    • Still check in build output
    • Missing commit snapshots and commit-snapshot-shortcut-key.js
  • XHR
    • Still checks in build output
    • Missing commit snapshots and commit-snapshot-shortcut-key.js
    • Still on Anolis; see whatwg/xhr#97
  • Compat
    • Still checks in build output
    • Missing commit snapshots and commit-snapshot-shortcut-key.js
    • dfn.js is in the footer, confusingly
  • Console
    • Missing commit snapshots and commit-snapshot-shortcut-key.js (but does not check in build output)
    • Missing dfn.js
    • Both being fixed; see whatwg/console#83
  • Streams
  • HTML differences from HTML4

Using SSH securely

Currently we ignore validation of the server we are copying resources into. I don't see an immediate attack, but we should set the correct example. It will also help us if it starts mattering at some point.

PRs created thus far:

One thing that would be nice if we could deduplicate this known_hosts resource somehow. Or maybe add the information into .travis.yml. Getting quite a few boilerplate resources making the repositories look harder to work with than they are.

.travis.yml is used incorrectly

When I run travis lint .travis.yml on e.g., URL's or DOM's resource, I get this:

[x] value for env section is empty, dropping
[x] value for addons section is empty, dropping
[x] in env section: value for global section is empty, dropping
[x] in env.global section: unexpected pair
[x] in addons section: unexpected key apt, dropping

This might explain why @sideshowbarker had to define the Java version in the script invocation. If the global is also not used, I guess the ENCRYPTION_LABEL thing we commit everywhere is useless too?

Use generic deploy.sh everywhere

With the groundwork in #6 landed, we now need to make sure all standards start using it. We also need to further tweak the script for that to happy completely, since a couple standards have additional requirements.

These are left:

  • URL (needs extra resources for master)
  • XMLHttpRequest (needs extra resources everywhere)
  • Encoding (needs extra resources everywhere)
  • Streams (needs emu-algify step)
  • Console (needs extra resources everywhere)
  • Compatibility (needs extra resources everywhere)

(There's also Books, Figures, Loader, and HTML Differences.)

Valid email address

I am using jQuery validation for validating an e-mail address.
And I saw they reference the regex from this url: https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address

The following JavaScript- and Perl-compatible regular expression is an implementation of the above definition.
/^[a-zA-Z0-9.!#$%&'+/=?^_`{|}~-]+@a-zA-Z0-9?(?:.a-zA-Z0-9?)$/

I tested this regex and it seems to be incorrect. Since it also matches bla@bla in this situation.
Also the 61 should be 62? Since the DNS allows 63 characters?

Perhaps you could use this one: http://emailregex.com/
/^(([^<>()\[\]\\.,;:\s@"]+(.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$/

Notify MDN about changes

I talked with @chrisdavidmills about notifying MDN about changes to standards. The easiest way to do this would be with a label that MDN can track (at least until MDN moves to GitHub at which point we could consider filing an issue there or have it filed automatically).

Suggestion: mdn-relevant. The expectation here is that MDN would take care of tracking whether they have documentation for it or not.

TEAM.md -> EDITORS.md?

If we change this, and I think we should given the conflict with GitHub teams, it needs to be changed in whatwg/meta and whatwg/html. Anwhere else?

(We could also go for MAINTAINERS.md potentially, given that it's not always the editor that merges.)

good first bug

GitHub apparently helps new folks find the "good first issue" label. Should we attempt to switch from "good first bug"? That might have some repercussions for existing links, but given native support, maybe it's worth it?

We should also document whatever we end up doing in LABELS.md.

cc @sideshowbarker @zcorpan @foolip @domenic

Bitmap favicons?

Browser support for SVG favicons is patchy. Favicons are useful in distinguishing tabs for people who keep many open. It would be nice to have PNG fallbacks for WHATWG specs for those of us whose browsers don't support them.

Move away from Dreamhost to hosting that gives us full root access

Some context in the following IRC discussions with @annevk

A few problems we have with hosting through Dreamhost:

  • Their IPv6 setup for *.whatwg.org continues to be seriously broken—though Dreamhost claims there actually is no problem. But despite their claims I am certain they have a chronic consistent problem that causes IPv6 connections to appear like they’re basically being tarpitted. So on every machine from which I need to get to *.whatwg.org I have to edit the /etc/hosts file to force the 75.119.197.251 IPv4 address to be used instead.
    Among other things I need to do that for all places where I run an instance of the HTML checker, because the checker needs to fetch content from wiki.whatwg.org at start time.
  • We recently had a more acute problem—with no workaround—when Dreamhost broke TLS certificate validation for *.html.org resources for at least a full day. It’s not clear how they broke it nor how they fixed it but @annevk says they claimed there actually was no problem.
  • Today @annevk noted that “DreamHost's SSH instructions are basically "trust the network"… They move the server and there's no place to find the new public key securely”
  • https://lists.whatwg.org/pipermail/whatwg-whatwg.org continues to be broken and apparently unfixable as long as we continue hosting at Dreamhost

The above is not even an exhaustive list—but I hope it’s enough evidence to make clear it’s time we seriously consider a move to hosting at DigitalOcean or some other provider that gives us control over the environment and ability to prevent problems like the above and fix them when needed.

Avoid the 100 char wrap

Negatives to the 100 char wrap:

  • You have to remember to do it.
  • You need to do it manually or get a tool for your editor.
  • A one-word change can turn into a diff of many lines.
  • Makes it difficult to search for a term if the term is newline split in places.

I guess it's a benefit if your text editor / diff viewer doesn't support wrapping, but is that still a valid reason?

We don't manually wrap lines on the service worker spec, and the diffs look pretty good in split mode w3c/ServiceWorker@65cf285?diff=split.

Markdown Header Capitalization Congruence

We seem to be mis-aligned with header capitalization.
I didn't quite know what the "right" answer is (if there is even one).

FWIW found a nice "rule-of-thumb" guide that is fairly long in the tooth (but then again so is linguistics).

Noticed @annevk recently went with the "all capital words in header" approach. IIRC there is something about headers being like sentences. For certain I do recall them being without periods.

Example

https://github.com/whatwg/meta/blame/master/GITHUB-TEAMS.md#L1

May seem like a nit now but better to address a match than a forest fire. I would have fixed this up myself but not for me to solely decide without feedback. Please let me know and I'll submit a patch for us ASAP.

🙏

Stop commit snapshots for PRs

I wonder if it's really useful to have commit snapshots for PRs. It seems that latest branch snapshot would be sufficient.

There's two concerns:

  • Making /commit-snapshots/ reflect master would make it easier to go through. It would reflect linear history just like our Git usage.
  • Amount of space used on the server.

Adding service workers to specs

Specs to add service worker to:

Special:

  • HTML

Easy:

  • Infra
  • DOM
  • Fullscreen
  • Notifications
  • Fetch
  • MIME Sniffing
  • XMLHttpRequest
  • Storage
  • Quirks Mode

Need to start using the deploy script first (#11):

  • URL
  • Encoding
  • Compatibility
  • Console
  • Streams (has one, but it's a one-off created for streams)

The best path here might be to fix #11, then add the service worker registration to the Bikeshed template, instead of doing individual PRs like whatwg/dom#476


Original post follows:

I did this for streams with some success in whatwg/streams#637. Some thoughts:

  • Maybe we should work to implement the more complicated strategy discussed at whatwg/streams#637 (comment) before rolling this out everywhere?
  • Is there any way to deduplicate the code? Given that it has to be hosted on the same origin, it seems unlikely. Hmm, I guess importScripts works cross-origin? So then we'd just reduce the actual in-spec code to something like self.toCache = ... or maybe we could even get rid of that by inferring the logo filename from the origin.

Deduplicating deploy scripts

Related to #202, it's a bit annoying for every repo's commit history to contain a bunch of meta commits every time we want to update the deploy process. And, code duplication in general is bad.

Ideally we'd use the .travis.yml to set config variables:

  • DEPLOY_USER
  • TITLE
  • SHORTNAME (=> current LS_URL, COMMIT_URL_BASE, BRANCH_URL_BASE, SERVER, WEB_ROOT)
  • INPUT_FILE (or, just standardize on a single filename, e.g. index.bs or specshortname.bs... would lose a lot of Git history though, so probably not worth it)
  • FILES_GLOB (to allow copying extra files, like images or encoding stuff)
  • EMU_ALGIFY (boolean used by streams and console to run through emu-algify)

I guess SHORTNAME could be inferred from some git commands to get the current repository and INPUT_FILE could be inferred to be the only .bs file in the repo.

We could then I guess have a simple one- or two-liner in Travis that curls down the deploy script from whatwg/meta and runs it.

I might try prototyping this early next week; feel free to start without me though (a good first pass would probably leave out FILES_GLOB and EMU_ALGIFY)

Bikeshed source file linting

Here are some things it would be nice to have Travis verify for us, for all the Bikeshed-using specs:

  • Line length, I guess ignoring inside <pre> blocks---any other exceptions?
  • No trailing whitespace

Please add more ideas!

HTML issue

I want horizontal and vertical splitters in HTML. Also be able to make a side of an element a splitter similar to how borders are changed, means each element might have 4 predefined splitters. When I change its size other elements, if possible, around it fill the freed space. This is how I want it to be.

I want a vertical line in HTML !

Surfacing Bikeshed warnings better

Because in CI we use the Bikeshed web service, which I don't believe provides any way of seeing warnings, it's easy to commit spec changes that induce warnings without ever noticing.

Similar issues occur when someone wants to use make remote.

I'm not sure what the best solution is for this. /cc @tabatkins. Maybe what we need is a mode for the web service that will fail if there are any warnings? But hmm, we want to intentionally ignore the security/privacy warnings. Not sure...

Create a bot that adds branch-snapshot links to PRs

I've been loving the branch snapshots for reviewing changes on URL. @tobie already did this for Web IDL, basically, although the URL pattern was different. @tobie would you mind outlining how that works? E.g. is the source code available, and what does it run on, etc.?

Meta: Request to join Components team

We currently have the following teams established:

  • a11y
  • canvas
  • components
  • html-parser
  • i18n
  • loader
  • media
  • modules

Am curious where a briefing of each team
(particularly components, a11y, media, and modules) would reside.
To be clear only curious about the last three.
I'm explicitly requesting (and assuming web) components,
only because i've been following the spec maturity for a few years now.
Even still i'm not 100% certain this is the "components" i'm assuming.

If so...This would be an honor and a privilege 🙏
how can I be down? :-)

Lastly when does a group get "christened" and which ones are on the horizon. Sheer curiosity.

Thanks in Advance!

Post-"Further working made changes" TODO

  • Update license statements to use CC BY.
    • Figure out translation guidance and communicate it with translators: whatwg/sg#40.
    • Figure out guidance for associated resources: whatwg/sg#48.
    • Update Bikeshed template: #23.
    • Update all standards to make use of the new template and change their LICENSE resource as well.
      • compat
      • console
      • dom
      • encoding
      • fetch
      • fullscreen
      • html
      • infra
      • mimesniff
      • notifications
      • quirks
      • storage
      • streams
      • url
      • xhr
  • Make @whatbot look at incoming PRs to ensure folks have signed the participation agreement.

@xfq you may wish to follow this given your interest on IRC.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.