Module parse error

I am trying to using the library in an existing project bootstrapped with craco and create-react-app. Following is the error I get at the compile time.
./node_modules/react-resizable-panels/dist/react-resizable-panels.module.js 141:23
Module parse failed: Unexpected token (141:23)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
You may need an additional loader to handle the result of these loaders.
|   if (state) {
|     const key = $6ff1a22b27cc039d$var$getSerializationKey(panels);
>     return state[key] ?? null;
|   }
|

Package.json details:
"@craco/craco": "^6.0.0", "react": "^17.0.2",  "react-dom": "^17.0.2",
Please let me know if you need more details.

Duplicate of #67
Should find a solution here:
https://github.com/facebook/create-react-app/issues/9468#issuecomment-982471433
Good luck! 😄

FYI, I removed the nullish coalescing operator in v0.0.31 because the trivial benefit it provided didn't seem worth causing headaches for create-react-app users.

Thank you for your prompt response. After a day of fiddling around I could not get it to work here is error which I am getting.
`Failed to compile.
./node_modules/react-resizable-panels/dist/react-resizable-panels.module.js 316:38
Module parse failed: Unexpected token (316:38)
File was processed with these loaders:

./node_modules/babel-loader/lib/index.js
You may need an additional loader to handle the result of these loaders.
|   const handles = $f30c804b5fe6cc1a$export$ae14931f0a0256a3(groupId);
|   const index = handles.indexOf(handle);

const idBefore = panelsArray[index]?.id || null;
|   const idAfter = panelsArray[index + 1]?.id || null;
|   return [idBefore, idAfter];`

Sorry @nouman91. You'll probably need to look at Stack Overflow or somewhere else for help with the CRA Webpack configuration. That's not something I have the time or knowledge to support.

Yeah I understand! Thank you!

I was able to solve it, if someone is else is stuck into same issue with craco. Following is the package you need
https://www.npmjs.com/package/craco-babel-loader

By the way, if you update to 0.0.35– this module should now work with CRA without any additional configuration changes.
https://github.com/bvaughn/react-resizable-panels/releases/tag/v0.0.35


cmd/go: don't prefer external linking when using bazelbuild/rules_go

What version of Go are you using (go version)?

$ go version
1.20.3

Does this issue reproduce with the latest release?
Yes. src/cmd/go/internal/work/security.go appears unchanged
What operating system and processor architecture are you using (go env)?
go env Output
$ go env

What did you do?

I am using bazel + rules_go to compile an application that requires cgo (e.g., uses os/user) and have upgraded from Go 1.19 to 1.20. The build set-up is described in bazelbuild/rules_go#3590.
What did you expect to see?
 I expected this to continue.
What did you see instead?
Go 1.20 is actually invoking the external linker.
Looking at the linker output I notice:
external linking is forced by: some packages could not be built to support internal linking ([os/user runtime/cgo])
external linking prefer list is [os/user runtime/cgo]

Inspecting the os/user.a generated it contains a preferlinkext entry. This seems to be the case because rules_go is passing -fdebug-prefix-map=... as CGO_CFLAGS. I would like to allow list this flag to src/cmd/go/internal/work/security.go

In Go 1.19 the Go linker is linking the final binary. I expected this to continue.

Note that rules_go could force internal linking by setting GO_EXTLINK_ENABLED=0 explicitly in the environment (see https://pkg.go.dev/cmd/go#hdr-Environment_variables), or passing -ldflags=all=-linkmode=internal as an argument.
Since Bazel presumably knows whether it expects a C linker to be invoked, it should probably use one of those mechanisms explicitly to avoid making fragile assumptions about which flags do or do not trigger external linking by default.

Allowing -fdebug-prefix-map= for internal linking seems reasonable to me. Thanks.
As @bcmills mentioned, explicitly passing -ldflags=-linkmode=internal is probably a good idea if this is what Bazel wants.

 I expected this to continue.

Note that rules_go could force internal linking by setting GO_EXTLINK_ENABLED=0 explicitly in the environment (see https://pkg.go.dev/cmd/go#hdr-Environment_variables), or passing -ldflags=all=-linkmode=internal as an argument.
Since Bazel presumably knows whether it expects a C linker to be invoked, it should probably use one of those mechanisms explicitly to avoid making fragile assumptions about which flags do or do not trigger external linking by default.

My understanding is that the go command is looking at each input, cgo, msan, asan, the GOOS and GOARCH to resolve linkmode=auto (determineLinkMode) and then looks whether it can proceed (extNeeded).
It seems that unconditionally passing flags to force internal linking, certain architectures and OSes will fail to link. It seems undesirable and close to impossible (bazel does not inspect the .o files) to resolve LinkAuto in rules_go.
Why does this behavior change matter? I have orders of magnitude more confidence in Go doing the right thing than the less frequently updated random C toolchain.

Why does this behavior change matter? I have orders of magnitude more confidence in Go doing the right thing than the less frequently updated random C toolchain.

This sounds like you really want internal linking on certain condition. If this is a requirement for bazel, it still makes sense to make that explicitly. (This is not a requirement for the Go toolchain, at least not a hard requirement. So it an still change in the future.)
You don't need to inspect object files. Basically, any (non-std) cgo, msan, or asan means external linking, as well as a small number of special GOOS/GOARCH combinations where internal linking is not supported/implemented. This is the default behavior for the linker.


Jest 26.1.0 - Dependancies failing NPM audits

🐛 Bug Report
It seems the current lodash package that is the dependency of Jest is introducing nearly 3000 audit vulnerabilities
To Reproduce
Steps to reproduce the behavior:
Install jest and run an npm audit
Expected behavior
Jest passes npm audit
envinfo
System:
OS: macOS 10.15.5
CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
Binaries:
Node: 12.16.3 - /usr/local/bin/node
Yarn: 1.22.4 - /usr/local/bin/yarn
npm: 6.14.4 - /usr/local/bin/npm
npmPackages:
jest: ^26.1.0 => 26.1.0

This isn't really actionable by jest - this is the issue to watch: https://github.com/lodash/lodash/issues/4837

Also, Jest doesn't depend on lodash, so there's at least one more layer between the lodash fix and us. Hopefully it'll all be within semver ranger, tho

Sorry about just dumping that and running, have been kind of swamped this
week and hadn't considered that due to being preoccupied. Youbare
absolutely correct.
On Sat, Jul 4, 2020, 6:53 AM Simen Bekkhus<EMAIL_ADDRESS>wrote:

Also, Jest doesn't depend on lodash, so there's at least one more layer
between the lodash fix and us. Hopefully it'll all be within semver ranger,
tho
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/facebook/jest/issues/10238#issuecomment-653751056,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANC6DH2T3FSELQXW23Y54ITRZ4C3DANCNFSM4OP7GGXQ
.


Download file function

I appreciate if CodeceptJS get file downloading function.
I'm currently trying to create test that:

Login to the service
Open a URL to download CSV which is only available for the currently logging-in user
Read CSV string and verify it

but CodeceptJS seems to have no functionality to download file.

I also really like to have that.
I will try to use I.seeFile('foo.csv'); after the click on download.
Since I use the selenium-standalone-docker chrome instances this could get tricky ...

Any feedback on this ? I also think it's a really interesting feature.

Yes, it is interesting. Do you have some suggestion of its implementation? I know it's not possible to do that in plain selenium so I don't know how it should be implemented.

Well, now I noticed that my implementation is bad and I should reconsider that.
In current implementation I was working for, the download link is implemented using <button> tag. When <button> is pressed, onClick event fires and JavaScript code (something like window.location = /path/to/csv) opens URL for CSV.
(Yep, it's kind of very legacy code with no test code.)
I should replace  to , and retrieve href attribute value to verify if link URL is correct.
To retrieve CSV content and verify it, you can use fetch or XMLHttpRequest.
I noticed that may be why Selenium (and other E2E testing libraries) doesn't support that.
So it's OK to close this issue for me.
If there is other use cases and anyone is willing to implement that, please keep it open.

It may be possible to achieve with Puppeter.
Some background https://kb.apify.com/actor/handling-file-download-with-puppeteer

downloadFile is now implemented.


Restore regular compatibility bumps and validation.

Thunderbird hasn't had an automated compat bump in a while, see https://bugzilla.mozilla.org/show_bug.cgi?id=1407947. We may be able to resurrect it, or maybe not.

I doubt we should do compatibility bumps anymore. Without updates the add-on isn't likely to work.

I doubt we should do compatibility bumps anymore. Without updates the add-on isn't likely to work.
The idea was that we would write a validator patch so that it would detect which ones can work and which can't for TB60. Which is probably possible. And what about future versions? Without compat bumps, authors basically have to change their compatibility manually for each version, even if there's no breaking changes.

The compat bumps alleviate that. Whether it's worth the time or not is a different question. We used to do those patches regularly several years ago.
If you'd rather we not spend the time on it, and expect add-on authors to do handle it manually, we can just close this. I don't care about it much either way, personally.

Tb60 is already almost out. For TB68, I doubt there are many add-ons that wouldn't require update.
So let's leave it for add-on authors.


Zv9 reference genome

Warning: local() encountered an error (return code 8) while executing 'wget --continue --no-check-certificate -O Danio_rerio.Zv9.dna.toplevel.fa.gz 'ftp://ftp.ensembl.org/pub/release-80/fasta/danio_rerio/dna/Danio_rerio.Zv9.dna.toplevel.fa.gz''

INFO: Genome preparation method raw failed, trying next
Traceback (most recent call last):
  File "/BiO/BioTools/bcbio/tools/bin/bcbio_nextgen.py", line 207, in <module>
    install.upgrade_bcbio(kwargs["args"])
  File "/BiO/BioTools/bcbio/data/anaconda/lib/python2.7/site-packages/bcbio/install.py", line 93, in upgrade_bcbio
    upgrade_bcbio_data(args, REMOTES)
  File "/BiO/BioTools/bcbio/data/anaconda/lib/python2.7/site-packages/bcbio/install.py", line 283, in upgrade_bcbio_data
    cbl_deploy.deploy(s)
  File "/BiO/BioTools/bcbio/tmpbcbio-install/cloudbiolinux/cloudbio/deploy/__init__.py", line 65, in deploy
    _setup_vm(options, vm_launcher, actions)
  File "/BiO/BioTools/bcbio/tmpbcbio-install/cloudbiolinux/cloudbio/deploy/__init__.py", line 110, in _setup_vm
    configure_instance(options, actions)
  File "/BiO/BioTools/bcbio/tmpbcbio-install/cloudbiolinux/cloudbio/deploy/__init__.py", line 268, in configure_instance
    setup_biodata(options)
  File "/BiO/BioTools/bcbio/tmpbcbio-install/cloudbiolinux/cloudbio/deploy/__init__.py", line 250, in setup_biodata
    install_proc(options["genomes"], ["ggd", "s3", "raw"])
  File "/BiO/BioTools/bcbio/tmpbcbio-install/cloudbiolinux/cloudbio/biodata/genomes.py", line 345, in install_data
    _prep_genomes(env, genomes, genome_indexes, ready_approaches)
  File "/BiO/BioTools/bcbio/tmpbcbio-install/cloudbiolinux/cloudbio/biodata/genomes.py", line 486, in _prep_genomes
    raise IOError("Could not prepare index {0} for {1} by any method".format(idx, gid))
IOError: Could not prepare index seq for Zv9 by any method

I think this URL is changed.
ftp://ftp.ensembl.org//pub/release-80/fasta/danio_rerio/dna/Danio_rerio.GRCz10.dna.toplevel.fa.gz
so, GRCz10 is ok. but Zv9 genome in bcbio must be convert the correct address on ensembl.

Hyumin;
Sorry about the issue and thanks for the report. Do you need to specifically use the older zebrafish genome, or can you use the recent build? If the later, then you should be able to install with:
bcbio_nextgen.py upgrade --genomes GRCz10

We could remove/deprecate Zv9 if Ensembl downloads are no longer supporting this. Hope this helps.

Yeah,  I tried older genome. it solved with GRCz10
Thanks.


Feature request: Ability to infer toggle flip-flops

Coolrunner-II has these as built-in primitives

Robert, if you don't want me to close this right away you have to at least provide a sufficient description of the feature you want. Give me at least an example of the input you'd want to be able to process and the kind of output you'd expect.
If this implies the addition of a new cell type: what properties would this new cell type have?

Apologies for not adding enough detail earlier. Yes, I would like to add a bunch of new cell types. As an example, I have the following Verilog model of the FTCP primitive in the Coolrunner-II CPLDs:
module FTCP (C, PRE, CLR, T, Q);
    parameter INIT = 0;

    input C, PRE, CLR, T;
    output wire Q;
    reg Q_;

    initial begin
        Q_ <= INIT;
    end

    always @(posedge C, posedge PRE, posedge CLR) begin
        if (CLR == 1)
            Q_ <= 0;
        else if (PRE == 1)
            Q_ <= 1;
        else if (T == 1)
            Q_ <= ~Q_;
    end

    assign Q = Q_;
endmodule

This is a toggle flip-flop with set and reset. If the T input is high, the output of the flip-flop will toggle when there is a rising edge. If the T input is low, the output will not change. Right now, when yosys sees this construct, it creates a $dffsr cell with the output connected to a $not and a $mux, which feeds back into the input of the $dffsr cell. I would like to add some $tff and $tffsr cells (and the corresponding $_TFF_* and $_TFFSR_* cells) to represent this construct instead.

I figured that adding toggle flip-flops as a yosys builtin cell type (rather than adding it as a Coolrunner-II-specific extraction pass) can potentially help any other devices that also have toggle flip-flops. It is always possible to lower them back into normal D flip-flops if the target does not have them as primitives.

As an initial strawman proposal for how this might be implemented, I have written this code (and bugfix). This code was written for the circuit reverse engineering project that @azonenberg and I are working on, but the code seems to correctly find toggle flip-flops for synthesis in the scenarios that I tested. However, the particular method of finding them (running ABC twice) seems like it might be suboptimal for synthesis.


Access Device twin properties from IoT Edge module

I am looking for an example to read Device twin properties from IoT edge module (python on ubuntu 16.0). i could find examples of reading module twin properties from IoT Edge, but not device twin. Does this example in the documentation (https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-python-twin-getstarted), also applicable to IoT Edge?
Can you share an example?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ee954f99-9e57-d746-e504-445acf410291
Version Independent ID: 9008125f-1961-6b08-8b8d-afe629a7354e
Content: Get started with Azure IoT Hub device twins (Python)
Content Source: articles/iot-hub/iot-hub-python-twin-getstarted.md
Service: iot-hub
GitHub Login: @kgremban
Microsoft Alias: kgremban

@saifuddin123 Thank you for the document link.  We are investigating the issue.

Thanks for pointing me to the documentation. All the examples take deviceid and moduleid as input to read the twin properties as in this sample. (https://github.com/Azure/azure-iot-sdk-python/blob/master/service/samples/iothub_twin_sample.py)
How do i get them dynamically, especially deviceId? while the module starts. consider the device is created with autoprovision, so i need to get the deviceid on which the module is running to get the twin details.

You can access the module twin from within the module without specifying the connection string. The environment variables are also set in the container. You can access the IOTEDGE_IOTHUBHOSTNAME, IOTEDGE_MODULEID,IOTEDGE_DEVICEID by reading the corresponding environment variable.
You can start an IoT Hub Module client and send messages.
Currently I could not find a way to access the device twin from the module, without explicitly including the connection string. The above example iothub_twin_sample.py uses the iothub_service_client.py library,which is meant to be used on the service side and not on the edge device.


Map type support (hstore postgresql equivalent)

Typical analytical data de-normalized and contains map of primitive types. PostgreSQL hstore extension/type solve this task, Clickhouse also support Map, Apache Spark and SparkSQL also allows user manipulate with de-normalized key-value data
Please support map type of key-values of strings, long, int, short, float, double and dictionary encoded values and skeys,  svals, [] postgresql equivalent operations on Map data and size() function
JSON type and functions as alternative. But in most analytical use case JSON is overkill feature.
Another option implement sql function that allow operate on two column of array type simultaneously to behave like key->value filter

Thanks for the request.
JSON_VALUE is now supported and pretty performant., so I'd try that first depending on the use case.
Or could do today in full SQL, using UNNEST with a subquery to maintain the ORDER, as here:
https://stackoverflow.com/questions/53635020/bigquery-argmax-is-array-order-maintained-when-doing-cross-join-unnest
As you mention, more generically two arrays can do the trick with an extra function.  That doesn't currently exist and would currently require a C++ extension to generate.  But at 7.0 should be possible to generate such compiled for you from NUMBA Python (just needs to array support in RBC)

Hi @mflaxman10
Thank you for info. Is there any JSON type in HeavyAI or it just regular string?
How to extract all keys from json on first nested level by using JSON_VALUE ?


Add filter reset button

User Story: As a user, I want to click/tap a button to reset the filters I've chosen, so I can reselect my choices.
Acceptance Criteria:
GIVEN: I click on the "Search Filters" accordion tab
WHEN: I look at the page
THEN: I see a button labelled "Reset Filters"

I would combine this with moving the search button below the filters.

The filter reset button should empty the tempURL and set the offsetMultiple variable back to 0.


TIFF thumbnails do not work

Problem

Currently TIFF thumbnails do not work as they're not supported by our thumbnail service provider Photon. This feels like poor service to our users because TIFF files are usually large, and are sometimes not supported by the browser.
Description

On the frontend we fallback to the full direct image url when a thumbnail isn't available.
We should create a separate service for TIFF thumbnails.
Additionally, on any search with the extension=tiff (or extension=tif, which returns a different set of images) query param set, all thumbnails will fail with 415 errors.
Alternatives

Currently < 2% of our thumbnails are 415 Unsupported Media type errors, so this does not impact many thumbnails and therefore, users.
We could investigate the TIFF files that we have and try to ingest the thumbnails for them from the providers. Those could be sent to photon.
Additional context

This is an issue discovered after the SVG thumbnails in #2397

Reducing priority to medium due to the limited number of requests and users this impacts.

We can solve this for Wikimedia by using Wikimedia's thumbnails.
For any URL, you can derive the thumbnail:
For this file: https://upload.wikimedia.org/wikipedia/commons/c/c5/Fryanovo_2023-08_1691863768.tif
The thumbnail at 600px is: https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Fryanovo_2023-08_1691863768.tif/lossy-600px-Fryanovo_2023-08_1691863768.tif.jpg
Which is derived by adding /thumb to the path after /commons, then /lossy-<dimensions>px-<filename with extension>.jpg at the end.
This appears to work for any Wikimedia result, actually.
We can probably backfill these into the catalogue data with a batched update (cc @stacimc), or we can trial it in the API as a temporary addition to the image proxy route when a Wikimedia tiff is requested. We can use the derived URL to send upstream to Site Accelerator or we can use the derived URL directly.

@krysal you've done a lot of querying the database recently. Did you happen to notice whether we have tiff records for any providers other than Wikimedia? If we only ingest tiff from Wikimedia, then the main problem in this specific issue is covered by #4736. We would need to revisit this if we ingested tiffs from other providers (we'd probably need to start running imgproxy or something else that uses libvips and supports wider formats, which we could put upstream of Site Accelerator, similar to how #4736 handles Wikimedia's thumbnail service.


MB-10977 update existing load tests to use new helpers

Description
Converting existing load tests to follow new patterns/use new helpers. I was documenting it for another team, but it ended up being faster to do it than write down examples and explanations of each conversion.
There were a few more changes I made to base helper code:

Add ability for the MilMoveRequestPreparer to handle the name kwarg for requests.
Break down check_response into a few logging functions. This makes it easier for each test to be more specific about what they expect and to test the helper functions. It also enables us to use them for both regular Responses (from using requests package directly) and RestResponseContextManager (the ones we get from self.rest) instances.

Reviewer Notes
I ran the load tests and am getting similar results for the most part, with a few improvements (the expected failures now don't get counted as failures). I think this code is ready for review.
It might be easier to review it if you go commit by commit. Also, if it's hard to review, I'm happy to do a meeting, or I think there's also a few commits at the end (the check_response changes) that could even be split into a second pr.
Setup
You can run the unit tests:
pytest

the prime load tests:
make load_test_prime

the office load tests:
make load_test_office

and the milmove load tests:
make load_test_milmove

Though the last one only really creates a user and logs out their email.
Code Review Verification Steps

[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change.

Is host a required flag?  I feel like before if it wasn't specified we defaulted to local but I get this error if I omit it
➜  milmove_load_testing git:(MB-10977-fl-update-existing-load-tests-to-use-new-helpers) ✗ locust -f locustfiles/prime.py
[2022-01-12 14:13:39,337] Duncans-MacBook-Pro.local/INFO/locust.main: Starting web interface at http://<IP_ADDRESS>:8089 (accepting connections from all network interfaces)
[2022-01-12 14:13:39,351] Duncans-MacBook-Pro.local/ERROR/root: Uncaught exception in event handler:
Traceback (most recent call last):
  File "/Users/duncan/.local/share/virtualenvs/milmove_load_testing-7o6dLg4P/lib/python3.9/site-packages/locust/event.py", line 40, in fire
    handler(**kwargs)
  File "/Users/duncan/workspace/milmove_load_testing/locustfiles/prime.py", line 48, in on_init
    raise err
  File "/Users/duncan/workspace/milmove_load_testing/locustfiles/prime.py", line 42, in on_init
    milmove_env = MilMoveEnv(value=environment.host)
  File "/Users/duncan/.pyenv/versions/3.9.6/lib/python3.9/enum.py", line 384, in __call__
    return cls.__new__(cls, value)
  File "/Users/duncan/.pyenv/versions/3.9.6/lib/python3.9/enum.py", line 702, in __new__
    raise ve_exc
ValueError: None is not a valid MilMoveEnv

This may be leftover from @ronaktruss 's PR but the prime workflow failed for me because I think the prime list_moves task has been removed
[2022-01-12 14:19:13,433] Duncans-MacBook-Pro.local/ERROR/locust.user.task: 'PrimeWorkflowTasks' object has no attribute 'list_moves'
Traceback (most recent call last):
  File "/Users/duncan/.local/share/virtualenvs/milmove_load_testing-7o6dLg4P/lib/python3.9/site-packages/locust/user/task.py", line 296, in run
    self.execute_next_task()
  File "/Users/duncan/.local/share/virtualenvs/milmove_load_testing-7o6dLg4P/lib/python3.9/site-packages/locust/user/task.py", line 321, in execute_next_task
    self.execute_task(self._task_queue.pop(0))
  File "/Users/duncan/.local/share/virtualenvs/milmove_load_testing-7o6dLg4P/lib/python3.9/site-packages/locust/user/task.py", line 431, in execute_task
    task(self.user).run()
  File "/Users/duncan/.local/share/virtualenvs/milmove_load_testing-7o6dLg4P/lib/python3.9/site-packages/locust/user/task.py", line 281, in run
    self.on_start()
  File "/Users/duncan/workspace/milmove_load_testing/tasks/prime_hhg_workflow.py", line 41, in on_start
    self.tasks = [self.hhg_move, self.list_moves]
AttributeError: 'PrimeWorkflowTasks' object has no attribute 'list_moves'

Is host a required flag? I feel like before if it wasn't specified we defaulted to local but I get this error if I omit it
➜  milmove_load_testing git:(MB-10977-fl-update-existing-load-tests-to-use-new-helpers) ✗ locust -f locustfiles/prime.py
[2022-01-12 14:13:39,337] Duncans-MacBook-Pro.local/INFO/locust.main: Starting web interface at http://<IP_ADDRESS>:8089 (accepting connections from all network interfaces)
[2022-01-12 14:13:39,351] Duncans-MacBook-Pro.local/ERROR/root: Uncaught exception in event handler:
Traceback (most recent call last):
  File "/Users/duncan/.local/share/virtualenvs/milmove_load_testing-7o6dLg4P/lib/python3.9/site-packages/locust/event.py", line 40, in fire
    handler(**kwargs)
  File "/Users/duncan/workspace/milmove_load_testing/locustfiles/prime.py", line 48, in on_init
    raise err
  File "/Users/duncan/workspace/milmove_load_testing/locustfiles/prime.py", line 42, in on_init
    milmove_env = MilMoveEnv(value=environment.host)
  File "/Users/duncan/.pyenv/versions/3.9.6/lib/python3.9/enum.py", line 384, in __call__
    return cls.__new__(cls, value)
  File "/Users/duncan/.pyenv/versions/3.9.6/lib/python3.9/enum.py", line 702, in __new__
    raise ve_exc
ValueError: None is not a valid MilMoveEnv

I think it's always been required? At least, I get that same failure in master without specifying a host.

This may be leftover from @ronaktruss 's PR but the prime workflow failed for me because I think the prime list_moves task has been removed
[2022-01-12 14:19:13,433] Duncans-MacBook-Pro.local/ERROR/locust.user.task: 'PrimeWorkflowTasks' object has no attribute 'list_moves'
Traceback (most recent call last):
  File "/Users/duncan/.local/share/virtualenvs/milmove_load_testing-7o6dLg4P/lib/python3.9/site-packages/locust/user/task.py", line 296, in run
    self.execute_next_task()
  File "/Users/duncan/.local/share/virtualenvs/milmove_load_testing-7o6dLg4P/lib/python3.9/site-packages/locust/user/task.py", line 321, in execute_next_task
    self.execute_task(self._task_queue.pop(0))
  File "/Users/duncan/.local/share/virtualenvs/milmove_load_testing-7o6dLg4P/lib/python3.9/site-packages/locust/user/task.py", line 431, in execute_task
    task(self.user).run()
  File "/Users/duncan/.local/share/virtualenvs/milmove_load_testing-7o6dLg4P/lib/python3.9/site-packages/locust/user/task.py", line 281, in run
    self.on_start()
  File "/Users/duncan/workspace/milmove_load_testing/tasks/prime_hhg_workflow.py", line 41, in on_start
    self.tasks = [self.hhg_move, self.list_moves]
AttributeError: 'PrimeWorkflowTasks' object has no attribute 'list_moves'

I removed the references to the list_moves function, but now I'm getting other errors haha.

Is host a required flag? I feel like before if it wasn't specified we defaulted to local but I get this error if I omit it
➜  milmove_load_testing git:(MB-10977-fl-update-existing-load-tests-to-use-new-helpers) ✗ locust -f locustfiles/prime.py
[2022-01-12 14:13:39,337] Duncans-MacBook-Pro.local/INFO/locust.main: Starting web interface at http://<IP_ADDRESS>:8089 (accepting connections from all network interfaces)
[2022-01-12 14:13:39,351] Duncans-MacBook-Pro.local/ERROR/root: Uncaught exception in event handler:
Traceback (most recent call last):
  File "/Users/duncan/.local/share/virtualenvs/milmove_load_testing-7o6dLg4P/lib/python3.9/site-packages/locust/event.py", line 40, in fire
    handler(**kwargs)
  File "/Users/duncan/workspace/milmove_load_testing/locustfiles/prime.py", line 48, in on_init
    raise err
  File "/Users/duncan/workspace/milmove_load_testing/locustfiles/prime.py", line 42, in on_init
    milmove_env = MilMoveEnv(value=environment.host)
  File "/Users/duncan/.pyenv/versions/3.9.6/lib/python3.9/enum.py", line 384, in __call__
    return cls.__new__(cls, value)
  File "/Users/duncan/.pyenv/versions/3.9.6/lib/python3.9/enum.py", line 702, in __new__
    raise ve_exc
ValueError: None is not a valid MilMoveEnv

I think it's always been required? At least, I get that same failure in master without specifying a host.

Yea I think it's an optional arg because locust doesn't abort from starting but our config doesn't work without it.  I know our Makefile specifies for the common commands it could have been required in a previous version too.

Is host a required flag? I feel like before if it wasn't specified we defaulted to local but I get this error if I omit it
➜  milmove_load_testing git:(MB-10977-fl-update-existing-load-tests-to-use-new-helpers) ✗ locust -f locustfiles/prime.py
[2022-01-12 14:13:39,337] Duncans-MacBook-Pro.local/INFO/locust.main: Starting web interface at http://<IP_ADDRESS>:8089 (accepting connections from all network interfaces)
[2022-01-12 14:13:39,351] Duncans-MacBook-Pro.local/ERROR/root: Uncaught exception in event handler:
Traceback (most recent call last):
  File "/Users/duncan/.local/share/virtualenvs/milmove_load_testing-7o6dLg4P/lib/python3.9/site-packages/locust/event.py", line 40, in fire
    handler(**kwargs)
  File "/Users/duncan/workspace/milmove_load_testing/locustfiles/prime.py", line 48, in on_init
    raise err
  File "/Users/duncan/workspace/milmove_load_testing/locustfiles/prime.py", line 42, in on_init
    milmove_env = MilMoveEnv(value=environment.host)
  File "/Users/duncan/.pyenv/versions/3.9.6/lib/python3.9/enum.py", line 384, in __call__
    return cls.__new__(cls, value)
  File "/Users/duncan/.pyenv/versions/3.9.6/lib/python3.9/enum.py", line 702, in __new__
    raise ve_exc
ValueError: None is not a valid MilMoveEnv

I think it's always been required? At least, I get that same failure in master without specifying a host.

Yea I think it's an optional arg because locust doesn't abort from starting but our config doesn't work without it. I know our Makefile specifies for the common commands it could have been required in a previous version too.

Yeah, I think it might default to localhost or something like that. Honestly we aren't really using it as locust means for host to be used anyways, so we could do something else if we wanted to. Like base it on an env var, or add a custom argument to our locustfiles for this.

Tested this out locally and it looks good to me. I did want to point out our ballooning requests to the prime getMove endpoint seems to be 10x as many requests as the others.

Yeah I think this is likely because of a few changes over the past several prs. One made every function in the prime workflow that gets the current move re-retrieve the move and another made the task that retrieves a move twice as likely to happen as other tasks. There were also a few load tests that did this on their own before doing what they were attempting to actually test. I think in the future (once storage is re-thought out), we might still have really high numbers of hits to that endpoint, but I think we might have a more balanced number (since I think we could likely take off that 2x probably of it happening).


watch Option for SAM Build command

Describe your idea/feature/enhancement
When using sam build to build functions that will later be invoked through sam local [invoke|start-lambda|start-api], you need to run sam build before each invoke. The reason for this requirement is because the build command places artifacts (code + dependencies + updated template) into a build folder. The sam local [invoke|start-lambda|start-api] use these built templates (this has updated locations to the built function code) by default but there is no way to update the built code without running sam build again.
Proposal
For the initial implementation of sam build, the --watch option was out of scope. The proposal is to add support for this option to all customers to enable building when source code changes.
An alternative could be to make the sam local suite of commands build the function during invoke. The main concern with this is the speed at which you can now invoke (other build enhancements might be a requirement for this, speed, incremental builds, etc).
Workaround
All of the sam local command allow 'reloading' of the function code. This means for a given template, if you update the contents of a functions Code/CodeUri, SAM CLI will mount this updated content. So the current option for making interactions easier is to have two terminal windows open, one that builds and one that you local invoke with.

To me this only happens using Ruby once I've added a gem into the equation, with my functions having Gemfiles in their respective directories. Then I'm forced to build using --use-container parameter, which takes a lot of time; simply running sam build doesn't work because the app doesn't find the gems.
If I don't use gems at all, then I have live reloading; but once I need gems, everything only works by rebuilding inside a container. And since that takes about a minute, it makes SAM pretty much unusable for me. I can't build every time I make a small change, it just takes too long.

Is there any progress on this? Having to build every time for the most minor of code changes is not ideal.

I'd like to see a slightly different take on this proposal. Rather than having a continual build function through --watch option, only build functions that have changed since the last build. I often find myself having to rebuild functions that haven't been modified, or just making changes to the template file, making the feedback loop unnecessarily long.

To me this only happens using Ruby once I've added a gem into the equation, with my functions having Gemfiles in their respective directories. Then I'm forced to build using --use-container parameter, which takes a lot of time; simply running sam build doesn't work because the app doesn't find the gems.
If I don't use gems at all, then I have live reloading; but once I need gems, everything only works by rebuilding inside a container. And since that takes about a minute, it makes SAM pretty much unusable for me. I can't build every time I make a small change, it just takes too long.

Hi @alxx,
So what is your workaround for that? Or can you share your experience on that?
Thank you,

I don't like to compare but Chalice as this feature if I'm not mistaken ;)

Assuming this is hard to build the watch option since this has been open for the better part of a year. It seems an easier option would be to use a docker volume to share your code rather than requiring a build, this way you do not have to have an actual watch.

For a workaround, you're able to simply delete the .aws-sam folder at the root of your project and get back invoking your function.
ref: rm -rf .aws-sam/*at root.

Lacking of a watch mechanism is eating much of my time (and laptop battery). Would love to have this feature. Especially we are so full-hearted dedicate ourselves to serverless thus creating lots of APIs.

For a workaround, you're able to simply delete the .aws-sam folder at the root of your project and get back invoking your function.
ref: rm -rf .aws-sam/*at root.

That doesn't work for me. Running in python3.8 now and it doesn't pick up the packages in requirements.txt.

If you're using a Node runtime you may want to consider using Webpack to build bundles for each function instead of sam build.  Then you can use webpack -w to have it watch for changes which sam local picks up.
I followed this very excellent write-up: https://dev.to/elthrasher/managing-multiple-functions-with-aws-sam-and-webpack-1581
I found https://www.npmjs.com/package/aws-sam-webpack-plugin also but preferred the simplicity of the former setup.
The relevant config:
webpack.config.js
module.exports = {
	// Specify the entry point for our app
	entry: {
		functionA: path.join(__dirname, 'src/functionA.js'),
		functionB: path.join(__dirname, 'src/functionB.js'),
	},
	// Specify the output file containing our bundled code
	output: {
		libraryTarget: 'commonjs2',
		path: `${__dirname}/build`,
		filename: '[name].js',
	},
	mode: process.env.NODE_ENV === 'dev' ? 'development' : 'production',
	target: "node", // Let webpack know to generate a Node.js bundle
}

template.yaml
  PingFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: build/
      Handler: functionA.lambdaHandler
      Runtime: nodejs12.x

npx webpack -w
sam local start-api

I just used nodemon for this. Going to put this here in case it would make anyone else's life easier:
npm i -g nodemon
nodemon --exec sam build

Run this in the root folder in one terminal and run sam local start-api in another. nodemon should build the application automatically on any code changes.

Hey guys,
So, we created a small npm package based in nodemon (samwatch):
https://www.npmjs.com/package/samwatch
https://github.com/mxitgo/samwatch
The way it works is, it copies your js/json files as you save them from the source folder to the corresponding .aws-sam/build folder (as long as the names are the same for your lambda and the code uri in template.yaml).
That is useful to see your changes reflected on the fly if you are running sam local start-api, so you don't have to run sam build after every change.
On the other hand, if the corresponding file copy is not within the .aws-sam/build folder already, the package will trigger a sam build (unless you use n parameter).
The package has helped us get a hot reload feeling for our local lambda function development with sam.
I hope anyone can find it useful.
Thanks!

My usage is also with ruby code so i am using the live reloading as follows currently without actually using sam build. Not sure though if this is recommend or bad practice so would like to get feedback on it.
Let say i have the following folder structure with 2 functions:
lambda_example/
|--hello
||--app.rb
||--Gemfile
|--hello_other
||--app.rb
||--Gemfile
|--template.yaml

instead of using sam build i just do: (i do this from the root directory lambda_example)
# To install new gems for hello (only need to run this when you update the Gemfile or when you don't have a Gemfile.lock yet)
bundle install --gemfile=hello_world/Gemfile

# Now the following installs the gems into the vendor bundle inside the function directory
# similar what sam build does actually if you would look in the .aws-sam folder
bundle install --gemfile=hello_world/Gemfile --deployment --path vendor/bundle

Same thing then for the other function
bundle install --gemfile=hello_other/Gemfile
bundle install --gemfile=hello_other/Gemfile --deployment --path vendor/bundle

Now if you then issue sam local start-api and you make changes to the code then the live reloading stuff should be working without actually needing to build each time. Ofcourse this only probably works if you don't need to build native extensions for gems but esentially you only need to call the bundle install commands above if you change gem dependencies which should not happen that often.
The samwatch thing is cool but does not work for ruby cause it only monitors js or json files it seems. So maybe add an extra option in your cli @eamarce to specify which files to watch?

Its such a painful process running sam build even for a small change such as a console.log(). Any good workaround? The solutions above (webpack and samwatch) force a folder structure which I am not willing to do.

Its such a painful process running sam build even for a small change such as a console.log(). Any good workaround? The solutions above (webpack and samwatch) force a folder structure which I am not willing to do.

@anubhavmalik only thing is to modify the code in the build folder.

@anubhavmalik only thing is to modify the code in the build folder.

such a pain... maybe instead of a "watch" option, which will still need to build on every change and slow down development we could mount the source folder in the container?

such a pain... maybe instead of a "watch" option, which will still need to build on every change and slow down development we could mount the source folder in the container?

In the case of lambda container images it looks like a sam build is always required as the build output is an image rather than code being pushed to the .aws-sam directory. I have a working docker compose setup that spins up two services; one serving the API with sam local start-lambda and the other that rebuilds the images with sam build on code changes using nodemon. This works, and will likely still work with lambdas being packaged as .zips, but it still feels like a heavyweight solution:
https://github.com/ppejovic/sam-docker-template

In the case of lambda container images it looks like a sam build is always required as the build output is an image rather than code being pushed to the .aws-sam directory. I have a working docker compose setup that spins up two services; one serving the API with sam local start-lambda and the other that rebuilds the images with sam build on code changes using nodemon. The feedback loop could be quicker but it works fairly well.

I've been actually doing this and I am curious if this will produce many local images as it builds again. Is it going to do that? Seems like that's what's happening to mine.

I remember using a previous version of the SAM cli and being able to just run the sam local start-api and so long as I didn't need to add a new endpoint to the template.yml file the code was reflected automatically, no need for sam build every single time. I even have a repository setup with a nodemon script set explicitly to watch only for changes in the template.yml file so that I wouldn't forget to restart it if I modified the template file.
I'm wondering why this behavior was changed? Now I'm honestly considering not using the SAM cli because this workflow is rather annoying.

Maybe a simple solution to that: make a symbolic-link (ln -s) from the source code to the build folder?
Something like:
sam build ...
ln -s src/* .aws-sam/build/FunctionName

@jhechtf That behavior still holds true the difference is when you use build, SAM CLI places the artifacts into another directory with an updated template. When running sam local start-api, it will read the "built" template. So you can get the same behavior through sam build in a different terminal or not using sam build at all and therefore the "source" template is always read.
As a note, we do prioritize off of reactions. So more reactions do help us in deciding priority for outstanding feature requests from the community.

@jfuss I've seen that mentioned before, about simply not using "sam build", but when I remove the .aws-sam directory and attempt to run sam local start-api I receive errors stating that it can't find any node modules, e.g. I use the @aws-sdk/client-dynamodb and without running sam build I get the error of Error: Cannot find module '@aws-sdk/client-dynamodb'

@jhechtf Is the node modules within the CodeUri of the Function? If not, you need to install your dependencies into the CodeUri location. SAM CLI mounts the CodeUri into the container, which means all the code needs to be under that directory. This is what sam build does for you, it just does not mutate the source and instead places everything under .aws-sam/

@jfuss the template that I am using is the nodejs14.x generated by the sam cli, which does not include any CodeUri properties. I'll try to add that in, but considering the code gets generated in the <project root>/src/*  and the node_modules are at <project root> I'm not entirely sure that's going to work out for me.

@jhechtf Happy to help but let's spin this off into a different issue. This will distract from the original intent of this issue/request.

Check it.

template.yaml 예시

사용하는 라이브러리를 로컬경로의 Layer로 설정

CommonLayer:
    Type: AWS::Serverless::LayerVersion
    Properties:
        LayerName: common-dependencies
        Description: Common dependencies
        ContentUri: layers/common/
        CompatibleRuntimes:
            - python3.8
        RetentionPolicy: Retain

HelloWorldFunction:
    Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
    Properties:
        CodeUri: functions/consult/
        Handler: app.lambda_handler
        Runtime: python3.8
        Layers:
          - !Ref CommonLayer

로컬경로에 requirements.txt에 명시된 라이브러리 설치

경로 예시: layers/common/python 아래에 설치 (최상위 폴더이름은 "python" 필수)

$ cd layers/commons/
$ pip install -r ../상대경로/requirements.txt -t ./python

로컬 실행 시 템플릿 파일 직접 명시 (프로젝트 내 build 폴더는 없어야 함)

$ sam local start-api -t template.yaml --skip-pull-image

Summary
I am 100% NOT a fan of this watch idea. Editing code and hitting refresh would still take a long time. Perhaps the solution to the problem is rethinking what is needed. Perhaps... can we have a start-api option that does a simple API Gateway => Lambda simulation similar to Zip which would do the following so we can have code reloading for containers?

Does not need sam build to run.
Assumes the host has everything needed like platform, packages, system deps, etc.
Avoids using a "runtime" container with docker mounts. Because above.

I do not know if this is a fair ask of the SAM team. Maybe I need the work y'all have done inside of SAM to be a smaller components to assemble. Maybe we have this already and I have not found a good way to do just that... for my needs?
Context & Hack Attempts
For both Ruby, Node, etc, we use the SAM build image as a Docker in Docker development image. A good example of this in practice for Ruby/Rails is here. https://lamby.custominktech.com/docs/quick_start. When doing this, we can assume the local "host" (docker dev image) has everything we need, system dependencies, dev code which can be edited, etc. All we need is a simple API Gateway => Lambda emulator.
For Rails, we completely side step this issue by using the built-in ./bin/rails server and the need for API Gateway => Lambda handler integration because that is tested in abstract at another layer. See here: https://github.com/customink/lamby
Today I was coming back to an old Node zip function I wrote a few years ago and wanted to move it to our latest patterns which includes SAM dev containers, production package type image, etc and was super frustrated that SAM does not have a  way to support start-api with container images. I tried a few hacks. First, I tried a little bit of @mims92 recommendation by leaning into the need to do sam build (which technically I do not need because I an assume the host has everything) to trick start-api into thinking it had what it needed. Along with forcing the host because Docker in Docker with compose, etc. Again, see Lamby Rails cookiecutter. Still, I could not edit my code and hit refresh in the browser.
if [ ! -d "./.aws-sam" ]; then
  sam build \
    --parameter-overrides "StageEnv=development"
  mkdir  ./.aws-sam/build/Lambda
  pushd ./.aws-sam/build/Lambda
  ln -s ../../../src src
  popd
fi

sam local start-api \
  --host '<IP_ADDRESS>' \
  --port 3031 \
  --container-host 'host.docker.internal'

I then had the crazy idea maybe I could use the RIE (https://docs.aws.amazon.com/lambda/latest/dg/images-test.html) built into my image. So I tried adding this to my Dockerfile-build (dev & build image) along with a change to my local ./bin/server script. But I quickly learned this is too LOW LEVEL and not going to work for me. I need the API Gateway integration.
RUN curl -Lo /usr/local/bin/aws-lambda-rie https://github.com/aws/aws-lambda-runtime-interface-emulator/releases/latest/download/aws-lambda-rie \
    && chmod +x /usr/local/bin/aws-lambda-rie

docker-compose run \
  --entrypoint "/usr/local/bin/aws-lambda-rie --log-level debug" \
  -p 9001:3031 \
  node-container-test

For this hack I tried to see if I could have a development only version of my (template-dev.yaml) to use just with start-api to see if I could get some simple Zip behavior in my dev container. The idea being this would only be used for the local development server, not used during package & deploy. The start-api command would pass this template.
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
  DevLambda:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: .
      Events:
        HttpApiProxy:
          Type: HttpApi
          Properties:
            ApiId: !Ref DevHttpApi
      Runtime: nodejs14.x
      Handler: src/index.handler
      MemorySize: 512
      Timeout: 30
  DevHttpApi:
    Type: AWS::Serverless::HttpApi
    Properties:
      StageName: development

sam local start-api \
  --template 'template-dev.yaml' \
  --container-host 'host.docker.internal' \
  --docker-volume-basedir $DIDPWD \
  --host '<IP_ADDRESS>' \
  --port 3031

Where $DIDPWD would be $PWD passed down from the host. This used to be needed during a really old SAM version but I can NOT confirm it works (it should) because...
💥💣💥 SAM HAS ANOTHER BUG THAT PREVENTS THIS. SEE HERE: https://github.com/aws/aws-sam-cli/issues/2837
But even if that did work, it would not be a good workaround for a container function that might have done a system dependency via yum install on both the production and development Docker files.
Wrapping Up
I GET IT! I get why this is hard. The sam build historic ways of working make it difficult to solve everything. But I do think we have been pained into a corner and exposing an interface like a watcher here is adding to the list. It would be prone to being slow. Maybe there is a better way forward?
Is there a way to use SAM's API Gateway => Lambda integration in some way to make local development work?

Using @sbhvt's comment here https://github.com/aws/aws-sam-cli/issues/921#issuecomment-907859353 I was able to change my last hack above the 💥💣💥 in the following ways. First in my docker-compose.yml file. Then in my script used to start the server in the SAM dev container.
volumes:
  - ${PWD}:${PWD}
working_dir: $PWD

sam local start-api \
  --template 'template-dev.yaml' \
  --container-host 'host.docker.internal' \
  --host '<IP_ADDRESS>' \
  --port 3031

But this only works on Mac! I can not get it to work with GitHub Codespaces yet. I tried following this advice (https://dev.to/natterstefan/docker-tip-how-to-get-host-s-ip-address-inside-a-docker-container-5anh) and used <IP_ADDRESS> but that did not help.
So I'm blocked even on the hacks of hacks :(

GOT IT TO WORK ON CODESPACES. Just needed to clear out Docker images and start from scratch. I'll be using COMPOSE_FILE to add another compose layer for Codespaces that adds this.
extra_hosts:
  - host.docker.internal:<IP_ADDRESS>

Which allows the bin/server wrapper to do the following, the key here is was adding --container-host-interface '<IP_ADDRESS>' which is needed for Linux and does not hurt the Mac side of things. So final bin/server is something like this.
sam local start-api \
  --template 'template-dev.yaml' \
  --container-host 'host.docker.internal' \
  --container-host-interface '<IP_ADDRESS>' \
  --host '<IP_ADDRESS>' \
  --port 3031

AGAIN! This is hacks on top of hacks. IMO we do not need a watch command but better tooling to expose a simple API Gateway => Lambda server option that works with both Docker in Docker and Lambda Containers where it can be assumed that the Docker dev env has everything setup (built) where sam build is not needed.

Hey guys,
So, we created a small npm package based in nodemon (samwatch):
https://www.npmjs.com/package/samwatch
https://github.com/mxitgo/samwatch
The way it works is, it copies your js/json files as you save them from the source folder to the corresponding .aws-sam/build folder (as long as the names are the same for your lambda and the code uri in template.yaml).
That is useful to see your changes reflected on the fly if you are running sam local start-api, so you don't have to run sam build after every change.
On the other hand, if the corresponding file copy is not within the .aws-sam/build folder already, the package will trigger a sam build (unless you use n parameter).
The package has helped us get a hot reload feeling for our local lambda function development with sam.
I hope anyone can find it useful.
Thanks!

Hi!
Works with PackageType: Image?
Thks!

Workaround
All of the sam local command allow 'reloading' of the function code. This means for a given template, if you update the contents of a functions Code/CodeUri, SAM CLI will mount this updated content. So the current option for making interactions easier is to have two terminal windows open, one that builds and one that you local invoke with.

Is there a workaround for projects created with aws-cdk. Do I need to run cdk watch or npm run build (ts => js) in the second terminal?

Just having a sensible way to have a mounted volume inside the docker container would be awesome for my use case

AWS, What does it take to solve that significant UX problem?
Thanks to everyone who contributed with their solution; I'll re-iterate on what worked for me for Python project
# Running Locally

1. Start lambda build loop (will watch for changes and rebuild)

nodemon --exec "sam build --template template.yaml --use-container" -e py
* install nodemon globally if you don't have it already `npm install -g nodemon`

2. Start local api server on port 5000

sam local start-api -p 5000

AWS, What does it take to solve that significant UX problem?
Thanks to everyone who contributed with their solution; I'll re-iterate on what worked for me for Python project
# Running Locally

1. Start lambda build loop (will watch for changes and rebuild)

nodemon --exec "sam build --template template.yaml --use-container" -e py
* install nodemon globally if you don't have it already `npm install -g nodemon`

2. Start local api server on port 5000

sam local start-api -p 5000

This appears to be a JavaScript example
But Python would need to be handled also

AWS, What does it take to solve that significant UX problem?
Thanks to everyone who contributed with their solution; I'll re-iterate on what worked for me for Python project
# Running Locally

1. Start lambda build loop (will watch for changes and rebuild)

nodemon --exec "sam build --template template.yaml --use-container" -e py
* install nodemon globally if you don't have it already `npm install -g nodemon`

2. Start local api server on port 5000

sam local start-api -p 5000

This appears to be a JavaScript example
But Python would need to be handled also

Nope, this works in python, it watches the files with the .py extension - -e py
After playing with it for some time, I've added a delay to avoid re-building too quickly.
nodemon --exec "sam build --template template.yaml --use-container" -e py --delay 2.5

almost 4 years of this issue. Any news?

Here's the command I ended up with for now:
sam build && concurrently "nodemon --on-change-only --ext ts --exec sam build" "sam local start-api"

Requires npm i -g nodemon concurrently
It runs nodemon and sam local start-api in the background simultaneously. The trick is to have the build available before creating docker image, so it's done beforehand and nodemon does it only after changes (using --on-change-only flag).

+1 for this feature

I've only been experiencing this same issue for a bit so im only vaguely familiar but id like to a propose another solution that the sam team at AWS may be able to implement more easily than creating hot reload for the .aws-sam built folder:
Context:
Im using node but you can do this with others like python in a similar way.
If i have a lambda layer that manages my dependencies and some lambda functions that utilize the dependencies in that layer, I can set my folders up in the following way that allows me to use my functions successfully with hot reload and without having to run sam build.
Article: https://aws.amazon.com/blogs/compute/working-with-aws-lambda-and-lambda-layers-in-aws-sam/
$ tree sam-app
sam-app
├── README.md
├── dependencies
│   └── nodejs
│       └── package.json
├── hello-world
│   ├── app.js
│   └── tests
│       └── unit
└── template.yaml
When using the nodejs folder as described in the article and the docs, as long as you have generated the node modules manually using npm i, it should work just fine to run your code locally and have hot reloading without using sam build.
The issue with this method is that when you need to move beyond local environments to testing or production, most pipelines will utilize sam build. When sam build is run, it will generate a nodejs folder inside your nodejs folder and not generate the dependencies correctly as it would if you didnt have the nodejs folder created (discussed in previous comments).
So what im saying is maybe the sam developers would have an easier time fixing the current issue of duplicate nodejs folders which causes the dependency generation to not work, rather than trying to fix the issue of hot reload not working for the 'sam build' built .aws-sam folder.


Migrate to netstandard 2.0 and nodatime 3 + cleanup

This version has been cleaned and upgraded to netstandard 2.0
Changes compared to official package:

Target netstandard 2.0 / netfx472
Use netcoreapp 3.1 for tests
Upgrade noda time package to latest version (3.0)
Removed unusued references
Removed duplicate FrameworkUnitTests

If anyone needs this package now, please use my forked nuget: https://www.nuget.org/packages/Fusonic.Ical.Net/5.0.3

Just making notes to myself:

Figure out what the new ical version number should be, and change it
Fix PackageId in the csproj
Figure out why I had Framework-specific unit tests -- there was a reason


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_3861af23-b04e-4b91-9ca1-9a0bb5c8231e/pull/1 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-target_3861af23-b04e-4b91-9ca1-9a0bb5c8231e.git

Docs Build status updates of commit e971763:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch Release_Archive_main_2022-06-06-05-10-13 has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Can mesos-kafka support versions newer than <IP_ADDRESS>?

Hi There,
With great anticipation, I'm interested in deploying Kafka onto our Mesos cluster. I noticed that currently the build.gradle is set to use Kafka <IP_ADDRESS>.
I'm interested in taking advantage of KafkaConnect, provided in Kafka 0.9. Could this be solved by simply cloning the project and setting the version 0.9?
Thanks in advance for your consideration!
-Jared

Hey, kafka-mesos supports kafka 0.9.
Support was added since <IP_ADDRESS> - https://github.com/mesos/kafka/releases
You do not need to modify build.gradle.

Fantastic! Thanks so much for your help!


Exception throw when using test EF context

Hi, when I create unit tests using official MS quide: https://msdn.microsoft.com/en-us/library/dn314431(v=vs.113).aspx , I am getting following exception on batch update:
Oops! A general error has occurred. Please report the issue including the stack trace to our support team<EMAIL_ADDRESS>at Z.EntityFramework.Plus.InternalExtensions.GetObjectQuery[T](IQueryable1 query)    at Z.EntityFramework.Plus.InternalExtensions.GetDbContext[T](IQueryable1 query)
at Z.EntityFramework.Plus.BatchUpdate.Execute[T](IQueryable1 query, Expression1 updateFactory)
at Z.EntityFramework.Plus.BatchUpdateExtensions.Update[T](IQueryable1 query, Expression1 updateFactory, Action1 batchUpdateBuilder)    at Z.EntityFramework.Plus.BatchUpdateExtensions.Update[T](IQueryable1 query, Expression`1 updateFactory)

Hello @petriceko ,
Could you provide me a project example (info@zzzprojects.com), this kind of issue normally happen when the original ObjectQuery is modified by something else. Such as mocking the DbContext.
It will be easier for me to provide a reason or a solution with a project that I will be able to try.
Best Regards,
Jonathan

Hello,
example solution is attached, please run open InitializeClassTests and run UpdateItemTest. Exception should be thrown in InitializeClass in method UpdateItem.
Regards
ExampleSolution.zip

Hello @petriceko ,
Sorry for the long delay, I have been very busy in the past two weeks.
Your example using an ObservableCollection under the DbSet
public class TestDbSet<TEntity> : DbSet<TEntity>, IQueryable, IEnumerable<TEntity>, IDbAsyncEnumerable<TEntity>
	where TEntity : class
{
	ObservableCollection<TEntity> _data;
	IQueryable _query;

	public TestDbSet()
	{
		_data = new ObservableCollection<TEntity>();
		_query = _data.AsQueryable();
	}

It doesn't even make database round-trip when performing some operation such as ToList since everything happens in the Memory
Our library works with DbSet that use a database, in your case, everything is done in Memory.
That's why you get this error about the ObjectQuery since there is no ObjectQuery in your scenario.
Please let me know if that explains correctly why that's not working in your case.
Best Regards,
Jonathan

Hello @HolyOne ,
The v1.7.7 has been released.
We could not make it this scenario work by default but we added an option BatchUpdateManager.IsInMemoryQuery = true
When enabled, we will no longer try to find the ObjectQuery which was caused the error.
Let me know if everything works as expected.
Best Regards,
Jonathan

Hi,
I have tested provided solution and simple test passes.
Thanks for update.
I suggest also update documentation.
Regards

Hi @JonathanMagnan, do you know if BatchUpdateManager.IsInMemoryQuery = true will permit using moq library for mocking in unit tests with the ef extensions/plus stuff? I had this issue a short while back and I could well use it at my new job, providing we can unit test our code ok. cheers!

Hello @kleky ,
I already added a task to my developer tomorrow to look about Moq. We make it compatible with some method recently on EF Classic: https://entityframework-classic.net/
So I guess we will be able to look if there is something we can do about Moq or not. You should get an answer tomorrow or Monday.

Hello @kleky ,
After some investigation, we will need to abandon to try to support Moq.
Unfortunately, our library work with ObjectQuery which Moq doesn't provide.
We will now always recommend using for unit testing : Effort
Hope that answer your question even if that's a negative answer.
Best Regards,
Jonathan

Thanks Jonathan. It's good to know where things stand with a viable workaround. much appreciated.


Ensure only one running instance on data volume

Hi,
currently you can start two containers on the same shared volume, which trashes the data, because the pid-file logic obviously doesn't work across containers and instances.
Both postgres instances come up with PID 1 with pid-namespace separation, and without they still might have the same PID, if run on different hosts.
Currently, I am solving it by wrapping docker-entrypoint.sh with something like
exec 9>${LOCKFILE} || exit 1
/usr/bin/flock -n 9
exec /docker-entrypoint.sh "$@"

I was wondering if you would be interested to see that kind of capability integrated in the image itself (obviously not the exact same way of implementing it).

I'm really surprised PostgreSQL itself doesn't already do this. :disappointed:
I think I'm really -1 on implementing anything specific to overcome this limitation though, especially given that upstream doesn't do anything special (beyond using a pid file) to prevent it.
Your workaround should serve as a good reference for folks in the future who are running into this issue though. :+1: :heart:


Jax dependency error, solution other than downgrade?

I know this issue has been raised in other issues (#2501 #2530), but downgrading jax causes other packages in my environment to throw errors, which seems like a rabbit hole to go down. Are there plans to fix this in a near-future release? Thanks!
For reference I am using scvi-tools 1.1.2, and am receiving the import error that others have reported:
"AttributeError: module 'jax.random' has no attribute 'KeyArray'"
See full traceback below.
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[1], line 11
      9 import gc
     10 import os
---> 11 import scvi
     12 import rapids_singlecell as rsc
     13 import matplotlib.pyplot as plt

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/scvi/__init__.py:11
      8 from ._settings import settings
     10 # this import needs to come after prior imports to prevent circular import
---> 11 from . import data, model, external, utils
     13 from importlib.metadata import version
     15 package_name = "scvi-tools"

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/scvi/data/__init__.py:25
      4 from ._datasets import (
      5     annotation_simulation,
      6     brainlarge_dataset,
   (...)
     22     synthetic_iid,
     23 )
     24 from ._manager import AnnDataManager, AnnDataManagerValidationCheck
---> 25 from ._preprocessing import (
     26     add_dna_sequence,
     27     organize_cite_seq_10x,
     28     organize_multiome_anndatas,
     29     poisson_gene_selection,
     30     reads_to_fragments,
     31 )
     32 from ._read import read_10x_atac, read_10x_multiome
     34 __all__ = [
     35     "AnnTorchDataset",
     36     "AnnDataManagerValidationCheck",
   (...)
     66     "cellxgene",
     67 ]

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/scvi/data/_preprocessing.py:12
      9 import torch
     10 from scipy.sparse import issparse
---> 12 from scvi.model._utils import parse_device_args
     13 from scvi.utils import dependencies, track
     14 from scvi.utils._docstrings import devices_dsp

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/scvi/model/__init__.py:2
      1 from . import utils
----> 2 from ._amortizedlda import AmortizedLDA
      3 from ._autozi import AUTOZI
      4 from ._condscvi import CondSCVI

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/scvi/model/_amortizedlda.py:15
     13 from scvi.data import AnnDataManager
     14 from scvi.data.fields import LayerField
---> 15 from scvi.module import AmortizedLDAPyroModule
     16 from scvi.utils import setup_anndata_dsp
     18 from .base import BaseModelClass, PyroSviTrainMixin

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/scvi/module/__init__.py:1
----> 1 from ._amortizedlda import AmortizedLDAPyroModule
      2 from ._autozivae import AutoZIVAE
      3 from ._classifier import Classifier

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/scvi/module/_amortizedlda.py:15
     13 from scvi._constants import REGISTRY_KEYS
     14 from scvi._types import Tunable
---> 15 from scvi.module.base import PyroBaseModuleClass, auto_move_data
     16 from scvi.nn import Encoder
     18 _AMORTIZED_LDA_PYRO_MODULE_NAME = "amortized_lda"

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/scvi/module/base/__init__.py:1
----> 1 from ._base_module import (
      2     BaseMinifiedModeModuleClass,
      3     BaseModuleClass,
      4     JaxBaseModuleClass,
      5     LossOutput,
      6     PyroBaseModuleClass,
      7     TrainStateWithState,
      8 )
      9 from ._decorators import auto_move_data, flax_configure
     11 __all__ = [
     12     "BaseModuleClass",
     13     "LossOutput",
   (...)
     19     "BaseMinifiedModeModuleClass",
     20 ]

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/scvi/module/base/_base_module.py:14
     12 import pyro
     13 import torch
---> 14 from flax.training import train_state
     15 from jax import random
     16 from jaxlib.xla_extension import Device

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/flax/training/train_state.py:17
      1 # Copyright 2024 The Flax Authors.
      2 #
      3 # Licensed under the Apache License, Version 2.0 (the "License");
   (...)
     12 # See the License for the specific language governing permissions and
     13 # limitations under the License.
     15 from typing import Any, Callable
---> 17 import optax
     19 from flax import core, struct
     20 from flax.linen.fp8_ops import OVERWRITE_WITH_GRADIENT

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/optax/__init__.py:17
      1 # Copyright 2019 DeepMind Technologies Limited. All Rights Reserved.
      2 #
      3 # Licensed under the Apache License, Version 2.0 (the "License");
   (...)
     13 # limitations under the License.
     14 # ==============================================================================
     15 """Optax: composable gradient processing and optimization, in JAX."""
---> 17 from optax import contrib
     18 from optax import losses
     19 from optax import monte_carlo

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/optax/contrib/__init__.py:17
      1 # Copyright 2021 DeepMind Technologies Limited. All Rights Reserved.
      2 #
      3 # Licensed under the Apache License, Version 2.0 (the "License");
   (...)
     13 # limitations under the License.
     14 # ==============================================================================
     15 """Contributed optimizers in Optax."""
---> 17 from optax.contrib.cocob import cocob
     18 from optax.contrib.cocob import COCOBState
     19 from optax.contrib.complex_valued import split_real_and_imaginary

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/optax/contrib/cocob.py:25
     23 import jax.numpy as jnp
     24 import jax.tree_util as jtu
---> 25 from optax._src import base
     28 class COCOBState(NamedTuple):
     29   """State for COntinuous COin Betting."""

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/optax/_src/base.py:19
     15 """Base interfaces and datatypes."""
     17 from typing import Any, Callable, NamedTuple, Optional, Protocol, runtime_checkable, Sequence, Union
---> 19 import chex
     20 import jax
     21 import jax.numpy as jnp

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/chex/__init__.py:17
      1 # Copyright 2020 DeepMind Technologies Limited. All Rights Reserved.
      2 #
      3 # Licensed under the Apache License, Version 2.0 (the "License");
   (...)
     13 # limitations under the License.
     14 # ==============================================================================
     15 """Chex: Testing made fun, in JAX!"""
---> 17 from chex._src.asserts import assert_axis_dimension
     18 from chex._src.asserts import assert_axis_dimension_comparator
     19 from chex._src.asserts import assert_axis_dimension_gt

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/chex/_src/asserts.py:26
     23 import unittest
     24 from unittest import mock
---> 26 from chex._src import asserts_internal as _ai
     27 from chex._src import pytypes
     28 import jax

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/chex/_src/asserts_internal.py:34
     31 from typing import Any, Sequence, Union, Callable, List, Optional, Set, Tuple, Type
     33 from absl import logging
---> 34 from chex._src import pytypes
     35 import jax
     36 from jax.experimental import checkify

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/chex/_src/pytypes.py:54
     52 Numeric = Union[Array, Scalar]
     53 Shape = jax.core.Shape
---> 54 PRNGKey = jax.random.KeyArray
     55 PyTreeDef = jax.tree_util.PyTreeDef
     56 Device = jax.Device

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/jax/_src/deprecations.py:54, in deprecation_getattr.<locals>.getattr(name)
     52   warnings.warn(message, DeprecationWarning, stacklevel=2)
     53   return fn
---> 54 raise AttributeError(f"module {module!r} has no attribute {name!r}")

AttributeError: module 'jax.random' has no attribute 'KeyArray'

Hi. Can you please verify the installed version? Since scvi-tools 1.1.0, there is no explicit dependency in scvi-tools on chex anymore. It seems that flax is causing this ImportError. Can you import from flax.training import train_state? If you can't import flax correctly, the easiest solution would be to set up a new conda environment. Fixing these dependency issues can unfortunately otherwise be a lengthy process.

Thank you for the quick response!
I have confirmed the version:
scvi-tools                1.1.2                    pypi_0    pypi

And running from flax.training import train_state does indeed throw the same error, see traceback below:
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[1], line 1
----> 1 from flax.training import train_state

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/flax/training/train_state.py:17
      1 # Copyright 2024 The Flax Authors.
      2 #
      3 # Licensed under the Apache License, Version 2.0 (the "License");
   (...)
     12 # See the License for the specific language governing permissions and
     13 # limitations under the License.
     15 from typing import Any, Callable
---> 17 import optax
     19 from flax import core, struct
     20 from flax.linen.fp8_ops import OVERWRITE_WITH_GRADIENT

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/optax/__init__.py:17
      1 # Copyright 2019 DeepMind Technologies Limited. All Rights Reserved.
      2 #
      3 # Licensed under the Apache License, Version 2.0 (the "License");
   (...)
     13 # limitations under the License.
     14 # ==============================================================================
     15 """Optax: composable gradient processing and optimization, in JAX."""
---> 17 from optax import contrib
     18 from optax import losses
     19 from optax import monte_carlo

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/optax/contrib/__init__.py:17
      1 # Copyright 2021 DeepMind Technologies Limited. All Rights Reserved.
      2 #
      3 # Licensed under the Apache License, Version 2.0 (the "License");
   (...)
     13 # limitations under the License.
     14 # ==============================================================================
     15 """Contributed optimizers in Optax."""
---> 17 from optax.contrib.cocob import cocob
     18 from optax.contrib.cocob import COCOBState
     19 from optax.contrib.complex_valued import split_real_and_imaginary

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/optax/contrib/cocob.py:25
     23 import jax.numpy as jnp
     24 import jax.tree_util as jtu
---> 25 from optax._src import base
     28 class COCOBState(NamedTuple):
     29   """State for COntinuous COin Betting."""

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/optax/_src/base.py:19
     15 """Base interfaces and datatypes."""
     17 from typing import Any, Callable, NamedTuple, Optional, Protocol, runtime_checkable, Sequence, Union
---> 19 import chex
     20 import jax
     21 import jax.numpy as jnp

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/chex/__init__.py:17
      1 # Copyright 2020 DeepMind Technologies Limited. All Rights Reserved.
      2 #
      3 # Licensed under the Apache License, Version 2.0 (the "License");
   (...)
     13 # limitations under the License.
     14 # ==============================================================================
     15 """Chex: Testing made fun, in JAX!"""
---> 17 from chex._src.asserts import assert_axis_dimension
     18 from chex._src.asserts import assert_axis_dimension_comparator
     19 from chex._src.asserts import assert_axis_dimension_gt

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/chex/_src/asserts.py:26
     23 import unittest
     24 from unittest import mock
---> 26 from chex._src import asserts_internal as _ai
     27 from chex._src import pytypes
     28 import jax

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/chex/_src/asserts_internal.py:34
     31 from typing import Any, Sequence, Union, Callable, List, Optional, Set, Tuple, Type
     33 from absl import logging
---> 34 from chex._src import pytypes
     35 import jax
     36 from jax.experimental import checkify

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/chex/_src/pytypes.py:54
     52 Numeric = Union[Array, Scalar]
     53 Shape = jax.core.Shape
---> 54 PRNGKey = jax.random.KeyArray
     55 PyTreeDef = jax.tree_util.PyTreeDef
     56 Device = jax.Device

File ~/miniconda3/envs/test_env/lib/python3.10/site-packages/jax/_src/deprecations.py:54, in deprecation_getattr.<locals>.getattr(name)
     52   warnings.warn(message, DeprecationWarning, stacklevel=2)
     53   return fn
---> 54 raise AttributeError(f"module {module!r} has no attribute {name!r}")

AttributeError: module 'jax.random' has no attribute 'KeyArray'

Is flax a dependency of scvi-tools and if so is there a suggested version of flax to use?
Thanks!

Flax is used within scvi-tools. There isn't a specific requirement for the Flax version. However, there is a mismatch in your environment in the JAX and Flax version installed (Flax is older than JAX) and this is causing issues. If you install JAX from scratch in a new environment using pypi, the error shouldn't occur. You can try uninstalling Flax and JAX in the current environment and reinstall JAX (will install a correct version of Flax) and hope that it's fixed. My own experience is that it's easier to set up a new environment.

Thanks, I will give that a try!

Looking into the versions, this is what I have - both flax and jax seem to be the latest versions shown on their respective github pages, so I'm not sure that is the issue here.
flax                      0.8.2
jax                       0.4.26
jaxlib                    0.4.26
chex                      0.1.7
optax                     0.2.1

I'm sorry and you need to also install Flax. Can you please check in a new environment to install JAX and Flax and see that it works. It's very difficult to fix a conda environment with wrong dependencies. We can support that creating a new conda environment and following the installation works: https://docs.scvi-tools.org/en/stable/installation.html.


Error when publishing API when endpoint algorithm is selected as other

Description:
When configuring load balanced endpoint type with algorithm as other(not round robin), the provided algorithm class does not get saved. Instead the value "Other" always gets saved. This leads to an error when publishing the API.
Suggested Labels:

Suggested Assignees:

Affected Product Version:
APIM 2.1.0
OS, DB, other environment details and versions:
Steps to reproduce:
Related Issues:

Fixed with WUM.


Cleanup the project and added dotfiles

Description
This project needed to be brought into the modern rust era, to complement both the updates in the Rust ecosystem and my understanding of the same.
Type of change
Please delete options that are not relevant.

[X] This change requires a documentation update

Checklist

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[X] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes
[X] Any dependent changes have been merged and published in downstream modules

Signed-off-by: Ali Sajid Imami<EMAIL_ADDRESS>

:tada: This PR is included in version 1.0.0-next.1 :tada:
The release is available on:

GitHub release
v1.0.0-next.1

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

GitHub release
v1.0.0

Your semantic-release bot :package::rocket:


add ACK frames to crypto packets

Codecov Report

Merging #1561 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1561      +/-   ##
==========================================
+ Coverage    88.5%   88.51%   +0.01%
==========================================
  Files         126      126
  Lines        9175     9179       +4
==========================================
+ Hits         8120     8124       +4
  Misses        735      735
  Partials      320      320

Impacted Files
Coverage Δ

packet_packer.go
89.29% <100%> (+0.16%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7fe93a7...e470d71. Read the comment docs.


Changes needs to microsoft.extensions.apidescription.client targets and props files to work in Visual Studio

Describe the bug

Add AvailableItemName Items for OpenApiReference and OpenApiReferenceProject. Without these CPS doesn’t allow me to add items with this type. I manually modified the Microsoft.Extensions.ApiDescription.Client.props file with:

 <!--
    Well-known metadata of the code generator item groups.
  -->
  <ItemGroup>
    <AvailableItemName Include="OpenApiReference" />
    <AvailableItemName Include="OpenApiProjectReference" />
  </ItemGroup>

We really need xaml rules defined for these item types. This provides a mechamism to be notified when a property on one of these items changes,  and provides F4 (property grid) support for defined properties. CPS auto-generates properties from the rules files and makes them available in the property gird – this  allows the customer to change values we don’t specifically have UI for. I created a placeholder file to test it out and wired it in by add a “tools” target file (see attached files, renamed with .txt). I imported the “tools” targets from the *.client.targets as follows:

  <!-- OpenApiProjectReference support. -->

  <Import Project ="$(MSBuildThisFileDirectory)Microsoft.Extensions.ApiDescription.Client.Tools.targets" Condition="Exists('$(MSBuildThisFileDirectory)Microsoft.Extensions.ApiDescription.Client.Tools.targets')" />
  <ItemGroup>
    <!--

Microsoft.Extensions.ApiDescription.Client.Tools.targets.txt
OpenApiItemsSchema.xaml.txt

@BillHiebert is there a typo in your .targets change? Looks like it should be Include="$(MSBuildThisFileDirectory)OpenApiItemsSchema.xaml" rather than importing itself. The attached .targets.txt file looks closer though the condition isn't necessary if I'm understanding correctly. That is, we should ship the .xaml file in the Microsoft.Extensions.ApiDescription.Client package, thereby ensuring it exists. Or, should we look for the .xaml file somewhere else?

@dougbu - you can certainly do that. I created a separate tools target which imports the xaml, and that line imports the tools target. This keeps tooling related functionality in a separate file but certainly not necessary or required.

@dougbu please prepare the fix, and we'll try to take this through QB approval process.

2ea746f37d71


Use the "/genconfig option" instead of "use the ScanState Syntax option"

Why
The part that said, "use the ScanState Syntax option" didn't make sense. In the next part, it seemed more helpful to link directly to the relevant section in the linked article than linking to the top of the article.
Changes
The part that said, "use the ScanState Syntax option" didn't make sense, so--as you can probably see in the diff--I replaced that part with "use the /genconfig option" to make sense.
I also changed the link that's in the next part/next step to link directly to the "Migration rule options" section of the "ScanState syntax" article instead of the top of that article because that seems more helpful than linking to the top of the article. However, if it's Microsoft's style to link to the top of an article instead of directly to a relevant section, feel free to revert that change in order to be consistent with your prescribed style.

@microsoft-github-policy-service agree
From: microsoft-github-policy-service[bot] @.>
Sent: Wednesday, August 9, 2023 2:23 PM
To: MicrosoftDocs/windows-itpro-docs @.>
Cc: Costello, Brian (MNIT) @.>; Mention @.>
Subject: Re: [MicrosoftDocs/windows-itpro-docs] Use the "/genconfig option" instead of "use the ScanState Syntax option" (PR #11626)
This message may be from an external email source.
Do not select links or open attachments unless verified. Report all suspicious emails to Minnesota IT Services Security Operations Center.

@Urbs3whttps://github.com/Urbs3w please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]
Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term "You" includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"
Contributor License Agreement
Contribution License Agreement
This Contribution License Agreement ("Agreement") is agreed to by the party signing below ("You"),
and conveys certain license rights to Microsoft Corporation and its affiliates ("Microsoft") for Your
contributions to Microsoft open source projects. This Agreement is effective as of the latest signature
date below.

Definitions.
"Code" means the computer software code, whether in human-readable or machine-executable form,
that is delivered by You to Microsoft under this Agreement.
"Project" means any of the projects owned or managed by Microsoft and offered under a license
approved by the Open Source Initiative (www.opensource.orghttp://www.opensource.org/).
"Submit" is the act of uploading, submitting, transmitting, or distributing code or other content to any
Project, including but not limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of
discussing and improving that Project, but excluding communication that is conspicuously marked or
otherwise designated in writing by You as "Not a Submission."
"Submission" means the Code and any other copyrightable material Submitted by You, including any
associated comments and documentation.
Your Submission. You must agree to the terms of this Agreement before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now or in the future (except as
described in Section 4 below), Submit to any Project.
Originality of Work. You represent that each of Your Submissions is entirely Your original work.
Should You wish to Submit materials that are not Your original work, You may Submit them separately
to the Project if You (a) retain all copyright and license information that was in the materials as You
received them, (b) in the description accompanying Your Submission, include the phrase "Submission
containing materials of a third party:" followed by the names of the third party and any licenses or other
restrictions of which You are aware, and (c) follow any other instructions in the Project's written
guidelines concerning Submissions.
Your Employer. References to "employer" in this Agreement include Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your employer has intellectual
property rights in Your Submission by contract or applicable law, You must secure permission from Your
employer to make the Submission before signing this Agreement. In that case, the term "You" in this
Agreement will refer to You and the employer collectively. If You change employers in the future and
desire to Submit additional Submissions for the new employer, then You agree to sign a new Agreement
and secure permission from the new employer before Submitting those Submissions.
Licenses.

Copyright License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license in the
Submission to reproduce, prepare derivative works of, publicly display, publicly perform, and distribute
the Submission and such derivative works, and to sublicense any or all of the foregoing rights to third
parties.
Patent License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license under
Your patent claims that are necessarily infringed by the Submission or the combination of the
Submission with the Project to which it was Submitted to make, have made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the Project.
Other Rights Reserved. Each party reserves all rights not expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.

Representations and Warranties. You represent that You are legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your original work (except as You may
have disclosed under Section 3). You represent that You have secured permission from Your employer to
make the Submission in cases where Your Submission is made in the course of Your work for Your
employer or Your employer has intellectual property rights in Your Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You represent and warrant that You
have the necessary authority to bind the listed employer to the obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6, THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
Notice to Microsoft. You agree to notify Microsoft in writing of any facts or circumstances of which
You later become aware that would make Your representations in this Agreement inaccurate in any
respect.
Information about Submissions. You agree that contributions to Projects and information about
contributions may be maintained indefinitely and disclosed publicly, including Your name and other
information that You submit with Your Submission.
Governing Law/Jurisdiction. This Agreement is governed by the laws of the State of Washington, and
the parties consent to exclusive jurisdiction and venue in the federal courts sitting in King County,
Washington, unless no federal subject matter jurisdiction exists, in which case the parties consent to
exclusive jurisdiction and venue in the Superior Court of King County, Washington. The parties waive all
defenses of lack of personal jurisdiction and forum non-conveniens.
Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and
supersedes any and all prior agreements, understandings or communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may be assigned by Microsoft.

Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/windows-itpro-docs/pull/11626#issuecomment-1672015793, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIFIW52TSLLMFF2XJZL6KNDXUPPR3ANCNFSM6AAAAAA2VYSO6E.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Thank you for the contribution @Urbs3w. I made some changes to your contributions to further clarify meaning and to also account for style and grammar. The changes should go live in the next day or two.


codacy improvements

[Current coverage][cc-pull] is 59.89%

Merging [#40][cc-pull] into [master][cc-base-branch] will not change coverage

@@             master        #40   diff @@
==========================================
  Files            31         31
  Lines           743        743
  Methods           0          0
  Messages          0          0
  Branches         99         99
==========================================
  Hits            445        445
  Misses          298        298
  Partials          0          0

Powered by Codecov. Last updated by [c2dc3c0...a281c70][cc-compare]
[cc-base-branch]: https://codecov.io/gh/web-innovate/bootstraped-multi-test-results-report/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/web-innovate/bootstraped-multi-test-results-report/compare/c2dc3c0fd838eab1bf6073dea85c788d7c8c2c02...a281c7036523273b55db32299e6db507fa526984
[cc-pull]: https://codecov.io/gh/web-innovate/bootstraped-multi-test-results-report/pull/40?src=pr

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 8
- Added 4

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 8

See the complete overview on Codacy


ANNUAL interval gives exception for recurring plan, EVERY_30_DAYS works

For bug reporting only! If you're posting a feature request or discussion, please ignore.
Expected Behavior
Plan with ANNUAL interval working without any exception like EVERY_30_DAYS interval
Current Behavior
ANNUAL interval gives exception for recurring plan, plan with interval EVERY_30_DAYS is working without any exceptions
Failure Information

Context
Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

Package Version: v13.1
Laravel Version: v8.0
PHP Version: vX.Y.Z
Using a toolset (Docker, Laradock, Vagrant, etc.): aws server

Failure Logs
Please include any relevant log snippets or files here.

For bug reporting only! If you're posting a feature request or discussion, please ignore.
Expected Behavior
Plan with ANNUAL interval working without any exception like EVERY_30_DAYS interval
Current Behavior
ANNUAL interval gives exception for recurring plan, plan with interval EVERY_30_DAYS is working without any exceptions
Failure Information

Context
Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

Package Version: v13.1
Laravel Version: v8.0
PHP Version: vX.Y.Z
Using a toolset (Docker, Laradock, Vagrant, etc.): aws server

Failure Logs
Please include any relevant log snippets or files here.

in config/shopify-app.php
change api_version to 2020-10

Same issue

Same issue

As I wrote above.
The problem is in the settings of your application, not the package.
in config/shopify-app.php
change api_version to 2020-10
You may also need to change the version of the api you are using in the shopify application.

Same issue

As I wrote above.
The problem is in the settings of your application, not the package.
in config/shopify-app.php
change api_version to 2020-10
You may also need to change the version of the api you are using in the shopify application.

@Enmaboya thanks for the replay, i haven't tried your solution yet, the app live with monthly plan but i'll work on it soon for annual plan and other updations.
@khiconit did you fix the issue by changing api_version please comment your result

Thanks for responding with your fix, in your case yes, its the API version :) reopen if still an issue.


Add readthedocs on the repository

Either Sphinx or Mkdocs for generation documentation from the repo contents automatically and publishing at something like riscv-cfu.readthedocs.io
With Sphinx we can use symbolator and my new sphinxcontrib-verilog-diagrams extension too.

https://docs.readthedocs.io/en/stable/intro/getting-started-with-sphinx.html
https://sphinxcontrib-verilog-diagrams.readthedocs.io/en/latest/

Pretty good example to steal from is at https://github.com/SymbiFlow/sphinxcontrib-verilog-diagrams

We have transitioned to asciidoc, wavedrom, etc.


Update domain for Celery docs

Description
Update domain for Celery docs accross the codebase. Reimplementation from #3644 without the extra noise.
Checklist:

[x] I've made sure that tests are updated accordingly (especially if adding or updating a template option)
[x] I've updated the documentation or confirm that my change doesn't require any updates

Rationale
Celery moved its domain from celeryproject.org to docs.celeryq.dev, all our links are broken atm

Thank you @browniebroke.