Skip to content

Comments

refactor: generate idiomatic Motoko for __dfx_asset_path#322

Merged
mergify[bot] merged 2 commits intomasterfrom
gabor/better-asset-gen
Jan 16, 2020
Merged

refactor: generate idiomatic Motoko for __dfx_asset_path#322
mergify[bot] merged 2 commits intomasterfrom
gabor/better-asset-gen

Conversation

@ggreif
Copy link
Contributor

@ggreif ggreif commented Jan 16, 2020

Also fail the query when being asked for a non-existing path.

To illustrate, we now generate

            public query func __dfx_asset_path(path: Text): async Text {
              switch path {
                case "index.js" "<the asset contents>";
                case _ {assert false; ""}
              };
            };

Also fail the query when being asked for a non-existing asset.
@ggreif ggreif requested a review from a team as a code owner January 16, 2020 09:10
@nomeata
Copy link
Contributor

nomeata commented Jan 16, 2020

You could actually throw instead of assert, for a better error message.

@ggreif ggreif force-pushed the gabor/better-asset-gen branch from 71de8a2 to 11d0893 Compare January 16, 2020 19:37
@ggreif
Copy link
Contributor Author

ggreif commented Jan 16, 2020

AAAAHHHH! Disregard what is below! I shitread the error message :-/

I am a bit shocked because of this (71de8a2) error:

# /private/tmp/nix-build-e2e-tests.drv-0/dfx-e2e-qSJvqkiu/hello/counter_idl.mo-8131923740757337836:11.32-11.55: type error, expression of type
#   Text
# cannot produce expected type
#   Error

Shocked, that throw "shit" : Error. I expected bottom.

@ggreif
Copy link
Contributor Author

ggreif commented Jan 16, 2020

You could actually throw instead of assert, for a better error message.

@nomeata well, that sadly won't work out of the box. Prim.error needs an import, but this is massaged source (method inserted into main actor), and I am uncomfortable also inserting an import __PRIM "mo:prim at the top of the file. Maybe another time.

We are already better, and don't send an empty script to the frontend (failing silently).

@ggreif ggreif force-pushed the gabor/better-asset-gen branch from 11d0893 to 57a32f0 Compare January 16, 2020 19:54
Copy link
Contributor

@chenyan-dfinity chenyan-dfinity left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. The whole __dfx_asset_path is temporary, so we don't have to be perfect.

@ggreif
Copy link
Contributor Author

ggreif commented Jan 16, 2020

One way out could be to give __-methods special powers, e.g. automatic importing of "mo:prim".

@chenyan-dfinity
Copy link
Contributor

One way out could be to give __-methods special powers, e.g. automatic importing of "mo:prim".

We don't want to encourage these line of design...

@mergify mergify bot merged commit b05c9ad into master Jan 16, 2020
@ggreif ggreif self-assigned this Jan 16, 2020
@mergify mergify bot deleted the gabor/better-asset-gen branch January 16, 2020 22:33
@eftychis
Copy link
Contributor

post merge lgtm -- I second @chenyan-dfinity 's comment that this should stay temporary: hope to break the "nothing more permanent than temporary" saying here.

@nomeata
Copy link
Contributor

nomeata commented Jan 17, 2020

well, that sadly won't work out of the box. Prim.error needs an import, but this is massaged source (method inserted into main actor), and I am uncomfortable also inserting an import __PRIM "mo:prim at the top of the file. Maybe another time.

Oh, yes, absolutely not worth the complexity then.

dfinity-bot added a commit that referenced this pull request Jul 8, 2020
## Changelog for advisory-db:
Branch: 
Commits: [rustsec/advisory-db@aa789b9c...6b10ce09](rustsec/advisory-db@aa789b9...6b10ce0)

* [`cff4f820`](rustsec/advisory-db@cff4f82) warn about CVE-2020-1967
* [`b0bc62bd`](rustsec/advisory-db@b0bc62b) Add `cargo-deny` to the list RustSec clients
* [`e44e26f3`](rustsec/advisory-db@e44e26f) Assign RUSTSEC-2020-0015 to openssl-src
* [`b1d3a5e7`](rustsec/advisory-db@b1d3a5e) Advisory for rio
* [`25f622ba`](rustsec/advisory-db@25f622b) tempdir crate has been deprecated since 2018-02-13.
* [`a3c68605`](rustsec/advisory-db@a3c6860) net2 crate has been deprecated; use socket2 instead
* [`1639be65`](rustsec/advisory-db@1639be6) Assign RUSTSEC-2020-0016 to net2
* [`7d4ce9ae`](rustsec/advisory-db@7d4ce9a) Assign RUSTSEC-2018-0017 to tempdir
* [`0f5a2dc2`](rustsec/advisory-db@0f5a2dc) Add advisory for internment ([RustSec/advisory-db⁠#306](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/306))
* [`8587ec25`](rustsec/advisory-db@8587ec2) Assign RUSTSEC-2020-0017 to internment ([RustSec/advisory-db⁠#309](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/309))
* [`5049594b`](rustsec/advisory-db@5049594) Add unmaintained crate advisory for `block-cipher-trait` (RUSTSEC-2020-0018) ([RustSec/advisory-db⁠#310](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/310))
* [`ae22eb47`](rustsec/advisory-db@ae22eb4) CONTRIBUTING: mention soundness issues ([RustSec/advisory-db⁠#314](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/314))
* [`7c96397e`](rustsec/advisory-db@7c96397) Security advisory for AtheMathmo/rulinalg[RustSec/advisory-db⁠#201](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/201)
* [`8149410e`](rustsec/advisory-db@8149410) Fix toml format error
* [`45495b76`](rustsec/advisory-db@45495b7) .github: bump rustsec-admin cache key ([RustSec/advisory-db⁠#321](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/321))
* [`418954a9`](rustsec/advisory-db@418954a) Create github action to assign RUSTSEC ids ([RustSec/advisory-db⁠#311](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/311))
* [`48c86534`](rustsec/advisory-db@48c8653) Attempt to fix failing assign-ids task ([RustSec/advisory-db⁠#322](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/322))
* [`de07a7d2`](rustsec/advisory-db@de07a7d) Add tokio-rustls DoS advisory ([RustSec/advisory-db⁠#304](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/304))
* [`46c23f6c`](rustsec/advisory-db@46c23f6) Assign RUSTSEC IDs ([RustSec/advisory-db⁠#323](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/323))
* [`9cd619f1`](rustsec/advisory-db@9cd619f) make memoffset advisory informational ([RustSec/advisory-db⁠#317](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/317))
* [`1dfcb1d6`](rustsec/advisory-db@1dfcb1d) .github: lint advisories after assigning ID ([RustSec/advisory-db⁠#324](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/324))
* [`6e2241c0`](rustsec/advisory-db@6e2241c) stb_truetype crate has been deprecated; use ttf-parser instead ([RustSec/advisory-db⁠#307](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/307))
* [`07ae3fb2`](rustsec/advisory-db@07ae3fb) Assign RUSTSEC IDs ([RustSec/advisory-db⁠#325](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/325))
* [`49fcc50d`](rustsec/advisory-db@49fcc50) Reflect PR feedback and describe what might happen
* [`297725a1`](rustsec/advisory-db@297725a) README.md: bump maintained quarter comment
* [`73b40e7d`](rustsec/advisory-db@73b40e7) Assign RUSTSEC IDs ([RustSec/advisory-db⁠#326](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/326))
* [`ee09393d`](rustsec/advisory-db@ee09393) Security advisory for bqv/ozone
* [`c649f538`](rustsec/advisory-db@c649f53) Assign RUSTSEC-2020-0022 to ozone ([RustSec/advisory-db⁠#329](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/329))
* [`6b56bccc`](rustsec/advisory-db@6b56bcc) Assign RUSTSEC IDs
* [`6b10ce09`](rustsec/advisory-db@6b10ce0) Update yaml-rust advirsory to indicate clap as non-vulnerable ([RustSec/advisory-db⁠#331](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/331))
dfinity-bot added a commit that referenced this pull request Jul 9, 2020
## Changelog for advisory-db:
Branch: 
Commits: [rustsec/advisory-db@aa789b9c...6b10ce09](rustsec/advisory-db@aa789b9...6b10ce0)

* [`cff4f820`](rustsec/advisory-db@cff4f82) warn about CVE-2020-1967
* [`b0bc62bd`](rustsec/advisory-db@b0bc62b) Add `cargo-deny` to the list RustSec clients
* [`e44e26f3`](rustsec/advisory-db@e44e26f) Assign RUSTSEC-2020-0015 to openssl-src
* [`b1d3a5e7`](rustsec/advisory-db@b1d3a5e) Advisory for rio
* [`25f622ba`](rustsec/advisory-db@25f622b) tempdir crate has been deprecated since 2018-02-13.
* [`a3c68605`](rustsec/advisory-db@a3c6860) net2 crate has been deprecated; use socket2 instead
* [`1639be65`](rustsec/advisory-db@1639be6) Assign RUSTSEC-2020-0016 to net2
* [`7d4ce9ae`](rustsec/advisory-db@7d4ce9a) Assign RUSTSEC-2018-0017 to tempdir
* [`0f5a2dc2`](rustsec/advisory-db@0f5a2dc) Add advisory for internment ([RustSec/advisory-db⁠#306](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/306))
* [`8587ec25`](rustsec/advisory-db@8587ec2) Assign RUSTSEC-2020-0017 to internment ([RustSec/advisory-db⁠#309](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/309))
* [`5049594b`](rustsec/advisory-db@5049594) Add unmaintained crate advisory for `block-cipher-trait` (RUSTSEC-2020-0018) ([RustSec/advisory-db⁠#310](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/310))
* [`ae22eb47`](rustsec/advisory-db@ae22eb4) CONTRIBUTING: mention soundness issues ([RustSec/advisory-db⁠#314](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/314))
* [`7c96397e`](rustsec/advisory-db@7c96397) Security advisory for AtheMathmo/rulinalg[RustSec/advisory-db⁠#201](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/201)
* [`8149410e`](rustsec/advisory-db@8149410) Fix toml format error
* [`45495b76`](rustsec/advisory-db@45495b7) .github: bump rustsec-admin cache key ([RustSec/advisory-db⁠#321](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/321))
* [`418954a9`](rustsec/advisory-db@418954a) Create github action to assign RUSTSEC ids ([RustSec/advisory-db⁠#311](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/311))
* [`48c86534`](rustsec/advisory-db@48c8653) Attempt to fix failing assign-ids task ([RustSec/advisory-db⁠#322](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/322))
* [`de07a7d2`](rustsec/advisory-db@de07a7d) Add tokio-rustls DoS advisory ([RustSec/advisory-db⁠#304](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/304))
* [`46c23f6c`](rustsec/advisory-db@46c23f6) Assign RUSTSEC IDs ([RustSec/advisory-db⁠#323](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/323))
* [`9cd619f1`](rustsec/advisory-db@9cd619f) make memoffset advisory informational ([RustSec/advisory-db⁠#317](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/317))
* [`1dfcb1d6`](rustsec/advisory-db@1dfcb1d) .github: lint advisories after assigning ID ([RustSec/advisory-db⁠#324](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/324))
* [`6e2241c0`](rustsec/advisory-db@6e2241c) stb_truetype crate has been deprecated; use ttf-parser instead ([RustSec/advisory-db⁠#307](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/307))
* [`07ae3fb2`](rustsec/advisory-db@07ae3fb) Assign RUSTSEC IDs ([RustSec/advisory-db⁠#325](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/325))
* [`49fcc50d`](rustsec/advisory-db@49fcc50) Reflect PR feedback and describe what might happen
* [`297725a1`](rustsec/advisory-db@297725a) README.md: bump maintained quarter comment
* [`73b40e7d`](rustsec/advisory-db@73b40e7) Assign RUSTSEC IDs ([RustSec/advisory-db⁠#326](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/326))
* [`ee09393d`](rustsec/advisory-db@ee09393) Security advisory for bqv/ozone
* [`c649f538`](rustsec/advisory-db@c649f53) Assign RUSTSEC-2020-0022 to ozone ([RustSec/advisory-db⁠#329](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/329))
* [`6b56bccc`](rustsec/advisory-db@6b56bcc) Assign RUSTSEC IDs
* [`6b10ce09`](rustsec/advisory-db@6b10ce0) Update yaml-rust advirsory to indicate clap as non-vulnerable ([RustSec/advisory-db⁠#331](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/331))
mergify bot pushed a commit that referenced this pull request Jul 14, 2020
## Changelog for advisory-db:
Branch: 
Commits: [rustsec/advisory-db@aa789b9c...6b10ce09](rustsec/advisory-db@aa789b9...6b10ce0)

* [`cff4f820`](rustsec/advisory-db@cff4f82) warn about CVE-2020-1967
* [`b0bc62bd`](rustsec/advisory-db@b0bc62b) Add `cargo-deny` to the list RustSec clients
* [`e44e26f3`](rustsec/advisory-db@e44e26f) Assign RUSTSEC-2020-0015 to openssl-src
* [`b1d3a5e7`](rustsec/advisory-db@b1d3a5e) Advisory for rio
* [`25f622ba`](rustsec/advisory-db@25f622b) tempdir crate has been deprecated since 2018-02-13.
* [`a3c68605`](rustsec/advisory-db@a3c6860) net2 crate has been deprecated; use socket2 instead
* [`1639be65`](rustsec/advisory-db@1639be6) Assign RUSTSEC-2020-0016 to net2
* [`7d4ce9ae`](rustsec/advisory-db@7d4ce9a) Assign RUSTSEC-2018-0017 to tempdir
* [`0f5a2dc2`](rustsec/advisory-db@0f5a2dc) Add advisory for internment ([RustSec/advisory-db⁠#306](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/306))
* [`8587ec25`](rustsec/advisory-db@8587ec2) Assign RUSTSEC-2020-0017 to internment ([RustSec/advisory-db⁠#309](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/309))
* [`5049594b`](rustsec/advisory-db@5049594) Add unmaintained crate advisory for `block-cipher-trait` (RUSTSEC-2020-0018) ([RustSec/advisory-db⁠#310](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/310))
* [`ae22eb47`](rustsec/advisory-db@ae22eb4) CONTRIBUTING: mention soundness issues ([RustSec/advisory-db⁠#314](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/314))
* [`7c96397e`](rustsec/advisory-db@7c96397) Security advisory for AtheMathmo/rulinalg[RustSec/advisory-db⁠#201](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/201)
* [`8149410e`](rustsec/advisory-db@8149410) Fix toml format error
* [`45495b76`](rustsec/advisory-db@45495b7) .github: bump rustsec-admin cache key ([RustSec/advisory-db⁠#321](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/321))
* [`418954a9`](rustsec/advisory-db@418954a) Create github action to assign RUSTSEC ids ([RustSec/advisory-db⁠#311](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/311))
* [`48c86534`](rustsec/advisory-db@48c8653) Attempt to fix failing assign-ids task ([RustSec/advisory-db⁠#322](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/322))
* [`de07a7d2`](rustsec/advisory-db@de07a7d) Add tokio-rustls DoS advisory ([RustSec/advisory-db⁠#304](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/304))
* [`46c23f6c`](rustsec/advisory-db@46c23f6) Assign RUSTSEC IDs ([RustSec/advisory-db⁠#323](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/323))
* [`9cd619f1`](rustsec/advisory-db@9cd619f) make memoffset advisory informational ([RustSec/advisory-db⁠#317](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/317))
* [`1dfcb1d6`](rustsec/advisory-db@1dfcb1d) .github: lint advisories after assigning ID ([RustSec/advisory-db⁠#324](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/324))
* [`6e2241c0`](rustsec/advisory-db@6e2241c) stb_truetype crate has been deprecated; use ttf-parser instead ([RustSec/advisory-db⁠#307](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/307))
* [`07ae3fb2`](rustsec/advisory-db@07ae3fb) Assign RUSTSEC IDs ([RustSec/advisory-db⁠#325](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/325))
* [`49fcc50d`](rustsec/advisory-db@49fcc50) Reflect PR feedback and describe what might happen
* [`297725a1`](rustsec/advisory-db@297725a) README.md: bump maintained quarter comment
* [`73b40e7d`](rustsec/advisory-db@73b40e7) Assign RUSTSEC IDs ([RustSec/advisory-db⁠#326](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/326))
* [`ee09393d`](rustsec/advisory-db@ee09393) Security advisory for bqv/ozone
* [`c649f538`](rustsec/advisory-db@c649f53) Assign RUSTSEC-2020-0022 to ozone ([RustSec/advisory-db⁠#329](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/329))
* [`6b56bccc`](rustsec/advisory-db@6b56bcc) Assign RUSTSEC IDs
* [`6b10ce09`](rustsec/advisory-db@6b10ce0) Update yaml-rust advirsory to indicate clap as non-vulnerable ([RustSec/advisory-db⁠#331](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/331))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants