profile
viewpoint
Armin Ronacher mitsuhiko Sentry Austria http://lucumr.pocoo.org/ Software developer and Open Source nut. Creator of the Flask framework. Engineering at @getsentry. Other things of interest: @pallets and @rust-lang

getlogbook/logbook 1376

A cool logging replacement for Python.

mitsuhiko/better-panic 289

A python inspired panic handler for rust

getsentry/sentry-rust 220

Sentry for Rust

lektor/lektor-archive 126

A flat file content management system. Archived repository.

getsentry/rust-sourcemap 115

A library for rust that implements basic sourcemap handling

ericflo/hurricane 97

Hurricane is a project for easily creating Comet web applications.

mitsuhiko/bf3-aggregator 85

Sourcecode for the bf3 developer news aggregator.

mitsuhiko/badideas 61

Examples from my europython talk

fijal/quill 31

An attempt to create a better language

disqus/channels 28

A demo of a modern forum powered by DISQUS

release mitsuhiko/mictoggle

0.1.0

released time in 4 hours

created tagmitsuhiko/mictoggle

tag0.1.0

Toggle microphone through hotkey

created time in 4 hours

push eventmitsuhiko/mictoggle

Armin Ronacher

commit sha 42d1b82e2addcd17a60e1ec98a3fce48eea9cae1

Go away dock

view details

push time in 4 hours

push eventmitsuhiko/mictoggle

Armin Ronacher

commit sha 964dba125ac9b37dd363e38163b14f39942b6c71

added readme

view details

push time in 4 hours

create barnchmitsuhiko/mictoggle

branch : master

created branch time in 4 hours

created repositorymitsuhiko/mictoggle

Toggle microphone through hotkey

created time in 4 hours

issue commentrust-lang/rust

Tests do not set thread name when concurrency is disabled

I believe the right thing to do in general would be to expose a very rudimentary runtime API for tests.

mitsuhiko

comment created time in 13 hours

created tagmitsuhiko/covidcotra

tag0.1.2

Some hackery for covid-19 contrac tracing

created time in 2 days

push eventmitsuhiko/covidcotra

Armin Ronacher

commit sha 110ccd0becf7952d8b849511ca2ac56dcdffa428

Added example

view details

push time in 2 days

push eventmitsuhiko/covidcotra

Armin Ronacher

commit sha 9808cad8148bdee98fb3ad94e0035042382d4db0

More updates on the docs

view details

push time in 2 days

push eventmitsuhiko/covidcotra

Armin Ronacher

commit sha 800ec52155a022fa4257bb50dc9fdc4da8cca811

Start of example code and more docs

view details

push time in 2 days

created tagmitsuhiko/covidcotra

tag0.1.1

Some hackery for covid-19 contrac tracing

created time in 2 days

push eventmitsuhiko/covidcotra

Armin Ronacher

commit sha 2cdbdcabb250ff78375c4ab559a63d9709fbe713

Small fixes

view details

push time in 2 days

created tagmitsuhiko/covidcotra

tag0.1.0

Some hackery for covid-19 contrac tracing

created time in 2 days

push eventmitsuhiko/covidcotra

Armin Ronacher

commit sha a253fd74b4d82db6ae79a2d44bbad0fb86a7b8f7

0.1.0

view details

push time in 2 days

push eventmitsuhiko/covidcotra

Armin Ronacher

commit sha 5ea9c20734c5e2091cf938b71141d17c45dd342c

Docs

view details

push time in 2 days

create barnchmitsuhiko/covidcotra

branch : master

created branch time in 2 days

created repositorymitsuhiko/covidcotra

Some hackery for covid-19 contrac tracing

created time in 2 days

push eventmitsuhiko/webgame

Armin Ronacher

commit sha b909e1ff6ee368e5670695977c05623c5ada897e

Initial work for codename sharing

view details

push time in 3 days

push eventmitsuhiko/lucumr

Armin Ronacher

commit sha a6dff11e1b68abe6ae20f86aa5d8811c96e3c2fc

Add og stuff

view details

push time in 3 days

push eventmitsuhiko/lucumr

Armin Ronacher

commit sha 9a833eea9da7db02418ca2c6ae8ac430bda3786d

Fix typo

view details

push time in 3 days

push eventmitsuhiko/lucumr

Armin Ronacher

commit sha d78d038e7f9c07b635cca7693c4155e859e3ce8e

Clarify google maps

view details

push time in 3 days

push eventmitsuhiko/lucumr

Armin Ronacher

commit sha 3dc82d3be211d383b1a9dd589b8dab5a7e316a90

Small improvement

view details

push time in 3 days

push eventmitsuhiko/lucumr

Armin Ronacher

commit sha fe231c37c929b1a56967d014b1461c1590b9a49f

Added blog post about contract tracing

view details

push time in 3 days

issue openedyewstack/yew

Mounted but after prop change

Is your feature request related to a problem? Please describe. I would like to scroll down on an element to the end after each re-render:

            if let Some(div) = self.log_ref.cast::<Element>() {
                div.set_scroll_top(div.scroll_height());
            }

Describe the solution you'd like I would like something like mounted so I can access my NodeRef but that also fires after re-render. Something like view_updated.

created time in 4 days

push eventmitsuhiko/webgame

Armin Ronacher

commit sha 44eb0bcbb8f429f2020a6c7681d003a1c5e1e555

Hide toolbar in game

view details

push time in 4 days

push eventmitsuhiko/webgame

Armin Ronacher

commit sha 7452df80ffcb8ab487be82bd4eb02226f06e0429

Transition into game

view details

push time in 4 days

push eventmitsuhiko/webgame

Armin Ronacher

commit sha 5d9ad18f9dd515b0970ba160ea75d9b66122074b

Added basic readying up

view details

push time in 4 days

delete branch getsentry/sentry

delete branch : feature/hold-a-second

delete time in 5 days

push eventgetsentry/sentry

Armin Ronacher

commit sha fd9d2088ee74e40469482e7ab9b5191ba2e5b2d3

fix(sessions): Ensure current bucket is included in release stats (#18029)

view details

push time in 5 days

PR merged getsentry/sentry

fix(sessions): Add a second to end at all times

This is a continuation of https://github.com/getsentry/sentry/pull/15939

Since our buckets in the release system are full hours an extra fix is needed for sessions where we make sure we're in the next bucket.

I think the right fix longer term is to make snuba inclusive.

+13 -1

0 comment

2 changed files

mitsuhiko

pr closed time in 5 days

push eventmitsuhiko/webgame

Armin Ronacher

commit sha 92bd0ab08d5b5f221e3ddfc8d3df84be566360e6

Added team change buttons

view details

push time in 5 days

push eventgetsentry/sentry

Armin Ronacher

commit sha a2887ce78b204ef6d56c4b05c64b0b9ad1e27dff

fix: -.-

view details

push time in 5 days

push eventgetsentry/sentry

Armin Ronacher

commit sha e0a09a9780466b8e4c3faa78996363b5a459fb5a

fix: even more math

view details

push time in 5 days

push eventgetsentry/sentry

Armin Ronacher

commit sha 3462d8cccd6342a5b40288e9ce5f2935d8f0be86

fix: more math

view details

push time in 5 days

push eventgetsentry/sentry

Armin Ronacher

commit sha 5710b0caf2653aab82f7c27e0676f6a900cd9fb3

fix: wrong math

view details

push time in 5 days

push eventgetsentry/sentry

Armin Ronacher

commit sha 7e42b4ce6957503f52ab30092c12f645e9360051

ref: Move the second hack to session data set only

view details

push time in 5 days

push eventgetsentry/sentry

Armin Ronacher

commit sha 381bde8b40597e0d938858e4f855b9fd2d90c898

fix: Also round up to full hour in get_project_release_stats

view details

push time in 5 days

PR opened getsentry/sentry

fix(sessions): Add a second to end at all times

This is a continuation of https://github.com/getsentry/sentry/pull/15939

We always want to add a second because snuba has an exclusive end but our UI has an inclusive end. So far we only did this when filling in the current time but we really need to do this even when the end is explicitly provided.

+4 -1

0 comment

1 changed file

pr created time in 5 days

create barnchgetsentry/sentry

branch : feature/hold-a-second

created branch time in 5 days

push eventgetsentry/snuba

Armin Ronacher

commit sha 73212381dc9c712afb6164a8705183b334653840

fix: skip over sessions without release (#859)

view details

push time in 5 days

delete branch getsentry/snuba

delete branch : mitsuhiko-patch-1

delete time in 5 days

PR merged getsentry/snuba

fix: skip over sessions without release

This is famously not supposed to happen.

+3 -0

0 comment

1 changed file

mitsuhiko

pr closed time in 5 days

PR opened getsentry/snuba

fix: skip over sessions without release

This is famously not supposed to happen.

+3 -0

0 comment

1 changed file

pr created time in 5 days

create barnchgetsentry/snuba

branch : mitsuhiko-patch-1

created branch time in 5 days

push eventmitsuhiko/webgame

Armin Ronacher

commit sha f4b94d5b7b0982b93832b081477b0c3deade2d19

Send entire game player state

view details

push time in 5 days

Pull request review commentgetsentry/sentry

ref(utils.sdk): Route internal errors to another DSN, kill internal transport

 def is_current_event_safe():     Tests the current stack for unsafe locations that would likely cause     recursion if an attempt to send to Sentry was made.     """++    with configure_scope() as scope:+        project_id = scope._tags.get("project")++        if project_id and project_id == settings.SENTRY_PROJECT:+            return False+     for _, filename, _, _, _, _ in inspect.stack():         if filename.endswith(UNSAFE_FILES):             return False+     return True  +def set_current_project(project_id):+    """+    Set the current project on the SDK scope for outgoing crash reports.++    This is a dedicated function because it is also important for the recursion+    breaker to work. You really should set the project in every task that is+    relevant to event processing, or that task may crash ingesting+    sentry-internal errors, causing infinite recursion.+    """+    with configure_scope() as scope:+        scope.set_tag("project", project_id)

i wonder if we can use this opportunity to also bind the org if the project as found in the cache.

untitaker

comment created time in 6 days

pull request commentgetsentry/relay

feat(cabi/pii): Generate pii selectors from event

Can we just generate $stacktrace instead of exception + $error?

untitaker

comment created time in 6 days

push eventgetsentry/sentry-cocoa

Bruno Garcia

commit sha e0f645610ccd17fb61ee6b220607d2c3fd157ce0

feat: auto session tracking (#412) * feat: auto session tracking * Update Sources/Sentry/SentrySession.m Co-Authored-By: Manoel Aranda Neto <5731772+marandaneto@users.noreply.github.com> * Update Sources/Sentry/include/SentryAutoSessionTrackingIntegration.h Co-Authored-By: Manoel Aranda Neto <5731772+marandaneto@users.noreply.github.com> * Update Sources/Sentry/SentryHub.m Co-authored-by: Manoel Aranda Neto <5731772+marandaneto@users.noreply.github.com>

view details

push time in 6 days

delete branch getsentry/sentry-cocoa

delete branch : feat/auto-session-tracking

delete time in 6 days

Pull request review commentgetsentry/sentry-cocoa

feat: auto session tracking

 - (instancetype)init {     return self; } -- (void)update {-    _timestamp = [NSDate date];-    _init = nil;--}--- (void)close:(_Nullable SentrySessionStatus *)status {-    [self update];+- (void)endSessionWithStatus:(SentrySessionStatus *)status+                   timestamp:(NSDate *)timestamp {+    @synchronized (self) {+        _init = nil; -    NSTimeInterval secondsBetween = [_timestamp timeIntervalSinceDate:_started];-    _duration = [NSNumber numberWithLongLong:secondsBetween];+        if (nil == timestamp) {+            _timestamp = [NSDate date];+        } else {+            _timestamp = timestamp;+        } -    if (nil == status) {-        _status = kSentrySessionStatusExited;-    } else {-        _status = status;+        NSTimeInterval secondsBetween = [_timestamp timeIntervalSinceDate:_started];+        _duration = [NSNumber numberWithLongLong:secondsBetween];++        if (nil != status) {+            _status = status;+        } else if (_status == kSentrySessionStatusOk) {+            // From star to end no state transition (i.e: no errors).+            _status = kSentrySessionStatusExited;+        } else {+            // State transition should be changed by the methods in this object or explicitly passed.+            _status = kSentrySessionStatusAbnormal;+        };     } }  - (void)incrementErrors {     @synchronized (self) {         _errors++;+        _status = kSentrySessionStatusAbnormal;     } }  - (NSDictionary<NSString *, id> *)serialize {-    NSMutableDictionary *serializedData = @{-            @"sid": _sessionId,-            @"errors": [@(*_errors) stringValue],-            @"started": [_started sentry_toIso8601String],-    }.mutableCopy;--    NSString* statusString = nil;-    switch (*_status) {-        case kSentrySessionStatusOk:-            statusString = @"Ok";-            break;-        case kSentrySessionStatusExited:-            statusString = @"exited";-            break;-        case kSentrySessionStatusCrashed:-            statusString = @"crashed";-            break;-        case kSentrySessionStatusAbnormal:-            statusString = @"abnormal";-            break;-        default:-            // TODO: Log warning-            break;-    }--    if (nil != statusString) {-        [serializedData setValue:statusString forKey:@"status"];-    }+    @synchronized (self) {+        NSMutableDictionary *serializedData = @{+                @"sid": _sessionId,+                @"errors": [@(*_errors) stringValue],+                @"started": [_started sentry_toIso8601String],+        }.mutableCopy;++        NSString* statusString = nil;+        switch (_status) {+            case kSentrySessionStatusOk:+                statusString = @"Ok";+                break;+            case kSentrySessionStatusExited:+                statusString = @"exited";+                break;+            case kSentrySessionStatusCrashed:+                statusString = @"crashed";+                break;+            case kSentrySessionStatusAbnormal:+                statusString = @"abnormal";+                break;+            default:+                // TODO: Log warning+                break;+        } -    if (nil != _timestamp) {-        [serializedData setValue:[_timestamp sentry_toIso8601String] forKey:@"timestamp"];-    }+        if (nil != statusString) {+            [serializedData setValue:statusString forKey:@"status"];+        } -    if (nil != _init) {-        [serializedData setValue:_init forKey:@"init"];-    }+        if (nil != _timestamp) {+            [serializedData setValue:[_timestamp sentry_toIso8601String] forKey:@"timestamp"];+        } -    if (nil != _duration) {-        NSNumber *duration = [NSNumber numberWithLongLong:[[NSDate date] timeIntervalSince1970] * 1000];-        [serializedData setValue:duration forKey:@"duration"];-    }+        if (nil != _init) {+            [serializedData setValue:_init forKey:@"init"];+        } -    if (nil != _sequence) {-        [serializedData setValue:[@(*_sequence) stringValue] forKey:@"seq"];-    }+        if (nil != _duration) {+            NSNumber *duration = [NSNumber numberWithLongLong:[[NSDate date] timeIntervalSince1970] * 1000];+            [serializedData setValue:duration forKey:@"duration"];+        } -    // TODO: Add the following under `attrs`. Except 'did'-    if (nil != _releaseName) {-        [serializedData setValue:_releaseName forKey:@"release"];-    }+        if (nil != _sequence) {+            [serializedData setValue:[@(*_sequence) stringValue] forKey:@"seq"];+        } -    if (nil != _environment) {-        [serializedData setValue:_environment forKey:@"environment"];-    }+        // TODO: Add the following under `attrs`. Except 'did'+        if (nil != _releaseName) {+            [serializedData setValue:_releaseName forKey:@"release"];+        } -    SentryUser *currentUser = _user;-    NSString *did = _distinctId;-    if (nil != currentUser) {-        NSString *ipAddress = currentUser.ipAddress;-        if (nil != ipAddress) {-            [serializedData setValue:ipAddress forKey:@"ip_address"];+        if (nil != _environment) {+            [serializedData setValue:_environment forKey:@"environment"];         }-        if (nil == did) {-            if (nil != currentUser.userId) {-                did = currentUser.userId;-            } else if (nil != currentUser.email) {-                did == currentUser.email;-            } else if (nil != currentUser.username) {-                did == currentUser.username;++        SentryUser *currentUser = _user;+        NSString *did = _distinctId;+        if (nil != currentUser) {+            NSString *ipAddress = currentUser.ipAddress;+            if (nil != ipAddress) {+                [serializedData setValue:ipAddress forKey:@"ip_address"];+            }+            if (nil == did) {+                if (nil != currentUser.userId) {+                    did = currentUser.userId;+                } else if (nil != currentUser.email) {+                    did == currentUser.email;+                } else if (nil != currentUser.username) {+                    did == currentUser.username;+                }             }

On second thought this does not need to be changed on the Python side as the user would not be set in the first place if the PII flag is not true.

bruno-garcia

comment created time in 6 days

push eventgetsentry/sentry

Armin Ronacher

commit sha b5643abc80a319cbb980f87acb96f30172722983

feat(sessions): Add stats totals to release detail page api (#17989)

view details

push time in 6 days

delete branch getsentry/sentry

delete branch : feature/stat-totals

delete time in 6 days

PR merged getsentry/sentry

feat(sessions): Add stats totals to release detail page api

This adds the totals to the stats endpoint for release infos.

+35 -6

0 comment

2 changed files

mitsuhiko

pr closed time in 6 days

push eventgetsentry/sentry

Armin Ronacher

commit sha 9a59dec4958f21d7aa1971919fde0fab1a9c4172

feat(sessions): Add stats totals to release detail page api

view details

Armin Ronacher

commit sha a4290828a0d19840ff2d10463d27be73167a90b5

fix: off by one

view details

push time in 7 days

Pull request review commentgetsentry/sentry-cocoa

feat: auto session tracking

 - (instancetype)init {     return self; } -- (void)update {-    _timestamp = [NSDate date];-    _init = nil;--}--- (void)close:(_Nullable SentrySessionStatus *)status {-    [self update];+- (void)endSessionWithStatus:(SentrySessionStatus *)status+                   timestamp:(NSDate *)timestamp {+    @synchronized (self) {+        _init = nil; -    NSTimeInterval secondsBetween = [_timestamp timeIntervalSinceDate:_started];-    _duration = [NSNumber numberWithLongLong:secondsBetween];+        if (nil == timestamp) {+            _timestamp = [NSDate date];+        } else {+            _timestamp = timestamp;+        } -    if (nil == status) {-        _status = kSentrySessionStatusExited;-    } else {-        _status = status;+        NSTimeInterval secondsBetween = [_timestamp timeIntervalSinceDate:_started];+        _duration = [NSNumber numberWithLongLong:secondsBetween];++        if (nil != status) {+            _status = status;+        } else if (_status == kSentrySessionStatusOk) {+            // From star to end no state transition (i.e: no errors).+            _status = kSentrySessionStatusExited;+        } else {+            // State transition should be changed by the methods in this object or explicitly passed.+            _status = kSentrySessionStatusAbnormal;+        };     } }  - (void)incrementErrors {     @synchronized (self) {         _errors++;+        _status = kSentrySessionStatusAbnormal;     } }  - (NSDictionary<NSString *, id> *)serialize {-    NSMutableDictionary *serializedData = @{-            @"sid": _sessionId,-            @"errors": [@(*_errors) stringValue],-            @"started": [_started sentry_toIso8601String],-    }.mutableCopy;--    NSString* statusString = nil;-    switch (*_status) {-        case kSentrySessionStatusOk:-            statusString = @"Ok";-            break;-        case kSentrySessionStatusExited:-            statusString = @"exited";-            break;-        case kSentrySessionStatusCrashed:-            statusString = @"crashed";-            break;-        case kSentrySessionStatusAbnormal:-            statusString = @"abnormal";-            break;-        default:-            // TODO: Log warning-            break;-    }--    if (nil != statusString) {-        [serializedData setValue:statusString forKey:@"status"];-    }+    @synchronized (self) {+        NSMutableDictionary *serializedData = @{+                @"sid": _sessionId,+                @"errors": [@(*_errors) stringValue],+                @"started": [_started sentry_toIso8601String],+        }.mutableCopy;++        NSString* statusString = nil;+        switch (_status) {+            case kSentrySessionStatusOk:+                statusString = @"Ok";+                break;+            case kSentrySessionStatusExited:+                statusString = @"exited";+                break;+            case kSentrySessionStatusCrashed:+                statusString = @"crashed";+                break;+            case kSentrySessionStatusAbnormal:+                statusString = @"abnormal";+                break;+            default:+                // TODO: Log warning+                break;+        } -    if (nil != _timestamp) {-        [serializedData setValue:[_timestamp sentry_toIso8601String] forKey:@"timestamp"];-    }+        if (nil != statusString) {+            [serializedData setValue:statusString forKey:@"status"];+        } -    if (nil != _init) {-        [serializedData setValue:_init forKey:@"init"];-    }+        if (nil != _timestamp) {+            [serializedData setValue:[_timestamp sentry_toIso8601String] forKey:@"timestamp"];+        } -    if (nil != _duration) {-        NSNumber *duration = [NSNumber numberWithLongLong:[[NSDate date] timeIntervalSince1970] * 1000];-        [serializedData setValue:duration forKey:@"duration"];-    }+        if (nil != _init) {+            [serializedData setValue:_init forKey:@"init"];+        } -    if (nil != _sequence) {-        [serializedData setValue:[@(*_sequence) stringValue] forKey:@"seq"];-    }+        if (nil != _duration) {+            NSNumber *duration = [NSNumber numberWithLongLong:[[NSDate date] timeIntervalSince1970] * 1000];+            [serializedData setValue:duration forKey:@"duration"];+        } -    // TODO: Add the following under `attrs`. Except 'did'-    if (nil != _releaseName) {-        [serializedData setValue:_releaseName forKey:@"release"];-    }+        if (nil != _sequence) {+            [serializedData setValue:[@(*_sequence) stringValue] forKey:@"seq"];+        } -    if (nil != _environment) {-        [serializedData setValue:_environment forKey:@"environment"];-    }+        // TODO: Add the following under `attrs`. Except 'did'+        if (nil != _releaseName) {+            [serializedData setValue:_releaseName forKey:@"release"];+        } -    SentryUser *currentUser = _user;-    NSString *did = _distinctId;-    if (nil != currentUser) {-        NSString *ipAddress = currentUser.ipAddress;-        if (nil != ipAddress) {-            [serializedData setValue:ipAddress forKey:@"ip_address"];+        if (nil != _environment) {+            [serializedData setValue:_environment forKey:@"environment"];         }-        if (nil == did) {-            if (nil != currentUser.userId) {-                did = currentUser.userId;-            } else if (nil != currentUser.email) {-                did == currentUser.email;-            } else if (nil != currentUser.username) {-                did == currentUser.username;++        SentryUser *currentUser = _user;+        NSString *did = _distinctId;+        if (nil != currentUser) {+            NSString *ipAddress = currentUser.ipAddress;+            if (nil != ipAddress) {+                [serializedData setValue:ipAddress forKey:@"ip_address"];+            }+            if (nil == did) {+                if (nil != currentUser.userId) {+                    did = currentUser.userId;+                } else if (nil != currentUser.email) {+                    did == currentUser.email;+                } else if (nil != currentUser.username) {+                    did == currentUser.username;+                }             }

In the python SDK this should take the send_default_pii thing into account. Will fix that. Same here i think.

bruno-garcia

comment created time in 7 days

push eventmitsuhiko/webgame

Armin Ronacher

commit sha 4a7164afce513d0966ac8ead0521bc4dc21f8eb1

Wip stuff

view details

push time in 7 days

PR opened getsentry/sentry

feat(sessions): Add stats totals to release detail page api

This adds the totals to the stats endpoint for release infos.

+34 -5

0 comment

2 changed files

pr created time in 7 days

create barnchgetsentry/sentry

branch : feature/stat-totals

created branch time in 7 days

push eventgetsentry/sentry

Armin Ronacher

commit sha dbdfadff5bc0aec12e4357ccc68a0900cb00b15c

feat(releases): Added platform to project on release list (#17956)

view details

push time in 8 days

delete branch getsentry/sentry

delete branch : feature/add-platform

delete time in 8 days

push eventmitsuhiko/webgame

Armin Ronacher

commit sha ce6d110cb2e5fc8b5cfe3dcf91acc9ae8763eb99

Some random hackery

view details

push time in 8 days

push eventmitsuhiko/webgame

Armin Ronacher

commit sha 4a67eb37e9bcaaaff30d61c7bc225aec9fb2def4

Some styles

view details

push time in 8 days

issue commentrust-lang/rust

Tests do not set thread name when concurrency is disabled

@RalfJung

Hm, can we perhaps set the thread name for the current thread? std doesn't provide a way to do it, but I know e.g. postgres does something like that.

I think this generally would be a welcome addition to the stdlib. There does not seem to be a good reason why the thread name can't be changed after spawning.

mitsuhiko

comment created time in 9 days

push eventmitsuhiko/webgame

Armin Ronacher

commit sha 9cae3f01381b86f030a24f7a26894cd7c159d9c1

Shitty game board rendering

view details

push time in 9 days

push eventmitsuhiko/webgame

Armin Ronacher

commit sha a64c753bdb43b7990d7a2519ed320e37f7ede18d

Make this eventually turn into a game

view details

push time in 9 days

push eventmitsuhiko/insta

Armin Ronacher

commit sha f7e4c69e3110015a45548e244bc44c3ac15c1f09

Make clippy happy

view details

push time in 10 days

issue closedmitsuhiko/insta

Snapshot macros called in different modules put snapshots into the wrong place

I'm building a couple tools using Insta, and I want to package up the code I need to properly transform my data into a snapshottable form, and then run Insta's snapshot assertion functions on that data.

However, Insta puts those snapshot files relative to where the utility functions are defined, not relative to the test that's actually invoking them!

  • My utility function is in src/tree_view.rs
  • The code using the utility is in src/commands/serve.rs in a mod named test.
  • The snapshots from that test end up in src/snapshots with a name like tree_view__my_snapshot_name.snap.

I would expect the snapshots to instead be put into src/commands/snapshots and have a name like serve__my_snapshot_name.snap.

closed time in 10 days

LPGhatguy

issue commentmitsuhiko/insta

Snapshot macros called in different modules put snapshots into the wrong place

Going to close this issue.

LPGhatguy

comment created time in 10 days

issue commentmitsuhiko/console

mintty read_key fails with "Incorrect function"

Would be happy to merge a fix if someone has one. I'm not using git-bash myself.

EdenEast

comment created time in 10 days

issue commentmitsuhiko/insta

Could we unify command line args with INSTA_UPDATE?

Yeah. Would be okay with a patch here.

max-sixty

comment created time in 10 days

push eventmitsuhiko/insta

Armin Ronacher

commit sha 442e38e171f76510457ebf93220d21d3f8e3fb9e

Make snapshot names optional for inline snapshots Fixes #106

view details

push time in 10 days

issue closedmitsuhiko/insta

Support named inline snapshots

In some situation (see #105), insta is not able to find the test name for inline snapshots, unfortunately naming inline snapshots is not supported, even if it's not explained in the named snapshots section of the documentation.

closed time in 10 days

zazabe

push eventmitsuhiko/insta

Maximilian Roos

commit sha 1f63dd12e6abf7649a9198a9cb33f7817ce6aa4b

typo (#104)

view details

push time in 10 days

PR merged mitsuhiko/insta

"minimal" typo
+1 -1

0 comment

1 changed file

max-sixty

pr closed time in 10 days

issue commentmitsuhiko/insta

Unable to find the test name for unit tests, in release mode, with test-threads=1

I filed an issue here: https://github.com/rust-lang/rust/issues/70492

zazabe

comment created time in 10 days

issue openedrust-lang/rust

Tests do not set thread name when concurrency is disabled

Currently there are only workarounds for getting the test name from the current running test. The main one that people use is the thread name, but that does not work when tests are run with --test-threads=1.

I believe it would be beneficial to spawn a thread anyways so that the test name is discoverable. Alternatively — and maybe that's the better solution — there should be an API to discover the name of the current test.

created time in 10 days

issue commentmitsuhiko/insta

Unable to find the test name for unit tests, in release mode, with test-threads=1

Unfortunately there is nothing I can do about this with the tools available currently. It might be worth filing a feature request for rust-test.

zazabe

comment created time in 10 days

push eventgetsentry/sentry

Armin Ronacher

commit sha b2e55ea5f72e357bee67933b8ed59aadc51b3c7b

feat: Added platforms as well

view details

push time in 10 days

MemberEvent

create barnchgetsentry/sentry

branch : feature/add-platform

created branch time in 11 days

push eventmitsuhiko/webgame

Armin Ronacher

commit sha b9a11a92ce3316e8df5d726810aefa3deb060b24

more chat thingies

view details

push time in 11 days

PR merged getsentry/sentry

feat(sessions): Change adoption metric to always be last 24h

This always calculates adoption from the last 24 hours of data. Ideally this uses the rightmost hour of the summary_stats_period instead of now.

+491 -175

0 comment

16 changed files

mitsuhiko

pr closed time in 11 days

push eventgetsentry/sentry

Armin Ronacher

commit sha 26dbdd11db2a6bffea47aa91bd202f526fc21f43

feat(sessions): Change adoption metric to always be last 24h (#17870)

view details

push time in 11 days

delete branch getsentry/sentry

delete branch : feature/adoption-fixes

delete time in 11 days

push eventgetsentry/symbolicator

Armin Ronacher

commit sha d1e935c3c5d3809892d6f8986f5c39e8f5e2d583

feat(symsorter): Add multi bundle support for easier sorting (#206)

view details

push time in 11 days

delete branch getsentry/symbolicator

delete branch : feature/symsorter-multi-bundle

delete time in 11 days

PR merged getsentry/symbolicator

feat(symsorter): Add multi bundle support for easier sorting

This adds a flag called --multiple-bundles so that one can point symsorter directly at a device support folder and it derives the bundle id from the first level of recursion.

+361 -377

0 comment

6 changed files

mitsuhiko

pr closed time in 11 days

push eventgetsentry/symbolicator

Armin Ronacher

commit sha db15d6dd2a909175f3c5936d3d6709b6774581e1

ref: cargo fmt

view details

push time in 11 days

push eventgetsentry/symbolicator

Armin Ronacher

commit sha 194721a7dea8f27f571e262575a92949b6f44a97

fix: invalid bundle id processing

view details

push time in 12 days

push eventgetsentry/snuba

Armin Ronacher

commit sha 51ed648222f71de26e73ee6e09751dfe890a1578

feat: add sessions consumer to devserver (#814)

view details

push time in 12 days

delete branch getsentry/snuba

delete branch : feature/add-consumer-to-devserver

delete time in 12 days

PR merged getsentry/snuba

feat: add sessions consumer to devserver

devserver seems broken unless snuba is installed globally (since uwsgi does not know about the virtualenv) but I figured I add this anyways.

+11 -0

0 comment

1 changed file

mitsuhiko

pr closed time in 12 days

PR opened getsentry/symbolicator

feat(symsorter): Add multi bundle support for easier sorting

This adds a flag called --multiple-bundles so that one can point symsorter directly at a device support folder and it derives the bundle id from the first level of recursion.

+356 -377

0 comment

6 changed files

pr created time in 12 days

create barnchgetsentry/symbolicator

branch : feature/symsorter-multi-bundle

created branch time in 12 days

push eventgetsentry/sentry

Markus Unterwaditzer

commit sha b6218eb65298b25c859d006376e064598144a066

ref: Remove project slug as cache key (#16512) A query such as `Project.objects.get_from_cache(slug='foobar')` does not necessarily yield only one project, and as such `slug` is not a usable cache key. Luckily we are not using it as such even though we intended to, since all of our queries look like `Project.objects.get_from_cache(slug='foobar', organization_id=123)`, which bypasses the cache entirely (the cache can only deal with filtering by a single value). In fact we would not be able to call `Project.objects.get_from_cache(slug='foobar')` because it will crash when trying to populate the cache. There are many other instances where we call `get_from_cache` without actually gaining anything in performance because we provide the wrong arguments. So we now make `get_from_cache` crash if it is being used ineffectively.

view details

Radu Woinaroski

commit sha a41121b3c8a159919a96986013636a7262e1aeac

Add content-encoding to allowed cors headers. (#17899)

view details

Mark Story

commit sha b98b6b00c7bd1d1541530dc4761892e35979b893

ref(discover) Refactor and clean up EventView and related functions (#17886) Move EventView and its related functions out of views/eventsV2 as they are used in far more places than just those views. I've moved a few functions onto the EventView as passing the eventView parameter into a function implies a bit of 'feature envy'. I've removed exports for the field rendering maps and added more functions as I'd like to make interfaces based on functions instead of object maps. I've tried to consolidate some of the types so there are fewer cyclic references between modules, but there is still more to do as this change is already large. There were a few remaining references around FIELD_ALIASES which I've removed.

view details

Chris Fuller

commit sha a2b42938e671c66cb50b5123a919aef98a93b877

fix(workflow): Read aggregate from incident, not alert rule (#17622) * Reading aggregate from incident directly instead of alert rule

view details

Evan Purkhiser

commit sha a2a422d7c75d05bb751eab5f6ead0d0d8c936329

chore(css): Remove some trivial usages of Box (#17894)

view details

Billy Vong

commit sha 83dacb23d52d6efe6c6a7d5ffbc9511ff4d6cdc7

feat(ui): Add `<PanelTable>` (#17745) This adds a bare bones css grid that supports loading and empty states. Co-authored-by: Mark Story <mark@sentry.io>

view details

Evan Purkhiser

commit sha ad9b5d5296a3b6049a909dd21f6db95aaa654440

chore(ts): Convert utils/cursorPoller (#17889)

view details

Evan Purkhiser

commit sha 35f695242b0ea79cb68c492dc6292d0fab5e572e

chore(ui): Remove Box/Flex from accountEmails (#17893)

view details

Evan Purkhiser

commit sha a4e461ced239a3e166cff67928b78d74490d9fde

chore(modals): Emotion CSS + Reduce bootstrap imports (#17892)

view details

Markus Unterwaditzer

commit sha 8e271574ec67aa9805160ee77c8bbdaf630579ae

fix: Fix Relay usage for users of ALLOWED_HOSTS (#17900) Forward the Host header so ALLOWED_HOSTS actually works (and does not require the user to add "sentry" explicitly) This still requires the user to add `host.docker.internal` explicitly, which we can unlikely fix.

view details

Leander Rodrigues

commit sha 29ea9bbddc5b7e0a5a061ab2df0a3a254237b9fc

ref(async-csv): Reorganize into data-export app, and add processors (#17662) Create data-export app and issues-by-tag processor

view details

Markus Unterwaditzer

commit sha 2f72f7af47e01c14bd33b8008c9787eca4f6a05c

doc: Elaborate on reasoning behind order of datascrubbing (#17898)

view details

NisanthanNanthakumar

commit sha 1d7015415ed0b5ed4cbe09efb790343176148716

feat(IntegrationDirectory): Add category selector to filter integrations (#17852) Objective Add category filtering to make it easier for users to find a particular kind of integration.

view details

Billy Vong

commit sha 1a418964f20bfdc525cc9a855420d760a012bcfb

ref(workflow): Change Alert Rules list to use `<PanelTable>` (#17905) Uses CSS grid properly for the Panel where previously there was some hackery going on with nested grids and flexbox. Hopefully this fixes our flakey percy tests too.

view details

Evan Purkhiser

commit sha 673a9e3cb5b3b27f281fe2840021558425e2f920

chore(css): Remove Box/Grid from accountNotificationFineTuning (#17897)

view details

Matt Robenolt

commit sha a66938b106f85f25d9590b6371338b8499b7a6cb

cli: Add sentry migrations run This allows us to manually run data only migrations. More in this subgroup will follow.

view details

Stephen Cefali

commit sha 49574e983abcf0b0e8fb0efd2ad4859903aac5d1

tests: log the original error for selenium when starting Chrome (#17909)

view details

Evan Purkhiser

commit sha c2e3612df166b69316afde2d2c9c053e96d4812c

chore(css): Remove reflexbox from teamSection (#17916)

view details

Evan Purkhiser

commit sha 3e624420fabcf3218362e115a472be9cf87b46c1

chore(css): Remove reflexbox from groupTags (#17913)

view details

Evan Purkhiser

commit sha 1ade4d333bab57495fe6f9d682f6bbaffc12f295

chore(css): Remove reflexbox from accountIdentities (#17911)

view details

push time in 12 days

push eventgetsentry/snuba

James Cunningham

commit sha 52fb70eb5799f8d54250f0964679ca342622e04d

perf(replacers): Adjust the dimension of tag deletion to be in PREWHERE and not WHERE clause. (#809) * Adjust the dimension of tag deletion to be in PREWHERE and not WHERE clause. * Add prewhere into the counts as well. * fix static template strings to account for prewhere. * fix static template strings to account for prewhere. p2

view details

ted kaemming

commit sha cc9b3201e53a86688436432c3dd4b3584addbf72

ref(reader): Improve abstractions around column transformation (#812)

view details

ted kaemming

commit sha bc246b8a460c5afba031de397783c721699ef99b

chore: Ignore `.venv` files as well as directories (#816) This allows `.venv` to be a symlink on the local filesystem rather than requiring it to be an actual directory.

view details

ted kaemming

commit sha 47ffa48e773a0a921317aa3d122469adcc97358e

ref(clickhouse): Consolidate error for native and HTTP reader/writer (#813)

view details

James Cunningham

commit sha 7e9f6fca61365dee0e4f0137df0eb2c3156f1962

feat: Make a sessions-consumer image (#815) Co-authored-by: James Cunningham <cunninghamjt09@gmail.com>

view details

Lyn Nagara

commit sha 06a6554afaafd3bc967eacca4b7474bba3b38aac

feat: Generate a request id for the recorded query (#808) This will be stored in the querylog table in #783

view details

Filippo Pacifici

commit sha 8c1292b826c7d6542638c10d802bdcfccd79bcd0

Support empty string literals in clickhouse parsing (#821)

view details

ted kaemming

commit sha 7c6b2375ff91e43bdc735bb3af21667466e6bfab

fix(clickhouse): Improve handling of timezone-aware datetimes (#818)

view details

ted kaemming

commit sha 7d8f6320520633ad80c71fa424af471535ca8e2a

feat(metrics): Add `MetricsWrapper` metrics backend (#822)

view details

Matt Robenolt

commit sha 8a3bf86ce4e2df7cda5b39e6bf5e01fb87a86514

api: Switch to running with mywsgi attempt #2 (#825) See: 2d34bb481fe74f938d8f99ccd8884e6706566a23

view details

ted kaemming

commit sha 2aae46496f5675b3ea0dc4764e0625c8c972b154

fix(subscriptions): Gracefully handle non-monotonic clock movement in `TickConsumer` (#827)

view details

Lyn Nagara

commit sha 03362a18743edf44038cf1e56900b195cd8bf0e7

feat: Internal only datasets (#810) Provide a way to register datasets as internal only. This prevents them from being queried directly via the API by Sentry (and the web UI by extension). The internal datasets can still be queried indirectly. This is specifically for the (future) querylog dataset but it might also apply to other datasets.

view details

Lyn Nagara

commit sha 04fc393cb6f522af46cd6488fa6e549f4692848e

fix: Fix mypy issues in settings (#817) So mypy knows about any of the base settings

view details

Filippo Pacifici

commit sha 07cd406d5cda20bf78485627abd2743ae0fa2e05

Add mypy to vscode settings (#832)

view details

Lyn Nagara

commit sha 00598cc5cd3d4bfc5c05f1cfbc1009c88231cebf

ref: Keep consistent structure of request in SnubaQueryMetadata (#833) SnubaQueryMetadata.to_dict() method maintains the structure of request

view details

ted kaemming

commit sha ef8e2ea52325c611768a45e67b0a68131b40021d

ref(web): Record HTTP request body length (#826)

view details

ted kaemming

commit sha 3042c810d9b3cd57f1da04e30eb791e4e83189c3

fix: Upgrade `MarkupSafe`. (#836) The build was broken as a side effect of docker-library/python@695bd3c10cdf1692a2af9abdc51f0eff99731e78, this fixes it.

view details

Lyn Nagara

commit sha 21b4807c907cc5a84d83c2b74c224e7c316b243b

fix: Default expressions on column should always be strings (#834) Default expressions are always strings, Clickhouse will cast values to the appropriate type for that column.

view details

Filippo Pacifici

commit sha 8c30cde85eb5636e82a537b3d2008a063019a112

Turn exceptions into warnings for parsing (#823)

view details

Lyn Nagara

commit sha d837c4b20ff43adb612257fb90aff105e9ad468c

fix: Fix mypy errors in settings.py (#837)

view details

push time in 12 days

more