profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/jcomo/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Jonathan Como jcomo @offsyte San Francisco, CA https://offsyte.co Co-founder & CTO @offsyte. Formerly staff engineer / manager @lyft

jarus/flask-testing 472

Unittest extensions for Flask

jcomo/s3-proxy 40

A proxy to private S3 buckets

codepath/slackbot 9

CodePath Slackbot (Fred)

jcomo/snake 9

A python port of the popular build script utility - Rake

jcomo/smtpd-java 8

A server implementing the SMTP protocol

jcomo/shelf-life 7

An API that returns information about food item shelf life

jcomo/pybot 6

A python port of the popular Hubot framework

jcomo/static-site-buildpack 6

Heroku buildpack for serving protected assets

jcomo/immut 4

An immutable container library for python

jcomo/pcol 3

A color rendering library for python

pull request commentgetsentry/sentry-javascript

fix(react): Require ReactElement in ErrorBoundary props and render

@AbhiPrasad should be all set for a final pass

jcomo

comment created time in a day

push eventjcomo/sentry-javascript

Katie Byers

commit sha c35aa3b53ab3ba5628c2148d03df3d90156dfd02

chore(nextjs): Rename `handlers.ts` to `withSentry.ts` (#3859)

view details

Abhijeet Prasad

commit sha 7c538abb5f9cdfb6659db58027f17a8c20e382b4

fix(browser): Make sure handler exists for LinkedErrors Integration (#3861) We should port the fixes done in the Node SDK in https://github.com/getsentry/sentry-javascript/pull/2742 to the browser SDK. This makes sure that the handler class method is defined in the linked errors integration.

view details

Katie Byers

commit sha efa6c45bba221a8b79413c172a67552341d0c5bb

ref(core): Prevent redundant setup work (#3862) This fixes two places where we do work unnecessarily: 1) When creating a new `Hub` instance we call `bindClient`, even if there's no client to bind. 2) When calling `Client.setupIntegrations()` (as we do when binding a client to a hub), we run through the whole integration-setup process, even if the client has already had its integrations set up. (The latter situation comes up, among other places, any time we create a domain: each new domain gets its own hub, which then is bound to the current client, meaning up until now we've been calling `setupIntegrations()` for every incoming request handled by either our Express integration or our nextjs SDK.) To prevent this, we now (as of this change) check a) if there's a client to bind to the new hub, and b) if the client having its integrations set up has already had that done.

view details

Katie Byers

commit sha 9ca4c5b60f23cdddd7b52a7d424e64215c7e4d1d

ref(nextjs): Stop reinitializing the server SDK unnecessarily (#3860) In the nextjs SDK, we bundle the user's `Sentry.init()` code with every API route and with the `_app` page, which is the basis of all user-provided pages. This is necessary because, when deployed on Vercel, each API route (and optionally each individual page) is turned into its own serverless function, so each one has to independently be able to start up the SDK. That said, a) not all nextjs apps are deployed to Vercel, and b) even those that are sometimes have multiple serverless API routes combined into a single serverless function. As a result, `Sentry.init()` can end up getting called over and over again, as different routes are hit on the same running server process. While we manage hubs and clients and scopes in such a way that this doesn't break anything, it's also a total waste of time - the startup code that we bundle with each route comes from a single source (`sentry.server.config.js`) and therefore is the same for every route; once the SDK is started with the given options, it's started. No reason to do it multiple times. This thus introduces a check when calling the server-side `Sentry.init()`: if there is a client already defined on the current hub, it means the startup process has already run, and so it bails. There are also changes to the tests. TL;DR, because I needed the real `init()` from the node SDK to run (in order to create an already-initialized client to check), I switched the mocking of `@sentry/node` from a direct mock to a pair of spies. I further did two renamings - `s/mockInit/nodeInit`, to make it clear which `init()` function we're talking about, and `s/reactInitOptions/nodeInitOptions`, since this is the backend initialization we're testing rather than the front end.

view details

Jonathan Como

commit sha bb5f91cddf6673af57567b204332af608c9ebd83

Merge remote-tracking branch 'upstream/master' into fix/errorboundary-reactelement

view details

push time in a day

push eventjcomo/sentry-javascript

Jonathan Como

commit sha 40bed07e366bc4cf6f7e9a606021baca659556ab

Log a warning when fallback does not produce ReactElement

view details

push time in a day

Pull request review commentgetsentry/sentry-javascript

fix(react): Require ReactElement in ErrorBoundary props and render

 class ErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundarySta     const { error, componentStack, eventId } = this.state;      if (error) {-      if (React.isValidElement(fallback)) {-        return fallback;-      }+      let element: React.ReactElement | undefined = undefined;       if (typeof fallback === 'function') {-        return fallback({ error, componentStack, resetError: this.resetErrorBoundary, eventId }) as FallbackRender;+        element = fallback({ error, componentStack, resetError: this.resetErrorBoundary, eventId });+      } else {+        element = fallback;+      }++      if (React.isValidElement(element)) {+        return element;       } -      // Fail gracefully if no fallback provided+      // Fail gracefully if no fallback provided or is not valid

Perfect, thanks!

jcomo

comment created time in a day

PullRequestReviewEvent

issue commentgetsentry/sentry-javascript

ErrorBoundary fallback has inconsistent typing

Thanks @AbhiPrasad! When you get a chance, here are the PRs for review:

  • https://github.com/getsentry/sentry-javascript/pull/3857
  • https://github.com/getsentry/sentry-docs/pull/3963
jcomo

comment created time in 3 days

PR opened getsentry/sentry-docs

Show ReactElement as fallback in ErrorBoundary example

Docs fix as a follow-up from https://github.com/getsentry/sentry-javascript/pull/3857

+2 -2

0 comment

1 changed file

pr created time in 3 days

create barnchjcomo/sentry-docs

branch : fix/errorboundary-reactelement

created branch time in 3 days

push eventjcomo/sentry-docs

Daniel Griesser

commit sha 5e14d76bcea1975ed9c3de1766ebc3e10d0affbb

Update dedupe docs (#3902) Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>

view details

Isabel

commit sha e3eda07654e579090bb2c8b7937800c88190af50

(integrations restructure) add remaining folders (#3914) * added remaining integrations folders * added redirects

view details

Matej Minar

commit sha 1406438daae9a53b210eae5a08e81ca7d3ed0706

feat: Add sorting and filtering releases docs (#3861)

view details

Isabel

commit sha 513cb4af084bce44b8388db196015d4268ed5fea

update releases usage page front matter (#3917) * updated release usage front matter * add sort

view details

LucasZF

commit sha d22c4e1ca61faccbbae04950874d26c335974da2

Add Xamarin troubleshooting (#3878)

view details

Sam

commit sha db80cca1a5fc3cbcd1dfe539cc0642e8a1db254f

Update links to RAM bundle documentation (#3875)

view details

Maciej Walkowiak

commit sha 21bf9c399c82c180efcabe90f259c8631512c265

Java: Add BOM docs. (#3832) Co-authored-by: Fiona <61481573+PeloWriter@users.noreply.github.com>

view details

Kamil Ogórek

commit sha e6ff92c08f3f577c951bcd74b9f4562360e5b5ee

feat(vue): Rework Vue documentation to include Vue2 and Vue3 support (#3906) * feat(vue): Rework Vue documentation to include Vue2 and Vue3 support

view details

Jan Michael Auer

commit sha 18f138352caed84aea97b17b3b2026db748039cc

feat(ue4): Enable enriching events content for UE4 (#3919) Expands the existing Advanced Configuration code snippet with more examples for configuring tags and custom contexts. Also enables the Enriching Events section for supported functions. Since performance monitoring is not supported on UE4, this also disables the transaction name document for UE4.

view details

Matej Minar

commit sha 7ee54bfc05f66831563f82065f4b1fda07ae9ccc

feat: Add release details docs (#3907)

view details

Chris Fuller

commit sha 37df15a0208506ed85a3f3cf01c02889089bdba1

feat(docs): Release Stage words (#3903) * release stage info * Update src/docs/product/releases/health/index.mdx Co-authored-by: Fiona <61481573+PeloWriter@users.noreply.github.com> * Update src/docs/product/releases/index.mdx Co-authored-by: Fiona <61481573+PeloWriter@users.noreply.github.com> * Adding environment note * Update src/docs/product/releases/health/index.mdx Co-authored-by: Fiona <61481573+PeloWriter@users.noreply.github.com> * Update src/docs/product/releases/health/index.mdx Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com> * Update src/docs/product/releases/health/release-details.mdx Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com> * Update src/docs/product/releases/health/index.mdx Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com> * replace high adoption with adopted * feat(docs): Release adoption stages filtering (#3925) * feat(docs): Release adoption stages * wording * adoption stages plural * wording * consistent adoption stages wording * Apply suggestions from code review Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com> Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com> Co-authored-by: Fiona <61481573+PeloWriter@users.noreply.github.com> Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com> Co-authored-by: Taylan Gocmen <ta.gocmen@gmail.com> Co-authored-by: Taylan Gocmen <taylangocmen@users.noreply.github.com>

view details

Josh Ferge

commit sha f2837c7bb3a60de88cadb7e6e9ec0ae10b3e5c50

fix(scim): update Okta screenshot (#3918)

view details

Ahmed Etefy

commit sha fd66c24c47e3504700056988fb604184094914e8

feat(aws-lambda): Add docs on using Sentry as a Container Image (#3921) * feat(aws-lambda): Add docs on using Sentry as a Container Image Adds docs for both Python and Node on how to use Sentry's AWS Layer as a container image on AWS

view details

Bruno Garcia

commit sha f965dbe7ad642ea8c9fc4b6ef00b2d2615f6c3f6

java: request-body-size option (#3929)

view details

Bruno Garcia

commit sha 5fd7ec859096bf25a2b769c1e86b83a869c4a774

fix: casing for spring (#3930)

view details

Isabel

commit sha 48bd603e5b97443c1849ae8b8d138c20cfdf58be

add clarity to spike protection content (#3923) * added more details to spike protection section * made structural edits * minor edits

view details

Josh Ferge

commit sha 8d38bde516e57425683dac49fe2844f9bad5aafb

fix(scim): update troubleshooting blurb about import users (#3924)

view details

Matej Minar

commit sha 491a7c6ca2c8933f54f466eb5473cd1d93a019e1

ref: Move Release Details to the root of Releases (#3927)

view details

dependabot[bot]

commit sha 14d0555746e39a5eb92bd3a9e6b73a9aed2aca86

build(deps): bump prismjs from 1.23.0 to 1.24.0 (#3809) * build(deps): bump prismjs from 1.23.0 to 1.24.0 Bumps [prismjs](https://github.com/PrismJS/prism) from 1.23.0 to 1.24.0. - [Release notes](https://github.com/PrismJS/prism/releases) - [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md) - [Commits](https://github.com/PrismJS/prism/compare/v1.23.0...v1.24.0) --- updated-dependencies: - dependency-name: prismjs dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * bump to 1.24.1 Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Burak Yigit Kaya <ben@byk.im>

view details

Josh Ferge

commit sha 8899d8283053ef75093d213cce6f6f6dac9b8efc

fix(scim): update SCIM EA note (#3932) * update SCIM EA verbage * update wording slightly

view details

push time in 3 days

PR opened getsentry/sentry-javascript

Require ReactElement in ErrorBoundary props and render

Updates the ErrorBoundary fallback type in @sentry/react to require a ReactElement. This addresses the inconsistency in https://github.com/getsentry/sentry-javascript/issues/3828

Open question: in the case where the fallback prop is not a valid element, I wanted to include some sort of console warning so that the developer can get feedback (really only matters for js). This would have saved us an hour of debugging and sifting through the SDK source code. However, the linter doesn't allow console.log statements -- what's the preferred approach? We can ignore the linter for that line, leave it out entirely, or follow some warning convention if it exists in the codebase.


Before submitting a pull request, please take a look at our Contributing guidelines and verify:

  • [x] If you've added code that should be tested, please add tests.
  • [x] Ensure your code lints and the test suite passes (yarn lint) & (yarn test).
+22 -8

0 comment

2 changed files

pr created time in 3 days

push eventjcomo/sentry-javascript

Jonathan Como

commit sha af921d723693da9a9bc2829fb6270ec91c1efc3e

Remove console log

view details

push time in 3 days

create barnchjcomo/sentry-javascript

branch : fix/errorboundary-reactelement

created branch time in 3 days

issue openedgetsentry/sentry-javascript

ErrorBoundary fallback has inconsistent typing

Core or SDK?

Platform/SDK

Which part? Which one?

Javascript / React

Description

The fallback prop of the ErrorBoundary accepts a React.ReactNode (or function that returns one), but the body of the render method checks for isValidElement (see: https://github.com/getsentry/sentry-javascript/blob/316566ea52e2918d63429336c1ef943d9a674881/packages/react/src/errorboundary.tsx#L163-L165)

The docs suggest that a string (ReactNode) can be passed in, but the ErrorBoundary will render null.

Note that if you supply a function for fallback that returns a ReactNode (eg. string), it will actually render because there is no check for isValidElement around the fallback function variant.

Suggested Solution

The solution depends on the preference.

Personally, I think it should be an element. If that's the consensus, we should update the typings in sentry-javascript and the docs to reflect that.

If it should be a ReactNode, then we need to remove the isValidElement check.

Happy to implement either solution! Either way, we should include a new test for this in sentry-javascript.

created time in 14 days

issue openedgetsentry/sentry-docs

ErrorBoundary fallback has inconsistent typing

Core or SDK?

Platform/SDK

Which part? Which one?

Javascript / React

Description

The fallback prop of the ErrorBoundary accepts a React.ReactNode (or function that returns one), but the body of the render method checks for isValidElement (see: https://github.com/getsentry/sentry-javascript/blob/316566ea52e2918d63429336c1ef943d9a674881/packages/react/src/errorboundary.tsx#L163-L165)

The docs suggest that a string (ReactNode) can be passed in, but the ErrorBoundary will render null.

Note that if you supply a function for fallback that returns a ReactNode (eg. string), it will actually render because there is no check for isValidElement around the fallback function variant.

Suggested Solution

The solution depends on the preference.

Personally, I think it should be an element. If that's the consensus, we should update the typings in sentry-javascript and the docs to reflect that.

If it should be a ReactNode, then we need to remove the isValidElement check.

Happy to implement either solution! Either way, we should include a new test for this in sentry-javascript.

created time in 14 days

fork jcomo/sentry-docs

The new place for the sentry documentation (and tools to build it)

https://docs.sentry.io

fork in 14 days