profile
viewpoint
Ben Vinegar benvinegar Sentry San Francisco, CA http://benv.ca Engineering @getsentry, co-author of Third-party JavaScript. People respected me in 2013.

benvinegar/thirdpartyjs-code 202

Companion source code to Third-party JavaScript (the book)

benvinegar/seamless-talk 137

GothamJS 2012 talk on HTML5's seamless iframe attribute

benvinegar/jquery-jsonpi 109

jQuery plugin that enables the 'jsonpi' dataType parameter for $.ajax.

disqus/backbone.uniquemodel 95

Backbone.js plugin for ensuring unique model instances across your app

benvinegar/couchdb-xd 62

Cross-domain AJAX for CouchDB

getsentry/sourcemaps.io 41

Web-based Source Map validator

benvinegar/Spectacles 39

Chrome Plugin that removes Quora's answer obfuscation for anonymous users

benvinegar/freshbooks.rb 21

FreshBooks API wrapper. This copy is deprecated; please see bcurren's canonical copy.

benvinegar/editable.js 20

A cross-browser library for working with contentEditable DOM elements.

benvinegar/malt 13

Asynchronous Javascript dependency manager

pull request commentgetsentry/sentry

feat(trends): Add moving average to trends

Looks nice. Showing both the smoothed and non-smoothed graphs gives me more confidence in the underlying data.

wmak

comment created time in 9 days

pull request commentgetsentry/sentry-docs

docs(laravel): More straight-forward performance onboarding

Going to revisit this because the Laravel wizard (launches when you run php artisan sentry:publish) literally asks you if you want to set up Performance Monitoring (and defaults to yes). Choosing "yes" has the effect of updating the .env file automatically.

 Enable Performance Monitoring? (yes/no) [yes]:
[Sentry] Added `SENTRY_TRACES_SAMPLE_RATE=1` to your .env file.

Seems redundant to add a block about editing the .env file manually.

benvinegar

comment created time in 20 days

push eventgetsentry/sentry-docs

Ben Vinegar

commit sha 8cfbc08e2a4c71f98096aca73bfacc837e942e1b

docs(react): Simplify React wizard help text (#2394)

view details

push time in 20 days

delete branch getsentry/sentry-docs

delete branch : feat/react-getting-started

delete time in 20 days

PR merged getsentry/sentry-docs

Reviewers
docs(react): Simplify React wizard help text

Removes the big alert block trying to explain that @sentry/react is a wrapper around @sentry/browser (new users shouldn't know or care)

+6 -11

1 comment

1 changed file

benvinegar

pr closed time in 20 days

create barnchgetsentry/sentry-docs

branch : feat/react-getting-started

created branch time in 21 days

push eventgetsentry/sentry-docs

Ben Vinegar

commit sha c1640ecc3e6b741dcc17bdabe5d02f4150ff99e5

fix(urls): Use relative URLs instead of linking to docs.sentry.io (#2382) * fix(urls): Use relative URLs instead of linking to docs.sentry.io * Revert relative URL change to api docs link * Fix grouping & fingerprinting link * Fix broken url on log4net docs

view details

push time in 21 days

delete branch getsentry/sentry-docs

delete branch : feat/fix-doc-links

delete time in 21 days

PR merged getsentry/sentry-docs

Reviewers
fix(urls): Use relative URLs instead of linking to docs.sentry.io

Replaces any absolute URL in a markdown file that pointed to docs.sentry.io and instead uses a relative URL. This way I can navigate links on a local development build without being transported to the production website.

+13 -13

3 comments

12 changed files

benvinegar

pr closed time in 21 days

push eventgetsentry/sentry-docs

Ben Vinegar

commit sha f5274c775f84e15e8dc2b12e699df4659009a1a7

Fix broken url on log4net docs

view details

push time in 22 days

push eventgetsentry/sentry-docs

Ben Vinegar

commit sha a5d757554557a0e3527d911a082bfa795c1e5736

Fix grouping & fingerprinting link

view details

push time in 22 days

push eventgetsentry/sentry-docs

Ben Vinegar

commit sha 84bc46eb25800332ceac099281f88559c6cfc441

fix(platforms): Let sub-platform list overflow (#2381)

view details

push time in 22 days

delete branch getsentry/sentry-docs

delete branch : feat/fix-platform-overflow

delete time in 22 days

PR merged getsentry/sentry-docs

Reviewers
fix(platforms): Let sub-platform list overflow

I was bothered that a number of the Python integrations get cut off. This makes it so that the cards are no longer uniform, but I think it looks fine having Python as the one outlier (everything else lines up fine).

Before:

image

After:

image

+0 -3

1 comment

1 changed file

benvinegar

pr closed time in 22 days

pull request commentgetsentry/sentry-docs

fix(urls): Use relative URLs instead of linking to docs.sentry.io

Interestingly, this fails a build because now that the links are relative, it is discovering that some of the document fragment links (#) no longer point anywhere. I guess this check wasn't happening for externally linked content.

Oops, nope, I brought in a 404 because /api/ isn't available locally.

benvinegar

comment created time in 22 days

push eventgetsentry/sentry-docs

Ben Vinegar

commit sha 095fae4a0a9f7939796b41a687475e591a4b9ebc

Revert relative URL change to api docs link

view details

push time in 22 days

pull request commentgetsentry/sentry-docs

fix(urls): Use relative URLs instead of linking to docs.sentry.io

Interestingly, this fails a build because now that the links are relative, it is discovering that some of the document fragment links (#) no longer point anywhere. I guess this check wasn't happening for externally linked content.

https://github.com/getsentry/sentry-docs/pull/2382/checks?check_run_id=1180346161

benvinegar

comment created time in 22 days

create barnchgetsentry/sentry-docs

branch : feat/fix-doc-links

created branch time in 22 days

create barnchgetsentry/sentry-docs

branch : feat/fix-platform-overflow

created branch time in 22 days

pull request commentgetsentry/sentry-docs

docs(laravel): More straight-forward performance onboarding

I just want to get @HazAT's take before merging.

benvinegar

comment created time in 22 days

push eventgetsentry/sentry-docs

Ben Vinegar

commit sha 2a4ec1bbe069e828c7cdbae18f90d413cfb1078d

Use code backticks

view details

push time in 22 days

create barnchgetsentry/sentry-docs

branch : feat/better-tracing-intro-laravel

created branch time in 22 days

issue openedgetsentry/sentry-docs

Add some basic frontmatter for previews on external services (e.g. Twitter)

This is how links to docs appear embedded in a tweet:

image

It would be nice if we got a basic Sentry logo/header in here.

created time in a month

pull request commentgetsentry/sentry-docs

feat: Add tool to look for core doc issues

Love this.

dcramer

comment created time in a month

pull request commentgetsentry/sentry

feat(sqs): add s3 bucket option

Aside, I definitely don't understand our design language for "required" vs optional in our product. Seems inconsistent. cc @ckj

scefali

comment created time in 2 months

push eventgetsentry/sentry

Ben Vinegar

commit sha 4905bb3b3d99b340382fba5aa16a1e144b20816a

chore(onboarding): Promote Go, Vue to popular platforms ... Demote Elixir, Symfony (doesn't appear to work anyways)

view details

push time in 2 months

create barnchgetsentry/sentry

branch : feat/update-popular

created branch time in 2 months

PR opened getsentry/sentry

chore(onboarding): Promote Go, Vue to popular platforms ...

Demote Elixir, Symfony (doesn't appear to work anyways)

+0 -1

0 comment

1 changed file

pr created time in 2 months

pull request commentgetsentry/sentry-docs

feat: Add tracing to angular wizard

Thanks @HazAT 🙏

HazAT

comment created time in 2 months

PR opened getsentry/sentry-docs

docs(vue): Update Vue wizard for tracing

It additionally attempts to show two separate blocks for installing via npm/yarn vs. CDN, since the installation code snippet is different depending on which you choose.

I also dropped the es6 alternative use case since that feels unnecessary to me (we're already giving people 2 choices).

+57 -41

0 comment

1 changed file

pr created time in 2 months

create barnchgetsentry/sentry-docs

branch : vue-getting-started

created branch time in 2 months

pull request commentgetsentry/sentry

bug(ui): fix platform docs padding

@ckj you are literally my hero

ckj

comment created time in 2 months

Pull request review commentgetsentry/sentry-docs

docs(javascript): Add CDN bundle example for performance

 Upload source maps using either our [Webpack plugin](./config/sourcemaps/#webpac  Performance Monitoring helps you see everything from macro-level metrics to micro-level spans, and you’ll be able to cross-reference transactions with related issues, customize queries based on your personal needs, and substantially more. -To get started with performance monitoring using Sentry’s JavaScript SDK, first install the `@sentry/browser` and `@sentry/tracing` packages:+To get started with performance monitoring using Sentry’s JavaScript SDK, install both the `@sentry/browser` and `@sentry/tracing` packages, or link directly to our combined minified bundle via CDN: -```bash+```bash {tabTitle: ESM} # Using yarn $ yarn add @sentry/browser @sentry/tracing  # Using npm $ npm install @sentry/browser @sentry/tracing ``` -Alternatively, instead of `npm` packages, you can use our pre-built CDN bundle that combines both `@sentry/browser` and `@sentry/tracing`:--<JsCdnTag apm={true} />

Wasn't sure how to get the tabbed experience while using this <JsCdnTag/> component. Open to ideas if someone can direct me.

benvinegar

comment created time in 2 months

PullRequestReviewEvent

PR opened getsentry/sentry-docs

docs(javascript): Add CDN bundle example for performance

Instructions are now tabbed between ESM and CDN.

+19 -6

0 comment

1 changed file

pr created time in 2 months

create barnchgetsentry/sentry-docs

branch : feat/perf-cdn-example

created branch time in 2 months

PullRequestReviewEvent

push eventgetsentry/hackweek

Ben Vinegar

commit sha eabb3b3daa6812e71bd706527ae239ac219d5b2c

feat(votes): Add admin page for reviewing vote tabulations

view details

push time in 2 months

push eventgetsentry/hackweek

Ben Vinegar

commit sha 7ecd2cc28371c7d516b7d8b59bf7d516139f5361

feat(projects): Add repository field

view details

push time in 2 months

push eventgetsentry/hackweek

Ben Vinegar

commit sha f041a3c75cbe63b72be43549f5c902c2e4d379ce

feat(votes): Clear out project vote from dropdown (#25)

view details

push time in 2 months

delete branch getsentry/hackweek

delete branch : feat/hackweek

delete time in 2 months

create barnchgetsentry/hackweek

branch : feat/hackweek

created branch time in 2 months

push eventgetsentry/hackweek

Ben Vinegar

commit sha 03f3711c3933f3bfbbdbdd6b1bf7a72a6fc317d7

Prevent duplicate votes and self-voting (#24) * Validate vote recipients match key (prevent dupe votes) * Prevent voting for ones own project

view details

push time in 2 months

delete branch getsentry/hackweek

delete branch : feat/no-dupe-votes

delete time in 2 months

PR merged getsentry/hackweek

Reviewers
Prevent duplicate votes and self-voting

There are two major rule changes in this PR:

1. Prevent duplicate votes

Captured by this rule:

$voteId == this.creator + ':' + this.awardCategory

This prevents a user from creating a vote for more than one award category:

  • Keys for votes must be a permutation of ${creatorId}:${awardCategoryId}
  • Validity of awardCategoryId is enforced (see: AwardCategoryRef)
  • Validity of creatorId is enforced to be the voting user (see: UserRef)
  • The contents of the vote must match the key (e.g. the creator and awardCategory components of the vote match the key)

What this does not prevent:

  • A user being able to vote for the same project for all categories (since this still fits the constraint)

2. Prevent voting for ones own project

this.parent().parent().projects[this.project].members[auth.uid] == null

This says: the authenticated user (who is casting the vote) must not be found in the project's list of members.

+2 -0

0 comment

1 changed file

benvinegar

pr closed time in 2 months

push eventgetsentry/hackweek

Ben Vinegar

commit sha 17cbdb9c33fc207fe05e2c746850a3fdd7450c41

Prevent voting for ones own project

view details

push time in 2 months

create barnchgetsentry/hackweek

branch : feat/no-dupe-votes

created branch time in 2 months

push eventgetsentry/hackweek

Ben Vinegar

commit sha eee9629c550e54b2ee9dc0587f94fec74d8294b7

fix(readme): You need to be authed w/ Firebase to deploy

view details

push time in 2 months

push eventgetsentry/hackweek

Ben Vinegar

commit sha ee1cfdab3142b7d53215c1af5f5ab6a82fe32d3f

chore: Upgrade Firebase to 7.x for compat w/ node 12.x

view details

Ben Vinegar

commit sha 0700921345909837bc83362ccea94ddeab1d662b

Fix ProjectRef validation on award

view details

Ben Vinegar

commit sha bd0a23e6b75cb0cb2c08849ce15fae5e2699926a

Add award categories page + db rules

view details

Ben Vinegar

commit sha 3905b5f794907cb7efcae602c039fd0f5fcdf742

Can set awards to award categories

view details

Ben Vinegar

commit sha ebf4fb0f1fa5e2d316bf9ee143eb75aad3cddcd0

Add "enable voting" checkbox to manage year

view details

Ben Vinegar

commit sha 8797d96a5728dc130fe95f5c6a98be8538bc0230

Janky voting implementation with no prevention of dupe votes

view details

Ben Vinegar

commit sha d87c39c5863fd42fe77d65797c7a79be107321a7

Enforce uniqueness on votes

view details

Ben Vinegar

commit sha bc6ebb3088b3d585b02fcf2488bf2cbdd55e260d

Show your votes on project list

view details

Ben Vinegar

commit sha 4a3b91b03a67ed2a35bca91dd2e334cfcc32838c

Fix award rendering on project details

view details

Ben Vinegar

commit sha deccc658596d4411a2dc12a750af9fe6ea012f2f

Add "voting is enabled"

view details

Ben Vinegar

commit sha 6975874f4a70f0eb344a9f67ebda5ef7a68bd100

Prevent voting for your own project

view details

Ben Vinegar

commit sha 21dba3d20651ac05cbb1549c14ba66091034dae3

Merge pull request #23 from getsentry/feat/hackweek Add award categories and voting to Hackweek app

view details

push time in 2 months

delete branch getsentry/hackweek

delete branch : feat/hackweek

delete time in 2 months

PR merged getsentry/hackweek

Add award categories and voting to Hackweek app

A mess of a PR that haphazardly adds:

  • Introduces two new object types under /years/{year}:
    • /years/{year}/awardCategories, which simply have a name (e.g. "Pixels Matter")
    • /years/{year}/votes, which represents a single vote by a user for a project/awardCategory
  • Modifies the /years/{year}/awards object type to reference awardCategory instead of designating the category using a string
  • Adds a single property, votingEnabled under /years/{year} that indicates whether voting is currently active
  • A new administrative page, "Award Categories", for creating and editing awardCategories
  • Modifies ProjectDetails to show a "voting" dropdown (when votingEnabled is true), which creates new vote objects
  • Modifies ProjectList to show an alert block when voting is enabled
  • Modifies ProjectList to show the current user which projects they've voted for

image

+820 -295

0 comment

12 changed files

benvinegar

pr closed time in 2 months

Pull request review commentgetsentry/hackweek

Add award categories and voting to Hackweek app

 path /years/{year} {          path /members/{memberId} is ProjectMember {}     }++    path /votes/{voteId} is Vote {+        write() { isAllowedUser() }

Yeah, I'm gonna do as a follow up

benvinegar

comment created time in 2 months

PR opened getsentry/hackweek

Reviewers
Add award categories and voting to Hackweek app

A mess of a PR that haphazardly adds:

  • Introduces two new object types under /years/{year}:
    • /years/{year}/awardCategories, which simply have a name (e.g. "Pixels Matter")
    • /years{year}/votes, which represents a single vote by a user for a project/awardCategory
  • Modifies the /years/{year}/awards object type to reference awardCategory instead of designating the category using a string
  • Adds a single property, votingEnabled under /years/{year} that indicates whether voting is currently active
  • A new administrative page, "Award Categories", for creating and editing awardCategories
  • Modifies ProjectDetails to show a "voting" dropdown (when votingEnabled is true), which creates new vote objects
  • Modifies ProjectList to show an alert block when voting is enabled
  • Modifies ProjectList to show the current user which projects they've voted for

image

+820 -295

0 comment

12 changed files

pr created time in 2 months

push eventgetsentry/hackweek

Ben Vinegar

commit sha deccc658596d4411a2dc12a750af9fe6ea012f2f

Add "voting is enabled"

view details

Ben Vinegar

commit sha 6975874f4a70f0eb344a9f67ebda5ef7a68bd100

Prevent voting for your own project

view details

push time in 2 months

push eventgetsentry/hackweek

Ben Vinegar

commit sha 4a3b91b03a67ed2a35bca91dd2e334cfcc32838c

Fix award rendering on project details

view details

push time in 2 months

push eventgetsentry/hackweek

Ben Vinegar

commit sha d87c39c5863fd42fe77d65797c7a79be107321a7

Enforce uniqueness on votes

view details

Ben Vinegar

commit sha bc6ebb3088b3d585b02fcf2488bf2cbdd55e260d

Show your votes on project list

view details

push time in 3 months

push eventgetsentry/hackweek

Ben Vinegar

commit sha ebf4fb0f1fa5e2d316bf9ee143eb75aad3cddcd0

Add "enable voting" checkbox to manage year

view details

Ben Vinegar

commit sha 8797d96a5728dc130fe95f5c6a98be8538bc0230

Janky voting implementation with no prevention of dupe votes

view details

push time in 3 months

create barnchgetsentry/hackweek

branch : feat/hackweek

created branch time in 3 months

Pull request review commentgetsentry/sentry

feat(PagerDuty): Add PD as metric alert option

 def send_alert(self, metric_value):         pass  +@AlertRuleTriggerAction.register_type(+    "pagerduty",+    AlertRuleTriggerAction.Type.PAGERDUTY,+    [AlertRuleTriggerAction.TargetType.OPTIONS],+    integration_provider="pagerduty",+)+class PagerdutyActionHandler(ActionHandler):

I note we name this PagerDuty (camelcase) in some places, and Pagerduty (titlecase) in others.

ceorourke

comment created time in 3 months

pull request commentgetsentry/sentry

feat: Add Ecosystem file paths to CODEOWNERS

Codeowners file appears to support wildcards (*), did we consider tagging sentry_app*?

NisanthanNanthakumar

comment created time in 3 months

startedgetsentry/action-eslint-fix

started time in 3 months

startedgetsentry/action-release

started time in 3 months

more