by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jun 03 2019 12:11
    dotnet-maestro[bot] commented #1813
  • Jun 03 2019 12:11

    dotnet-maestro[bot] on darc-master-a926ae60-afdc-46d8-aabc-bb225655c15e

    (compare)

  • Jun 03 2019 12:11

    dotnet-maestro[bot] on master

    Update dependencies from https:… (compare)

  • Jun 03 2019 12:11
    dotnet-maestro[bot] closed #1813
  • Jun 03 2019 12:06
    dotnet-maestro[bot] opened #1813
  • Jun 03 2019 12:06

    dotnet-maestro[bot] on darc-master-a926ae60-afdc-46d8-aabc-bb225655c15e

    Update dependencies from https:… (compare)

  • Jun 03 2019 12:05

    dotnet-maestro[bot] on darc-master-a926ae60-afdc-46d8-aabc-bb225655c15e

    (compare)

  • May 30 2019 11:54
    jenergm commented #279
  • May 29 2019 14:59
    tmenier commented #1492
  • May 29 2019 04:58
    danroth27 updated the wiki
  • May 28 2019 14:25
    lewing commented #1807
  • May 27 2019 19:13
    matheusjulio96 commented #1652
  • May 27 2019 13:30
    springy76 commented #306
  • May 27 2019 13:13
    SQL-MisterMagoo commented #306
  • May 27 2019 13:07
    springy76 commented #306
  • May 27 2019 13:06
    springy76 commented #306
  • May 27 2019 12:24
    SQL-MisterMagoo commented #306
  • May 27 2019 12:20
    springy76 commented #306
  • May 27 2019 12:10
    dotnet-maestro[bot] commented #1812
  • May 27 2019 12:10

    dotnet-maestro[bot] on darc-master-e3474f54-f92f-4c3f-b116-ed9bdfe9754d

    (compare)

Sören Nils Kuklau
@chucker
nope
their underlying CancellationTokenSource also isn't the same
chucker @chucker shrugs
Sören Nils Kuklau
@chucker
in any case, i guess with this || it kind of works
SQL-MisterMagoo
@SQL-MisterMagoo
@chucker result
Sören Nils Kuklau
@chucker
image.png
chucker @chucker screams
Sören Nils Kuklau
@chucker
what if one-liner npm packages, but entire services
i'm going to get rich and famous being a douchebag tech consultant who introduces… nanoservices
Peter Morris
@mrpmorris
Sören Nils Kuklau
@chucker
not what you're asking, but are you going to replace that logo graphic, btw?
(it isn't quite dithered right against the background)

But then, after 1 second, the await Task.Delay(1000) in each of the components’ OnInitializedAsync methods will complete and update the IdOfRenderingThread before rendering the HTML for the browser. This time, we can see different threads were used to complete the OnInitializedAsync methods.

wait… did you mean to show different output in the preceding paragraph?

image.png
Sören Nils Kuklau
@chucker

I would place commas after "In server-side Blazor applications", "In a Blazor WebAssembly application (which only has a single thread)", and "but in server-side applications".

Other than that, lgtm

SQL-MisterMagoo
@SQL-MisterMagoo
Didn't your use of configureawait false kind of fudge things? You are saying don't try and stay on the same thread when the task completes?
Sören Nils Kuklau
@chucker
shouldn't that have no effect at all, given that ASP.NET Core has no SynchronizationContext?
Haytam Zanid
@zHaytam
^ Yeah
Sören Nils Kuklau
@chucker
I think Peter's saying that, unlike most UI frameworks you'll be used to, Blazor has no inherent notion of a UI thread.
Peter Morris
@mrpmorris
That is in fact stated in the summary
Sören Nils Kuklau
@chucker

it is, but i think the contrast could be drawn more clearly

"In server-side Blazor applications, unlike many other UI frameworks, there is no single UI thread. Any available thread could be used when rendering work is required."

Peter Morris
@mrpmorris
btw, unintuitively, ConfigureAwait(true) does the same thing
SQL-MisterMagoo
@SQL-MisterMagoo
Might be nice to include that info?
Sören Nils Kuklau
@chucker
I don't see why ConfigureAwait would have any effect
(i also wish it weren't so poorly named but that's kind of too late to change now :P)
Peter Morris
@mrpmorris
@SQL-MisterMagoo Now that I have tested and discovered it, I think I will
Sören Nils Kuklau
@chucker
my kingdom for async set
Peter Morris
@mrpmorris
Updated the document as per your feedback
CTRL+F5 should fix your view
What do you think of the revised text + addition of ConfigureAwait(true) code?
Sören Nils Kuklau
@chucker

ConfigureAwait(true)

Interestingly, even specifying ConfigureAwait(true) on our await does not guarantee we will see all of our components rendered on the same thread. SpecifyingConfigureAwait(true) in our code still results in a mixture of threads being used for the callback.

I don't think there's any reason ConfigureAwait would have any effect in any ASP.NET Core app, regardless of Blazor

Peter Morris
@mrpmorris
Does "SynchronizationContext" also mean "same thread"?
Sören Nils Kuklau
@chucker
no
Peter Morris
@mrpmorris
I don't think it does, does it?
Thought not
Sören Nils Kuklau
@chucker
i don't think a SynchronizationContext needs to be on a single thread. but ASP.NET Core app just… doesn't have one. so setting false or true simply has no effect — it only exists for compat reasons for other environments.
Peter Morris
@mrpmorris
Please refresh
I should perhaps include a small section on using InvokeAsync
dammit :D
image.png
Omar Himada
@omarhimada
yikes
Sören Nils Kuklau
@chucker
it's my fault
Omar Himada
@omarhimada
did you DDoS yourself lol
Sören Nils Kuklau
@chucker
basically, yes
ironically, and i swear this is true, those API failures started happening as i was thinking "i should probably throttle this task so the API isn't called too often"
SQL-MisterMagoo
@SQL-MisterMagoo
Probably don't need it that often. We can add users from messages as well....
Thankfully they have a nice sliding rate limit, so you shouldn't have to wait long
Omar Himada
@omarhimada
my favorite is when the API only has a per-second rate limit (e.g.: 5 API calls per second) because then you can just use a rate gate to ensure you never cross that threshhold