Demo has gone stale

Just noticed the workflow for the demo got suspended for repo inactivity back in June.

I clicked "re-enable workflow" and triggered a manual deploy: https://github.com/simonw/datasette-ripgrep/actions/runs/3699618139/jobs/6267168849
https://ripgrep.datasette.io/repos/repos shows that the demo previously had 175 repos. I wonder which new ones will be deployed?
Here's the before list, generated with https://ripgrep.datasette.io/repos?sql=select+json_group_array(full_name)+from+repos select json_group_array(full_name) from repos:
["simonw/datasette","simonw/csvs-to-sqlite","simonw/datasette-plugin-demos","simonw/datasette-cluster-map","simonw/register-of-members-interests-datasette","simonw/fivethirtyeight-datasette","simonw/global-power-plants-datasette","simonw/datasette-sql-scraper","simonw/datasette-leaflet-geojson","simonw/datasette-registry","simonw/datasette-vega","simonw/sqlite-utils","simonw/russian-ira-facebook-ads-datasette","simonw/datasette-json-html","simonw/russian-troll-tweets-datasette","simonw/datasette-render-images","simonw/datasette-small","simonw/24ways-datasette","simonw/sqlite-fts4","simonw/datasette-sqlite-fts4","simonw/db-to-sqlite","simonw/datasette-pretty-json","simonw/markdown-to-sqlite","simonw/dbf-to-sqlite","simonw/whosonfirst-datasette","simonw/datasette-car-2019","simonw/datasette-jellyfish","simonw/yaml-to-sqlite","simonw/datasette-render-html","simonw/datasette-jq","simonw/datasette-bplist","simonw/datasette-render-binary","simonw/fara-datasette","simonw/datasette-auth-github","simonw/sqlite-diffable","simonw/datasette-cors","dogsheep/dogsheep-beta","dogsheep/healthkit-to-sqlite","dogsheep/swarm-to-sqlite","dogsheep/twitter-to-sqlite","dogsheep/inaturalist-to-sqlite","dogsheep/google-takeout-to-sqlite","dogsheep/github-to-sqlite","simonw/datasette-rure","simonw/datasette-atom","dogsheep/genome-to-sqlite","dogsheep/pocket-to-sqlite","simonw/datasette-render-timestamps","dogsheep/dogsheep.github.io","simonw/museums","simonw/datasette-haversine","simonw/sqlite-transform","simonw/datasette-csvs","simonw/datasette-render-markdown","simonw/datasette-template-sql","simonw/asgi-log-to-sqlite","simonw/datasette-configure-asgi","simonw/datasette-upload-csvs","simonw/datasette-auth-existing-cookies","simonw/datasette-sentry","simonw/geojson-to-sqlite","simonw/datasette-debug-asgi","simonw/shapefile-to-sqlite","simonw/datasette-mask-columns","simonw/datasette-ics","simonw/datasette-configure-fts","simonw/fec-to-sqlite","simonw/datasette-search-all","simonw/datasette-column-inspect","simonw/covid-19-datasette","simonw/datasette-edit-schema","simonw/datasette-publish-fly","dogsheep/hacker-news-to-sqlite","simonw/datasette-show-errors","simonw/datasette-publish-vercel","simonw/big-local-datasette","simonw/datasette-clone","dogsheep/dogsheep-photos","simonw/til","simonw/datasette-media","simonw/datasette-permissions-sql","simonw/datasette-auth-tokens","simonw/datasette-psutil","simonw/datasette-plugin","simonw/datasette-plugin-template-demo","simonw/datasette-saved-queries","simonw/datasette.io","simonw/sqlite-generate","simonw/datasette-block-robots","simonw/datasette-glitch","simonw/datasette-init","simonw/datasette-write","simonw/datasette-allow-permissions-debug","simonw/sba-loans-covid-19-datasette","simonw/datasette-auth-passwords","simonw/srccon-2020-datasette","simonw/datasette-insert","simonw/datasette-copyable","simonw/datasette-insert-unsafe","simonw/datasette-graphql","simonw/parlgov-datasette","simonw/homebrew-datasette","simonw/datasette-io-redirect","simonw/datasette-schema-versions","simonw/calands-datasette","simonw/datasette-yaml","simonw/datasette-backup","simonw/sqlite-dump","simonw/datasette-dns","simonw/datasette-seaborn","simonw/sqlite-fts5-trigram","simonw/datasette-dateutil","simonw/datasette-import-table","simonw/buildpack-datasette","simonw/datasette-json-preview","dogsheep/evernote-to-sqlite","simonw/sphinx-to-sqlite","simonw/datasette-edit-templates","simonw/datasette-indieauth","simonw/datasette-ripgrep","simonw/datasette-css-properties","simonw/datasette-export-notebook","simonw/cbsa-datasette","simonw/datasette-leaflet-freedraw","simonw/datasette-leaflet","simonw/datasette-basemap","simonw/datasette-tiles","simonw/vaccinate-ca-datasette","simonw/datasette-block","simonw/us-counties-datasette","simonw/tableau-to-sqlite","simonw/django-sql-dashboard","simonw/iam-to-sqlite","simonw/azure-functions-datasette","simonw/datasette-publish-azure","simonw/datasette-placekey","simonw/datasette-remote-metadata","simonw/datasette-pyinstrument","simonw/datasette-query-links","simonw/datasette-x-forwarded-host","simonw/datasette-app","simonw/datasette-verify","simonw/datasette-plugin-template-repository","simonw/datasette-plugin-template-repository-demo-old","simonw/datasette-statistics","simonw/datasette-notebook","simonw/datasette-template-request","simonw/datasette-hello-world","simonw/datasette-jupyterlite","simonw/iam-definitions-datasette","simonw/datasette-redirect-to-https","simonw/datasette-table","simonw/datasette-hovercards","simonw/datasette-pretty-traces","simonw/datasette-tiddlywiki","simonw/google-drive-to-sqlite","simonw/datasette-redirect-forbidden","simonw/congress-legislators-datasette","simonw/datasette-hashed-urls","simonw/datasette-plugin-template-repository-demo","simonw/datasette-packages","simonw/datasette-auth0","simonw/pypi-to-sqlite","simonw/datasette-total-page-time","simonw/datasette-gzip","simonw/datasette-copy-to-memory","simonw/datasette-lite","simonw/datasette-upload-dbs","simonw/datasette-screenshots","simonw/google-calendar-to-sqlite","simonw/datasette-unsafe-expose-env","simonw/mbox-to-sqlite","simonw/datasette-socrata","simonw/datasette-low-disk-space-hook","simonw/datasette-scale-to-zero"]

Here's a query to see what's new:
select
  full_name
from
  repos
where
  full_name not in (
    select
      value
    from
      json_each(
        '["simonw/datasette","simonw/csvs-to-sqlite","simonw/datasette-plugin-demos","simonw/datasette-cluster-map","simonw/register-of-members-interests-datasette","simonw/fivethirtyeight-datasette","simonw/global-power-plants-datasette","simonw/datasette-sql-scraper","simonw/datasette-leaflet-geojson","simonw/datasette-registry","simonw/datasette-vega","simonw/sqlite-utils","simonw/russian-ira-facebook-ads-datasette","simonw/datasette-json-html","simonw/russian-troll-tweets-datasette","simonw/datasette-render-images","simonw/datasette-small","simonw/24ways-datasette","simonw/sqlite-fts4","simonw/datasette-sqlite-fts4","simonw/db-to-sqlite","simonw/datasette-pretty-json","simonw/markdown-to-sqlite","simonw/dbf-to-sqlite","simonw/whosonfirst-datasette","simonw/datasette-car-2019","simonw/datasette-jellyfish","simonw/yaml-to-sqlite","simonw/datasette-render-html","simonw/datasette-jq","simonw/datasette-bplist","simonw/datasette-render-binary","simonw/fara-datasette","simonw/datasette-auth-github","simonw/sqlite-diffable","simonw/datasette-cors","dogsheep/dogsheep-beta","dogsheep/healthkit-to-sqlite","dogsheep/swarm-to-sqlite","dogsheep/twitter-to-sqlite","dogsheep/inaturalist-to-sqlite","dogsheep/google-takeout-to-sqlite","dogsheep/github-to-sqlite","simonw/datasette-rure","simonw/datasette-atom","dogsheep/genome-to-sqlite","dogsheep/pocket-to-sqlite","simonw/datasette-render-timestamps","dogsheep/dogsheep.github.io","simonw/museums","simonw/datasette-haversine","simonw/sqlite-transform","simonw/datasette-csvs","simonw/datasette-render-markdown","simonw/datasette-template-sql","simonw/asgi-log-to-sqlite","simonw/datasette-configure-asgi","simonw/datasette-upload-csvs","simonw/datasette-auth-existing-cookies","simonw/datasette-sentry","simonw/geojson-to-sqlite","simonw/datasette-debug-asgi","simonw/shapefile-to-sqlite","simonw/datasette-mask-columns","simonw/datasette-ics","simonw/datasette-configure-fts","simonw/fec-to-sqlite","simonw/datasette-search-all","simonw/datasette-column-inspect","simonw/covid-19-datasette","simonw/datasette-edit-schema","simonw/datasette-publish-fly","dogsheep/hacker-news-to-sqlite","simonw/datasette-show-errors","simonw/datasette-publish-vercel","simonw/big-local-datasette","simonw/datasette-clone","dogsheep/dogsheep-photos","simonw/til","simonw/datasette-media","simonw/datasette-permissions-sql","simonw/datasette-auth-tokens","simonw/datasette-psutil","simonw/datasette-plugin","simonw/datasette-plugin-template-demo","simonw/datasette-saved-queries","simonw/datasette.io","simonw/sqlite-generate","simonw/datasette-block-robots","simonw/datasette-glitch","simonw/datasette-init","simonw/datasette-write","simonw/datasette-allow-permissions-debug","simonw/sba-loans-covid-19-datasette","simonw/datasette-auth-passwords","simonw/srccon-2020-datasette","simonw/datasette-insert","simonw/datasette-copyable","simonw/datasette-insert-unsafe","simonw/datasette-graphql","simonw/parlgov-datasette","simonw/homebrew-datasette","simonw/datasette-io-redirect","simonw/datasette-schema-versions","simonw/calands-datasette","simonw/datasette-yaml","simonw/datasette-backup","simonw/sqlite-dump","simonw/datasette-dns","simonw/datasette-seaborn","simonw/sqlite-fts5-trigram","simonw/datasette-dateutil","simonw/datasette-import-table","simonw/buildpack-datasette","simonw/datasette-json-preview","dogsheep/evernote-to-sqlite","simonw/sphinx-to-sqlite","simonw/datasette-edit-templates","simonw/datasette-indieauth","simonw/datasette-ripgrep","simonw/datasette-css-properties","simonw/datasette-export-notebook","simonw/cbsa-datasette","simonw/datasette-leaflet-freedraw","simonw/datasette-leaflet","simonw/datasette-basemap","simonw/datasette-tiles","simonw/vaccinate-ca-datasette","simonw/datasette-block","simonw/us-counties-datasette","simonw/tableau-to-sqlite","simonw/django-sql-dashboard","simonw/iam-to-sqlite","simonw/azure-functions-datasette","simonw/datasette-publish-azure","simonw/datasette-placekey","simonw/datasette-remote-metadata","simonw/datasette-pyinstrument","simonw/datasette-query-links","simonw/datasette-x-forwarded-host","simonw/datasette-app","simonw/datasette-verify","simonw/datasette-plugin-template-repository","simonw/datasette-plugin-template-repository-demo-old","simonw/datasette-statistics","simonw/datasette-notebook","simonw/datasette-template-request","simonw/datasette-hello-world","simonw/datasette-jupyterlite","simonw/iam-definitions-datasette","simonw/datasette-redirect-to-https","simonw/datasette-table","simonw/datasette-hovercards","simonw/datasette-pretty-traces","simonw/datasette-tiddlywiki","simonw/google-drive-to-sqlite","simonw/datasette-redirect-forbidden","simonw/congress-legislators-datasette","simonw/datasette-hashed-urls","simonw/datasette-plugin-template-repository-demo","simonw/datasette-packages","simonw/datasette-auth0","simonw/pypi-to-sqlite","simonw/datasette-total-page-time","simonw/datasette-gzip","simonw/datasette-copy-to-memory","simonw/datasette-lite","simonw/datasette-upload-dbs","simonw/datasette-screenshots","simonw/google-calendar-to-sqlite","simonw/datasette-unsafe-expose-env","simonw/mbox-to-sqlite","simonw/datasette-socrata","simonw/datasette-low-disk-space-hook","simonw/datasette-scale-to-zero"]'
      )
  )

Returned these 18 results:

simonw/datasette-expose-env
simonw/sqlite-comprehend
simonw/manatees-datasette
simonw/datasette-mp3-audio
simonw/scotrail-datasette
simonw/datasette-multiline-links
simonw/laion-aesthetic-datasette
simonw/datasette-sitemap
simonw/pldb-datasette
simonw/datasette-render-image-tags
simonw/webvid-datasette
simonw/datasette-public
simonw/datasette-gunicorn
simonw/datasette-export
simonw/datasette-ephemeral-tables
simonw/todomvc-datasette
simonw/datasette-secret-santa
simonw/datasette-geopackage

Extracted a TIL from this: https://til.simonwillison.net/sqlite/compare-before-after-json


[LANG-1635] - Count True function improvement

Function that returns the number of values that are true

Coverage increased (+0.002%) to 95.014% when pulling f4a721d2a79d8c956a8a727a9466a40a01c9ceb9 on arturobernalg:feature/LANG-16355 into 9fa1d734f66f1ad236cafea54bfcc94a1ba8fd1a on apache:master.

It seems we have similar use case, also BooleanUtils.countTrue(T, Predicate<? super T>...) could be more flexible.

Add a LINK to the JIRA in description please, otherwise it's a pain to find what this is about.

I close the PR. Thank you


Handle IDB open error event

Enhanced the error handling to handle cases outside of version mismatches. If an error occurs when opening a connection to IDB, the object that is propagated out to the caller is an Event instead of an Error. This will ensure that an actual Error is thrown instead of throwing the Event object.

As a side note, I did not build the minified file as to avoid merge conflicts. Let me know if you would prefer me to commit the built version.

Thanks for the PR! Good catch on the error event, will merge this. I'll do the build myself, no worries on that :)

Fixed that. I don't know how I missed that!

Thanks! :)

Will be in 1.7.1
Thanks again for the PR, build will follow :)

Just following up on the npm release. :)

Yeah, I thought about adding in more changes before tagging – but, screw that, I'll just release as is. So, thanks for the bump :)

Oh boy, crazy times. However, 1.7.1 is out now, sorry for the delay.


Missing 3.2.0 GitHub release

[X] None of the other issue templates apply to this issue.

Version 3.2.0 is available in the App Store, but there is no GitHub release for this version yet. Please create a GitHub release listing all changes compared to https://github.com/corona-warn-app/cwa-app-ios/releases/tag/v3.1.0.

Internal Tracking ID: EXPOSUREAPP-15020

cc @larswmh

@Ein-Tim thanks for your report! I have created an internal ticket about it. @naveeddotio @30mar

@Ein-Tim the 3.2.0 release has been created https://github.com/corona-warn-app/cwa-app-ios/releases/tag/v3.2.0. I'm therefore closing this issue now.


Update AD benchmark to DifferentiationInterface v0.2

Checklist

[ ] Appropriate tests were added
[ ] Any code changes were done in a way that does not break public API
[ ] All documentation related to code changes were updated
[ ] The new code follows the
contributor guidelines, in particular the SciML Style Guide and
COLPRAC.
[ ] Any new documentation only uses public API

Additional context
Add any other context about the problem here.

The job was running without end but I'm not sure the problem is on my end?


rotate(degrees)

Dear Asjad,
Thank you for the graphfunctions package.
I have a question about the program shapes.
Is it correct that the option rotate(degrees) functions by rotating counter-clockwise on the projection circle?
I have no issue with that, if so, but, I just want to be certain of it.
Best,
Eric

Dear Eric,
Yes. In Stata 0 degrees is at the 3o' clock position and angles are counter-clockwise. I will update the help file to clearly state this.
Best,
Asjad


User credentials validation

Thanks for sharing this wonderful project. One thing I don't understand how is it validating the user password(I understand the userName validation part and retrieving user from db using userName)? I have gone through the whole project and even executed the same successfully, If i provide an Incorrect password it is showing BadCredentialsException in UI. would you please explain how is it happening because it is no where written to verify the password.

by any chance is it getting validated from WebSecurityConfiguration.configureAuthentication and Then authenticationManager.authenticate from the controller?

@mupi2015  i guess the UsernamePasswordAuthenticationFilter is executed which takes care of authenticating username and password.
when this authenticationTokenFilterBean is executed it wont find any authToken on the very first request of login... and will skip to the next filter in chain which happens to be UsernamePasswordAuthenticationFilter
find this code below in WebSecurityConfig file.
httpSecurity.addFilterBefore(authenticationTokenFilterBean(), UsernamePasswordAuthenticationFilter.class);

thanks, @alphabytes, yes it makes sense now. After checking thisdocumentation  i got a little idea.

Sorry for answering that late! The BadCredentialsException is thrown in org.springframework.security.authentication.dao.DaoAuthenticationProvider#additionalAuthenticationChecks.
This method is called in the method org.zerhusen.security.controller.AuthenticationRestController#createAuthenticationToken where i call authenticationManager.authenticate(). I just autowire the AuthenticationManager in the AuthenticationRestController and I get the default implementation from Spring.
So to speak I just use the standard Spring Security authentication.


ERROR: type: Entries

Somewhere (maybe with the tuple changes) we got a new bug in stable on my PC.
How to reproduce:
julia> versioninfo()
Julia Version 0.3.7
Commit cb9bcae* (2015-03-23 21:36 UTC)
Platform Info:
  System: Linux (x86_64-unknown-linux-gnu)
  CPU: Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.3

julia> Pkg.init()
julia> Pkg.add("Docile")
julia> Pkg.checkout("Docile")

julia> Pkg.add("Lexicon")
julia> Pkg.checkout("Lexicon")

julia> using Lexicon

julia> save("test.html", Lexicon)
INFO: Parsing documentation for Lexicon.
INFO: writing documentation to test.html
ERROR: type: Entries: in new, expected Array{(Module,Any,Entry{category}),1}, got Array{(Module,Any,Entry{category}),1}
 in Entries at no file
 in writehtml at /home/workerm/.julia/v0.3/Lexicon/src/render/html.jl:53
 in anonymous at /home/workerm/.julia/v0.3/Lexicon/src/render/html.jl:15
 in open at iostream.jl:137
 in save at /home/workerm/.julia/v0.3/Lexicon/src/render/html.jl:13
 in save at /home/workerm/.julia/v0.3/Lexicon/src/render.jl:56

julia>

Will try to work this out and send a PR.

Fixed, perhaps, by https://github.com/MichaelHatherly/Lexicon.jl/commit/b2844bda56f5c5614de092abe30d3267d64dc694#diff-d24a40479ee6b90adb12aa5c820f9769. Not sure why the save tests weren't picking this up.

Oops, didn't refresh the page to see you second comment @peter1000, sorry about that. Can you pull latest master and check if my patch resolves this for you?

Ok will check it

Seems to work now - Thanks.

Great, thanks for spotting this. I'll tag a patched release shortly.


Update install.md

Configuration to deploy AWS Lambda using serverless, esbuild and serverless-esbuild

Hi, thanks for the PR.
Did you see the existing section about esbuild that provides information about excluding sharp from a build?
https://sharp.pixelplumbing.com/install#esbuild
This section in the sharp docs is more generally about code bunders rather than being specific to deployment, so I'm not sure details of using downstream deployment tools fits here.
Maybe we should add a sentence to the existing Lambda section highlighting that those using a code bundler should read the Bundlers section?
https://sharp.pixelplumbing.com/install#aws-lambda

Hi, thanks for the PR.
Did you see the existing section about esbuild that provides information about excluding sharp from a build?
https://sharp.pixelplumbing.com/install#esbuild
This section in the sharp docs is more generally about code bunders rather than being specific to deployment, so I'm not sure details of using downstream deployment tools fits here.
Maybe we should add a sentence to the existing Lambda section highlighting that those using a code bundler should read the Bundlers section?
https://sharp.pixelplumbing.com/install#aws-lambda

Hi, thanks for the PR.
Did you see the existing section about esbuild that provides information about excluding sharp from a build?
https://sharp.pixelplumbing.com/install#esbuild
This section in the sharp docs is more generally about code bunders rather than being specific to deployment, so I'm not sure details of using downstream deployment tools fits here.
Maybe we should add a sentence to the existing Lambda section highlighting that those using a code bundler should read the Bundlers section?
https://sharp.pixelplumbing.com/install#aws-lambda

Prior to my development, I came across this issue when trying to deploy from my local environment win32-x64 with serverless-esbuild for bundling and serverless deploy and faced similar issues described here #3126. I presume as it tries to bundle the package locally maybe that is why.

[ ] I will update the PR and move the comments below aws-lambda sections with bundler information as it makes more sense as we are trying to deploy on AWS-Lambda.

On this note, I did try to follow the aws-lambda instructions while local deployment with serverless-esbuild but it was unable to bundle the with sharp-linux-x64.node even if the file contains inside the node_modules. The webpack solution discussed here #2230 helped better understand how to resolve the serverless-esbuild issue.
For automatic deployment, we use CodeBuild from AWS no other configurations were needed for me.

Thank you!

For me the esbuild configuration for serverless-esbuild from the docs didn't work.
After running serverless package the arm file ended up in the node_modules folder of the .zip folder.
What worked for me was the following configuration:
# serverless.yml
custom:
  esbuild:
    bundle: true
    minify: false
    external:
      - sharp
    installExtraArgs:
      - '--arch=x64'
      - '--platform=linux'

Version of serverless-esbuild:
"serverless-esbuild": "^1.33.0",


[Implement] Feature Engineering V1

See issue #75 for finalized spec and caveats

Duplicate of #201


[Sema] Limit inout capture to @noescape contexts

What's in this pull request?

This patch adds limits to inout captures as specified in SE-0035.
The following diagnostics have been added:

implicit capture of inout arguments by closure literals that may escape (not
mark by @noescape) is now invalid. This also includes implicit capture of
self.
nested functions with inout captures cannot be used as arguments not marked
@noescape.
nested function with inout captures cannot be a return value.

This change eliminates the need for the shadowing mechanism created for inout.
The shadow copy and InOutDeshadowing SIL pass has not been eliminated yet. It's WIP and should come in a later PR.
Resolved bug number: (SR-807)

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    OS X platform               | @swift-ci Please test OS X platform
    Linux platform              | @swift-ci Please test Linux platform

Note: Only members of the Apple organization can trigger swift-ci.

@jckarter can you take a look at this?

@swift-ci Please test

Awesome, all tests pass.  I can't wait for InOutDeshadowing to bite the dust :-)

@swift-ci Please test

@dduan Thanks for the revision! Linux failure looks unrelated. I'll review the code in a bit.

Reviewing myself: I don't like stashing those states in decl. Would love some alternative spots!
@jckarter

On May 27, 2016, at 8:55 AM, Joe Groff<EMAIL_ADDRESS>wrote:
@dduan Thanks for the revision! Linux failure looks unrelated. I'll review the code in a bit.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Looks great, aside from the spelling comment.

I agree. Since this info is only needed during Sema, you could move it to a DenseMap in the TypeChecker object.

@swift-ci please test

@jckarter moved the stash from AbstractFunctionDecl to TypeChecker.

@dduan Looks great. Do you mind squashing the commits?

@jckarter done
@swift-ci please test and merge

Thanks!

Should I mark SE-0035 as "implemented"?


add readct-context to README.md

Coverage remained the same at 100.0% when pulling 2ad39094bf5e49f673f4a4638aeb710a630f13b5 on valotas:add-preact-context into 8eef9ae735cad3275da79ee1f8b0facce0a07799 on developit:master.


Blazor File Downloads Documentation

Fixes: https://github.com/dotnet/aspnetcore/issues/30736

@TanayParikh ... I'll look closer in the morning, but is this meant to replace the existing coverage at ...

https://docs.microsoft.com/en-us/aspnet/core/blazor/javascript-interoperability/call-javascript-from-dotnet?view=aspnetcore-6.0#stream-from-javascript-to-net
https://docs.microsoft.com/en-us/aspnet/core/blazor/javascript-interoperability/call-javascript-from-dotnet?view=aspnetcore-6.0#stream-from-net-to-javascript

but is this meant to replace the existing coverage at ...

No this is to provide a more in depth guide, specifically detailing how to download a file (and the associated nuances). The underlying mechanism of streaming from .NET to JS is covered by https://docs.microsoft.com/en-us/aspnet/core/blazor/javascript-interoperability/call-javascript-from-dotnet?view=aspnetcore-6.0#stream-from-net-to-javascript, however this article expands on the functionality to facilitate downloads (including JS specific code to trigger a download).

Ok, great ... then just a cross-link over in that section to this seems right.
Ok, cool. It's best if a make an edit pass on this as opposed to a lot of suggestion comments ... it'll be faster that way. I'll ping u back.

Looks like the 😈 are having their way with you!! 😆 You don't have to sweat these build errors if you don't want to. I can fix them up on Monday.

Ok, great ... then just a cross-link over in that section to this seems right.

Updated 6ab1a9a55.

Ok, cool. It's best if a make an edit pass on this as opposed to a lot of suggestion comments ... it'll be faster that way. I'll ping u back.
I'll have to check my hours tho. I guess you don't mind if I do the update on Monday morning, right? I'm sure the rotten 🐱 will have me up at 4am again! 😡

Sounds great, feel free to edit / change as you see fit. And no rush at all. Have a great weekend! 😄

Looks like the 😈 are having their way with you!! 😆 You don't have to sweat these build errors if you don't want to. I can fix them up on Monday.

Fixed! 🥇

Sorry for the delay ... got bogged down this morning in a couple of doc 🐛🐛.
I'll get on this right now and should have an update pass done within an hour 🤞.

Thanks @guardrex, this looks great! I believe it should be ready to merge 😄