Remove env, bindings, etc. not specified in app manifest

What's the user value of this feature request?
As a user, when I perform cf push with a manifest, I'd like a way for the manifest to be the absolute truth for the application's configuration.
Who is the functionality for?
Humans, CI/CD systems, compliance and auditing folks, anyone wanting configuration as code stored in git, anyone and anything which performs a cf push with a manifest
How often will this functionality be used by the user?
Every cf push or apply-manifest
Who else is affected by the change?
Shouldn't cause a breaking change as long as it's behind a flag like --remove-undeclared or something to that effect.
Is your feature request related to a problem? Please describe.
I feel that since application manifests are declarative, they should be able to describe desired state, not just additive state.
Currently when performing a push or apply-manifest (or cf7 push, v3-zdt-push, etc.), options like env key/values, service bindings, metadata labels/annotations, etc., are additive & won't be removed from the app if they're removed from the manifest:

Apply changes specified in a manifest to the named apps and their underlying processes. These changes are additive and will not modify any unspecified properties or remove any existing environment variables, routes, or services.

This makes it harder to reason about the actual service bindings, labels, etc. that an app is using, since the only way to remove no-longer-desired config is to manually imperatively go remove it with cf unbind-service..., etc.
Describe the solution you'd like
cf push -f manifest.yml --remove-unknown

Basically, if a service binding, env value, metadata value, etc. doesn't exist in the manifest.yml during push, but does exist on the current revision/deployment of the app already deployed, then they should be removed from the app. The manifest should be able to be the absolute source of truth.
Describe alternatives you've considered
Pushing an entirely new instance of the app and using blue/green deployments is an option (e.g., what the autopilot plugin would do) because it creates an entirely new app ID, and thus all new service bindings, labels, env vars, etc... But it also blows away revision history, any metrics history, etc. It entirely defeats the purpose of being able to do revisions and zdt-push and such.
Thoughts?

Or better yet, kubectl apply uses --prune, so that would be a good choice for the name of the flag
cf push -f manifest.yml --prune

cc @ssisil @selzoc

Not to nag, but some comment updates:

Not sure if this is the domain of the CLI or CAPI?

I do hope this story around service bindings (+ env vars, labels, etc.) are taken into consideration as part of the ongoing discussions regarding v3 APIs && deployments, revisions, rollbacks, etc. I feel that smarter people than I would benefit from considering if metadata or env data or services bindings should be associated with a revision, and whether they should be restored during rollbacks.

I can foresee statements such as "a continuous delivery tool (spinnaker) can do this using the APIs, why not use that?" or "just use a bash script?"-- but in my view it's better to evaluate this use-case as part of the core API as a first-class citizen rather than putting the burden on other systems. If the workflow is encapsulated as part of the core API, it makes it easier to reason how other systems (Concourse tasks, Jenkins, raw CLI usage, etc.) could integrate/orchestrate it.

Similar to how BOSH deployment manifests are treated as the source of truth, it makes sense that the manifest.yml for an application should represent... well, a declarative manifest(.yml 😉) which doesn't require imperative steps (or external systems like Spinnaker) to achieve the expressed state.

Thanks for your time & consideration

Hi @aegershman

this is the domain of CAPI as the manifest is now parsed server-side
we are considering how service bindings will work with revisions, but have no concrete plans as of yet
unfortunately the manifest implementation as-is is not declarative so that it works in a backwards-compatible manner with older manifests and clients

This is good feedback though, and we're trying to evolve our thinking in these areas

Thanks for the response @selzoc
I understand the need for backwards compatibility. I definitely don't pretend to know the complexities and nuance of the architecture; perhaps this could be opt-in with a --prune / request param? I guess what I'm saying is I hope backwards compatibility in usage wouldn't be the only reason for manifests being additive-only. But honestly as long as the use-case is aware of & being considered during the v3 discussions, I'm a happy camper.
My fear is these awesome new features like rollingUpdate are implemented & solve many problems, but inadvertently open up a new class of issues which aren't manifested (hah) until after core design is solidified. Then it puts the onus on users to retro-fill the problem with other tools ("why don't you just use Spinnaker? or this wonky bash script?"). Apologies, don't mean to ramble, just sharing.
Anyhow--
Would you like me to move this issue to a different repository? Or leave it here? (Or leave it here and close it?)
Thanks again 👍

I hope this will still be considered one day. Don't get me wrong, revisions are great for rollingDeployments, and useful for the case of keeping apps up and available to roll back on in the event of a failed rolling update (via cancel deployment).
It's just that pruning envvars, service bindings, routes, etc. are all more common concerns than needing to do revision rollbacks.
Don't mean to belabor this or whine, I'm just posting an update on this. In my team's experience from using v3 apis and cf7-cli in prod, having the manifest be the true source of truth for config reconciliation would be, as they say, "pretty neat"
👍 thanks for folks' time

@pivotal-mikegresham could you as CAPI PM please kindly have a look at this issue and let us know what we should do? Can you take this request into our team or should we create a new issue in https://github.com/cloudfoundry/capi-release? Thx
Btw, I could not find Laura Clampett in Github as she seems to be your co-PM according to your Slack channel description.

Any updates on this?
We stumbled upon this again as not only env vars are problematic but also the buildpack.
Pushing the same manifest but having different app histories will result in different outcome.
Example:

You push a manifest with a buildpack specified, it will use the buildpack
Remove the buildpack from the manifest and push again, it will still use the formerly specified buildpack and not choose the buildpack from the predefined list of available buildpacks (cf buildpacks).
Whereas if you would just push the same manifest without the buildpack right in the beginning (or after deleting the app), it would choose the buildpack from the available buildpacks.

For all people I know this is a real issue as the expectation is that the manifest is a description of the desired state which is not fulfilled. I will gently ping people in the capi slack channel.

I'm going to transfer this issue to cloud controller, since it is now responsible for applying manifests.
We definitely recognize that it would be much easier to understand if manifests were applied declaratively. We are also in the early stages of designing a v2 schema for manifests, which might be a good opportunity to introduce declarative manifests.


Transfer parallelization

This PR moves both the actual S3 upload and the download for verification purposes to an async task model.
The new client_max_parallel_transfers option limits both the size of the httpx connection pool and the amount of inflight requests for file part uploads and downloads.
10 concurrent file transfer operations seems like a sweet spot after some preliminary testing, but there might be a better default.
Changes for Upload:
Part uploads are now tasks that get the self.encryptor.process_file(file=file) generator passed into to lazily fetch and encrypt file parts in order. The actual httpx requests, however, have no guaranteed order and thus an in sequence number is displayed in the CLI. Error messages will contain the actual part number instead.
Changes for Download:
File part downloads are also modelled as tasks now. Two priority queues are used to ensure in order processing of downloaded file parts while also limiting the amount of inflight requests. Due to the use of the second queue, RAM usage might be around twice what the upload needs in worst case scenarios - or even more if the download speed between inflight requests varies wildly. To simplify exception handling, encountered exceptions are passed into the queue and raised when trying to process the corresponding part instead.  There is no need for an explicit await or gather as this is implicitly achieved by _drain_queue.
Two open questions remain:

Does this need automated tests for parts of the functionality?
Should tasks be explicitly cancelled once an exception is encountered for one of them? My naive guess would be no, as excecution should be stopped shortly after for the single upload case, but it might still be necessary to free resources if using batch upload functionality. Though not sure about that one, as they are started as subprocesses

@dontseyit Feel free to tag anyone else who should check this code if the async task part is hard to understand.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

91 of 108 (84.26%)  changed or added relevant lines in 8 files are covered.
2 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.5%) to 76.394%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/ghga_datasteward_kit/models.py
0
1
0.0%

src/ghga_datasteward_kit/s3_upload/entrypoint.py
3
5
60.0%

src/ghga_datasteward_kit/s3_upload/file_encryption.py
4
6
66.67%

src/ghga_datasteward_kit/s3_upload/downloader.py
43
47
91.49%

src/ghga_datasteward_kit/s3_upload/uploader.py
31
35
88.57%

src/ghga_datasteward_kit/s3_upload/utils.py
6
10
60.0%

Files with Coverage Reduction
New Missed Lines
%

src/ghga_datasteward_kit/s3_upload/file_encryption.py
1
88.0%

src/ghga_datasteward_kit/s3_upload/downloader.py
1
93.15%

Totals

Change from base Build<PHONE_NUMBER>6:
0.5%

Covered Lines:
822

Relevant Lines:
1076

💛  - Coveralls


About section backend and frontend completed

@CodiumAI-Agent   /review

PR Analysis

🎯 Main theme: Implementing the About section in both frontend and backend
📝 PR summary: This PR introduces the About section in the application. It includes changes in the backend to create a new schema for user information and changes in the frontend to create a form for users to input their information. The form data is then sent to the backend and stored in the database.
📌 Type of PR: Enhancement
🧪 Relevant tests added: No
⏱ Estimated effort to review [1-5]: 3, because the PR includes changes in both frontend and backend, and it requires understanding of the overall application structure and flow.
🔒 Security concerns: No

PR Feedback
💡 General suggestions: The PR is well-structured and the changes are logically grouped. However, it would be beneficial to add error handling for the form submission in the frontend. Also, consider using environment variables for sensitive data like database connection strings.
 🤖 Code feedback:relevant fileServer/app.jssuggestion
Consider using environment variables for sensitive data like database connection strings. This is a best practice to avoid exposing sensitive data and allows for flexibility in different environments. [important]
relevant linemongoose.connect("mongodb://localhost:27017/janhavidb")relevant fileClient/Client/src/components/About.jsxsuggestion
It would be beneficial to add error handling for the form submission. This can provide a better user experience by giving feedback when something goes wrong. [important]
relevant lineconst handleSubmit = async e => {relevant fileServer/Schema.jssuggestion
Consider adding validation to the schema. This can help ensure that the data stored in the database is consistent and follows a certain format. [medium]
relevant lineconst Schema = mongoose.Schema({

 ✨ Usage guide:
Overview:
The review tool scans the PR code changes, and generates a PR review. The tool can be triggered automatically every time a new PR is opened, or can be invoked manually by commenting on any PR.
When commenting, to edit configurations related to the review tool (pr_reviewer section), use the following template:
/review --pr_reviewer.some_config1=... --pr_reviewer.some_config2=...

With a configuration file, use the following template:
[pr_reviewer]
some_config1=...
some_config2=...

  Utilizing extra instructions
The review tool can be configured with extra instructions, which can be used to guide the model to a feedback tailored to the needs of your project.
Be specific, clear, and concise in the instructions. With extra instructions, you are the prompter. Specify the relevant sub-tool, and the relevant aspects of the PR that you want to emphasize.
Examples for extra instructions:
[pr_reviewer] # /review #
extra_instructions="""
In the code feedback section, emphasize the following:
- Does the code logic cover relevant edge cases?
- Is the code logic clear and easy to understand?
- Is the code logic efficient?
...
"""

Use triple quotes to write multi-line instructions. Use bullet points to make the instructions more readable.

  How to enable\disable automation

When you first install PR-Agent app, the default mode for the review tool is:

pr_commands = ["/review", ...]

meaning the review tool will run automatically on every PR, with the default configuration.
Edit this field to enable/disable the tool, or to change the used configurations

  About the 'Code feedback' section
The review tool provides several type of feedbacks, one of them is code suggestions.
If you are interested only in the code suggestions, it is recommended to use the improve feature instead, since it dedicated only to code suggestions, and usually gives better results.
Use the review tool if you want to get a more comprehensive feedback, which includes code suggestions as well.

  Auto-labels
The review tool can auto-generate two specific types of labels for a PR:

a possible security issue label, that detects possible security issues (enable_review_labels_security flag)
a Review effort [1-5]: x label, where x is the estimated effort to review the PR (enable_review_labels_effort flag)

  Extra sub-tools
The review tool provides a collection of possible feedbacks about a PR.
It is recommended to review the possible options, and choose the ones relevant for your use case.
Some of the feature that are disabled by default are quite useful, and should be considered for enabling. For example:
require_score_review, require_soc2_review, enable_review_labels_effort, and more.

  More PR-Agent commands

To invoke the PR-Agent, add a comment using one of the following commands:

/review: Request a review of your Pull Request.
/describe: Update the PR title and description based on the contents of the PR.
/improve [--extended]: Suggest code improvements. Extended mode provides a higher quality feedback.
/ask <QUESTION>: Ask a question about the PR.
/update_changelog: Update the changelog based on the PR's contents.
/add_docs 💎: Generate docstring for new components introduced in the PR.
/generate_labels 💎: Generate labels for the PR based on the PR's contents.
/analyze 💎: Automatically analyzes the PR, and presents changes walkthrough for each component.

See the tools guide for more details.
To list the possible configuration parameters, add a /config comment.

See the review usage page for a comprehensive guide on using this tool.

PR Review

 ⏱ Estimated effort to review [1-5]
3, because the PR involves changes across both backend and frontend, including schema modifications, server logic, and UI components. Understanding the full impact requires a good grasp of the full stack.

 🧪 Relevant tests
No

 🔍 Possible issues

Possible Bug: The languages field in the schema is defined as a string, but it seems like it should be an array of strings based on the placeholder "Languages (comma-separated)". This could lead to incorrect data storage and retrieval.

Data Validation Concern: There's no validation for the fields in the schema. This could lead to invalid data being stored in the database.
 🔒 Security concerns
No

 Code feedback:
relevant fileServer/Schema.js
suggestion

Consider changing the languages field type from String to [String] to accurately store multiple languages as an array. This change aligns with the frontend placeholder hinting at a comma-separated list, which suggests multiple values. [important]

relevant linelanguages: {
relevant fileServer/Schema.js
suggestion

Add data validation for the schema fields using Mongoose's built-in validation features. For example, you can make the Email field required and validate it with a regex pattern to ensure data integrity. [important]

relevant lineEmail: String,
relevant fileClient/Client/src/components/About.jsx
suggestion

Convert the comma-separated languages string to an array before submitting the form. This ensures the data format is consistent with the expected array type in the backend. Use .split(',') to convert the string to an array. [important]

relevant line
relevant fileClient/Client/src/components/About.jsx
suggestion

Implement frontend validation for the form fields, especially for the Email field to ensure it meets basic email format requirements before submission. This can improve user experience by catching errors early. [medium]

relevant line

 ✨ Review tool usage guide:
Overview:
The review tool scans the PR code changes, and generates a PR review. The tool can be triggered automatically every time a new PR is opened, or can be invoked manually by commenting on any PR.
When commenting, to edit configurations related to the review tool (pr_reviewer section), use the following template:
/review --pr_reviewer.some_config1=... --pr_reviewer.some_config2=...

With a configuration file, use the following template:
[pr_reviewer]
some_config1=...
some_config2=...

  Utilizing extra instructions
The review tool can be configured with extra instructions, which can be used to guide the model to a feedback tailored to the needs of your project.
Be specific, clear, and concise in the instructions. With extra instructions, you are the prompter. Specify the relevant sub-tool, and the relevant aspects of the PR that you want to emphasize.
Examples for extra instructions:
[pr_reviewer] # /review #
extra_instructions="""
In the 'possible issues' section, emphasize the following:
- Does the code logic cover relevant edge cases?
- Is the code logic clear and easy to understand?
- Is the code logic efficient?
...
"""

Use triple quotes to write multi-line instructions. Use bullet points to make the instructions more readable.

  How to enable\disable automation

When you first install PR-Agent app, the default mode for the review tool is:

pr_commands = ["/review", ...]

meaning the review tool will run automatically on every PR, with the default configuration.
Edit this field to enable/disable the tool, or to change the used configurations

  Auto-labels
The review tool can auto-generate two specific types of labels for a PR:

a possible security issue label, that detects possible security issues (enable_review_labels_security flag)
a Review effort [1-5]: x label, where x is the estimated effort to review the PR (enable_review_labels_effort flag)

  Extra sub-tools
The review tool provides a collection of possible feedbacks about a PR.
It is recommended to review the possible options, and choose the ones relevant for your use case.
Some of the feature that are disabled by default are quite useful, and should be considered for enabling. For example:
require_score_review, require_soc2_ticket, and more.

  Auto-approve PRs
By invoking:
/review auto_approve

The tool will automatically approve the PR, and add a comment with the approval.
To ensure safety, the auto-approval feature is disabled by default. To enable auto-approval, you need to actively set in a pre-defined configuration file the following:
[pr_reviewer]
enable_auto_approval = true

(this specific flag cannot be set with a command line argument, only in the configuration file, committed to the repository)
You can also enable auto-approval only if the PR meets certain requirements, such as that the estimated_review_effort is equal or below a certain threshold, by adjusting the flag:
[pr_reviewer]
maximal_review_effort = 5

  More PR-Agent commands

To invoke the PR-Agent, add a comment using one of the following commands:

/review: Request a review of your Pull Request.
/describe: Update the PR title and description based on the contents of the PR.
/improve [--extended]: Suggest code improvements. Extended mode provides a higher quality feedback.
/ask <QUESTION>: Ask a question about the PR.
/update_changelog: Update the changelog based on the PR's contents.
/add_docs 💎: Generate docstring for new components introduced in the PR.
/generate_labels 💎: Generate labels for the PR based on the PR's contents.
/analyze 💎: Automatically analyzes the PR, and presents changes walkthrough for each component.

See the tools guide for more details.
To list the possible configuration parameters, add a /config comment.

See the review usage page for a comprehensive guide on using this tool.


config: Add consoleSize to process

Signed-off-by: John Howard<EMAIL_ADDRESS>Extracting pieces from the proof of concept PR for Windows OCI support at https://github.com/opencontainers/runtime-spec/pull/504. This adds the consoleSize platform specific field to the Process structure.

On Wed, Sep 14, 2016 at 01:38:46PM -0700, John Howard wrote:

Yes, I deliberately did this as the capitalisation is consistent
with other items such as rlimits (vs rLimits).  Are those
incorrect as well? If so, I'll open another PR to address that, but
fix the capitalisation to initialConsoleSize here.

Touche ;).  I'm fine with rlimits, rLimits, and resourceLimits.  And
consistency is nice, but there's also a benefit to using the
platform's conventional casing [1].  I'm fine letting per-patform
maintainers go their own way on this sort of style decision.

Updated it to camelCase. Given there's almost no Windows specific fields in the spec currently, I may as well start with a sensible pattern.

LGTM

LGTM redux

c86f32c looks good to me, although “of the console size” could
probably be trimmed to “of the console” ;).

LGTM

Grammer police :oncoming_police_car: :smile: @wking - Fixed, thanks for catching.

On Thu, Sep 15, 2016 at 10:29:25AM -0700, John Howard wrote:

Grammer police :oncoming_police_car: :smile: @wking - Fixed, thanks for catching.

2a7b7c6aa1 looks even better to me ;).

LGTM redux

Updated to not make this a Windows-specific field after comment https://github.com/opencontainers/runtime-spec/pull/563/files#r79284892 from @laijs

@wking @laijs @hqhq Updated.

On Sat, Sep 17, 2016 at 11:24:02PM -0700, Qiang Huang wrote:

Not to mention that they can also be used in non-initialization
stages.

I'm fine dropping initial, but thought I'd point out that the current
spec is not supporter of join-and-tweak.  See the in-flight #540
trying to clarify that position, and the open #305 in favor of
allowing join-and-tweak.  I'm personally in favor of allowing
join-and-tweak, but filed #540 because I'd rather have clearer wording
on the no-tweaking restriction while we want for the consensus to
shift towards allowing join-and-tweak.

@wking Yeah I plan to put this back on table post-1.0, but we'll support it in runc whether it's in spec or not, so we better keep it looks reasonable for update.

Are there not already many fields which are not configurable post create? I don't care though, if consensus is to remove 'initial', so be it. Imo it seems pretty descriptive of the purpose though.

On Sun, Sep 18, 2016 at 12:34:59AM -0700, John Howard wrote:

Are there not already many fields which are not configurable post
create?

It may be helpful to think about this in three classes:
a. Initial setup.  The resource (e.g. a console) was just created and
needs to be configured.  That's what most/all of the current config
settings are about.
b. Out-of-band tweaking.  Users can do whatever they want outside of
the runtime, e.g. dragging their console around to resize it.
c. Runtime tweaking.  A subsequent runtime invocation updates an
existing resource.  This is what #305 and #540 are talking about.
It's probably good to remind users that most settings are not set in
stone, and that (b) and maybe eventually (c) are possible (one example
where this isn't true is the user map 1, which is “write once and
you're stuck with it” 2).  But I don't think prefixing properties
with “initial” is the most efficient way to remind them.
 > An attempt to write more than once to a uid_map file in a user
 > namespace fails with the error EPERM.  Similar rules apply for
 > gid_map files.

So to be clear before I update. Drop Initial, that seems clear. But I'm not sure based on https://github.com/opencontainers/runtime-spec/pull/563#issuecomment-247833453 whether consensus is to have this as a Windows only field in this PR, and open it up to other platforms in the future as and when those platforms have runtimes that make use of the field.

On Mon, Sep 19, 2016 at 09:12:44AM -0700, John Howard wrote:

But I'm not sure based on
https://github.com/opencontainers/runtime-spec/pull/563#issuecomment-247833453
whether consensus is to have this as a Windows only field in this
PR, and open it up to other platforms in the future as and when
those platforms have runtimes that make use of the field.

I wouldn't worry about current runtime support.  Other platforms will
need some size, and Linux currently uses a default that you can't
override from the OCI config 1.  So I'd expose the property on all
platforms and explicitly say that the size is unspecified if the
property is unset.  And we should probably pull in something like
opencontainers/image-spec#311 so we have a clear definition for
“unspecified”.  Runtimes that currently ignore this property will be
noncompliant with new runtime-spec releases until they add support,
but that's true of any new property.  Images that don't set this
property would still be compliant, because the unspecified default is
what they get now.  If we were versioning every change, adding this
property would be a minor-bump to ociVersion.

@wking. Thanks. The current commit f2bc43b63ee01701b130fa8d0c4aa22f6d7fe613 should reflect the changes based on all feedback to date.
I would be inclined to say that adding something like https://github.com/opencontainers/image-spec/pull/311 belongs in a separate PR rather than polluting this one. I'm happy to put that together later today.

On Mon, Sep 19, 2016 at 11:02:46AM -0700, John Howard wrote:

I would be inclined to say that adding something like
https://github.com/opencontainers/image-spec/pull/311 belongs in a
separate PR rather than polluting this one. I'm happy to put that
together later today.

That's fine with me.  Leaving the consoleSize-unset behavior implicit
for an afternoon is fine.  And perhaps the
opencontainers/image-spec#311 port lands first, in which case we can
reroll this to explicitly make the consoleSize-unset case unspecified.
f2bc43b63 looks good to me, except the commit summary should now be:
config: Add consoleSize to process

Ah yes, of course. Commit summary and PR title updated.

55956b85 and a punt on porting opencontainers/image-spec#311 looks
good to me.

LGTM

@tianon - sorry, it's gone through a few revisions since your last LGTMs. Any chance of a further review? Thanks ❤

LGTM

Nice, I like the introduction of the box type to avoid having to just "know" what order the arguments go in. :+1:
LGTM
(although appears to now have a conflict in config.md)

On Tue, Sep 20, 2016 at 02:27:34PM -0700, Tianon Gravi wrote:

(although appears to now have a conflict in config.md)

#574 is probably causing a lot of trivial conflicts.

Rebased. Yes, it was #574 (optional --> OPTIONAL)

a502caf looks good to me (like most of the previous iterations of this
PR ;).

LGTM

LGTM


Serilization of Core Data objects inorder to Post/Put to server

As the title says... Does this library support serilization of Core Data objects to JSON inorder to Post/Put to a server, like RestKit?

My thoughts on serialization of relationships:
Serialization of relationships should depend on dependence of the destination entity on the source entity.

When the destination entity in the relationship is owned by the source entity the whole destination entity should be included. For such an entity delete rule for the relationship will/should be 'Cascade'. Ex: Shape entity has a relation (ordered to many) to the Point entity.
When the destination entity in the relationship is not owned by the source entity (i.e. destination object can exist even when the source entity is deleted) then only the identification information of the destination object should be included. For such an entity the delete rule for the relationship will/should be ’Nullify’. Ex: Employee entity has a relation (to one) to the Department entity.

To provide option to override that default behavior we could allow specifying this explicitly in the user info (say Serialization_IncludeWholeEntity).
There may be a few occasions where the user may want to specify explicitly which entities to include wholly in the generated JSON. This could be provided as a set of entity names/classes - and serve to override the default behavior.
For those that really want all objects in relationships to be serialized wholly we could have flag to provide this override behavior.
During the generation process we should keep a dictionary of the objects that are already being serialized - to prevent endless recursion. When we encounter in a relationship an object that has already been serialized, then only the identification information of the destination object should be included.
BTW, any plans for active development on 2.0.

Hola,
There aren't any current development plans for 2.0. I wrote a little more on that topic here:
https://github.com/mutualmobile/MMRecord/issues/120
I'll leave this discussion open though as a reference to 2.0.0 in case development on it ever resumes.
Thanks,

Conrad


added note about the name being an identifier

Added a note about a potential issued that may arise when name is used inconsistently
/sig node

I think one problem here might come if you, eg, snapshot a node and then try to create duplicates based on that snapshot, that all register with the same .metadata.name.
Is that right?

Yes. If administrator decided to change something about the node quite significantly or cloud creates the new node instead of old one without waiting for API server to "forget" about the old node, kubernetes will be confused and it may lead to some strange behaviors.

There's also potentially an issue if you change the identifier of a running node and then restart its kubelet. I haven't tried it but I assume that eventually the old Node object (for the previous name) gets deleted due to not health checking OK.

This case is fine. Old node will be forgotten if cloud provider implemented the correct controller. And new Node object will be created (given that kubelet is configured for auto-registration).

/lgtm
Thank you, @SergeyKanzhelev!

/approve


Add self attention encoder

With the decoupling of encoders and decoders, we have added a Linear encoder, which seems to just embed the inputs and pass them along. We should also add a SelfAttention encoder, which encodes the embeddings with a self attention layer (and no positional encoding).
This contextualizes the embeddings by representing each as a linear combination of itself wrt all other embeddings.

+1. Makes sense.


Split block proposition Future of basic_authorship in multiple stages

Similar to #3159, we should modify the Future that the basic_authorship::Proposer generates so that it yields every time it adds a transaction to the block proposition.
This makes it possible to better interleave other tasks.
This will be very easy to do once async/await are stable, but not worth the effort right now.

The problem is that we have a fixed slot for producing a block and we can not waste this time for executing any unrelated task. I know why you want this, but I don't think that anyone will ever be that crazy to run a validator in browser.

It's not necessarily for the browser use-case. The idea is more that since the multithreading model is cooperative and not pre-emptive, we shouldn't have futures that takes too long to poll.

I understand you point, but again, we have a fixed slot and can not waste this slot for running the telemetry or whatever. You want to build a block and we are already constrained by Wasm and storage overhead. If we do any other work in the slot, we reduce the number of transactions we can include in one block.


YT WaterMark missing bug

Describe your bug here. Mind you, if you are modding, please try testing your bug in a clean version of the engine instead, this ensures the bug is actually caused by the engine itself. Also, if you're using an older version of JSE, please try the latest action build in the Actions tab or the latest release build. The issue has probably been fixed since that version. Oh yeah, and also be sure to check the pinned 'JS Engine: Known Issues' issue, to double check if your issue hasn't already been found!
When i try to open a song Ex. Roses Erect
The crashlogs says that i dont have ytWatermarkInfo.txt on assets/data but i have it there sitting like nothing
Command Prompt/Terminal/Crash logs (if existing)
Here is the crash info

lime/utils/Log.hx (Line 37)
lime/utils/Assets.hx (Line 138)
lime/utils/Assets.hx (Line 244)
PlayState.hx (Line 1717)
flixel/FlxGame.hx (Line 639)
flixel/FlxGame.hx (Line 726)
flixel/FlxGame.hx (Line 679)
flixel/FlxGame.hx (Line 558)
openfl/events/EventDispatcher.hx (Line 426)
openfl/display/DisplayObject.hx (Line 1398)

Uncaught Error: [lime.utils.Assets] ERROR: There is no TEXT asset with an ID of "assets/data/ytWatermarkInfo.txt"
Please report this error to the GitHub page: https://github.com/JordanSantiagoYT/FNF-PsychEngine-NoBotplayLag

> Crash Handler written by: sqirra-rng
The engine has saved a crash log inside the crash folder, If you're making a GitHub issue you might want to send that!

Have you identified any steps to reproduce the bug? If so, please describe them below in as much detail as possible. Use images if possible.
i just opened roses erect after updating from game

Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
After the crash i tried to change the ytWaterMark to @Elytra
If you use 1.12.0 or earlier, did you have Optimized Chart Loading turned on?
None
Did you check for any similar issues to what you're reporting? Check, then come back here. If there is a similar issue, then do not report the issue, otherwise it will be marked as a duplicate.
Yes

duplicate of #398


Only update calendar when changed

The SSU calendars are served from an HTTP server that provides a Last-Modified header. If we store this time stamp from this header when we update the database, then we can compare the value next invocation and skip the calendar if it has not changed.
The header looks like this:
>>> response.headers.items()
[ ..., ('Last-Modified', 'Sun, 23 Oct 2016 18:37:03 GMT'), ... ]

To avoid downloading the whole calendar file, we can check just the headers by doing a HEAD request:
response = requests.head(url)
...
# response.headers is a special case-insensitive dict
last_modified = response.headers['last-modified']

The scraper should handle the absence of this header by proceeding as usual.
This change depends on the calendar URLs being stored in the database instead of in the scraper (issue #19). The last-modified time stamp can be stored in a table indexed by calendar URL IDs.

http://docs.python-requests.org/en/master/user/quickstart/#response-headers

It turns out that the server hosting the calendar files responds with different headers when servicing an HTTP HEAD request, and the 'Last-Modified' header is not present.
This means requests.head(url) will not work, we have to do a GET request.
It may be worth investigating whether the requests library will allow us to close a GET connection after receiving just the headers, as a workaround.

Added by #52


Weird utf-something error

Description
When trying to execute a query, I get this weird utf-something error.
Two cases:

In the end it turned out to be a syntax error
In the end it turned out to be me not specifying the virtual database in the query, and denodo assuming it was the ddp virtual database, here it could not find the table I was targetting

Not enough details to solve this right now. Could you provide some examples? What behaviour were you expecting?

Seems this error is thrown when there is any issue with the query. It could be a table that does not exist, column that is misspelled etc. We cannot improve this until Denodo fix the error messages in their driver.

@felipepoulsen Any thoughts on this or should I close this issue?


Add verification action for registry locks

This is the third part of the (not-in-order) backend PRs for Registry Lock.
After a user requests a lock on a domain, they will receive an email link with a UUID to verify the lock -- they must click on this link within one hour. This PR introduces the action that accepts that verification request. We verify the request (valid UUID, has permissions, etc) and then perform the lock on the domain if it's appropriate.
Note that if any step fails in the domain-lock process, we will back out of both the SQL and Datastore transactions and the user could try again.

This change is

Thanks, Shicong.
Ben, I've refactored this so we use the HtmlAction we created -- PTAL when you get a chance, thanks!


Grammar

Challenge http://www.freecodecamp.com/challenges/waypoint-generate-random-whole-numbers-with-javascript has an issue. Please describe how to reproduce it, and include links to screenshots if possible.
"It's great that we can create random decimal numbers, but it's even more useful if we lot more useful to generate a random whole number."
Should probably read as:
"It's great that we can create random decimal numbers, but it's even more useful to generate a random whole number."
More grammar issues - these sentences are missing periods:
"To achieve this we can multiply the random number by ten and use the Math.floor() to convert the decimal number to a whole number"
"This technique gives us a whole number between zero and nine"
"Let's give this technique a go now"

Thanks for the report! The first typo was fixed in 87c01aa, and I've just submitted a pull request to fix the missing periods. :sunny:


SPARKC-245: Separated Cassandra classpath from project classpath

There is a separate, independent project - cassandra-server which has a single
dependency - cassandra-all with transitive dependencies.
Classpath of this project is exported in env variable CASSANRA_CLASSPATH to JVM
running integration tests and used to run Cassandra.
Other changes:

disable Spark UI for integration tests
set SPARK_LOCAL_IP to <IP_ADDRESS> for integration tests

Build against Scala 2.10 finished with success

+1

Build against Scala 2.11 finished with failure

Build against Scala 2.11 finished with failure

Build against Scala 2.10 finished with success

Build against Scala 2.10 finished with success

Build against Scala 2.11 finished with failure


workbox-webpack-plugin service worker installation error and mix.js PrecacheRoute url

I have been trying to implement PWA to my website recently using workbox-webpack-plugin and laravel-mix-workbox extension. I generate the service-worker.js by running npm run watch, sadly on the chrome console my website always shows Service worker installation failed. and some urls errors.
laravel-mix-workbox extension link:
https://github.com/speniti/laravel-mix-workbox
Mix version: 5.0.1
laravel-mix-workbox: 0.1.2
workbox-webpack-plugin: 5.1.2
Steps to reproduce:
My webpack.mix.js
const mix = require('laravel-mix');

require('laravel-mix-workbox');

mix.webpackConfig({
    output: { publicPath: '' }
});

mix.sass('resources/sass/style.scss', 'public/css/style.css')
   .copy('resources/js/lib/jquery-3.4.1.min.js', 'public/js/jquery.min.js')
   .copy('resources/js/lib/popper.min.js', 'public/js/popper.min.js')
   .copy('resources/js/lib/bootstrap.min.js', 'public/js/bootstrap.min.js')
   .copy('resources/js/plugins/owl-carousel/owl.carousel.min.js', 'public/js/owl.carousel.min.js')
   .scripts('resources/js/base.js', 'public/js/base.js')
   .version()
   .generateSW()
   .browserSync('http://mysite.com');

In base.js, my code to initialize the service-worker
if ('serviceWorker' in navigator) {
    // Use the window load event to keep the page load performant
    window.addEventListener('load', () => {
        navigator.serviceWorker.register('/service-worker.js');
    });
}

The generated service-worker.js  precacheAndRoute consists the following code:
  workbox.precacheAndRoute([{
    "url": "/css/style.css",
    "revision": "4438f0a3d7e94b76b0db59c779a74c63"
  }, {
    "url": "images/owl.video.play.png?4a37f8008959c75f619bf0a3a4e2d7a2",
    "revision": "4a37f8008959c75f619bf0a3a4e2d7a2"
  }, {
    "url": "mix.js",
    "revision": "d05d9cea142aa75e593f8735cb53a473"
  }], {});

});

The urls generated didn't follow my mix file and I can't find any resources online that explain why this happened. I have also tried not using the laravel-mix-workbox extension, and configure workbox directly through mix.webpackConfig's plugins, but it produces the same result as above.

@hengsoo, did you resolve this issue?

@hengsoo, did you resolve this issue?

exclude: [
                /\.(?:png|jpg|jpeg|svg)$/,
                'mix.js'
            ],


[Bug] SingleLineAfterImportsFixer - no meaningful after open semicolon

Intergration tests for (all most) empty files.
Conflicts:
Symfony/CS/Fixer/Symfony/NativeFunctionCasingFixer.php
Symfony/CS/Tests/Fixer/Contrib/HeaderCommentFixerTest.php

replaces https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/1961

green so ready?

Updated, I've moved the test to its own file.
Please note that the test relies on some fixer names, unfortunately the following have been renamed on master (so please be aware when merging upstream)
eof_ending -> single_blank_line_at_eof
short_echo_tag -> no_short_echo_tag
php_closing_tag -> no_closing_tag

@SpacePossum why closing this one ?

Sorry forgot the ref.: https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/1989
I was making conflicts in my own PR's...

Great, thanks !


getIsDirty behaviour changed between 9.0 and 9.1 -- please document

getIsDirty behaviour changed between 9.0 and 9.1 -- it used to mean "was value ever touched" in 9.1 it means "does attribute contain new value".
Could not find documentation on this breaking change, or details of the behaviour at all.
An example of script -- 9.1 form on the left; 9.0 form on the right:

Thank you!

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

ID: dd5b4b30-e6de-8bb0-3da2-f612765eac2b
Version Independent ID: 8ed5382e-1604-6d6e-f5ea-7591d1a90894
Content: getIsDirty (Client API reference) - Power Apps
Content Source: powerapps-docs/developer/model-driven-apps/clientapi/reference/attributes/getIsDirty.md
Service: powerapps
Sub-service: mda-developer
GitHub Login: @Nkrb
Microsoft Alias: nabuthuk

Thanks for contacting us. We have updated the docs and pushed it live. Closing the issue. If you need further help, please reopen or create a new issue.


User Story: Removing a Cluster from the Config (Version 2)

Title:
As a user, I want the unified config file to exclude clusters I no longer have access to so that I only see authorized clusters.

Description:
When a user's access to a cluster is revoked, the unified configuration file is updated to exclude the removed cluster.

Acceptance Criteria:

Config Update:

When cluster access is revoked, the unified config file reflects the updated list, excluding the removed cluster.

Gangway Integration:

The "Download Config" button provides the updated file after cluster access is revoked.

Validation:

Users can download the updated config file and confirm the removed cluster is no longer accessible.

Steps for Validation:

Revoke the user’s access to an existing cluster.
Download the updated config from Gangway interface.
Ensure the updated config file excludes the removed cluster.
Verify that the user cannot access the removed cluster using the updated config.

Note - When the admin revokes access to a cluster from the user and the user still uses the old config with that cluster, the user will be able to access the cluster because the proxy will block any unauthorized request of the user.

@Bhoomiz01 @munir131 When a user downloads the configuration from the ops-dashboard, it includes the list of all clusters. However, the user can only access the clusters they have permission to access.


merge package template from arlac77/npm-package-template

Updated standard to latest version

Codecov Report

Merging #15 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #15   +/-   ##
=======================================
  Coverage   97.29%   97.29%
=======================================
  Files          10       10
  Lines          37       37
=======================================
  Hits           36       36
  Misses          1        1

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 2539886...e3145b8. Read the comment docs.

Coverage remained the same at 95.082% when pulling e3145b8546b8da8a159f5f60f1263a03fcc36bf2 on template-sync-2 into<PHONE_NUMBER>87f75bd83e603a099f340baf82dca4 on master.


Correcting the return type hint for BRPOPLPUSH method

I could be missing something, but in my tests, brpoplpush returns a string. The Redis docs seem to confirm this. My IDE was complaining about the return type not matching in a method I wrote that returns a string after calling brpoplpush, and when I dug into the IDE warning, I found the ClientInterface class to be providing an array type instead of a string return type.

Thank you! Fixes will be included with Predis v1.1.4 when it's released.

@nrk: How should we handle these PRs in terms of pushing them into 2.x as well?


[Feature request] Job run time metric

Feature request
It would be useful to have a Cloud Controller job run time metric emitted.
Context
We use job_queue_length.total metric to spot problems with Cloud Controller performance. However it's not a perfect match as user experience may differ based on submitted job type. Some jobs are of course more resource hungry and can create a bottle neck in CC queue processing. For instance such a job is organisation delete request.
Additionally cf delete-org uses async parameter which makes measuring API response time pointless.
Emitting job_run_time metric would allow us to spot jobs that run abnormally long and react proactively when situation gets bad.

Hi @combor
We also use job_queue_length.total along with failed_job_count.total to help us assess the health of the system.  We've never found it interesting to worry about how long a job runs as long as the queue isn't backing up and failures aren't increasing.
It also seems like with some jobs running quickly and some taking a long time, it would be hard to understand how to react to changes in an average run time for different types of jobs.  Increases and decreases could just indicate different usage patterns where certain jobs are happening more or less often than they were prior.
Could you provide a concrete example of a slow job that caused you to take action and what that action was to help me understand how this would provide ongoing value to monitoring this value?
It currently seems like monitoring the queue length and failed jobs is enough to indicate that action needs to be taken.
Thanks,
@zrob

We haven't heard anything on this issue for a while. I'm going to go ahead and close this. Please re-open if you want to continue the discussion.
Thanks,
Greg


Does the camera has to be set to face the ceiling?

Is it OK if I use the camera to face forward?

It is Ok.
Just that we find facing forward gives the best accuracy, because the depths of the feature points are stable, and there are less dynamic features.

Great. Thanks a lot.


ARM v7 MPU fixes

Note: this fixes the memory protection related test failures on Atmel SAME70 when the caches are enabled. See #9689 and #11069.

I have just been able to reproduce the issue on the STM32F7 after moving the SRAM base address from 0x20000000 to 0x20010000. The first 64KiB of RAM is actually DTCM memory, not subject to cache.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@f78a996). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master   #11194   +/-   ##
=========================================
  Coverage          ?   52.98%
=========================================
  Files             ?      218
  Lines             ?    26858
  Branches          ?     5951
=========================================
  Hits              ?    14231
  Misses            ?    10188
  Partials          ?     2439

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 f78a996...a112e87. Read the comment docs.

I have just pushed a new version following the discussions from today. No code change, I just tried to make the first commit message more clear wrt to other ARMv7-M SoCs.

I also found a note in the Cortex-M4 user guide, which seems to imply that changing the cache attribute on that CPU does not have any effect:

In most microcontroller implementations, the shareability and cache policy attributes do not affect the system behavior. However, using these settings for the MPU regions can make the application code more portable.


Cannot transform any d.ts file successfully, is there anything wrong?

the error listed below:
       \dts2as\bin\parser.js:1693
            throw new Error("Type " + this.getAS3FullyQualifiedNameFromTSTypeNode(value.type) + " not found for parameter " + parameterName + " in function " + functionName + ".");

I haven't had a chance to upgrade dts2as to the TypeScript 2.x compiler yet. Type definitions are probably starting to use features that aren't available in the 1.x compiler.

I started work on updating the TypeScript dependency today. That should help after I release the next update. It's worth mentioning that there will probably be many d.ts files that still won't transform, even after the update. You'd be amazed at how complex people make the definitions, instead of going with a more straightforward approach of simple classes. I'm constantly finding strange edge cases that need special workarounds. Using the --exclude command line option with dts2as is very helpful when a particular API is giving you trouble.

I see！Really appreciate it for your repling and updating. thanks for your nice work on the NextGenAs.

Hi Josh, Thanks for your hard work on flexjs and as3 tools.
Is there any progress on this issue?

The latest commits here on Github include support for newer 2.x versions of TypeScript. However, I have not yet released a build of dts2as that includes these changes. I wanted to improve compatibility with some newer d.ts files from DefinitelyTyped before I made a new release. Some of the libraries that used to work with dts2as now result in errors because their d.ts files have started using more complex syntax.
I've been spending most of my time recently preparing the asconfigc and vscode-nextgenas projects for my talk ApacheCon next week, so dts2as and other things have temporarily fallen by the wayside. After ApacheCon, I'll see what I can do about dts2as.

Sounds great!
I am trying to build starling project for web with pixi render. May be that pixi definitions file doesn't have complex syntax and you can generate swc on your side before dts2as tool will get public update? It would help a lot.

I have released dts2as 0.12.0. This version now uses TypeScript 2.3 so it should work with newer type definitions. I have confirmed that it can parse the latest type definitions for pixi.js from DefinitelyTyped. There are many libraries that still won't be compatible, though, so don't be surprised if some still fail.

Thanks for great support!
I have generated pixi.swc with small definitions editing.
dts2as tool still can't handle construction:
type InteractionEventTypes = InteractionPointerEvents | InteractionTouchEvents | InteractionMouseEvents;
because parser can find type InteractionEventTypes in any method.
Looking forward for new versions of flexjs/as3 tools.


Internal links RSS feed remain

[x] I confirm that this is an issue rather than a question.

Bug report
It appears as internal links in feeds aren't compiled to a-tags.
See https://saber-blog-starter.netlify.com/atom.xml
Version
Saber 0.6.7
info Direct dependencies
├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>└─<EMAIL_ADDRESS>Steps to reproduce

Code can be found on https://github.com/spekulatius/saber-blog-starter - current master branch.
What is expected?
A valid HTML a-tag, so that people can click on internal links and still get to the intended target.
What is actually happening?
Links like this
<saber-link :to="$saber.getPageLink("./index.md", "")">Back Home</saber-link>

remain in the output
Other relevant information

Result of running saber -v: saber/0.6.7 linux-x64 node-v8.10.0
Browser version (optional): FF 67.0
Is Saber a global or local install? locally
Which package manager did you use for the install? yarn
Does this issue occur when all plugins are disabled? -

Waiting for https://github.com/saberland/saber/issues/204 to be implemented

Ah, okay. I wasn't aware of the open issue.

The issue is fixed by #268 and could be closed.


User is forced to use AnimatedIcon

Some users would like to use standard Icon instances (as the animated icon library is very restricted).
FloatingActionButton(
...
child: AnimatedIcon(
icon: icon,
progress: _animation,
),
onPressed: onPress,
),

added in commit  #5


misbehaving async tasks

From an OSA AIO deploy, an async task....
TASK [os_horizon : Compile messages for translation] *********************************************************************************************************************************
ok: [aio1_horizon_container-bfb96d25] => (item=/openstack/venvs/horizon-<IP_ADDRESS>b1/lib/python2.7/dist-packages/horizon)
ok: [aio1_horizon_container-bfb96d25] => (item=/openstack/venvs/horizon-<IP_ADDRESS>b1/lib/python2.7/dist-packages/openstack_dashboard)
ERROR! [pid 21444] 17:12:49.261466 E mitogen: Received DEL_ROUTE for 107138 from mitogen.setns.Stream(u'setns.aio1_horizon_container-bfb96d25'), expected None
ERROR! [pid 21444] 17:12:49.262085 E mitogen.ctx.setns.aio1_horizon_container-bfb96d25: mitogen: Received DEL_ROUTE for 107138 from mitogen.sudo.Stream(u'sudo.horizon'), expected mitogen.core.Stream('parent')
ERROR! [pid 21444] 17:12:49.262392 E mitogen.ctx.setns.aio1_horizon_container-bfb96d25.sudo.horizon: mitogen: Received DEL_ROUTE for 107138 from mitogen.fork.Stream(u'fork.1309'), expected mitogen.core.Stream('parent')

TASK [os_horizon : Ensure messages are compiled for translation] *********************************************************************************************************************
changed: [aio1_horizon_container-bfb96d25] => (item={'_ansible_parsed': True, '_ansible_item_result': True, '_ansible_no_log': False, u'ansible_job_id': u'171d24cb4603029a', 'failed': False, u'started': 1, u'changed': False, 'item': u'/openstack/venvs/horizon-<IP_ADDRESS>b1/lib/python2.7/dist-packages/horizon', u'finished': 0, '_ansible_ignore_errors': None, '_ansible_item_label': u'/openstack/venvs/horizon-<IP_ADDRESS>b1/lib/python2.7/dist-packages/horizon'})
FAILED - RETRYING: Ensure messages are compiled for translation (300 retries left).
FAILED - RETRYING: Ensure messages are compiled for translation (299 retries left).
FAILED - RETRYING: Ensure messages are compiled for translation (298 retries left).
FAILED - RETRYING: Ensure messages are compiled for translation (297 retries left).
FAILED - RETRYING: Ensure messages are compiled for translation (296 retries left).
FAILED - RETRYING: Ensure messages are compiled for translation (295 retries left).
Retries 300 times and fails.
These are the tasks in question:
https://github.com/openstack/openstack-ansible-os_horizon/blob/3d60097f94b8a27eabcfd931d4f80a9d8f2b7280/tasks/horizon_post_install.yml#L110
https://github.com/openstack/openstack-ansible-os_horizon/blob/4283200534eafa444efd9bb408ddcb5c98a1d442/tasks/main.yml#L105

Hi Johnathan!
Could you see from the target whether the process was still running? Async is quite icky because it touches the filesystem -- maybe it failed to write the job status file, still investigating.
Thanks for reporting this

Yowzer, that's a fun one, it's creating those tasks in a loop.. https://github.com/openstack/openstack-ansible-os_horizon/blob/4283200534eafa444efd9bb408ddcb5c98a1d442/tasks/horizon_post_install.yml#L124
At least that is something to write a test case for. I'm curious if the async tasks are sensible to begin with.. does compress not need to wait for collectstatic to finish?

The error messages are a red herring (#413). I've reproduced it locally. Enabling MITOGEN_ROUTER_DEBUG=1 makes the jobs succeed. Very interesting

Ah! Has this only started occurring on recent masters?

Sadly this failure was in CI so I didn't get to investigate it directly. I'm not sure where this started occurring as your recent changes to mitogen have made the OSA build get quite some way further than it did before.
Also, as far as I can see from a successful run, the "Ensure messages are compiled for translation" didn't have to wait very long for the completion of the async task, it might be worth adding another item to your test case which finishes instantaneously so that it is ready before the  async_status task is run.


PLT call performance fix

Tested on gpu (standard x86 PLT), ufront (security extension x86 PLT), and llnl (power).

@jmellorcrummey That's worth testing. I am not sure this change can completely remove the execution dl_runtime_profile. I will test it.

@jmellorcrummey Your intuition is correct. Now the auditing layer runs fine on arm.


[ISSUE #6665]Optimize the process of truncateInvalidMsgs()

Which Issue(s) This PR Fixes
Fixes #6665
Brief Description

Optimize the process of truncateInvalidMsgs()
Reset the confirmOffset while truncating.
Add more logs while expanding syncStateSet.

How Did You Test This Change?
Using openchaos.

Codecov Report

Merging #6666 (ccce8e1) into develop (7bb0611) will decrease coverage by 0.11%.
The diff coverage is 66.66%.

@@              Coverage Diff              @@
##             develop    #6666      +/-   ##
=============================================
- Coverage      43.11%   43.01%   -0.11%
- Complexity      8999     9010      +11
=============================================
  Files           1107     1109       +2
  Lines          78343    78584     +241
  Branches       10217    10224       +7
=============================================
+ Hits           33775    33799      +24
- Misses         40336    40553     +217
  Partials        4232     4232

Impacted Files
Coverage Δ

...org/apache/rocketmq/store/DefaultMessageStore.java
47.06% <50.00%> (+0.25%)
:arrow_up:

...ketmq/store/ha/autoswitch/AutoSwitchHAService.java
53.23% <75.00%> (+0.51%)
:arrow_up:

... and 29 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Stuck on observatory when running on Vivo device on android 13

Launching lib\main.dart on I2202 in debug mode...
lib\main.dart:1
√  Built build\app\outputs\flutter-apk\app-debug.apk.
I/flutter (25546): The Dart VM service is listening on ************************************
This is the same as the problem mentioned in #82520
But this time I have a iqoo neo 6 and it was working perfectly till before I upgraded it to android 13.
it shows a black screen on the phone when we run the app from flutter, but when we just open the already-installed app it works fine.

Hi @Nihal2k2, in #82520, it was determined that this was an issue with Vivo devices and not related to flutter. Given that this worked until you upgraded your OS, I'm more inclined to believe that this is more an issue with vivo rather than flutter.
You may need to report this to their support team so they can route it to the appropriate team.
Btw, did you upgrade your flutter version or the only upgrade you made was a change to your device OS?
Please share your flutter doctor -v output as well.
Thank you


As an admin user, I want to generate reports on system usage so that I can improve system availability

User Story: Generate Reports
Acceptance Criteria:

[x] Define report title
[x] Specify report contents
[x] Generate report

Definition of done:
When I can download a pdf file of the report

Reports on system usage have been generated


Developer exception tab for 'cookies' shows 'System.String[]' for every cookie

I want mah cookies!

Not arrays!

Probably need to check if the cookie is an array and show a line for each item?

https://github.com/aspnet/Diagnostics/issues/162

Ok duh, thanks :smile: My app is on beta7, I guess I should upgrade!

And I made that picture for nothing :frowning:


ICE with const-generic signature

The code below
#[flux::sig(fn (head: _, rows: _) -> usize)]
fn csv<const N: usize>(head: [&str; N], rows: &[[&str; N]]) -> usize {
    0
}

makes flux keel over with
 --> tests/tests/todo/boo.rs:2:4
  |
2 | fn csv<const N: usize>(head: [&str; N], rows: &[[&str; N]]) -> usize {
  |    ^^^
-Ztrack-diagnostics: created at compiler/rustc_passes/src/dead.rs:1114:18
  |
  = note: `#[warn(dead_code)]` on by default

thread 'rustc' panicked at crates/flux-fhir-analysis/src/conv/struct_compat.rs:526:22:
attempt to subtract with overflow

This must be related to these changes https://github.com/flux-rs/flux/pull/884. Struct compact requires some complicated de Bruijn index juggling

@nilehmann any idea what is going on here? Seems like some glitch in adjust_bvars ?

Looks like this works instead
#[flux::sig(fn (rows: &[_]))]
fn csv<const N: usize>(rows: &[[&str; N]]) {}

That code fills in holes by matching against the default signature. When we found match, the hole and the matching type could be under a different number of binders so we try to adjust de Bruijn indices. It's a confusing computation and I just probably got it wrong.


use osx on travis-ci?

I'm curious why you don't currently try actually running the mac script on travis?

nevermind, just tried this myself and that didn't seem like it was ever going to end

reopening this. I got it working in 24 minutes for my fork of laptop which does a bunch more stuff. https://travis-ci.org/WPMedia/laptop/builds/245425407
here is a travis ci config that works:
language: generic
os: osx
osx_image: xcode8.3

install:
  - brew install shellcheck

script:
  - shellcheck mac -e SC2039
  - ./mac

matrix:
  fast_finish: true

notifications:
  email: false

The only change I needed to make was adding sudo to the chsh command and appending "$USER" at the end of it.

@AlJohri Running the mac script on Travis CI seems like win. Cool!
In case it saves someone a minute, Al’s related work on the WPMedia fork:

chsh command
.travis.yml file.

@gohanlon thanks!
One other change I made which wasn't necessary but sped things up a bit was using the travis binary for ruby instead of compiling it on the fly: https://github.com/WPMedia/laptop/blob/b1f6ea5640932cfab2725b8749c24a19326c94e8/mac#L161-L169
if ! rbenv versions | grep -Fq "$ruby_version"; then
  if [ "$CI" == "true" ]; then
    wget "http://rubies.travis-ci.org/osx/10.12/x86_64/ruby-$ruby_version.tar.bz2"
    tar -xf "ruby-$ruby_version.tar.bz2"
    mv "ruby-$ruby_version" "$HOME/.rbenv/versions/$ruby_version"
  else
    RUBY_CONFIGURE_OPTS=--with-openssl-dir=/usr/local/opt/openssl rbenv install -s "$ruby_version"
  fi
fi

Waiting for Ruby builds is no fun. Although I’m torn, I lean towards not applying that speedup.
The speedup is no doubt huge and is only substituting a step that should already be well tested outside of Laptop.
But, sometimes ruby-build builds do break, especially around the time of new macOS or Xcode releases, and knowing that the build Laptop depends on is broken would be useful (even though there’s almost certainly nothing to be done within Laptop to fix it).
Side note: I think using openssl from homebrew is a default ruby-build behavior, so Laptop could remove the RUBY_CONFIGURE_OPTS. Maybe that'd be a good first test to run on Travis CI?

Thanks, folks! I've just opened https://github.com/thoughtbot/laptop/pull/501
I chose Circle over Travis for this use case because we're already paying for a Circle plan for macOS infrastructure for our internal iOS / React Native work.
Thank you for that chsh change @AlJohri!


Scope down SQS policy for workflow API handler to least privilege

Can you scope this down?  Like this: https://github.com/awslabs/aws-media-insights-engine/blob/1c641a43894f31b987a9a0ab906d0a35753ecbeb/deployment/media-insights-stack.yaml#L255
Originally posted by @ianwow in https://github.com/awslabs/aws-media-insights-engine/pull/359#r571204116

Done.
https://github.com/aws-solutions/aws-media-insights-engine/commit/e51fcd90
https://github.com/aws-solutions/aws-media-insights-engine/commit/59489044


webpack-cli can only be found as a sibling package

Bug report
What is the current behavior?
When running webpack, it will check to see if webpack-cli is installed. If not, it will issue an interactive prompt. Whereas this check previously used require.resolve, it's now a plain search for node_modules directories in the current hierarchy. That means that it can no longer find webpack-cli if that's installed globally but webpack is installed locally (or the reverse).
Because of the interactive prompt, this caused an issue for an unattended process where it would hang indefinitely. (In a setup where we happened to have installed the two modules in different ways, due to a quirk of the build process.)
The new behavior is from https://github.com/webpack/webpack/pull/13529.
If the current behavior is a bug, please provide the steps to reproduce.
In a fresh project,
$ yarn add webpack
$ yarn global add webpack-cli
$ node ./node_modules/webpack/bin/webpack.js

will result in webpack complaining that it can't find webpack-cli.
CLI for webpack must be installed.
  webpack-cli (https://github.com/webpack/webpack-cli)

We will use "yarn" to install the CLI via "yarn add -D webpack-cli".
Do you want to install 'webpack-cli' (yes/no): %

(Similarly with npm rather than yarn - the point is that webpack-cli is installed elsewhere.)

What is the expected behavior?
Although not everybody thinks that globally-installed stuff is a good idea, that's still part of the way Node works. Webpack should try harder to find webpack-cli, in particular by looking in whatever the global module path happens to be. This is what the original code was doing, by following the same logic as node itself.
Other relevant information:
webpack version: 5.39.0 and later
Node.js version: (any)
Operating System: (any)
Additional tools: yarn

Here two limitations:

require.resolve never resolve global packages and it will not work before (try it) (here package for it https://github.com/sindresorhus/resolve-global, but please read below)
require.resolve caches requests and we can't use it for interactive installation

I want to say it is limitation, if you want to use webpack-cli globally you need to install webpack globally too, if you want to use webpack-cli locally you need to install webpack locally, even more it is not safe, in the next version of webpack-cli we will drop webpack v4, but locally you can have webpack v4 (and versa vice) and it will not work.


[FEATURE] add checkProp utility function for inspecting objects

Description

Adds a simple utility function that allows for easy creation of predicate functions that inspect passed objects without passing the context to the predicate, allowing for simpler predicate functions, and easier composition.
PR Type

[x] Snippets, Tests & Tags (new snippets, updated snippets, re-tagging of snippets, added/updated tests)
[ ] Scripts & Website & Meta (anything related to files in the scripts folder, how the repository's automated procedures work and the website)
[ ] Glossary & Secondary Features (anything related to the glossary, such as new or updated terms or other secondary features)
[ ] General, Typos, Misc. & Meta (everything else, typos, general stuff and meta files in the repository - e.g. the issue template)

Guidelines

[x] I have read the guidelines in the CONTRIBUTING document.

Finally got around to it... only took how long?


Unable to install on macOS Sonoma

Trying cargo install shai, but I’m getting the following:
❯ cargo install shai
    Updating crates.io index
  Installing shai v0.1.1
error: failed to compile `shai v0.1.1`, intermediate artifacts can be found at `/var/folders/zy/17xcp3xx6vb3q0qnfh06185h0000gn/T/cargo-install7meZgt`

Caused by:
  failed to select a version for the requirement `clap = "^4.3"`
  candidate versions found which didn't match: 3.2.25, 3.2.24, 3.2.23, ...
  location searched: crates.io index
  required by package `shai v0.1.1`

I’m not that well versed in Go, but looks like a package management problem. My crates.io seems up to date when I search for packages:
❯ cargo search shai
shai = "0.1.1"                        # A shell AI assistant
[redacted]
❯ cargo search clap
clap = "4.4.6"                             # A simple to use, efficient, and full-featured Command Line Argument Parser
[redacted]

I also tried cloning the repo and updating Cargo.toml to use clap 4.4:
diff --git a/Cargo.toml b/Cargo.toml
index 18e0061..e50f524 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -15,7 +15,7 @@ exclude = ["assets/*"]
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

 [dependencies]
-clap = { version = "4.3", features = ["derive"] }
+clap = { version = "4.4", features = ["derive"] }
 serde = { version = "1.0", features = ["derive"] }
 serde_yaml = "0.9.22"
 serde_json = "1.0"

But I’m having the same issue:
❯ cargo install --path .
  Installing shai v0.1.1 ([redacted]/shai)
    Updating crates.io index
error: failed to compile `shai v0.1.1 ([redacted]/shai)`, intermediate artifacts can be found at `/Users/remi/Sites/shai/target`

Caused by:
  failed to select a version for the requirement `clap = "^4.4"`
  candidate versions found which didn't match: 3.2.25, 3.2.24, 3.2.23, ...
  location searched: crates.io index
  required by package `shai v0.1.1 ([redacted]/shai)`

Not sure what’s going on here.

That's strange, it seems to build correctly on the CI for macos-13 (that's Sonoma right?). I don't have any macos in which to test it manually.
Can you check the cargo and rustup versions?
cargo version
rustup --version
rustc --version

Also, can you try running the same commands as the CI on a clone of shai (on the latest commit without modification)?
rustup update stable && rustup default stable
cargo build --verbose
cargo test --verbose

Let me know the result :)

Sorry for the late reply. Thanks for checking in.
So I checked the versions, as you suggested, and saw them being a bit old:
cargo 1.56.0 (4ed5d137b 2021-10-04)
rustup 1.24.3 (ce5817a94 2021-05-31)
rustc 1.56.1 (59eed8a2a 2021-11-01)

Then I did you second series of command. Build went fine. Tests were okay! 👍
I checked the versions again. They got updated after rustup update:
cargo 1.73.0 (9c4383fb5 2023-08-26)
rustup 1.26.0 (5af9b9484 2023-04-05)
rustc 1.73.0 (cc66ad468 2023-10-03)

So, I tried doing both an install from local and from the cargo repo:
cargo install --path .
# Worked okay!
cargo uninstall shai
cargo install shai
# Worked okay too!

Everything went fine and now I can run shai as expected.
So turns out I just had to update rustup. Shows you how much I know it and how much I use it. ;)
Thanks!


Add assign students lessons

Implements the assign command. Fixes #13.

Codecov Report

Merging #74 (b6917d0) into master (292ee39) will decrease coverage by 2.14%.
The diff coverage is 25.43%.

@@             Coverage Diff              @@
##             master      #74      +/-   ##
============================================
- Coverage     63.62%   61.48%   -2.15%
- Complexity      499      503       +4
============================================
  Files            96      102       +6
  Lines          1787     1864      +77
  Branches        183      195      +12
============================================
+ Hits           1137     1146       +9
- Misses          577      643      +66
- Partials         73       75       +2

Impacted Files
Coverage Δ

...va/seedu/address/logic/commands/AssignCommand.java
0.00% <0.00%> (ø)

...u/address/logic/parser/AddLessonCommandParser.java
68.57% <0.00%> (-0.88%)
:arrow_down:

...eedu/address/logic/parser/AssignCommandParser.java
0.00% <0.00%> (ø)

...java/seedu/address/logic/parser/CheckPrefixes.java
0.00% <0.00%> (ø)

...va/seedu/address/logic/parser/TeachWhatParser.java
72.72% <0.00%> (-3.47%)
:arrow_down:

...va/seedu/address/model/lesson/TemporaryLesson.java
42.10% <ø> (+4.01%)
:arrow_up:

.../java/seedu/address/storage/JsonAdaptedLesson.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/ui/MainWindow.java
0.00% <0.00%> (ø)

...a/seedu/address/model/student/EnrolledLessons.java
13.04% <13.04%> (ø)

...a/seedu/address/model/lesson/EnrolledStudents.java
15.00% <15.00%> (ø)

... and 6 more

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 292ee39...b6917d0. Read the comment docs.

While attempting to make the lesson and student models save their enrolledLesson and enrolledStudent attributes, I encountered stack overflow when the assign command is called which I'm not sure how to solve.

In the saved lessonbook.json, each lesson will contain an assignedStudents object which lists out the students which are enrolled in the lesson. However, due to the error below, addressbook.json will not contain the lessons that each student is enrolled in.

While attempting to make the lesson and student models save their enrolledLesson and enrolledStudent attributes, I encountered stack overflow when the assign command is called which I'm not sure how to solve.


Fix BoundingClientRect that throws JsInteropException when trimmed

Fixes #6050
Description
See discussion here #6052
How Has This Been Tested?
Tested changes on this reproduction https://github.com/Swizzy/MudBlazorJSInteropRepro
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] The PR is submitted to the correct branch (dev).
[x] My code follows the code style of this project.
[ ] I've added relevant tests.

@mikes-gh

@ScarletKuro Thanks a lot

For future: Replace to minimum required which is  [DynamicDependency(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.PublicProperties, typeof(BoundingClientRect))]. Confirmed to work.
This is the same amount of attributes that has _jsRuntime.InvokeAsync.
This will trimm the Clone method that BoundingClientRect, but doesn't look like it's used anywhere.


[5.1][SDK] Modernize array initialization pattern in ModelIO overlay

(Cherry-picked from #25364)
We have nondeterministic test failures indicating a memory safety issue in ModelIO’s overlay. This switches the overlay’s property implementations to use the new Array(unsafeUninitializedCount:,initializedWith:) initializer rather than the potentially unreliable &values[0] pattern.
rdar://problem/50449570

@swift-ci test

@shahmishal @benlangmuir This is ready to merge, I think


fix: sentry to all envs enabled

Description :sparkles:
Issues :bug:
Closes :no_good_woman:
DEV-XXX:
Related :handshake:
Testing :alembic:
Automated tests :gear:
Manual testing :construction_worker_man:
Screenshots :camera_flash:
Additional notes :spiral_notepad:

kultus-ui branch is deployed to platta: https://kultus-ui-pr345.dev.hel.ninja :rocket::rocket::rocket:


Editing Polygons

Hi, DrawerJs is great to embed and use. I was wondering if there were attempts to implement single vertex editing once a polygon was closed? If not, what would be the way to go about that?

I am also interested in that.


Require to fetch participants info, chat info and meeting info for storing data in my app.

@saibotma Thanks for the library. I have checked in and it's working on Pixel XL API 31. It has saved me lots of time. Thanks again.
I am also getting logs for when any participants join, left, or any message arrives in the meeting.
Here are the logs for that:
D/JitsiMeetSDK( 7218): ExternalAPI Sending event: PARTICIPANT_LEFT with data: { NativeMap: {"participantId":"515e6b41"} }
D/JitsiMeetSDK( 7218): ExternalAPI Sending event: CHAT_MESSAGE_RECEIVED with data: { NativeMap: {"senderId":"83409ad1","isPrivate":false,"message":"yes please"} }
D/JitsiMeetSDK( 7218): ExternalAPI Sending event: PARTICIPANT_JOINED with data: { NativeMap: {"name":"tester meri","participantId":"cbc8a823","role":"moderator"} }

Are there any methods available for getting all these longs in your flutter example project? I like to store meetings and participants' data in my application. It will be great if you find it. Thank you.
You have mentioned in the GitLab repo that currently more options are not available same as ios and android in a flutter. Can you add in this repo?

There are few methods available for check join/terminal conference.
JitsiMeetingListener(
        onOpened: () => debugPrint("onOpened"),
        onConferenceWillJoin: (url) => debugPrint("onConferenceWillJoin: url: $url"),
        onConferenceJoined: (url) => debugPrint("onConferenceJoined: url: $url"),
        onConferenceTerminated: (url, error) {
          debugPrint("onConferenceTerminated: url: $url, error: $error");
        },
        onClosed: () => debugPrint("onClosed"),
      ),

  I like to get the same delegate methods which are available in ios SDK. My requirement is to get participants' info and store it locally.

     participantJoined
     participantLeft
     chatMessageReceived

Now I get it. I can't guarantee that I will implement this soon. However, I'll leave this issue open, and I am happy for PRs.

Now I get it. I can't guarantee that I will implement this soon. However, I'll leave this issue open, and I am happy for PRs.

Actually, I am new in a flutter. If possible can you do it else guide me I will do that? I have checked jitsi_meet_wrapper_platform_interface and you have added  jitsi_meeting_listener.dart file. In that, I can see
  JitsiMeetingListener({
    this.onOpened,
    this.onConferenceWillJoin,
    this.onConferenceJoined,
    this.onConferenceTerminated,
    this.participantJoined,
    this.onClosed,
  });

What steps I need to do for adding more methods in this listener?

Hey, the app is crashing in the android 12 google pixel device. When I click on join the meeting, the app is crash but it is properly working in Pixel XL API 31 enumator. Have you checked in android 12 supported phone? Thanks

@saibotma After creating the apk, the app is crashed on all android devices. I have checked in android 9, android 10, android 11, and android 12 supported devices. Kindly look into it and do needful. Waiting for your response.

Hey @Meri994, sorry for the late response. I am very busy at the moment. I will try to check on an Android 12 phone this week.

Hey @Meri994, sorry for the late response. I am very busy at the moment. I will try to check on an Android 12 phone this week.

Thanks

Hey @Meri994, sorry for the late response. I am very busy at the moment. I will try to check on an Android 12 phone this week.

Thanks

@saibotma Hey,  I forgot to add proguard file, so it was crashing. I have added that file and then check with the android 12 device, It's working properly. Thanks for your support.
I require to get above mention methods, When you get chance, please add those methods. Thank you.

Implemented in 0.0.4.


The number of NoData pixel in the output L2 is too high

Hello Olivier,
I am running MAJA-3.3.0-TM for 6 scenes:
S2B_MSIL1C_20190713T173909_N0208_R098_T14UNU_20190713T211057
S2A_MSIL1C_20181207T173711_N0207_R055_T14UNU_20181207T192326
S2B_MSIL1C_20190223T174329_N0207_R098_T14UNU_20190223T211941
S2A_MSIL1C_20181117T173611_N0207_R055_T14UNU_20181117T210544
S2A_MSIL1C_20190509T173911_N0207_R098_T14UNU_20190509T224452
S2A_MSIL1C_20190320T174031_N0207_R098_T14UNU_20190320T230030
I got the following error: The number of NoData pixel in the output L2 composite product is too high.
I have checked the log file (attached. It was ran with --debug mode) and found that the L2outNoDataRate (pourcentage) for one of the scenes is higher than the MaxNoDataPercentage allow, so I guess that's why it failed. However, from the log file I cannot figure out which one is the image.
Also, I am wondering why it fails here instead of creating a folder such as for the cloud cover when it doesn't fit the requirements and if there is a way of avoiding it.
Thank you very much
Ruben
S2A_MSIL1C_20181117T173611_N0207_R055_T14UNU_20181117T210544.SAFE.log

Hi Ruben,
The list of products you are providing to MAJA is strange: 6 dates in 6 months.
As MAJA uses multi-temporal information you have to provide all the dates in the time series, and not only the ones you selected.
What happens is that with what you provided, MAJA is not able to initialize the data set properly, and finishes the backward processing with no information on the surface reflectance to put in the composite image.
Could you please  try downloading the whole data set with all the dates and start again the processing ?
Olivier


Can not compile the repo

rust version: 1.79.0-nightly
os: macos 13.2.1
After running uint test test_groth16_verifier, some error happened.
error[E0599]: no method named `modinv` found for struct `num_bigint::BigUint` in the current scope
   --> src/fflonk/compute_c_wi.rs:131:23
    |
131 |         let r_inv = r.modinv(&h).unwrap();
    |                       ^^^^^^
    |
help: there is a method `div` with a similar name
    |
131 |         let r_inv = r.div(&h).unwrap();
    |                       ~~~

It seems that we can not use modinv with num-bigint 0.4.4. After I update to 0.4.6, it works well.
But there are some more errors.

error[E0277]: the trait bound `bitcoin::XOnlyPublicKey: treepp::pushable::Pushable` is not satisfied
   --> src/bridge/transactions.rs:281:9
    |
281 |         { n_of_n_pubkey }
    |         ^^^^^^^^^^^^^^^^^ the trait `treepp::pushable::NotU8Pushable` is not implemented for `bitcoin::XOnlyPublicKey`, which is required by `bitcoin::XOnlyPublicKey: treepp::pushable::Pushable`
    |
    = help: the trait `treepp::pushable::Pushable` is implemented for `u8`
note: required for `bitcoin::XOnlyPublicKey` to implement `treepp::pushable::Pushable`
   --> src/lib.rs:7:5
    |
7   |     define_pushable!();
    |     ^^^^^^^^^^^^^^^^^^
note: required by a bound in `generate_pre_sign_script::{closure#0}::push`
   --> src/bridge/transactions.rs:281:9
    |
281 |         { n_of_n_pubkey }
    |         ^^^^^^^^^^^^^^^^^ required by this bound in `push`
    = note: this error originates in the macro `define_pushable` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0609]: no field `enforce_stack_limit` on type `bitcoin_scriptexec::Options`
   --> src/lib.rs:142:10
    |
142 |     opts.enforce_stack_limit = false;
    |          ^^^^^^^^^^^^^^^^^^^ unknown field

Hey, I cannot reproduce this with the latest commit. Make sure to run cargo update

Hey, I cannot reproduce this with the latest commit. Make sure to run cargo update

Thanks! Need to update dependency manually.


Not able to add padding

Pretty sure it's because the padding argument is looking for a Widget and not an EdgeInsets

See #3

Commenting on this since I added the following on the PR:
The thing is that when you are doing this:
Container(
        height: this.height,
        width: this.width,
        padding: this.padding ?? const EdgeInsets.all(8.0),
        child: this.child,
),

that padding is not a widget. It is a EdgeInsetsGeometry that extends the abstract class EdgeInsetsGeometry, hence it is not possible to add a padding widget.
This way we can add the padding the way you intended :D


AnimatedPictureViewer and AnimatedPictureComponent

classes that create fish animation (forgot to push files before first pull request)

code doesn't run (can't find main), might want to close and start entirely new pull request


Request to hot reload fails (on Windows)

[   +2 ms] _flutter.setAssetBundlePath: {viewId: _flutterView/0xeb872ee0, assetDirectory: /data/user/0/io.flutter.examples.gallery/cache/flutter_galleryZPFBGN/flutter_gallery/build/flutter_assets}
[  +16 ms] Error -32601 received from application: Method not found
[        ] {request: {method: _flutter.setAssetBundlePath, params: {viewId: _flutterView/0xeb872ee0, assetDirectory: /data/user/0/io.flutter.examples.gallery/cache/flutter_galleryZPFBGN/flutter_gallery/build/flutter_assets}}}
[   +2 ms] _reloadSources: {pause: false, rootLibUri: /data/user/0/io.flutter.examples.gallery/cache/flutter_galleryZPFBGN/flutter_gallery/lib/main.dart, packagesUri: /data/user/0/io.flutter.examples.gallery/cache/flutter_galleryZPFBGN/flutter_gallery/.pac
kages, isolateId: isolates/646758416}
[+5918 ms] F/libc    (29804): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x10c in tid 29826 (ui_thread), pid 29804 (xamples.gallery)
[ +259 ms] *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
[   +2 ms] Build fingerprint: 'google/sailfish/sailfish:8.1.0/OPP5.170921.005/4373449:userdebug/dev-keys'
[        ] Revision: '0'
[        ] ABI: 'arm'
[        ] pid: 29804, tid: 29826, name: ui_thread  >>> io.flutter.examples.gallery <<<
[        ] signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x10c
[        ] Cause: null pointer dereference
[        ]     r0 d1058500  r1 c3825819  r2 00000001  r3 80000000
[        ]     r4 00000001  r5 00000000  r6 c47cc478  r7 d1058500
[        ]     r8 00000000  r9 00000000  sl ffffffff  fp d105868c
[        ]     ip d215bb04  sp d12d1400  lr d1844ef9  pc d1844ef8  cpsr 600f0030
[   +5 ms] backtrace:
[   +4 ms]     #00 pc 00474ef8  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #01 pc 0057752b  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #02 pc 00413eab  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #03 pc 00416e19  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #04 pc 004140ed  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #05 pc 004ed44d  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #06 pc 004ed36d  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #07 pc 004657fb  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #08 pc 00464bef  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #09 pc 006a2ee3  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #10 pc 00387b51  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #11 pc 003874af  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #12 pc 0046353b  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #13 pc 0045cf15  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #14 pc 0059452f  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #15 pc 0058d8ed  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #16 pc 0058de9f  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #17 pc 00459dc3  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #18 pc 00475ebf  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[   +5 ms]     #19 pc 00475f4f  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #20 pc 0068b1ef  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #21 pc 00385db5  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #22 pc 0008d3d9  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #23 pc 0008fc75  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #24 pc 000101bd  /system/lib/libutils.so (android::Looper::pollInner(int)+576)
[        ]     #25 pc 0000fee5  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+32)
[        ]     #26 pc 0000c443  /system/lib/libandroid.so (ALooper_pollOnce+50)
[        ]     #27 pc 0008fc2f  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #28 pc 0008d469  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #29 pc 0008e829  /data/app/io.flutter.examples.gallery-Vg1_0RwBCqQaxD72wo_qEA==/lib/arm/libflutter.so
[        ]     #30 pc 00047e6b  /system/lib/libc.so (__pthread_start(void*)+22)
[        ]     #31 pc 0001b1d9  /system/lib/libc.so (__start_thread+32)
[+1282 ms] Service protocol connection closed.
[   +5 ms] Lost connection to device.
[   +4 ms] DevFS: Deleting filesystem on the device (file:///data/user/0/io.flutter.examples.gallery/cache/flutter_galleryZPFBGN/flutter_gallery/)
[   +3 ms] _deleteDevFS: {fsName: flutter_gallery}
[ +249 ms] TimeoutException after 0:00:00.250000: Future not completed
[  +39 ms] "flutter run" took 93,465ms.
[ +231 ms] ensureAnalyticsSent: 225ms
[   +5 ms] exiting with code 0
C:\src\flutter\flutter\examples\flutter_gallery [master ≡ +4 ~3 -0 !]>

This is on be0c4888b07af0845ecf89a9c98e98d1723ddeb9 running on Pixel.

I get the same thing but only when using the Run applications with --preview-dart-2 option. The exact same simple test project never fails when using dart 1.

@maxapps have you tried flutter clean before running the app again?

Nope. I've only been looking at flutter for a couple days. I presume flutter clean has to be run from the console?
Will try tomorrow -- hope it works. The flutter build trees are much cleaner without all the new statements.

Tried flutter clean but it still doesn't work. The app crashed on the emulator as soon as any changes are made and saved. Doesn't seem to matter how minor the changes are. Full restart option (using the Flutter Full Restart button) doesn't work either. Have to completely disconnect then run the app again. At that point it works fine.
It appears to me that something in the hot reload process causes the app to crash.
Bummer.

Yes, bummer.
Which version or branch of flutter are you on? What is the output of flutter --version?
What is the adb logcat output when it crashes for you?

For me it's working again
I'm at
Flutter 0.2.2-pre.5 • channel dev • https://github.com/flutter/flutter.git
Framework • revision 0608a7a2cc (5 days ago) • 2018-03-23 11:10:37 +0100
Engine • revision 6280adbfb1
Tools • Dart 2.0.0-dev.39.0.flutter-06949dc985

I assume this is stale.


Big Sur - Process finished with exit code 137.

I am trying to run the starter console app on Big Sur 10.15.7.
On Avalonia version 0.9.12 it crashes at startup
On Avalonia versison 0.10.0-rc1, it exits immediately on startup with an exit code 137, no error throw anywhere.

Nevermind just figured out if i run it directly with dotnet run, then it works fine. Must be something with the configuration from the starter template or rider...


docs: Adds a note for each store that uses context

This PR simply adds a note to each of the stores stating that their respective store getter functions must be invoked at the top level of a component.
I also noticed that we weren't exposing the type for each of the stores, so I went ahead and added that with this PR.
Changes

Exposed the following type: ToastStore, DrawerStore, and ModalStore
Added those newly exposed type to their respective pages in the docs
Improved the JSDoc comment for each getter function, such that it specifies that the function must be invoked from the top level of a component:

Added this note for each store:

Copying over the original message from Discord here too:
I think this is another topic worth bringing up. Looking into this, the introduction of using contexts to store our toastStore, modalStore, and drawerStore has 1 apparent limitation. In order to retrieve the stores with contexts, we have to call these functions at the top level of components.
For instance, this is valid code:
<script>
  // SomeComponent.svelte
  import { getToastStore } from "@skeletonlabs/skeleton";

  const toastStore = getToastStore();

  toastStore.trigger(...); // this is fine

  // or
  function addToast() {
    toastStore.trigger(...); // this is fine too
  }
</script>

So, in order to use the toastStore (and the others), the store must first be retrieved at the top levels of components to be used.
This means that we can't do something like this:
<script>
  // SomeComponent.svelte
  import { getToastStore } from "@skeletonlabs/skeleton";

  function addToast() {
    // this will throw a "Component Initialization" error as
    // getting and setting contexts must be done at the top level of components
    const toastStore = getToastStore();
    toastStore.trigger(...)

    // this will also throw the same error for the same reason
    getToastStore().trigger(...)
  }
</script>

As we haven't seen many reports of this as part of v2, I figure the usage of calling the getToastStore outside of the top level of a component is fairly uncommon. But for someone who is trying to refactor their code, a reasonable person could assume that they can take getToastStore outside of a component into it's own module, like a toast.ts file.
// toast.ts
import { getToastStore } from "@skeletonlabs/skeleton";

// This will error out for the same reason as the code above.
export function addToast() {
  const toastStore = getToastStore();
  toastStore.trigger(...);
}

If a user want's to create a module for reusable triggers, they'll have to do it like this:
// toast.ts
export function addToast(toastStore, message) {
  toastStore.trigger(message);
}

Where they pass the toastStore to the reusable function. It's a tradeoff, but something that is probably worth documenting

@AdrianGonz97 your changes look great, but note I wasn't really happy with how part of the setup instructions were embedded in the feature example's code tab. I've adjusted the structure so that the critical info like initializing stores and adding the component are part of the full usage information. The code tab now just refers users down to this instruction. Essentially one single source of truth now, rather than two!