Git Product home page Git Product logo

wg-caching's Introduction

wg-caching

wg-caching Working Group is responsible for AMPHTML's validator and features related to AMPHTML caches.

Facilitator: @gregable

Members

Github team https://github.com/orgs/ampproject/teams/wg-caching also includes UI WG members.

Communication Channels

  • Caching Working Group members will use #wg-caching channel on AMP's Slack (signup) for real-time discussion. The channel is open to anyone, regardless of membership in UI working group. However, support is better suited to the #caching-discuss, #signed-exchanges, and #validator-discuss channels.
  • Caching Working Group will post Status Updates every two weeks as an issue labeled with Type: Status Update in this repository.
  • Caching Working Group will post Announcements and Notices regarding events as an issue labeled with Type: Event in this repository.

Any bugs or feature requests related to AMP should NOT be filed in this repository and https://github.com/ampproject/amphtml/issues should be used instead.

@ampproject/wg-caching can be used to mention the Caching Working Group in issues and PRs.

Code of Conduct

The Caching Working Group follows the AMP open source project code of conduct.

wg-caching's People

Contributors

antiphoton avatar caoboxiao avatar honeybadgerdontcare avatar michaelrybak avatar mrjoro avatar robinvanopstal avatar twifkak avatar

Stargazers

 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

wg-caching's Issues

Document the long-term strategy for disentangling the AMP runtime from the Google AMP Cache

See:

  • A CDN for the AMP runtime section in the OpenJS Foundation application.

  • The FAQ on the OpenJS Foundation announcement:

    Currently, the AMP runtime is hosted on the same infrastructure as the Google AMP Cache. Doesn’t this present serious issues?

    The end goal is to separate the AMP runtime from the Google AMP Cache. The Project is currently in the incubating stage and Project leaders are still determining the next steps. Ideally, hosting and deployment of the AMP runtime to the CDN would fall under the purview of the OpenJS Foundation, much like the foundation is handling other projects CDNs, such as the jQuery CDN.

    Untangling the runtime from the cache is a complex endeavor requiring significant investments of time and effort which would be planned and implemented in collaboration with the foundation and industry stakeholders during and after incubation.

    The OpenJS Foundation CPC is committed to having a long-term strategy in place to address this issue by the end of AMP’s incubation.

This should notably:

  • be done in collaboration with the foundation and the CPC,
  • describe the difference between the proprietary AMP caches, such as Google's or Bing's, and the hosting of the AMP runtime,
  • include a projected timeframe for dis-entangling the two,
  • specify the domain(s) on which the AMP runtime would be hosted,
  • clarify that AMP caches would probably host their own copy of the runtime (and that cached AMP pages would be transformed accordingly as part of the pre-caching transform process),
  • describe by whom the supporting infrastructure would be provided, how it would be maintained, and how it would be governed,
  • describe the deployment process and related security considerations, and
  • describe the privacy policy under which the runtime would be hosted.

wg-caching status update 2019-10-28

What was accomplished?

  • Removed error categories in AMP Validator, and rev’d to Node 12.
  • Above caused some incompatibility issues, which have now been resolved.
  • Added SameSite=none to AMP CID cookie.

wg-caching status update 2020-05-06

What was accomplished?

  • Signed Exchanges:
  • Google AMP Cache relevant updates:
    • New origin mapping (0-example-com-0) live. #26205
    • Limited the maximum generated image srcset to 820px in the Cache to improve LCP.
    • Experiment running to have the AMP cache prefetch a heuristically determined hero image, similar to what the AMP packager does for AMP SXG documents.
    • DOM Purify investigation, mentioned at last update, resulted in no planned cache changes.
  • Major revamp of the AMP CSS validation engine. This was designed to support a request to have a increasingly divergent CSS specification for the AMP Email specification. Some of the addressed issues on Github include #27507, #27239, and #12651. We now support independednt per-format css properties, vendor-prefixes, byte lengths, and URL validation.
  • Progress towards open sourcing the C++ AMPHTML Validator, but work remains ongoing.
  • Design agreed on with OpenJS Foundation for disentangling the AMP Runtime from Google's Cache domains. #13

What's next?

  • Bring the Web Packager towards feature parity with the AMP Packager to further support building non-AMP Signed Exchanges. For example, adding support for ACME cert renewal.
  • Complete the C++ Validator Open-Sourcing.
  • Add a prometheus endpoint to the AMP Packer for the next release. #357
  • Investigating Google Cloud Click-to-deploy marketplace inclusion for the AMP Packager.
  • Wrap up the Google AMP Cache hero image experiment mentioned above.

wg-caching status update 2019-02-04

What was accomplished?

  • More cert validation.
  • Serve-side infrastructure in place to fetch SXG + cert and validate both.
  • SXG I2S has all 3 LGTMs
  • Validator has a rule type that allows for ignoring URL length in CSS length.
  • Validator enables and disable rules based on type identifiers.
  • Validator validates transformed AMP.

What is next?

  • Relax CSP requirements for AMP Packager
  • Validate server-side rendering transforms.
  • Validate URL rewrites transform.

wg-caching status update 2019-02-19

What was accomplished?

  • CSP for Signed Exchanges relaxed to support some publisher CSP directives.
  • Validator value blacklists for tag using the name and id attributes.
  • Cache requires transformed attribute for SXG ingestion.

wg-caching status update 2019-09-16

What was accomplished?

  • Convert amppkg from dep to go mod
  • Validator verifies that template=”” matches a template id on the page
  • Beginning work on ACME cert renewal in amppkg
  • Welcome Allan Banaag to https://github.com/ampproject/wg-caching
  • <style amp-custom-length-check> special error in AMP Validator

This update includes several previous weeks.

wg-caching status update 2019-06-10

What was accomplished?

  • Restore dns-prefetch cache transformers; broken recently.
  • Major changes to Email Validator to better match Gmail filtering rules.
  • Javascript fix to implement the 1000 byte inline CSS limit.
  • Fixed inner != outer issue in amppackager.
  • WIP improving/defining amppkg release process

wg-caching status update 2019-01-22

What was accomplished

  • AMP actions validator rules now available.
  • Correct handling of document fragments in the cache. #19688
  • Transformed AMP SXG now include
    • version of transformers used
    • original CSS string fragments
    • protect against data:...</style> in CSS
    • css escaping logic
  • Validation of transformer cdn and version

What's next

  • Transformed AMP SXG to
    • strip comments from script tags
  • Validator to enable/disable tagspec based on type identifiers.

wg-caching status update 2020-01-21

What was accomplished?

  • Web Packager: Added option to limit byte size / signing duration
  • nginx-sxg-module: Serve cert-chain with fresh OCSP; automated .deb release with GH Actions
  • libsxg: Add documentation & man file

What's next?

  • amppackager: Add Prometheus monitoring endpoint
  • Initial release of C++ HTML Parser leading to C++ AMP Validator.

wg-caching status update 2020-02-24

What was accomplished?

  • AMP Validation limit for CSS transitioned from 50,000 to 75,000 bytes.
  • Open-Sourced C++ HTML Parser.
  • Validator Chrome extension updated to include support for Chrome v80.
  • AMP Packager v3 released, includes:
    • Experimental ACME support
    • SSR no longer re-adds boilerplate
    • No longer strip <script type={text,mustache}>
    • Allow self-signed certs in dev
    • health check endpoint
  • Released SXG nginx module.
  • Significant progress in producing a Docker image for running AMP Packager.

What's next?

  • C++ AMPHTML Validator
  • AMP Packager docker image and instructions for integrating into web sites.
  • Investigate and begin work to remove need for DOM Purify on some AMP pages as served by the AMP Cache.

wg-caching status update 2019-06-24

What was accomplished?

  • Released amppkg v2.
  • Fixed etag issue with AMP Packager’s certificates.
  • Meta tag fix to transformers in AMP Cache, cease moving them all to head.

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.