Skip to content
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

Performance Improvements and bug fixes #5809

Merged
merged 12 commits into from
Oct 4, 2022
Merged

Performance Improvements and bug fixes #5809

merged 12 commits into from
Oct 4, 2022

Conversation

bretthayes
Copy link
Contributor

@bretthayes bretthayes commented Sep 30, 2022

This PR provides overall performance improvements and increases our Lighthouse score.

Changelog

  • updated next.js
  • added Plausible analytics, which closes Setup Plausible #5801 (1.3 KB)
  • updated CustomerLogos component to match DLS with new props and assets, which closes Update CustomerLogos to match DLS #5807
    • the component now tailors to various container widths
    • dark mode and monochrome mode are now available
    • updated mercado libre logo (old logo was 15 KB, new logo is 5 KB)
    • updated databricks logo (size is the same ~4 KB)
  • added a Heading component for valid ordering of headings when needing design-specific sizes but need to render as another tag for valid, semantic, a11y accessibly ordering. Closes Add heading typography component to fix valid heading order #5808
  • updated valid order of headings in IntegrationsSection and footer
  • added passive to scroll event listener for performance
  • added next-pwa for a minimalist PWA config which generates our service worker. While this isn't super useful yet, it increases our Lighthouse score. 8-)
  • added production source maps via recommendation for best practices and production troubleshooting
  • added manifest, logo marks, and document meta for iOS and PWA requirements
  • added explicit image sizes and alt tag updates for banner, footer, and homepage hero per lighthouse recommendations
  • YouTube CORS error fixes which was degrading performance from console errors
  • updated common breakpoints to use Tailwind breakpoints from theme
  • compressed mesh background images for homepage hero which was degrading performance for our LCP (32% decrease in file size)
  • added Drift facade for lazy loading Drift integration, which before, was negatively impacting performance

Test

  1. Ensure prettier has standardized the proposed changes.
  2. Ensure Plausible is recording analytics events
  3. Ensure Drift chat loads after clicking the facade. Ensure it lazy loads from cache after refresh.
  4. Ensure saving the site as a PWA (add to homescreen) via Safari in iOS works
  5. Ensure CustomerLogos section resizes accordingly (look at smaller container variant on contact pages)
  6. Ensure valid sequentially descending ordering of heading elements on homepage (not all pages are using Heading yet)

Metrics

This is using Chrome Dev Tools Lighthouse Report (Desktop device)

Screen Shot 2022-09-30 at 1 34 29 AM

- updated CustomerLogos component to match DLS with new props and assets
- added Heading component for valid ordering of headings when needing design-specific sizes
- added in next Image for optimizations on some assets
- added passive to scroll event listener for performance
- prettier
- updated next js
- added next-pwa for a minimalist PWA config which generates our service worker
- added production source maps via recommendation for best practices and production troubleshooting
- added manifest, logo marks, and document meta for iOS and PWA requirements
- updated CustomerLogos section to tailor to various container widths
- updated valid order of headings in IntegrationsSection and footer
- explicit image sizes and alt tag updates for banner, footer, and homepage hero
- YouTube CORS error fixes which was degrading performance from console errors
- updated common breakpoints to use Tailwind breakpoints from theme
- compressed mesh background images for homepage hero which was degrading performance for our LCP
@bretthayes bretthayes marked this pull request as ready for review October 3, 2022 13:31
@sourcegraph-bot
Copy link
Contributor

sourcegraph-bot commented Oct 3, 2022

Notifying subscribers in CODENOTIFY files for diff f75627c...484c455.

Notify File(s)
@content-platform-team .gitignore
cypress/e2e/scripts.test.ts
next.config.js
package.json
public/ArrowLeft.svg
public/ArrowRight.svg
public/SmileyWink.svg
public/Star.svg
public/about/sg-andreessen-horowitz.png
public/about/sg-craftventures.png
public/about/sg-felicis.png
public/about/sg-goldcrest.png
public/about/sg-redpoint.png
public/about/sg-sequoia.png
public/backgrounds/starship-launch-pills-large.svg
public/batch-changes/asking_developers_to_update_repos.svg
public/batch-changes/hero_background.svg
public/batch-changes/hero_illustration.svg
public/batch-changes/using_batch_changes_to_update_repos.svg
public/bg-hero-d-sp.svg
public/bg-home-universe.jpg
public/blog/22GB of live objects on one server.png
public/blog/3-11-lyft.png
public/blog/3-11-monitoring-alerts.png
public/blog/3-11-monitoring-overview.png
public/blog/3-12-code-intel-indicator.png
public/blog/3-12-faster-permissions.png
public/blog/3-13-language-extensions.png
public/blog/3-14-extension-sign-in.gif
public/blog/3-14-go-hovertext.png
public/blog/3-14-monitoring_improvements.gif
public/blog/3-14-resource-estimator.png
public/blog/3-15-getting-started.png
public/blog/3-15-user-event-log.png
public/blog/3-16-activity-histogram.png
public/blog/3-16-ts-to-go-lsif.png
public/blog/3-17-admin_notifications_sourcegraph.png
public/blog/3-17-container_monitoring_sourcegraph.png
public/blog/3.14-release-blog-img.jpg
public/blog/3.14-release-blog-social-img.jpg
public/blog/3.15-release-blog-img.jpg
public/blog/3.16-release-blog-img.jpg
public/blog/3.17-release-blog-img.jpg
public/blog/3.18-c-plus-plus-code-intel.png
public/blog/3.18-custom-search-pages.png
public/blog/3.18-indexed-non-master-branches.png
public/blog/3.18-release-blog-img.jpg
public/blog/3.18-release-blog-img.png
public/blog/3.18-search-across-revisions.png
public/blog/3.18-search-all-branches.png
public/blog/3.18-search-multiple-revisions.png
public/blog/3.18-small-and-mighty-features.png
public/blog/3.18-sourcegraph-health-notification.png
public/blog/3.4-density-1.png
public/blog/3.4-density-2.png
public/blog/3.5-line-decorations.png
public/blog/3.5-org-repos.png
public/blog/3.5-org-settings.png
public/blog/3.6-gophercon-hoodie.jpg
public/blog/3.6-search-latency.png
public/blog/3.7-extension-icons.png
public/blog/3.7-symbol-search-comparison.png
public/blog/3.8-benchmarks.png
public/blog/3.8-lsif.png
public/blog/3.9-grafana-dashboard.png
public/blog/3.9-lsif-multi-project-code-intel.gif
public/blog/4GB of live objects after, with all optimizations applied.png
public/blog/SG-signup-QR.png
public/blog/Workspaces-of-Sourcegraph-Final-compressed.jpg
public/blog/announcing-sourcegraph-3.0/basic_code_intel.png
public/blog/announcing-sourcegraph-3.0/datadog_metrics.png
public/blog/announcing-sourcegraph-3.0/management_console.png
public/blog/announcing-sourcegraph-3.0/management_console_password.png
public/blog/announcing-sourcegraph-3.0/search_query_cheatsheet.png
public/blog/announcing-sourcegraphs-series-d-round.jpg
public/blog/avoid-pitfalls.png
public/blog/better-onboarding-advice-from-engineering-leaders.gif
public/blog/better-onboarding-prevent-codebase-overwhelm.png
public/blog/big-brain.png
public/blog/blog-code-intelligence.png
public/blog/blog-fromberger-joining.jpg
public/blog/blogIndexing1200x627.jpg
public/blog/blog_Reduce_RAM-01.jpg
public/blog/buy-vs-build-blog.png
public/blog/campaigns-branch-name.png
public/blog/circleci-access-saved-search.png
public/blog/circleci-create-saved-search.png
public/blog/circleci-has-upgraded.png
public/blog/circleci-results.png
public/blog/circleci-saved-search-notification.png
public/blog/circleci-who-upgraded.png
public/blog/cloud-beta-launch-post.png
public/blog/cloud-optimization-part-1-visibility/google-cloud-settings-form.png
public/blog/cloud-optimization-part-1-visibility/sourcegraph-cloud-settings.png
public/blog/cloud-optimization-part-1-visibility/sourcegraph-search-all-terraform-imports.png
public/blog/cloud-optimization-part-1-visibility/sourcegraph-search-results-terraform-imports.png
public/blog/evolving-workshop-themes.png
public/blog/exgoogler-backpack-dev-tools.jpg
public/blog/exgoogler-campfire.jpg
public/blog/felix-avatar.jpg
public/blog/file-scoped-symbols.png
public/blog/filtered-imports.png
public/blog/find-replace/brain2.jpg
public/blog/find-replace/brain3.jpg
public/blog/find-replace/brain4.jpg
public/blog/find-replace/campaign-publish.gif
public/blog/find-replace/codemod.png
public/blog/find-replace/macro.gif
public/blog/find-replace/multiselect.gif
public/blog/find-replace/new-campaign.png
public/blog/flying-brain.png
public/blog/gitlab-integration-banner-dark.png
public/blog/gitlab-integration-demo-long.gif
public/blog/gitlab-integration-demo.gif
public/blog/gitlab-integration-preview-dark.png
public/blog/gophercon-2019-uber-code-structure.jpg
public/blog/gophercon-2019-uber-consistency.jpg
public/blog/gophercon-2019-uber-dependency-injection.jpg
public/blog/gophercon-2019-uber-monorepo.jpg
public/blog/gophercon2019-amdahls-law.jpg
public/blog/gophercon2019-profiling-01.jpg
public/blog/gophercon2019-tracing-01.jpg
public/blog/gophercon2019-tracing-02.jpg
public/blog/home-offices-sourcegraph-thumbnail.jpg
public/blog/imports-filter.png
public/blog/java-cross-language-example.png
public/blog/java-cross-repo-example.png
public/blog/large-scale-code-mod.png
public/blog/lsif-indexer-files/ast.png
public/blog/lsif-indexer-files/def-graph.png
public/blog/lsif-indexer-files/listingOne.png
public/blog/lsif-indexer-files/lsif-snippet.png
public/blog/lsif-indexer-files/scopes.png
public/blog/lsif-indexer-files/scopes_tree.png
public/blog/lsif-indexer-files/snippet.png
public/blog/lsif-indexer-files/use-graph.png
public/blog/lyft-logo.png
public/blog/new-docs.png
public/blog/new-repository-sync.png
public/blog/old-repository-sync.png
public/blog/on-prem-customerWAUs.jpg
public/blog/on-prem-customerversions.jpg
public/blog/on-prem-preview.jpg
public/blog/optimizing-code-intelligence-commit-graph.png
public/blog/our-abcs-hero.png
public/blog/our-abcs.png
public/blog/product-design-principles-hero.jpg
public/blog/ram-usage.png
public/blog/remote-easier.jpg
public/blog/sensitivity-Sourcegraph-value-add.png
public/blog/seth-vargo.jpg
public/blog/sf-office-mural.jpg
public/blog/silent-team-call.jpg
public/blog/sourcegraph-aws-terraform.png
public/blog/sourcegraph-browser-extension-enable-prompt.png
public/blog/sourcegraph-digitalocean-marketplace.png
public/blog/sourcegraph-future-coding-podcast-episode-32.png
public/blog/sourcegraph-social-img.png
public/blog/strange-loop-2019/10-ad.jpg
public/blog/strange-loop-2019/11-ad.jpg
public/blog/strange-loop-2019/12-ad.jpg
public/blog/strange-loop-2019/13-ad.jpg
public/blog/strange-loop-2019/14-ad.jpg
public/blog/strange-loop-2019/15-ad.jpg
public/blog/strange-loop-2019/16-ad.jpg
public/blog/strange-loop-2019/17-ad.jpg
public/blog/strange-loop-2019/18-dud.jpg
public/blog/strange-loop-2019/19-dud.jpg
public/blog/strange-loop-2019/20-dud.jpg
public/blog/strange-loop-2019/21-dud.jpg
public/blog/strange-loop-2019/22-dud.jpg
public/blog/strange-loop-2019/23-dud.jpg
public/blog/strange-loop-2019/24-dud.jpg
public/blog/strange-loop-2019/25-dud.jpg
public/blog/strange-loop-2019/26-dud.jpg
public/blog/strange-loop-2019/27-dud.jpg
public/blog/strange-loop-2019/28-dud.jpg
public/blog/strange-loop-2019/29-dro.jpg
public/blog/strange-loop-2019/30-dro.jpg
public/blog/strange-loop-2019/31-dro.jpg
public/blog/strange-loop-2019/32-dro.jpg
public/blog/strange-loop-2019/4-1961-to-2012.jpg
public/blog/strange-loop-2019/5-1961-to-2018.jpg
public/blog/strange-loop-2019/6-stlouis.jpg
public/blog/strange-loop-2019/7-hud.jpg
public/blog/strange-loop-2019/8-hud.jpg
public/blog/strange-loop-2019/9-ad.jpg
public/blog/strange-loop-2019/angklung/Bandung-Indonesia_map.png
public/blog/strange-loop-2019/angklung/Indonesia_map.png
public/blog/strange-loop-2019/angklung/angklung-notation.png
public/blog/strange-loop-2019/angklung/angklung-performance.png
public/blog/strange-loop-2019/angklung/angklung-piano.png
public/blog/strange-loop-2019/angklung/angklung-spreadsheet.png
public/blog/strange-loop-2019/angklung/angklung.png
public/blog/strange-loop-2019/anti-surveillance-scarf.jpg
public/blog/strange-loop-2019/color-flowers.jpg
public/blog/strange-loop-2019/complexities-intro.jpg
public/blog/strange-loop-2019/computer-vision-and-nlp-for-multi-task-fashion-modeling-1.jpg
public/blog/strange-loop-2019/computer-vision-and-nlp-for-multi-task-fashion-modeling-2.jpg
public/blog/strange-loop-2019/computer-vision-and-nlp-for-multi-task-fashion-modeling-3.jpg
public/blog/strange-loop-2019/computer-vision-and-nlp-for-multi-task-fashion-modeling-4.jpg
public/blog/strange-loop-2019/computer-vision-and-nlp-for-multi-task-fashion-modeling-5.jpg
public/blog/strange-loop-2019/contrast.jpg
public/blog/strange-loop-2019/counter-surveillance-makeup.jpg
public/blog/strange-loop-2019/cross-stitch-designs1.jpg
public/blog/strange-loop-2019/cross-stitch-designs2.jpg
public/blog/strange-loop-2019/crossword1.jpg
public/blog/strange-loop-2019/crossword2.jpg
public/blog/strange-loop-2019/crossword3.jpg
public/blog/strange-loop-2019/darpa.jpg
public/blog/strange-loop-2019/deep.jpg
public/blog/strange-loop-2019/embed.jpg
public/blog/strange-loop-2019/escuincla.png
public/blog/strange-loop-2019/expert.jpg
public/blog/strange-loop-2019/how-not-to-read-the-room-creating-wearables-with-ml-1.jpg
public/blog/strange-loop-2019/how-not-to-read-the-room-creating-wearables-with-ml-2.jpg
public/blog/strange-loop-2019/human-eye.jpg
public/blog/strange-loop-2019/ibm.jpg
public/blog/strange-loop-2019/inmates.jpg
public/blog/strange-loop-2019/miller.jpg
public/blog/strange-loop-2019/multiple-indicators.jpg
public/blog/strange-loop-2019/nomogram.jpg
public/blog/strange-loop-2019/pedagogy.jpg
public/blog/strange-loop-2019/robot-walk.jpg
public/blog/strange-loop-2019/shirley-card.jpg
public/blog/strange-loop-2019/strange-loop-perianez-ar.jpg
public/blog/strange-loop-2019/strange-loop-perianez-arima.jpg
public/blog/strange-loop-2019/strange-loop-perianez-careers.jpg
public/blog/strange-loop-2019/strange-loop-perianez-challenges.jpg
public/blog/strange-loop-2019/strange-loop-perianez-deepar.jpg
public/blog/strange-loop-2019/strange-loop-perianez-deterministic.jpg
public/blog/strange-loop-2019/strange-loop-perianez-main-challenges.jpg
public/blog/strange-loop-2019/strange-loop-perianez-probabilistic-forecasting.jpg
public/blog/strange-loop-2019/strange-loop-perianez-quote-2.jpg
public/blog/strange-loop-2019/strange-loop-perianez-success.jpg
public/blog/strange-loop-2019/strange-loop-perianez-title.jpg
public/blog/strange-loop-2019/uber.jpg
public/blog/strange-loop-2019/voyager01.jpg
public/blog/strange-loop-2019/voyager02.jpg
public/blog/strange-loop-2019/voyager03.jpg
public/blog/strange-loop-2019/voyager04.jpg
public/blog/strange-loop-2019/xai.jpg
public/blog/strange-loop-2019/zkp-decoding-quote.jpg
public/blog/strange-loop-2019/zkp-goldwasser-micali.jpg
public/blog/strange-loop-2019/zkp-interactive-coloring.jpg
public/blog/strange-loop-banner-landscape.jpg
public/blog/strange-loop-banner-v2.jpg
public/blog/strange-loop-banner.jpg
public/blog/strange-loop-thumbnail-square-v2.jpg
public/blog/strange-loop-thumbnail-square.png
public/blog/structural-search-hero.png
public/blog/structural-search-linux-cleanup-patch.png
public/blog/structural-search-nested-expressions.png
public/blog/swift.png
public/blog/tackling-long-tail-compression.png
public/blog/tackling-long-tail-histogram.png
public/blog/tackling-long-tail-trigrams.png
public/blog/technical-post.png
public/blog/temporal-arch-img-3.png
public/blog/temporal-arch-img1.jpg
public/blog/temporal-arch-img2.jpg
public/blog/thumbnails/dark-multi-grid.jpg
public/blog/thumbnails/notebooks-ci.jpg
public/blog/tls.png
public/blog/universal-code-search-hero.jpg
public/board/sarah-wang.png
public/c-sprinkles-blank.svg
public/careers/1highquality.svg
public/careers/2customerdriven.svg
public/careers/3team.svg
public/careers/4highagency.svg
public/careers/5welcoming.svg
public/careers/6open.svg
public/careers/7growth.svg
public/careers/FamilyPlanning.svg
public/careers/Medical.svg
public/careers/OfficeBudget.svg
public/careers/PTO.svg
public/careers/ProfessionalDevelopment.svg
public/careers/Remote.svg
public/careers/Salary.svg
public/careers/Travel.svg
public/careers/Wellness.svg
public/careers/careers_hero_img.jpg
public/careers/careers_hero_img_mobile.jpg
public/careers/culture1.png
public/careers/culture2.png
public/careers/culture3.png
public/careers/culture4.png
public/careers/culture5.png
public/case-studies/brandon-bloom-convoy.jpg
public/case-studies/bryce-kalow.png
public/case-studies/cern-image-lhc-cc.jpg
public/case-studies/cern-image-lhc.jpg
public/case-studies/chris-roderick-cern.jpg
public/case-studies/convoy1-sourcegraph-case-study-og-embed.jpg
public/case-studies/convoy1-sourcegraph-case-study.jpg
public/case-studies/convoy2-sourcegraph-case-study-og-embed.jpg
public/case-studies/convoy2-sourcegraph-case-study.jpg
public/case-studies/derrick-faunce.png
public/case-studies/francois-jehl-criteo.jpg
public/case-studies/jacob-gillespie-thorn-square.jpg
public/case-studies/jon-kohler.png
public/case-studies/justin-phillips-lyft.jpg
public/case-studies/kevin-chen-yelp.jpg
public/case-studies/loic-teikiteetini-vaysse-criteo.jpg
public/case-studies/lyft-sourcegraph-case-study-og-embed.jpg
public/case-studies/mike-mclaughlin.png
public/case-studies/mitchell-borrego.jpg
public/case-studies/owen-kim-convoy.jpg
public/case-studies/quantcast-sourcegraph-case-study-og-embed.jpg
public/case-studies/quantcast-sourcegraph-case-study.jpg
public/case-studies/quote.svg
public/case-studies/satish-surapaneni-f5.jpg
public/case-studies/simon-law-quantcast.jpg
public/case-studies/sofi-sourcegraph-case-study-og-embed.png
public/case-studies/sofi-sourcegraph-case-study.png
public/case-studies/terin-stock-cloudflare.jpg
public/case-studies/thorn-logo-square.png
public/case-studies/thorn-logo.png
public/case-studies/thorn-sourcegraph-case-study-og-embed.jpg
public/case-studies/thorn-sourcegraph-case-study.png
public/case-studies/trent-grover-workiva.jpg
public/case-studies/ursula-robertson-sofi.jpg
public/circular-font/lineto-circular-black.eot
public/circular-font/lineto-circular-black.woff
public/circular-font/lineto-circular-blackItalic.eot
public/circular-font/lineto-circular-blackItalic.woff
public/circular-font/lineto-circular-bold.eot
public/circular-font/lineto-circular-bold.woff
public/circular-font/lineto-circular-boldItalic.eot
public/circular-font/lineto-circular-boldItalic.woff
public/circular-font/lineto-circular-book.eot
public/circular-font/lineto-circular-book.woff
public/circular-font/lineto-circular-bookItalic.eot
public/circular-font/lineto-circular-bookItalic.woff
public/circular-font/lineto-circular-medium.eot
public/circular-font/lineto-circular-medium.woff
public/circular-font/lineto-circular-mediumItalic.eot
public/circular-font/lineto-circular-mediumItalic.woff
public/community/DTT_module.jpg
public/community/Full cheat sheet page.png
public/community/Podcast_module.png
public/community/SG_DM_us_on_slack.png
public/community/SG_Robots_Trophy.png
public/community/cheatsheet_top.png
public/community/hero_illustration.svg
public/copy-text-icon.svg
public/external-logos/aithority-logo.png
public/external-logos/alibaba-logo.svg
public/external-logos/amazon-logo.svg
public/external-logos/anchor-logo.png
public/external-logos/anyscale-logo.svg
public/external-logos/apex-clearing-logo.png
public/external-logos/app-developer-magazine-sq-logo.svg
public/external-logos/applovin-logo.svg
public/external-logos/ars-technica-logo.png
public/external-logos/auera-logo.svg
public/external-logos/aws-codecommit.svg
public/external-logos/azure-devops.svg
public/external-logos/bestgamingpro-logo.png
public/external-logos/bitbucket-logo.svg
public/external-logos/bitbucket-server-logo.svg
public/external-logos/blend-logo.svg
public/external-logos/blend.svg
public/external-logos/business-insider-logo.png
public/external-logos/cambridge-university-press-logo.svg
public/external-logos/canva-logo.svg
public/external-logos/capella_space.svg
public/external-logos/cdw-logo.svg
public/external-logos/cern-name-logo.svg
public/external-logos/cern-supplier-logo.svg
public/external-logos/cloudflare-logo.svg
public/external-logos/cloudflare-white-logo.png
public/external-logos/code-review-logo.png
public/external-logos/codecov-logo.svg
public/external-logos/collective-health-logo.svg
public/external-logos/convoy-logo-white.svg
public/external-logos/convoy-logo.svg
public/external-logos/cornerstone-ondemand-logo.svg
public/external-logos/criteo-logo.svg
public/external-logos/criteo-white-logo.svg
public/external-logos/crunchbase-news-logo.png
public/external-logos/databasetrendsapp-logo.jpg
public/external-logos/databricks-logo.svg
public/external-logos/datadog-logo.svg
public/external-logos/dataversity-sq-logo.svg
public/external-logos/devchat-tv-logo.png
public/external-logos/devclass-sq-logo.svg
public/external-logos/developer-tech-logo.png
public/external-logos/developpez-logo.png
public/external-logos/devops-com-logo.png
public/external-logos/devops-digest-logo.png
public/external-logos/digital-anarchist-logo.png
public/external-logos/dropbox-logo.svg
public/external-logos/enterprisers-project-logo.png
public/external-logos/eventbrite.png
public/external-logos/eventbrite.svg
public/external-logos/eweek-logo.svg
public/external-logos/expanse-logo.svg
public/external-logos/f5-logo-white.svg
public/external-logos/f5-logo.svg
public/external-logos/factset-logo.svg
public/external-logos/fast-company-logo.png
public/external-logos/finsmes-logo.svg
public/external-logos/fintech-inshorts-logo.png
public/external-logos/forbes-logo.png
public/external-logos/fortune-2016-logo.png
public/external-logos/fortune-logo.svg
public/external-logos/fudzilla-logo.png
public/external-logos/gartner-cool-vendor-2022.png
public/external-logos/general-electric-logo.svg
public/external-logos/gigazine-logo.png
public/external-logos/git-logo.svg
public/external-logos/github-enterprise-logo.svg
public/external-logos/github-horizontal-logo.svg
public/external-logos/github-logo.svg
public/external-logos/gitlab-commit-logo.png
public/external-logos/gitlab-logo.svg
public/external-logos/gitlab-mark.svg
public/external-logos/goldcrest-logo.png
public/external-logos/golem.de-logo.png
public/external-logos/gyg.svg
public/external-logos/handy-logo.svg
public/external-logos/hashicorp-logo.svg
public/external-logos/hubspot-logo.svg
public/external-logos/ieee-spectrum-logo.png
public/external-logos/indeed-logo.svg
public/external-logos/infoq-logo.png
public/external-logos/infoworld-bossie-awards-2020.png
public/external-logos/infoworld-sq-logo.png
public/external-logos/insidebigdata-logo.svg
public/external-logos/interesting-engineering-logo.png
public/external-logos/it-businessedge-logo.png
public/external-logos/itpro-today-logo.png
public/external-logos/itweek-ru-logo.png
public/external-logos/jira-logo.svg
public/external-logos/kmworld-logo.svg
public/external-logos/le-monde-informatique-logo.png
public/external-logos/lightspeed-logo.png
public/external-logos/lightstep-logo.svg
public/external-logos/lunar.svg
public/external-logos/lwn-net-logo.png
public/external-logos/lyft-logo.svg
public/external-logos/market-currents-wealthnet-logo.png
public/external-logos/medium-logo.svg
public/external-logos/mercado-libre-logo.svg
public/external-logos/mercari.svg
public/external-logos/motley_fool.svg
public/external-logos/nubank-logo.svg
public/external-logos/nutanix-logo.svg
public/external-logos/ocado-logo.svg
public/external-logos/outreach-logo.svg
public/external-logos/phabricator-logo.svg
public/external-logos/plaid-logo.svg
public/external-logos/podcast-init.png
public/external-logos/prezi-logo.svg
public/external-logos/pulse2.0-logo.png
public/external-logos/qualtrics-logo.svg
public/external-logos/quantcast-logo-gray.svg
public/external-logos/quantcast-logo-white.svg
public/external-logos/quantcast-logo.svg
public/external-logos/raise-logo.svg
public/external-logos/reddit-logo.svg
public/external-logos/redhat-logo.svg
public/external-logos/redpoint-logo.png
public/external-logos/review-board-logo.svg
public/external-logos/rxjs-live-london-logo.svg
public/external-logos/saas-product-chat-logo.png
public/external-logos/sd-times-sq-logo.svg
public/external-logos/sdx-central-logo.svg
public/external-logos/security-boulevard-logo.png
public/external-logos/sentry-logo.svg
public/external-logos/serverside-logo.png
public/external-logos/sg-button.svg
public/external-logos/sg-citizen.svg
public/external-logos/sg-improbable.svg
public/external-logos/sg-lightstep-logo.svg
public/external-logos/sg-zenysis.svg
public/external-logos/shipt-logo.svg
public/external-logos/silicon-angle-logo.svg
public/external-logos/skelter-labs-logo.svg
public/external-logos/slashdot-logo.png
public/external-logos/sofi-logo-white.png
public/external-logos/sofi-logo.svg
public/external-logos/software-com-src-logo.png
public/external-logos/software-engineering-daily-logo.png
public/external-logos/sourcegraph-universal-code-search-ebook-v1.jpg
public/external-logos/spring-venture-group.svg
public/external-logos/svbj-logo.png
public/external-logos/sway-logo.png
public/external-logos/techcrunch-logo.png
public/external-logos/techrepublic-sq-logo.png
public/external-logos/techrepublic-sq-logo.svg
public/external-logos/techstrong-tv-logo.png
public/external-logos/techzine-logo.png
public/external-logos/the-new-stack-sq-logo.svg
public/external-logos/thorn-logo.svg
public/external-logos/thought-machine-logo.svg
public/external-logos/tinder-logo.svg
public/external-logos/toast-logo.svg
public/external-logos/tracxn-logo.png
public/external-logos/trifacta-logo.svg
public/external-logos/tripactions-logo.svg
public/external-logos/tsconf-eu-logo.svg
public/external-logos/tsconf-js-logo.svg
public/external-logos/twenty-minute-vc-logo.png
public/external-logos/twilio-segment-horizontal-darkacai-logo.svg
public/external-logos/uber-logo.svg
public/external-logos/unicredit-logo.svg
public/external-logos/unity.svg
public/external-logos/use-button-logo.svg
public/external-logos/vatortv.svg
public/external-logos/vcbay-logo.png
public/external-logos/venturebeat-logo.png
public/external-logos/venturebeat-logo.svg
public/external-logos/workiva-logo.svg
public/external-logos/workiva-vector-logo.svg
public/external-logos/wsj-logo.png
public/external-logos/wsjpro-logo.png
public/external-logos/xataka-logo.png
public/external-logos/yelp.svg
public/external-logos/yext-logo.svg
public/external-logos/zdnet-logo.svg
public/gophercon-2019/before-unwrap.png
public/gophercon-2019/check-syntax.png
public/gophercon-2019/death-by-3000-timers-09 go-1.9-naive.png
public/gophercon-2019/death-by-3000-timers-10 go-1.11-naive.png
public/gophercon-2019/death-by-3000-timers-11 go-1.11-sync-wake.png
public/gophercon-2019/death-by-3000-timers-12 go-1.11-multiplexed.png
public/gophercon-2019/death-by-3000-timers-13 new timers.png
public/gophercon-2019/death-by-3000-timers-14 new timers multiplexed.png
public/gophercon-2019/death-by-3000-timers-Several streams multiplexed on one cpu.png
public/gophercon-2019/death-by-3000-timers-What if we could do this.png
public/gophercon-2019/development-process.png
public/gophercon-2019/early-error-type.png
public/gophercon-2019/errors-is-errors-as.png
public/gophercon-2019/first-error.png
public/gophercon-2019/generics-defn.png
public/gophercon-2019/generics-functions1.png
public/gophercon-2019/generics-functions2.png
public/gophercon-2019/generics-ordered-contract.png
public/gophercon-2019/generics-reverse-ints-example.png
public/gophercon-2019/generics-reverse-strings-example.png
public/gophercon-2019/go-module-proxy-life-of-a-query-10.png
public/gophercon-2019/go-module-proxy-life-of-a-query-102.png
public/gophercon-2019/go-module-proxy-life-of-a-query-103.png
public/gophercon-2019/go-module-proxy-life-of-a-query-11.png
public/gophercon-2019/go-module-proxy-life-of-a-query-118.png
public/gophercon-2019/go-module-proxy-life-of-a-query-13.png
public/gophercon-2019/go-module-proxy-life-of-a-query-15.png
public/gophercon-2019/go-module-proxy-life-of-a-query-16.png
public/gophercon-2019/go-module-proxy-life-of-a-query-19.png
public/gophercon-2019/go-module-proxy-life-of-a-query-21.png
public/gophercon-2019/go-module-proxy-life-of-a-query-22.png
public/gophercon-2019/go-module-proxy-life-of-a-query-24.png
public/gophercon-2019/go-module-proxy-life-of-a-query-33.png
public/gophercon-2019/go-module-proxy-life-of-a-query-39.png
public/gophercon-2019/go-module-proxy-life-of-a-query-51.png
public/gophercon-2019/go-module-proxy-life-of-a-query-53.png
public/gophercon-2019/go-module-proxy-life-of-a-query-58.png
public/gophercon-2019/go-module-proxy-life-of-a-query-61.png
public/gophercon-2019/go-module-proxy-life-of-a-query-63.png
public/gophercon-2019/go-module-proxy-life-of-a-query-64.png
public/gophercon-2019/go-module-proxy-life-of-a-query-65.png
public/gophercon-2019/go-module-proxy-life-of-a-query-66.png
public/gophercon-2019/go-module-proxy-life-of-a-query-67.png
public/gophercon-2019/go-module-proxy-life-of-a-query-68.png
public/gophercon-2019/go-module-proxy-life-of-a-query-70.png
public/gophercon-2019/go-module-proxy-life-of-a-query-71.png
public/gophercon-2019/go-module-proxy-life-of-a-query-72.png
public/gophercon-2019/go-module-proxy-life-of-a-query-74.png
public/gophercon-2019/go-module-proxy-life-of-a-query-75.png
public/gophercon-2019/go-module-proxy-life-of-a-query-76.png
public/gophercon-2019/go-module-proxy-life-of-a-query-77.png
public/gophercon-2019/go-module-proxy-life-of-a-query-78.png
public/gophercon-2019/go-module-proxy-life-of-a-query-79.png
public/gophercon-2019/go-module-proxy-life-of-a-query-80.png
public/gophercon-2019/go-module-proxy-life-of-a-query-81.png
public/gophercon-2019/go-module-proxy-life-of-a-query-82.png
public/gophercon-2019/go-module-proxy-life-of-a-query-83.png
public/gophercon-2019/go-module-proxy-life-of-a-query-84.png
public/gophercon-2019/go-module-proxy-life-of-a-query-85.png
public/gophercon-2019/go-module-proxy-life-of-a-query-86.png
public/gophercon-2019/go-module-proxy-life-of-a-query-87.png
public/gophercon-2019/go-module-proxy-life-of-a-query-88.png
public/gophercon-2019/go-module-proxy-life-of-a-query-89.png
public/gophercon-2019/go-module-proxy-life-of-a-query-9.png
public/gophercon-2019/go-module-proxy-life-of-a-query-90.png
public/gophercon-2019/go-module-proxy-life-of-a-query-91.png
public/gophercon-2019/go-module-proxy-life-of-a-query-94.png
public/gophercon-2019/go-module-proxy-life-of-a-query-95.png
public/gophercon-2019/go-module-proxy-life-of-a-query-96.png
public/gophercon-2019/go-module-proxy-life-of-a-query-97.png
public/gophercon-2019/go-module-proxy-life-of-a-query-98.png
public/gophercon-2019/go-module-proxy-life-of-a-query-katie.jpg
public/gophercon-2019/gophercon-2019-8-landscape.jpg
public/gophercon-2019/gophercon-2019-9-places.jpg
public/gophercon-2019/gophercon-2019-90-people.jpg
public/gophercon-2019/gophercon-2019-91-gophercon2019.jpg
public/gophercon-2019/gophercon-2019-athens-api-abstraction.png
public/gophercon-2019/gophercon-2019-athens-gopher.png
public/gophercon-2019/gophercon-2019-athens-local-layer.png
public/gophercon-2019/gophercon-2019-banner.png
public/gophercon-2019/gophercon-2019-controlling-go-runtime-presenter.jpg
public/gophercon-2019/gophercon-2019-controlling-go-runtime-slide1.jpg
public/gophercon-2019/gophercon-2019-controlling-go-runtime-slide2.jpg
public/gophercon-2019/gophercon-2019-datastream-diagram.png
public/gophercon-2019/gophercon-2019-gio-go-challenges.jpg
public/gophercon-2019/gophercon-2019-gio-hello-world.jpg
public/gophercon-2019/gophercon-2019-gio-scatter-ui.jpg
public/gophercon-2019/gophercon-2019-passing-socket-options-in-go.png
public/gophercon-2019/gophercon-2019-sockets-what-are-those.png
public/gophercon-2019/gophercon-2019-stream-socket-diagram.png
public/gophercon-2019/gophercon-2019-uber-code-structure.jpg
public/gophercon-2019/gophercon-2019-uber-consistency.jpg
public/gophercon-2019/gophercon-2019-uber-dependency-injection.jpg
public/gophercon-2019/gophercon-2019-uber-monorepo.jpg
public/gophercon-2019/gophercon-2019-wasm-1.png
public/gophercon-2019/gophercon-2019-wasm-2.png
public/gophercon-2019/gophercon-2019-wasm-3.png
public/gophercon-2019/gophercon-2019-wasm-4.png
public/gophercon-2019/gophercon-thumbnail.png
public/gophercon-2019/gopls-editors-langserver.png
public/gophercon-2019/gopls-editors-tools.png
public/gophercon-2019/gopls-gocode-forks.png
public/gophercon-2019/gopls-thisisfine.png
public/gophercon-2019/handling-go-errors-learn-like-beginner.png
public/gophercon-2019/handling-go-errors-logs.png
public/gophercon-2019/handling-go-errors-make-sandwich.png
public/gophercon-2019/handling-go-errors-nyt-architecture.png
public/gophercon-2019/handling-go-errors-stacktrace-bye.png
public/gophercon-2019/handling-go-errors-stacktrace-incomplete.png
public/gophercon-2019/introduction.jpg
public/gophercon-2019/module-proxies.png
public/gophercon-2019/optimizing-without-a-blindfold-compiler-bounds-check.png
public/gophercon-2019/optimizing-without-a-blindfold-compiler-clearing-maps.png
public/gophercon-2019/optimizing-without-a-blindfold-compiler-heap.png
public/gophercon-2019/optimizing-without-a-blindfold-compiler-inlining.png
public/gophercon-2019/optimizing-without-a-blindfold-compiler-ssa-command.png
public/gophercon-2019/optimizing-without-a-blindfold-compiler-string-length.png
public/gophercon-2019/optimizing-without-a-blindfold-illustration.jpg
public/gophercon-2019/optimizing-without-a-blindfold-intro-benchcmp.png
public/gophercon-2019/optimizing-without-a-blindfold-intro-benchmark-code.png
public/gophercon-2019/optimizing-without-a-blindfold-intro-benchmark.png
public/gophercon-2019/optimizing-without-a-blindfold-intro-copylist-code.png
public/gophercon-2019/optimizing-without-a-blindfold-intro-copylist-optimized-code.png
public/gophercon-2019/optimizing-without-a-blindfold-intro-pprof.png
public/gophercon-2019/optimizing-without-a-blindfold-json-benchstat-comparison.png
public/gophercon-2019/optimizing-without-a-blindfold-json-benchstat-lower-variance.png
public/gophercon-2019/optimizing-without-a-blindfold-json-benchstat-throttling.png
public/gophercon-2019/optimizing-without-a-blindfold-json-benchstat.png
public/gophercon-2019/optimizing-without-a-blindfold-json-codedecoder-comparison.png
public/gophercon-2019/optimizing-without-a-blindfold-json-codedecoder.png
public/gophercon-2019/optimizing-without-a-blindfold-json-perflock.png
public/gophercon-2019/reshaping-append.png
public/gophercon-2019/ship-process.jpg
public/gophercon-2019/ship-process.png
public/gophercon-2019/tools-packages.png
public/gophercon-2019/try-syntax.png
public/gophercon-2019/unwrap-interface.png
public/gophercon-2019/version-experiments.png
public/gophercon-2019/x86talk-assembly-slide.png
public/gophercon-2019/x86talk-avo.png
public/gophercon-2019/x86talk-bug.png
public/gophercon-2019/x86talk-bugfix.png
public/gophercon-2019/x86talk-cve.png
public/gophercon-2019/x86talk-mission.png
public/gophercon-2019/x86talk-table1.png
public/gophercon-2019/x86talk-thisisfine.png
public/guides/dev-thoughts-on-productivity.pdf
public/guides/fixing-vulnerabilities-less-is-more.pdf
public/guides/optimizing-developer-onboarding.pdf
public/guides/three-problems-with-security-scanners.pdf
public/icons/batch-changes.svg
public/integrations/atom.svg
public/integrations/chrome.svg
public/integrations/firefox.svg
public/integrations/github.png
public/integrations/gitlab.svg
public/integrations/jetbrains.svg
public/integrations/safari.svg
public/integrations/sublime.svg
public/integrations/vim.svg
public/integrations/vscode.svg
public/join-the-waitlist.svg
public/manifest.json
public/opensourcecode.svg
public/page-bg.svg
public/product-diagram-0.svg
public/screenshots/code-page-0.png
public/screenshots/search-page-0.png
public/screenshots/search-page-1.png
public/screenshots/search-page-small-0.png
public/sourcegraph-logo.svg
public/sourcegraph-reverse-logo.svg
public/sourcegraph/foot-logo.svg
public/sourcegraph/logo--light.svg
public/sourcegraph/logo.svg
public/sourcegraph/sg-logo--with-motto--light.svg
public/sourcegraph/sg-logo--with-motto.svg
public/sourcegraph/sourcegraph-4-starship-reflected.svg
public/sourcegraph/sourcegraph-4.0-white.svg
public/sourcegraph/sourcegraph-mark-manifest-192.png
public/sourcegraph/sourcegraph-mark-manifest-512.png
public/sourcegraph/sourcegraph-mark-touch-180.png
public/sourcegraph/sourcegraph-mark.png
public/sourcegraph/sourcegraph-mark.svg
public/sprinkles.svg
public/sprinkles/sprinkle-base.svg
public/sprinkles/sprinkle-blue-5.svg
public/sprinkles/sprinkle-cyan-5.svg
public/sprinkles/sprinkle-grape-5.svg
public/sprinkles/sprinkle-green-5.svg
public/sprinkles/sprinkle-indigo-5.svg
public/sprinkles/sprinkle-lime-5.svg
public/sprinkles/sprinkle-orange-5.svg
public/sprinkles/sprinkle-pink-5.svg
public/sprinkles/sprinkle-red-5.svg
public/sprinkles/sprinkle-teal-5.svg
public/sprinkles/sprinkle-violet-5.svg
public/sprinkles/sprinkle-yellow-5.svg
public/staff/avatar-aimee.jpg
public/staff/avatar-beyang.png
public/staff/avatar-carly.png
public/staff/avatar-christina.png
public/staff/avatar-dan.jpg
public/staff/avatar-gregg.jpg
public/staff/avatar-nick.png
public/staff/avatar-quinn.png
public/staff/joel-kwartler.png
public/staff/max-wiederholt.png
public/staff/murat-sutunc.png
public/staff/shawn-king.png
public/white-arrow-black-bg-circle.svg
public/white-papers/remote-easier-bg_1680x300.png
public/white-papers/remote-easier.jpg
src/components/CustomerLogos.tsx
src/components/Heading.tsx
src/components/IntegrationsSection.tsx
src/components/Layout/Footer.tsx
src/components/Layout/Header/index.tsx
src/components/YouTube.tsx
src/components/index.ts
src/data/breakpoints.ts
src/pages/_app.tsx
src/pages/_document.tsx
src/pages/better-dev-onboarding.tsx
src/pages/home/_Banner.tsx
src/pages/home/_Hero.tsx
src/pages/home/assets/hero/mesh-left.png
src/pages/home/assets/hero/mesh-right.png
src/pages/sourcegraph-4.tsx
tailwind.config.js
yarn.lock

Copy link
Contributor

@st0nebreaker st0nebreaker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! So much miscellaneous cleanup 🧼 . In the future can big PRs like this be broken up? It's a lot to consume & leaves us to vulnerabilities merging in my opinion since it's not as iterative.

I see the PWA working 😁 - Some more comments below

src/pages/_app.tsx Show resolved Hide resolved
src/data/breakpoints.ts Outdated Show resolved Hide resolved
public/manifest.json Show resolved Hide resolved
src/pages/_document.tsx Show resolved Hide resolved
src/components/CustomerLogos.tsx Show resolved Hide resolved
src/components/YouTube.tsx Show resolved Hide resolved
src/components/IntegrationsSection.tsx Outdated Show resolved Hide resolved
src/pages/home/_Hero.tsx Outdated Show resolved Hide resolved
src/components/Heading.tsx Outdated Show resolved Hide resolved
src/components/Heading.tsx Show resolved Hide resolved
bretthayes and others added 3 commits October 3, 2022 15:23
Co-authored-by: Becca Steinbrecher <59381432+st0nebraker@users.noreply.github.com>
st0nebreaker
st0nebreaker previously approved these changes Oct 4, 2022
* compress assets wip

* compress png assets

* svg assets compressed

* jpg asset compression

* remove unused font files

* gif asset compression

* compress pdf assets
@bretthayes bretthayes merged commit aa47b6f into main Oct 4, 2022
@bretthayes bretthayes deleted the brett/improvements branch October 4, 2022 17:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: Done
3 participants