Suggestion: Option to disable inline styles

The default styles appear to be added to a <style> tag in the head at runtime. These are frustrating and costly to override because many of them are very specific, leading to specificity wars. Furthermore, we can't use existing styles because anything the included styles define gets overridden, unless we make new, more specific definitions with exactly the same styles.
Shepherd docs mention not including the shepherd.css to avoid this, but this doesn't seem to be an option with this ember addon.

@benmurden the docs are referring to Shepherd v6, and the published version of this addon was on v5. I just published ember-shepherd 10.0.0 which updates to Shepherd v6. We did a major refactor of Shepherd for this version, and the styles should be easier to override, since they are defined in a CSS file instead of injected as a style tag.

@rwwagner90 Great, that would certainly help.


[NO MRG] Test CI

One of the jobs had trouble during building finding the rapids=24.08 package. Likely a network issue as the packages appear to be there and we haven't had issues in other builds. Restarted all jobs to have a clean build

thanks @jakirkham .
I just remembered I have #688, want to use that to continue testing CI? It isn't adding CUDA 12.5 support so shouldn't be blocked by cuspatial, and it at least should eventually be merged (to fix some very minor stylistic warnings).
I restarted CI there a few minutes ago.

We can certainly do that
Looks like we are down to the final 3 jobs here. So may just wait and see what happens

Looks like tests did pass here and in https://github.com/rapidsai/docker/pull/688! I'm going to merge https://github.com/rapidsai/docker/pull/688, and I think we can close this.


Multiple SetMemberLengthMapping break dynamic-length lists

Version: 1.4.1 (NuGet)
Hi, I tried to map multiple lists in the structure with different length indicators. I moved my SetMemberLengthMapping instructions to the static constructor of the class.
Assume the following definitions:
public class SimpleStructure
    {
        [Data] public byte Value { get; set; }
    }
    public class SampleClass
    {
        static SampleClass()
        {
            BinaryMapping.SetMemberLengthMapping<SampleClass>(nameof(SampleClass.Structures), (o, m) => o.Length);
            BinaryMapping.SetMemberLengthMapping<SampleClass>(nameof(SampleClass.Structures2), (o, m) => o.Length2);
        }
        [Data]
        public int Length
        {
            get => Structures.TryGetCount();
            set => Structures = Structures.CreateOrResize(value);
        }
        [Data] public List<SimpleStructure> Structures { get; set; }

        [Data]
        public int Length2
        {
            get => Structures2.TryGetCount();
            set => Structures2 = Structures2.CreateOrResize(value);
        }
        [Data] public List<SimpleStructure> Structures2 { get; set; }
    }

When I'm using the one mapping (e.g. comment the Length2, Structures2 and second SetMemberLengthMapping), my tests seem to be fine with the following data (int 0):
byte[] hexData = new byte[] { 0x00, 0x00, 0x00, 0x00 };

Basically, it loads the int and drops the list creation/resize. But when I keep using two ints 0 (with uncommented length, list and mapping):
byte[] hexData = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

, it throws EndOfStreamException when trying to create a list Structures2 and loads the SimpleStructure (even though it shouldn't).
Sorry for the class naming, it was just a PoC on my side. For the time being, I created a class that aggregates both the length (int) and the values (List) - this way I limit the usage of SetMemberLengthMapping to one call.
I know you have a version 1.5, but it's breaking the API and I'm waiting for new documentation. The issue may still happen on newer version, as well ;)

Hello!
Sorry for coming back after 3 weeks. I acknowledged the bug and I just pushed a fix for it!
Also you are right about the version 1.5.0: it was supposed to be pushed as a pre-release, but life changes forced me to think about it later and it has been left like that for a while. I am working on a 1.5.1 which will fix your issue and will add instructions on which API has been changed (or broken) and why. I am sorry if this caused you any trouble.

Good news, I published the new version 1.5.1 that will fix the bug you mentioned. Please let me know if everything will work as expected.
Also I updated the documentation and the breaking change.

Close due inactivity. It is already fixed anyway.


[CI][size-monitor] Update paths

Bundle size will be reported once CircleCI build #141 finishes.

  Generated by :no_entry_sign: dangerJS against 874a8e1d020b44d3905adebb3742b6bfa08a63bc


Native function refactoring

Motivation
Single interface and expand the functionality of native functions.
Currently there are functions such as write_to_event_store and save_account that require an interpretation context. This creates a single, secure interface for interpreting the native function and interpreter.
The ability to define a native function resolver in the interpreter, which makes it more customizable and reusable.
Have you read the Contributing Guidelines on pull requests?
Yes.
Test Plan
Existing tests.
Related PRs
--

@RIg410 thanks for the PR! We had plans to do this work and did not get around to do it yet so it would be great to work together to get this in.
We are however finishing some work right now and we don't have the bandwidth to review and comment and work together to get it in.
We will get to this next week and we will have more talks about native functions!

:umbrella: The latest upstream changes (presumably f031afe5d277ddc96cf5b80370c19e55a5a544ab) made this pull request unmergeable. Please resolve the merge conflicts.

:umbrella: The latest upstream changes (presumably 10523d33b2d6b3b7ca6834b55498a3f192ff16e3) made this pull request unmergeable. Please resolve the merge conflicts.

:umbrella: The latest upstream changes (presumably ab9105ca84d8e17888031b4ba5a9802ad134b1fa) made this pull request unmergeable. Please resolve the merge conflicts.

Hi @dariorussi, is there any chance we can deal with it this week?

Hi @dariorussi, is there any chance we can deal with it this week?

we are trying, but please do not expect this to move too fast. We really want to change this part of the code and I will start looking at this today but I am not sure when we are going to get it in.
We will let you know more soon, sorry!

:umbrella: The latest upstream changes (presumably 1f996938e76cc98cbe5db99a36a2b71dc14b8e8e) made this pull request unmergeable. Please resolve the merge conflicts.

one more question: what are your plan with natives like the vector API?
is your plan to plug in an entirely different "stdlib" (meaning all the modules that are not just part of the libra ecosystem, but the Move layer as well)?

one more question: what are your plan with natives like the vector API?
is your plan to plug in an entirely different "stdlib" (meaning all the modules that are not just part of the libra ecosystem, but the Move layer as well)?

Not entirely, but we’re planning to expand/replace a significant part of stdlib with implementation of our own cases. It's aimed to support financial instruments different to libra but with common approaches reflected in Move.

if at any point you wanted to share what your Move embedding and usage experience has been, and is, we would not mind to listen.
We are trying to make Move a controlled and expressive language for some onchain operations and it would be good to know the point of frictions with other systems.
Overall we invite you to think about the needs of a calling module and "stack walks" (so to speak).
We believe a model where you provide data and privileges could be trusted more. You do operations over data you receive and you don't go back to look for hints.
But we don't know your model exactly so it's hard to say
Hope you are having fun with your system!

@bors-libra r=drussi

:pushpin: Commit 0ee7253 has been approved by drussi

:hourglass: Testing commit 0ee7253eaca08686b19e251f8f01758f94e6a18b with merge 8694385b2705b0a4a98234477653a744fc5358f0...

@bors-libra r=dariorussi

:pushpin: Commit 0ee7253 has been approved by dariorussi

:bulb: This pull request was already approved, no need to approve it again.

This pull request is currently being tested. If there's no response from the continuous integration service, you may use retry to trigger a build again.

:hourglass: Testing commit 0ee7253eaca08686b19e251f8f01758f94e6a18b with merge d030194c2a39e194480d02e7ecd5683ce2d1c1c2...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: dariorussi
Pushing d030194c2a39e194480d02e7ecd5683ce2d1c1c2 to master...

Let me second @dariorussi's thank you! We are excited to help folks outside of Libra use Move and pleased to get community contributions to the VM, bytecode verifier, etc.


140124261-confidence-banner-on-framework-overview

New banner on framework overview page

https://preview.development.digitalmarketplace.service.gov.uk/suppliers/frameworks/g-cloud-9

Tests

I don't think this should be a flash message at all - the template already has all the information it needs to decide whether or not to show the banner - I don't think any new view logic or parameters are required.
I reckon under the existing flash message rendering code in the template, put
{% if application_made and framework.status == 'open' %}
   banner message
{% endif %}

And then just need the two tests for when the banner is and isn't shown.

So I've made a PR with your suggestion @TheDoubleK
https://github.com/alphagov/digitalmarketplace-supplier-frontend/pull/641
I'd like to register my thoughts on this before we close this PR though.

I would prefer the logic that determines whether to show the banner be included in the view and not the template. The new template blurs the line between responsibilities.
We have too many ways to introduce a banner onto a page.

Both of the above points can all be solved with a decent refactor of banner handling which I understand is upcoming/ proposed so I'm happy to shelve this for now.


Static code analysis

Gardener informs its stakeholders in its CNCF CII Badge, that static code checks are applied by using Checkmarx. This repository has findings, which have to be assessed by the component owner(s). As required all prio high findings were already been immediately assessed. Please find the timeline until when to assess the remaining prio medium findings  in the Wiki (restricted access).  At the time being you can ignore the prio low findings. Please find background information and a link to the Checkmarx project for your repository in the Wiki (restricted access). In the Wiki (restricted access) you will as well find information how to get a Checkmarx user which is required to be able to do your assessment in the Checkmarx Web UI.

2 medium Checkmarx findings

Done, assessed.


Installation issue on Wnd11 miniconda (Python 3.10)

requirements.txt
Dear Geekan,
I fixed this installation by changed the requirements.txt.  Hope that helps.

Also need a windows setup file for command line

Since no further responses are needed, we will close it. Please reopen it if necessary.


Improve log messages from drivers

Author Name: Ruben S. Montero (@rsmontero)
Original Redmine Issue: 2566, https://dev.opennebula.org/issues/2566
Original Date: 2013-12-13

Probably as discussed in the mailing list
http://lists.opennebula.org/pipermail/users-opennebula.org/2013-November/025175.html

Original Redmine Comment
Author Name: Daniel Dehennin (Daniel Dehennin)
Original Date: 2014-01-12T17:21:31Z

Hello,
I think this issue could be retitle something like “improve log messages from drivers”.
As explained in the thread:

action messages should be logged when @debug_level=INFO@
commands to execute should be logged when @debug_level=DEBUG@

Regards.

Original Redmine Comment
Author Name: Ruben S. Montero (@rsmontero)
Original Date: 2014-01-12T22:22:31Z

Agree!

Should be ok in current version, reopen if needed


@dataclass failes to compile without default values for members

This code compiles :
from dataclasses import dataclass

@dataclass
class Foo :
  bar : str = 'bar'

And this doesnt :
from dataclasses import dataclass

@dataclass
class Foo :
  bar : str

I just wanted to +1 this issue.  Dataclasses are a major reason I would want to run Python in the browser.  The current implementation in Transcrypt is a step in the right direction, but still too shallow to use.  Here are a few of my troubles:

dataclasses.field() not implemented! "import not found: field"
The most useful things in the typing module are not implemented, so your dataclasses are difficult to write if you want variables with types including Dict, List, Optional, Union, Sequence etc.
Frozen dataclasses not implemented. @dataclass(frozen=True) has no effect.
dataclasses.asdict() not implemented.  (I believe it's not useful in JS but important to share code between client and server.)

I've found asdict to be excellent as a named parameter input where the dataclass itself could mirror a specific API.
For example:
from dataclasses import asdict, dataclass

@dataclass
class Bar:
    a: int = 1
    b: str = '2'
    c: float = 3.0

def foo(a: int, b: str, c: float):
    ...

x = Bar()
foo(**asdict(x))

I'm not sure how well that would translate with Transcrypt, but I've found that the pattern is useful in both testing and (de)serialization.

I was wanting to use dataclasses as a way to document props for React components, but not being able to use them without default values does make it less appealing.


Scrolling within timeline element description is unreliable

Is your feature request related to a problem? Please describe.
A user should be able to explore both timeline and its elements seamlessly on mobile phone. Currently, it is very easy to scroll entire timeline and hard to scroll timeline element description.
Describe the solution you'd like
Scroll detection in timeline element should be more aggressive. Even if it would collide with normal timeline scrolling, the result would be less bothersome than trying to scroll element description and the accidentally scrolling entire timeline.
Through experience a user could easily learn to scroll entire timeline using parts of screen not reserved for element scrolls.
Describe alternatives you've considered

creating small descriptions so they don't have to be scrolled to be seen completely
replacing scroll with buttons that are easier to press, since element descriptions usually do not contain so much text to call for precise scroll widget.

Hi @mnowotnik , I'm encountering a similar issue with scrolling long descriptions on mobile. What was your eventual workaround? You mentioned a button, was that something you used? Thanks!


[Enchantment] Add a timestamp for a song in Last Played list.

Add a timestamp for a song in Last Played list.
My reasoning is that sometimes when the WebSocket shits itself and doesn't update the name of the song anymore, it might be hard to notice if the song name has changed. Having some kind of indicator of what and when happened would help?

The websocket data doesn't readily have this. It's technically possible to calculate based on the current song's start time and past songs' durations (if they're not 0), but I'd rather try to fix the root cause instead (#17).


compiling error: ‘PyString_xxx’ was not declared in this scope

Hi, I am building the framework on Ubuntu 16.04 with CUDA 8.0, and I get some compilation errors which are shown as follows:
caffe2/python/pybind_state.cc: In member function ‘virtual bool caffe2::python::PythonOpBase::RunOnDevice()’:
caffe2/python/pybind_state.cc:202:74: error: ‘PyString_AsString’ was not declared in this scope
PyString_AsString(trace_vec[i]->tb_frame->f_code->co_filename);
^
caffe2/python/pybind_state.cc: In lambda function:
caffe2/python/pybind_state.cc:322:41: error: ‘PyString_Check’ was not declared in this scope
if (PyString_Check(arg.ptr())) { // string
^
caffe2/python/pybind_state.cc: In lambda function:
caffe2/python/pybind_state.cc:824:37: error: ‘PyString_Check’ was not declared in this scope
if (PyString_Check(arg.ptr())) { // string
^
caffe2/CMakeFiles/caffe2_pybind11_state.dir/build.make:62: recipe for target 'caffe2/CMakeFiles/caffe2_pybind11_state.dir/python/pybind_state.cc.o' failed
make[2]: *** [caffe2/CMakeFiles/caffe2_pybind11_state.dir/python/pybind_state.cc.o] Error 1
CMakeFiles/Makefile2:3346: recipe for target 'caffe2/CMakeFiles/caffe2_pybind11_state.dir/all' failed
make[1]: *** [caffe2/CMakeFiles/caffe2_pybind11_state.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2

Ah, we do not support Py3 yet - it is upcoming. Kindly check out #315 for updates.


GitHub Actions cron job to calculate 👍 velocity

We want to know 👍/day so that older issues with tons of 👍 don't drown out newer issues that are getting a lot of 👍 in a short amount of time. We can set up a daily or every-Tuesday GitHub Action cron job so we know when it comes time to plan if there's something that's trending or if something is showing up quickly after a release.

gh issue list --state "open" --json "url,title,createdAt,labels,reactionGroups" --repo="microsoft/vscode-python" gets you the appropriate data in JSON format (with an appropriate --limit to get all the issues.
We could have a Python script that processes the JSON output and creates a job summary in a Markdown table to make it easy to look at the results.


Prioritise Dwellir node for Polkadot

Did parity nodes become slow?

Did parity nodes become slow?

Sorry, forgot to publish description. Yes, currently Parity and OnFinality nodes are slow


Typo

In the Malware Detection section and Note box the text reads
Cloud App Security supports malware detection the following apps:
I believe it should read
Cloud App Security supports malware detection in the following apps:

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

ID: 395e085f-93bd-1f3c-fe0d-7711b6d51950
Version Independent ID: ad86d15d-41a5-9a6e-8d30-18ed9a9975f2
Content: Create anomaly detection policies in Cloud App Security
Content Source: CloudAppSecurityDocs/anomaly-detection-policy.md
Service: cloud-app-security
Product: ****
Technology: ****
GitHub Login: @shsagir
Microsoft Alias: shsagir

@pjrcdf Thanks for your feedback. We've submitted a documentation change based on your suggestion, and the updated article should be live by tomorrow. Please let us know if there's anything more we can do for you. To follow up on this issue, leave us a comment with an @mention.


[Feature Fix] Decode the title in template dropdown menu

Purpose
Solve the Bug found during the testing for pull request  #2969. It is to render the special characters correctly in template dropdown menu
Change
Apply the decode method to the title before it display

Before the change:

After the change:

Side effect
None

Looks good! :+1: @sloria, I think this is good to merge.


Web API wrapper modules

This is it! All of the Slack web API endpoints have been wrapped. However, there are still a few outstanding issues that should be resolved before this gets merged or at the very least least tracked to get resolved after merging.

[x] No endpoints are tested except for channels.*, api.* and auth.*. In Progress
[ ] files.upload is left unimplemented. This requires pulling in other dependencies (namely multipart), but the dependencies require some TLC to work with what we have going on.
[x] Some of the parameters still take Option<&str> when an Option<bool> (or just bool?) or Option<u32> or some other more strongly-typed value would be more appropriate. Still trying to figure out how to work with this, because Option<u32> in particular does not want to play nice.
[x] Weak documentation
[ ] Still a few response values that don't perfectly line up with the actual returned value. In particular, there are some responses that return a list of heterogeneous "Item"s, which I'm not sure what to do with yet. There are also some responses that have a field called type, which is a keyword and requires a custom decoder like RtmStart/rtm::StartResponse.
[ ] General cleanup and code consistency pass
[x] Still have the mock.rs module from hyper. I want to remove this. Looking into either using yup-hyper-mock or seeing if hyper can expose the mock module itself.

The commits in this PR will get squashed prior to merge.
I welcome any feedback/criticism/bikeshedding!

Awesome work! I'll review tomorrow afternoon (have a midterm at 2 tomorrow)
and try to get this through asap.
About the mocking: Have you talked to the hyper dev(s) about exposing mock?
I think other projects could benefit from that as well. If not we should
look into that.
On Oct 15, 2015 23:40, "Matt Jones"<EMAIL_ADDRESS>wrote:

This is it! All of the Slack web API endpoints have been wrapped. However,
there are still a few outstanding issues that should be resolved before
this gets merged or at the very least least tracked to get resolved
after merging.

No endpoints are tested except for channels.*
files.upload is left unimplemented. This requires pulling in other
dependencies (namely multipart https://crates.io/crates/multipart),
but the dependencies require some TLC to work with what we have going on.
Some of the parameters still take Option<&str> when an Option
or Option or some other more strongly-typed value would be more
appropriate. Still trying to figure out how to work with this, because
Option in particular does not want to play nice.
Weak documentation
Still a few response values that don't perfectly line up with the
actual returned value. In particular, there are some responses that return
a list of heterogeneous "Item"s, which I'm not sure what to do with
yet. There are also some responses that have a field called type,
which is a keyword and requires a custom decoder like RtmStart/
rtm::StartResponse.
General cleanup and code consistency pass
Still have the mock.rs module from hyper. I want to remove this.
Looking into either using yup-hyper-mock
https://crates.io/crates/yup-hyper-mock or seeing if hyper can
expose the mock module itself.

Breaking Changes

The existing APIs in RtmClient that wrapped web API endpoints have
been removed
The top-level slack namespace no longer exports Group, User, etc.
They have been moved under slack::web::api.

The commits in this PR will get squashed prior to merge.
I welcome any feedback/criticism/bikeshedding!
You can view, comment on, or merge this pull request online at:
https://github.com/BenTheElder/slack-rs/pull/17
Commit Summary

Add API scaffold and im.* api
Add api.* methods
Add auth.* methods
Add channels.* API + cleanup
Add chat.* API support
Ran rustfmt on the existing API implementations
Add license to mock module
Add auto-generated files for the rest of the apis to get a head-start
Regenerate the auto-generated apis more properly
Fix up api.test response
Finish emoji.* API
Implement files.* API (mostly)
Implement oauth.* API
Re-add make_authed_api_call and add more general make_api_call
Implement groups.* API
Fix incorrect semicolon
Switch tabs to spaces
Implement users.* API
Fix dead_code annotation
Implement team.* API
Partially implement stars.* API
Partially implement pins.* API
Fix compiler errors and warnings
Implement rtm.* API
Partially implement reactions.* API
Implement search.*

It looks like using yup-hyper-mock is the accepted solution: https://github.com/hyperium/hyper/issues/334 (there are no plans to release mock for external usage, so that breaking changes internally are not breaking changes for hyper)

As per the breaking changes, I think maybe slack should re-export Group, User, etc for convenience.
Still reading through the code, looks great so far, I'd probably want to switch to yup-hyper-mock or similar, re-export some of the slack data types (in particular those the RTM client would have direct use for at least), and one or two nits i'll leave as comments on the source.
Also: Not something that needs to be fixed in this PR but; I need to find out the rust convention for indendation (spaces / tabs) and reformat after it goes through, lib.rs (here and master) at least has some weird indentation that aligns in my editor but not online because it's both 4 space tabs and hard tabs.

Overall looks very nice, clean. I'll be happy to merge this and release a new version when it's complete.
Other notes: The custom decoder is unfortunate, but while rustc-serialize still gets special treatment on stable, we'll keep it for now, when custom derive is stable i'll replace it with serde which has an accompanying macro for aliasing field names.
That just leaves:

Some of the parameters still take Option<&str> when an Option or Option or some other more strongly-typed value would be more appropriate. Still trying to figure out how to work with this, because Option in particular does not want to play nice.

And:

Still a few response values that don't perfectly line up with the actual returned value. In particular, there are some responses that return a list of heterogeneous "Item"s, which I'm not sure what to do with yet. There are also some responses that have a field called type, which is a keyword and requires a custom decoder like RtmStart/rtm::StartResponse.

As well as docs and mocking/testing, I think so far the documentation is pretty reasonable, users should probably refer to the slack api docs. We can add more examples later as there is more real usage.
Mocking / testing, we can work on adding more once you've settled on the mocking to be used, possibly added in a later PR.
I'll look into the other two later this weekend, I'm off for a bit.

This closes https://github.com/BenTheElder/slack-rs/issues/14 and https://github.com/BenTheElder/slack-rs/issues/7

Hope the midterm went well! :)

Have you talked to the hyper dev(s) about exposing mock?

Not yet. I see you found an issue where the author of yup-hyper-mock already raised that issue. I don't agree with the accepted result that there's now a potential disparity between the mocked hyper and the actual hyper since the code is just copied, but we can deal with that for now. I may re-raise the issue with the hyper team – or just make a PR to have hyper use yup-hyper-mock.

I think maybe slack should re-export Group, User, etc for convenience.

Sure, that's an easy change to make. There's currently no need for them to be exported at the top-level though, since with the recent changes clients should never need to directly create them.

I need to find out the rust convention for indendation (spaces / tabs) and reformat after it goes through, lib.rs (here and master) at least has some weird indentation that aligns in my editor but not online because it's both 4 space tabs and hard tabs.

Heh...always a contentious issue. I've been using spaces in this PR and that's what I typically use in most projects. I don't think Rust has any community style guidelines (apart from rustfmt) yet, but FWIW, the rust stdlib codebase uses spaces.

Please note in the docs that this is currently unsupported or implement.

Sure. I'd prefer to support it but we could just mark it unsupported for now and implement it later.

The custom decoder is unfortunate, but while rustc-serialize still gets special treatment on stable, we'll keep it for now, when custom derive is stable i'll replace it with serde which has an accompanying macro for aliasing field names.

Yeah, I'd really love for serde to hit stable. serde does support codegen though, which may be worth looking into as a bridge until serde hits stable. Also has serde_json, which could be used as a more explicit JSON converter.

Currently working on integrating yup-hyper-mock in.

Thanks! I think it did.

Not yet. I see you found an issue where the author of yup-hyper-mock already raised that issue. I don't agree with the accepted result because there's now a potential disparity between the mocked hyper and the actual hyper since the code is just copied, but we can deal with that for now. I may re-raise the issue with the hyper team – or just make a PR to have hyper use yup-hyper-mock.

Sounds good. I think yup-hyper-mock won't have too hard of a time keeping the file synchronized and that keeps it centralized, but it might be worth re-raising, I think other projects like eg servo would love mocking http requests if they aren't already using yup-hyper-mock and it would be better to keep it coupled to the implementation it's mocking I think...

There's currently no need for them to be exported at the top-level though, since with the recent changes clients should never need to directly create them.

True but if you want to EG store a user in some structure in a bot then slack::Group reads better than slack::web::api::Group I think, especially in the context of RtmClient. Not a big deal either way though.

Heh...always a contentious issue. I've been using spaces in this PR and that's what I typically use in most projects. I don't think Rust has any community style guidelines (apart from rustfmt) yet, but FWIW, the rust stdlib codebase uses spaces.

4 Spaces is the way to go then. I think writing in go is the only time I've used hard tabs.

Sure. I'd prefer to support it but we could just mark it unsupported for now and implement it later.

Exactly, either works, I just meant if it doesn't get implemented we should also note it in the docs instead of just the runtime error.

Yeah, I'd really love for serde to hit stable. serde does support codegen though, which may be worth looking into as a bridge until serde hits stable. Also has serde_json, which could be used as a more explicit JSON converter.

I'll look at the codegen, but for now rustc-serialize seems to be doing the job. I definitely look forward to using the alias macro, golang's struct tags spoiled me :-)

Tasks complete:

Switched to yup-hyper-mock and removed mock.rs
Improved documentation, especially around the exported structs
Implemented the custom decoder for Item, which now properly represents it as an enum of Message | File | File+Comment. Still issues with several others, especially Message. I think we can probably do the same thing for it as for Item.
Just commented out files.upload for now. Leaving it there but unimplemented felt like a major gotcha for any users.
Added tests for the api.* and auth.* endpoints. I really wish there was a way to do this more automated, because it's a huge pain.

Sounds good.
I don't think there's any good way to automate the tests either unfortunately, but at least once they're written they shouldn't need much updating.

Tested modules:

[x] api
[x] auth
[x] channels
[ ] chat
[x] emoji
[ ] files
[ ] groups
[ ] im
[x] oauth
[x] pins
[ ] reactions
[ ] rtm
[ ] search
[ ] stars
[ ] team
[ ] users

Mostly putting this here so I can keep track of what's been completed, but if you're interested I'd love some help hammering the rest of these out. I'm generally taking the sample response data from the docs and pasting it in as a raw string to mock responses. There are a few places where the Slack docs are broken though, so it might be useful to use the tester to get some real data, just make sure you scrub the sensitive data! Let me know if there's any you're interested in. I'll be tackling chat next.

None in particular but if I get a chance before you get to it I'll work
from the other end of the list.
On Oct 17, 2015 7:22 PM, "Matt Jones"<EMAIL_ADDRESS>wrote:

Tested modules:

api
auth
channels
chat
emoji
files
groups
im
oauth
pins
reactions
rtm
search
stars
team
users

Mostly putting this here so I can keep track of what's been completed, but
if you're interested I'd love some help hammering the rest of these out.
I'm generally taking the sample response data from the docs
https://api.slack.com/methods and pasting it in as a raw string to mock
responses. There are a few places where the Slack docs are broken though,
so it might be useful to use the tester to get some real data, just make
sure you scrub the sensitive data! Let me know if there's any you're
interested in. I'll be tackling chat next.
—
Reply to this email directly or view it on GitHub
https://github.com/BenTheElder/slack-rs/pull/17#issuecomment-148960255.

Whew, tests are complete! Ended up fixing a few bugs that were exposed when writing the tests as well.
I believe that just leaves implementing the Message type as an enum and writing a custom decoder for it. Which may be another large chunk of work after looking at the number of message types there are. :weary:
Oh, and doing a quick audit.

Hoo boy, this should be fun. The docs for the message events don't actually match the returned data. I'm not sure if attachments is supposed to be the item, because its fields don't match the items from other endpoints. Man, this documentation has been rough on actually matching the returned data.
See:
The docs example:
{
    "type": "message",
    "subtype": "pinned_item",
    "user": "U024BE7LH",
    "item_type": "F",
    "text": "<@U024BE7LH|cal> pinned their Image <https:...7.png|7.png> to this channel.",
    "item": {
        …
    },
    "channel": "C02ELGNBH",
    "ts": "1360782804.083113"
}

vs.
A stripped actual message event:
{
    "type": "message",
    "subtype": "pinned_item",
    "user": "U12345678",
    "item_type": "C",
    "attachments": [
        {
            "color": "D0D0D0",
            "fallback": "[October 18th, 2015 11:47 PM] mthjones: ayy lmao",
            "author_subname": "mthjones",
            "ts": "1445226476.000002",
            "text": "ayy lmao",
            "author_link": "test-team.slack.com/team/mthjones",
            "author_icon": "https://secure.gravatar.com/avatar/PRIVATE_GUID.jpg",
            "mrkdwn_in": ["text"]
        }
    ],
    "text": "<@U12345678|mthjones> pinned a message to this channel.",
    "channel": "C12345678",
    "ts": "1445226479.000003"
}

Yeah, the slack docs are not 100% up to date it seem.
The biggest gotcha so far has been that in the past when i parsed slack
timestamps (in go I think it was) I found out that slack doesn't use a
single timestamp format. (https://github.com/slackhq/slack-api-docs/issues/7
)
I got wrapped up in a project for class, will try to get back to this soon
but I don't know when.
On Sun, Oct 18, 2015 at 11:56 PM, Matt Jones<EMAIL_ADDRESS>wrote:

Hoo boy, this should be fun. The docs for the message events don't
actually match the returned data. I'm not sure if attachments is supposed
to be the item, because its fields don't match the items from other
endpoints. Man, this documentation has been rough on actually matching the
returned data.
See:
The docs example https://api.slack.com/events/message/pinned_item:
{
"type": "message",
"subtype": "pinned_item",
"user": "U024BE7LH",
"item_type": "F",
"text": "<@U024BE7LH|cal> pinned their Image https:...7.png|7.png to this channel.",
"item": {
…
},
"channel": "C02ELGNBH",
"ts": "1360782804.083113"
}
vs.
A stripped actual message event:
{
"type": "message",
"subtype": "pinned_item",
"user": "U12345678",
"item_type": "C",
"attachments": [
{
"color": "D0D0D0",
"fallback": "[October 18th, 2015 11:47 PM] mthjones: ayy lmao",
"author_subname": "mthjones",
"ts": "1445226476.000002",
"text": "ayy lmao",
"author_link": "test-team.slack.com/team/mthjones",
"author_icon": "https://secure.gravatar.com/avatar/PRIVATE_GUID.jpg",
"mrkdwn_in": ["text"]
}
],
"text": "<@U12345678|mthjones> pinned a message to this channel.",
"channel": "C12345678",
"ts": "1445226479.000003"
}
—
Reply to this email directly or view it on GitHub
https://github.com/BenTheElder/slack-rs/pull/17#issuecomment-149091679.

No worries. I'm just chipping away at this when I get the chance. :)
I think the only thing left now is finishing up the tests for MessageEvent and a tidiness pass. phew

So I forgot to mention, there are a few breaking changes that should be communicated when a new version is released:

RtmClient::post_message now returns Result<api::chat::PostMessageResponse, Error>
RtmClient::delete_message now returns Result<api::chat::DeleteResponse, Error>
RtmClient::mark now returns Result<api::channels::MarkResponse, Error>
RtmClient::set_topic now returns Result<api::channels::SetTopicResponse, Error>
RtmClient::set_purpose now returns Result<api::channels::SetPurposeResponse, Error>
RtmClient::add_reaction_timestamp now returns Result<api::reactions::AddResponse, Error>
RtmClient::add_reaction_file now returns Result<api::reactions::AddResponse, Error>
RtmClient::add_reaction_file_comment now returns Result<api::reactions::AddResponse, Error>
RtmClient::update_message now returns Result<api::chat::UpdateResponse, Error>
RtmClient::im_open now returns Result<api::im::OpenResponse, Error>
RtmClient::channels_history now returns Result<api::channels::HistoryResponse, Error>
RtmClient::im_close now returns Result<api::im::CloseResponse, Error>
RtmClient::im_history now returns Result<api::im::HistoryResponse, Error>
RtmClient::im_list now returns Result<api::im::ListResponse, Error>
RtmClient::im_mark now returns Result<api::im::MarkResponse, Error>

All of them used to return Result<String, Error> previously.

All squashed! I think this should be good to merge now. Let me know if there's anything I missed!
Every function I added has been tested, but I can't guarantee their coverage as I went almost entirely off the Slack API docs which have been pretty spotty. I covered a few alternative cases with tests where I noticed them. Unfortunately with the scope of this, I think it's going to have to be battle-tested a fair amount.

Awesome, I'll review and merge ASAP.
After the merge I'll write release docs with the breaking changes and
update the crate info, I'll be sure to note those.
If you don't mind I'll add you to the authors list.
On Oct 22, 2015 9:12 PM, "Matt Jones"<EMAIL_ADDRESS>wrote:

All squashed! I think this should be good to merge now. Let me know if
there's anything I missed!
Every function I added has been tested, but I can't guarantee their
coverage as I went almost entirely off the Slack API docs which have been
pretty spotty. I covered a few alternative cases with tests where I noticed
them. Unfortunately with the scope of this, I think it's going to have to
be battle-tested a fair amount.
—
Reply to this email directly or view it on GitHub
https://github.com/BenTheElder/slack-rs/pull/17#issuecomment-150399375.

I'm cool with that. Thanks!

Actually, would you add it to Cargo.toml in the PR? That way I get your
preferred email etc.
On Oct 22, 2015 9:36 PM, "Matt Jones"<EMAIL_ADDRESS>wrote:

I'm cool with that. Thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/BenTheElder/slack-rs/pull/17#issuecomment-150403373.

Looks great. I'm going back over it again since it's such a huge commit but It looks ready to merge.
Fantastic work, like you said I'm sure we'll have to add more tests with time, but this has to be up there with the most well tested and complete slack clients now. Hope your project using it is going well!


Figure out how to upload to Apple store

https://developer.apple.com/macos/submit/
https://github.com/yshavit/whatdid/projects/13

https://developer.apple.com/macos/submit/

Won't do (at least, not for now!)


Move events to a common package

Changes
Move both events.go and the cloudevents module under a new module
reconciler.events. We want to the controllers to be able to emit
both kubernetes events and cloudevents, so this change is in
preparation to creating a common event interface to be used
by controllers.
Partially addresses #2082
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[x] Includes tests (if functionality changed/added)
[ ] Includes docs (if user facing)
[x] Commit messages follow commit message best practices

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.

/test pull-tekton-pipeline-build-tests
/test pull-tekton-pipeline-integration-tests

great incremental improvement :D :D :D
/approve


Gemini Protocol Feeds

Hello,
Could it be considered to have Newsboat pull Atom feeds from the Gemini protocol sites?
Thanks

Hi! Please see #1251. The conclusions I made back then still seem valid to me.


Add cluster agent binary and basic functionality for cloud foundry

What does this PR do?
Initial implementation of Cloud Foundry autodiscovery. Some notes:

While the code seems to work in simple testing scenarios, I yet have to deploy it to a CF cluster. I'm mostly looking at a high-level review of how this is put together.
Right now there are no tests, as I'd first like to get feedback on the general approach - when that is approved, I'll work on adding tests for all the new components.

Motivation
Adding autodiscovery capabilities for CF.
Additional Notes
On CF, it's necessary to distinguish container and non-container services to monitor:

Container services are the services that run in the app containers themselves
Non-container services are either created through "service brokers" or are "user-provided service instances". These run on separate VMs, perhaps not in a container (or even outside of CF cluster) and thus require a different approach. This is reflected in the codebase.

Users would be expected to configure AD for their apps by adding a new environment variable to their manifest, such as:
applications:
  - name: myapp
    services:
      - PG-flask-cf-sample
    env:
      AD_DATADOGHQ_COM: |
        {
            // this is a container service, since it's not listed in `services` above
            "flask-app": {
                "check_names": ["http_check"],
                "init_configs": [{}],
                "instances": [
                    {
                        "name": "My Nginx",
                        "url": "http://%%host%%:%%port_p8080%%",
                        "timeout": 1
                    }
                ]
            },
            // this is a non-container service, since it's not listed in `services` above
            "PG-flask-cf-sample": {
                "check_names": ["postgres"],
                "init_configs": [{}],
                "instances": [
                    {
                        "host": "%%host%%",
                        "port": 5432,
                        "username": "%%username%%",
                        "dbname": "%%dbname%%",
                        "password": "%%password%%"
                    }
                ],
                // these are JSONPath identifiers that would pick the values from VCAP_SERVICES environment variable to be able to substitute them into `instances` above
                "variables": {
                    "host": "$.credentials.host",
                    "username": "$.credentials.Username",
                    "password": "$.credentials.Password",
                    "dbname": "$.credentials.database_name"
                }
            }
        }

Note: VCAP_SERVICES is an environment variable that contains credentials for all PCF service instances bound to the app; the credentials don't have a strict format across various service brokers, thus we would allow users to specify their own substitution variables via JSONPath identifiers, so that users wouldn't have to put credentials in their app manifest.

Looks promising 👍 I added few high level comments

@clamoriniere thanks a lot for the review! I think I addressed all of your points in my latest commit.

@clamoriniere @ahmed-mez I added one more small commit that fixes the endpointschecks method for getting node name to also work on CF. Even though it's small, I wanted to point it out, as it touches a method used in kubernetes, so should be checked with caution: https://github.com/DataDog/datadog-agent/pull/4935/commits/79195a7ffb76c8e5fa0f74a2bfbd80f85033edf8

@ahmed-mez ah, I missed that. Done now, thanks for pointing it out!

@hush-hush thanks a lot for the review. I think I addressed all your comments, feel free to take a look again.


Release Plans that need state changed to "Abandoned"

Azure Database for MySQL - Flexible Server

[x] 1502

[x] 1444

[x] 1435

[x] 1311

Done


fix generic warnings in StaffTest (re. FINERACT-949)

FINERACT-949

@ptuomola @awasum @xurror OK for you?
But more importantly, please chime in to the more general question raised in FINERACT-949 ...

LGTM.


lldb_14: fix broken python3 site-packages and lua5_3

Description of changes
This should fix issue https://github.com/NixOS/nixpkgs/issues/166604
And I fixed lua install dir also :)
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[x] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

@ofborg build lldb_8 lldb_9 lldb_10 lldb_11 lldb_12 lldb_13 lldb_14

Would it be worth adding the lua files to installCheckPhase too?

@LunNova Ok I will add :)

Result of nixpkgs-review pr 207863 run on x86_64-linux 1

1 package marked as broken and skipped:

jucipp

8 packages built:

lldb (lldb_14 ,llvmPackages_14.lldb ,llvmPackages_latest.lldb)
lldb_10 (llvmPackages_10.lldb)
lldb_11 (llvmPackages.lldb ,llvmPackages_11.lldb)
lldb_12 (llvmPackages_12.lldb)
lldb_13 (llvmPackages_13.lldb)
lldb_8 (llvmPackages_8.lldb ,vscode-extensions.llvm-org.lldb-vscode)
lldb_9 (llvmPackages_9.lldb)
vscode-extensions.vadimcn.vscode-lldb

@LunNova Added lua check :)

@ofborg build lldb_14


bug(forge flatten): flattening smart contract fails for @dev string used in StructuredDocumentation in library

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (0ad127a 2024-07-25T00:17:47.070402649Z)
What command(s) is the bug in?
forge flatten -o out.sol 0x76BE3b62873462d2142405439777e971754E8E77eth-RaribleUserToken.sol
Operating System
None
Describe the bug
Trying to flatten the contract at 0x76BE3b62873462d2142405439777e971754E8E77, it raises the error:
Failed to flatten: invalid type: string "@dev Multiplies two numbers, throws on overflow.", expected struct StructuredDocumentation at line 1 column 19512

Related code at https://etherscan.io/address/0x76BE3b62873462d2142405439777e971754E8E77#code:
/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

    /**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
      // ...
    }
}

cc @klkvr

seems to be caused by differences in AST for solc < 0.6.
for mentioned contract documentation is kept as string instead of an object:
"documentation": "@title SafeMath\n@dev Math operations with safety checks that throw on error",

"documentation": {
    "id": 3,
    "nodeType": "StructuredDocumentation",
    "src": "60:89:0",
    "text": " @title SafeMath\n @dev Math operations with safety checks that throw on error"
},

fixing this would require change in our AST bindings, though not sure if we want to work on this compatibility as supporting all AST formats for all versions would end up pretty messy

just for the records of issue reported in tg, another sample is
https://github.com/Synthetixio/synthetix/blob/develop/contracts/StakingRewards.sol
forge flatten contracts/StakingRewards.sol
Error:
Failed to flatten: invalid type: string "@notice Change the paused state of the contract\n@dev Only the contract owner may call this.", expected struct StructuredDocumentation at line 1 column 13262

perhaps we can do an enum for this with string as the fallback?

Awesome, thank you :)


WF Checks on Associated Predicates

PR adds a bunch of WF/desugaring checks on Associated/Alias Predicates, which is a stepping stone to #598
The main technical bit is to

Use the Spec of an AssocPredicate (i.e. the Sort given in the trait), to
Determine the Impl's sort (by substituting the GenericArgs sorts).

@nilehmann -- I've now added code to also so this PR (almost) fixes #598 -- the one little thing I couldn't figure out is how to get this
#[flux::generics(Self as base)]
#[flux::predicate(f: (Self) -> bool)]
pub trait MyTrait {
    #[flux::sig(fn(self: &Self{v: <Self as MyTrait>::f(v)}) -> Self{v: <Self as MyTrait>::f(v)})]
    fn method(&self) -> Self;
}

To work because it wasn't clear how to "collect" the name MyTrait -- the desugar/resolve thing currently barfs on the MyTrait ... I'm guessing this is quite easy?

Also, keep an eye out for the const_name_gen shenanigans :-)


Concourse pipeline issues with multiple concurrent running jobs

Steps to Reproduce
Run the ocw-theme-assets job on concourse.
Expected Behavior
Once complete, all the individual ocw site jobs will start running.  They should all succeed as well.
Actual Behavior
Many of the individual ocw site jobs will fail, probably because there are too many running simultaneously.  Running out of disk space may be the cause.
Stacktrace
copy-s3-buckets: find or create container on worker ip-10-1-0-251: failed to create volume
https://cicd-qa.odl.mit.edu/teams/ocw/pipelines/draft/jobs/build-ocw-site/builds/70?vars.site="course-mb-1"
or
ocw-studio-webhook/http-api: write /scratch/docker/tmp/GetImageBlob986381247: no space left on device
https://cicd-qa.odl.mit.edu/teams/ocw/pipelines/draft/jobs/build-ocw-site/builds/71?vars.site="course-mb-1"

This no longer seems to be a problem now that concourse has been scaled up


Programmatic deployment & provisioning of containers (Docker Compose files)

Is programmatic deployment & provisioning of containers possible or planned, for example similar to what is possible via FabricClient? I would like to deploy Docker containers from within the cluster, via c# code but using Docker Compose files.
@msfussell   @mani-ramaswamy

Closing due to Service Fabric Client REST API


[Bug]: enjoy tries to access huggingface

🐛 Bug
Even though I can see the model in the rl-trained-agents folder.
To Reproduce
python enjoy.py --algo a2c --env CartPole-v1_1 --folder rl-trained-agents/ -n 5000

Relevant log output / Error message
Loading latest experiment, id=0
Pretrained model not found, trying to download it from sb3 Huggingface hub: https://huggingface.co/sb3
Downloading from https://huggingface.co/sb3/a2c-CartPole-v1_1
Traceback (most recent call last):
  File "/home/mel/PycharmProjects/rl-baselines3-zoo/rl_zoo3/enjoy.py", line 87, in enjoy
    _, model_path, log_path = get_model_path(
  File "/home/mel/PycharmProjects/rl-baselines3-zoo/rl_zoo3/utils.py", line 507, in get_model_path
    raise ValueError(f"No model found for {algo} on {env_name}, path: {model_path}")
ValueError: No model found for a2c on CartPole-v1_1, path: rl-trained-agents/a2c/CartPole-v1_1.zip

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/mel/PycharmProjects/rl-baselines3-zoo/venv/lib/python3.10/site-packages/huggingface_hub/utils/_errors.py", line 259, in hf_raise_for_status
    response.raise_for_status()
  File "/home/mel/PycharmProjects/rl-baselines3-zoo/venv/lib/python3.10/site-packages/requests/models.py", line 1021, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: https://huggingface.co/sb3/a2c-CartPole-v1_1/resolve/main/a2c-CartPole-v1_1.zip

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/mel/PycharmProjects/rl-baselines3-zoo/enjoy.py", line 4, in <module>
    enjoy()
  File "/home/mel/PycharmProjects/rl-baselines3-zoo/rl_zoo3/enjoy.py", line 104, in enjoy
    download_from_hub(
  File "/home/mel/PycharmProjects/rl-baselines3-zoo/rl_zoo3/load_from_hub.py", line 48, in download_from_hub
    checkpoint = load_from_hub(repo_id, model_name.filename)
  File "/home/mel/PycharmProjects/rl-baselines3-zoo/venv/lib/python3.10/site-packages/huggingface_sb3/load_from_hub.py", line 16, in load_from_hub
    downloaded_model_file = hf_hub_download(
  File "/home/mel/PycharmProjects/rl-baselines3-zoo/venv/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 118, in _inner_fn
    return fn(*args, **kwargs)
  File "/home/mel/PycharmProjects/rl-baselines3-zoo/venv/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 1195, in hf_hub_download
    metadata = get_hf_file_metadata(
  File "/home/mel/PycharmProjects/rl-baselines3-zoo/venv/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 118, in _inner_fn
    return fn(*args, **kwargs)
  File "/home/mel/PycharmProjects/rl-baselines3-zoo/venv/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 1541, in get_hf_file_metadata
    hf_raise_for_status(r)
  File "/home/mel/PycharmProjects/rl-baselines3-zoo/venv/lib/python3.10/site-packages/huggingface_hub/utils/_errors.py", line 291, in hf_raise_for_status
    raise RepositoryNotFoundError(message, response) from e
huggingface_hub.utils._errors.RepositoryNotFoundError: 401 Client Error. (Request ID: Root=1-64808066-04dedf24470933db6bd01759)

Repository Not Found for url: https://huggingface.co/sb3/a2c-CartPole-v1_1/resolve/main/a2c-CartPole-v1_1.zip.
Please make sure you specified the correct `repo_id` and `repo_type`.
If you are trying to access a private or gated repo, make sure you are authenticated.
Invalid username or password.

System Info

OS: Linux-5.19.0-43-generic-x86_64-with-glibc2.35 # 44~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon May 22 13:39:36 UTC 2
Python: 3.10.6
Stable-Baselines3: 2.0.0a10
PyTorch: 2.0.1+cu117
GPU Enabled: True
Numpy: 1.24.3
Cloudpickle: 2.2.1
Gymnasium: 0.28.1
OpenAI Gym: 0.26.2

Checklist

[X] I have checked that there is no similar issue in the repo
[X] I have read the SB3 documentation
[X] I have read the RL Zoo documentation
[X] I have provided a minimal working example to reproduce the bug
[X] I've used the markdown code blocks for both code and stack traces.

Can you confirm that the following command does not throw an error?

AssertionError: File does not exist.

you have a typo: --env CartPole-v1_1 -> --env CartPole-v1

This happened because I went browsing the rl-trained-agents folder. Maybe enjoy should check for this mistake for dummies like me.


chore: stop scale loop for pause Scaledbject #4253

In the controller in the reconcile loop, when a scaledObject is paused (annotated with ), this fix stops the scaling logic (to prevent attempt to connect the to scalers), and deletes the generated HPA (so it is not querying KEDA Metric Server for metrics)
Checklist

[x] I have verified that my change is according to the deprecations & breaking changes policy
[x] Tests have been added
[x] Changelog has been updated and is aligned with our changelog requirements
[x] Commits are signed with Developer Certificate of Origin (DCO - learn more)

Fixes #4253

/run-e2e internal*

The new test is failing, could you take a look?

@JorTurFer sure thing. I'll take a look.

/run-e2e internal

/run-e2e internal

/run-e2e internals

@JorTurFer is there anything expected from me wrt the FOSS / build failures? Just checking.

@JorTurFer is there anything expected from me wrt the FOSS / build failures? Just checking.

no, ignore this for now

/run-e2e pause

@tobotg seems like the e2e test is failing, could you please double check?
https://github.com/kedacore/keda/blob/main/tests/internals/pause_scaling/pause_scaling_test.go

@zroubalik I tried to have a look, but can't find the detail of the test run that failed. Would you be able to help? Thanks

You can see the execution log, clicking the link in the comment:

but in this case, the error is here: https://github.com/kedacore/keda/actions/runs/4819967110/jobs/8584143929#step:8:378
The scaling out test is failing

@JorTurFer @zroubalik Thank you.
I looked and tested, and found that the tests fail consistently with a wait time of 1 min for WaitForDeploymentReplicaReadyCount, but succeed when I increase that wait time to 2 or 3 min. The behaviour seems fragile when the load (all the e2e tests launched) increases.
Would you agree to increase the wait time periods in the pause_scaling_test.go to fix this test?

Could you rebase main too? There are changes required for executing e2e tests

@JorTurFer it should be fine now I guess. But this test is failing now. Do you mind triggering the e2e to check what when wrong? Thanks

/run-e2e

/run-e2e

/run-e2e pause_scaling

/run-e2e

I ended up closing this and resubmitting a new PR.


revert arm64 support

Summary
This PR reverts all the commits in #131 because it was causing the create-release workflow to fail with the following error:
Installing syft v0.86.1

Generating package SBOM for /home/runner/work/jammy-tiny-stack/jammy-tiny-stack/build/build.oci
Generating CycloneDX package SBOM using syft
2023/08/08 16:36:45 error during command execution: 1 error occurred:
	* failed to construct source from user input "/home/runner/work/jammy-tiny-stack/jammy-tiny-stack/build/build.oci": unable to load image: unable to use OciTarball source: unexpected number of OCI directory manifests (found 2)

Checklist

[x] I have viewed, signed, and submitted the Contributor License Agreement.
[ ] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[x] I have added an integration test, if necessary.
[x] I have reviewed the styleguide for guidance on my code quality.
[x] I'm happy with the commit history on this PR (I have rebased/squashed as needed).

I'm going to close this because we're making good progress on getting multi-arch support working.


Rewrite HTTP Twitter links to HTTPS

This is a good opportunity to test our automated releases. Thanks!


Quick way to trigger reports for testing?

I integrated MeterReporter into an app as a replacement for Stacksift, which took just a minute. My prior Stacksift setup did successfully send reports.
But I am now having trouble sending reports so that I can test my backend.  I have edited my app with a fatalError() and also tried a forced unwrap crash, but no report is being sent at the next app launch after these crashes, even after 10 seconds when it should kick in. Wells's handleExistingLogs finds no report.
What is the right approach to test the sending of reports?
This is the setup code in my AppDelegate:
var config = MeterReporter.Configuration(endpointURL: URL(string: "https://myendpoint")!)
config.hostIdentifier = "Test"
config.backgroundIdentifier = nil
let reporter = MeterReporter(configuration: config)
reporter.start()

hmm, does simulating the payloads from Xcode work?

I do not recall seeing skipping simulated payload when debugging in the simulator, no.
I was working in the simulator, and I just tried on a device and it does work now!
But I discovered another issue: it crashes after 10 seconds at the line below:
       wellsReporter.existingLogHandler = { [unowned self] in self.handleExistingLog(at: $0, date: $1) }
This new problem is fixed if I change my app to hold a reference to MeterReporter. I was just setting it up in the AppDelegate without storing it (which was fine with Stacksift, no longer the case). Maybe this is worth an update or a mention in the README as I think it's quite common for crash reporters to just set them up that way, without keeping a reference to them.

Whew, sorry for not answering this sooner. I think the original issue has been resolved right?
As for the crash, your comments are good.
Thanks again for finding and reporting this.


All of the examples and docs I have read all seem to not create or destroy any elements.
Say for example I wanted to fill a table based off an array of serialized components. Since the number of rows is unknown, elements would have to be inserted and removed from the DOM to accommodate the number of rows.
How would I go about adding the de-serialized components to the DOM?

I highly recommend you read our docs and go through our tutorial at https://yew.rs
But to give you a basic gist Yew is at its its core very dynamic library.
It operates on the idea that you have stored data, that you then "render" into html.
In your case you can keep the data list in yew component state and then turn them into html like shown here https://yew.rs/docs/concepts/html/lists
Then when your state changes your component will be re-rendered based on the new list :)


Active vertical navigation link without using the "to" prop for each link

Description
I am using the vertical navigation component to switch between some components on the same page. How can I make one of the links active without using the prop "to" for each link option? It would be nice to have some sort of optional v-model that we can control the active link with or is there some sort of alternative that I dont know?

You should be able to just pass active: true to make an item active.

Ah yea, missed the active prop for the items. Thank you!


[BUG] [Service Bus - Creating subscription] Can't instantiate ServiceBusContract object with either ACS or SAS connection string

I'm trying to create a subscription via Java SDK using SAS creds.
        Configuration config = ServiceBusConfiguration.configureWithConnectionString(null, new Configuration(),
                                                                           "Endpoint=sb://<namespace>.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=<PASSWORD>");
        ServiceBusContract service = ServiceBusService.create(config);
        SubscriptionInfo subInfo = new SubscriptionInfo("new-subscription");
        CreateSubscriptionResult result =
            service.createSubscription("mytopic", subInfo);

(namespace and password are replaced with actual values in the code)
Doing so, I received the following stack trace:
Caused by: com.microsoft.windowsazure.services.core.utils.ConnectionStringSyntaxException: The key 'SharedAccessKeyName' is not valid for this connection string
	at com.microsoft.windowsazure.services.core.utils.ParsedConnectionString.saveValue(ParsedConnectionString.java:296) ~[microsoft-windowsazure-api-0.4.6.jar:na]
	at com.microsoft.windowsazure.services.core.utils.ParsedConnectionString.matchKeyValuePair(ParsedConnectionString.java:137) ~[microsoft-windowsazure-api-0.4.6.jar:na]
	at com.microsoft.windowsazure.services.core.utils.ParsedConnectionString.matchAttribute(ParsedConnectionString.java:108) ~[microsoft-windowsazure-api-0.4.6.jar:na]
	at com.microsoft.windowsazure.services.core.utils.ParsedConnectionString.matchConnectionString(ParsedConnectionString.java:89) ~[microsoft-windowsazure-api-0.4.6.jar:na]

I found a question on StackOverflow describing the same issue - https://stackoverflow.com/questions/27271397/servicebusconfiguration-configurewithconnectionstring-cant-work-error-the-key?rq=1
There was a suggestion to use the ACS approach since SAS is not supported via Java SDK.
So I tried to use ACS:
 Configuration config =
            ServiceBusConfiguration.configureWithWrapAuthentication(
                namespace,
                username,
                password,
                ".servicebus.windows.net",
                "-sb.accesscontrol.windows.net/WRAPv0.9/");

        ServiceBusContract service = ServiceBusService.create(config);
        SubscriptionInfo subInfo = new SubscriptionInfo("new-subscription");
        CreateSubscriptionResult result =
            service.createSubscription("mytopic", subInfo);

It didn't work out too:
Caused by: com.microsoft.windowsazure.services.core.ServiceException: com.sun.jersey.api.client.ClientHandlerException: java.net.UnknownHostException: myservicebus-sb.accesscontrol.windows.net
	at com.microsoft.windowsazure.services.serviceBus.implementation.ServiceBusExceptionProcessor.createSubscription(ServiceBusExceptionProcessor.java:329) ~[microsoft-windowsazure-api-0.4.6.jar:na]
	at com.example.azuresubscriber.TopicSubscriber.init(TopicSubscriber.java:43) ~[classes/:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_242]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_242]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_242]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_242]
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) ~[spring-beans-5.2.9.RELEASE.jar:5.2.9.RELEASE]
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) ~[spring-beans-5.2.9.RELEASE.jar:5.2.9.RELEASE]
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) ~[spring-beans-5.2.9.RELEASE.jar:5.2.9.RELEASE]

I found this problem here on Github, marked as closed:
https://github.com/Azure/azure-sdk-for-java/issues/437
So neither approach is working.

@yvgopal @hemanttanwar could you please follow up on this question?

This is very very old service bus SDK that was based on HTTP and we are not maintaining it anymore. Please please switch to the Track 1 SDK. Here is link to the releases https://mvnrepository.com/artifact/com.microsoft.azure/azure-servicebus
As I said, we are not maintaining the old SDK (version 0.9 and older). If we have to spend time on the old SDK, it will take quite sometime.

Thanks for your response.
Unfortunately, the new library doesn't support creating subscriptions from a java code.
Docs suggest using management library for those purposes, but I didn't find a way to init management lib with SAS key, only with azure creds.
Having clients dynamically create subscriptions with different filters would be very convenient, but only if this could be done using SAS key with access to one single topic, not azure creds.

No.. The latest version from the link I shared in my previous post supports creating subscriptions from java code. CHeck ManagementClient class.
There is one SDK that I shared is GA. One more SDK will soon be coming, which is what you are referring to as the latest.


Upload Dataset Name

When uploading a dataset from a URL the file_name should be set to the file part of the URL.

This may not be possible as BioBlend does not seem to support specifying a name during the upload.  Changing the dataset name before the upload completes doesn't work as the upload tool sets the name after the upload.  Unfortunately, the job ID is not returned by the upload tool so there is no easy way to monitor the upload.


Add a clustercurator-job condition

Shows job_finished false for the duration of the execution, message is the JOB name

Signed-off-by: Joshua Packer<EMAIL_ADDRESS>

/cc @leena-jawale @showeimer

/approve

/lgtm


exception while trying to run SWA local instance

Hi - trying to create a vanilla starter SWA based on the instructions here: https://docs.microsoft.com/en-gb/azure/static-web-apps/getting-started?tabs=vanilla-javascript
when I try to run it locally I'm getting following exception:
C:\Users\XXXX\AppData\Roaming\npm\node_modules@azure\static-web-apps-cli\dist\core\utils\net.js:42
catch {
^
SyntaxError: Unexpected token {
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:152:10)
at Module._compile (module.js:624:28)
at Object.Module._extensions..js (module.js:671:10)
at Module.load (module.js:573:32)
at tryModuleLoad (module.js:513:12)
at Function.Module._load (module.js:505:3)
at Module.require (module.js:604:17)
at require (internal/module.js:11:18)
at Object. (C:\Users\XXXX\AppData\Roaming\npm\node_modules@azure\static-web-apps-cli\dist\core\constants.js:9:15)
I've installed  the Azure Static Web Apps CLI/emulator and Azure Functions Core Tools V3.

@khaledm looks like you are having a Node.js version mismatch. Please make sure you are using Node.js v14 LTS or latest.
Also, please fill in the issue template so we can have all the required information in order to assist you.

@manekinekko thanks for the pointer, should've checked https://docs.microsoft.com/en-gb/azure/azure-functions/functions-reference-node?tabs=v2#node-version here first.


guides: clicking command/code block when RHS is "full" results in bad looking command

As you can see in the screenshot below, at the point of clicking the last command block, the terminal on the RHS was "full". That is to say, we had filled a full screen at this point.
Clicking on the command resulted in the following:

i.e. the prompt and command rendered as:
te@latestgopher.live/ud294cdedd301/public@latest gopher.live/ud294cdedd301/privat

(note the missing prompt, and missing start of the command)
instead of:
$ go get gopher.live/ud294cdedd301/public@latest gopher.live/ud294cdedd301/private@latest

The command does, however, appear to execute correctly.

Trying to repro this one.

Bit more complex to fix. Moving to "next"

Ok I think this is actually only related to the length of the command that is executed.
Paste the following into a terminal and you will see a similar issue:
PROMPT_COMMAND="if [ \$? = 0 ]; then DOLLAR_COLOUR=\"\[\033[0m\]\"; else DOLLAR_COLOUR=\"\033[0;31m\"; fi"

This appears to actually be a resizing issue, because if you load vim then it does not take up the available space:

So I've adjusted the title accordingly.


Minimize logs issue

Describe The Bug:
I try to minimize logs by using checkbox, but this plugin generates also five entry per second
To Reproduce:

Expected behavior:

Logs:
Show the Homebridge logs here, remove any sensitive information.

Plugin Config:
Show your Homebridge config.json here, remove any sensitive information.

Screenshots:

Environment:

Plugin Version: latest
Homebridge Version: latest
Node.js Version: 16
NPM Version:
Operating System: raspbian

What logs are you seeing?  Can you paste a snippet of your log so I can see what you're talking about?
Five logs per second seems excessive, and far exceeds what I normally see with verbose logging disabled.

There's a snapshot from logs:

That looks like minimize logging is not enabled.  Can I see your config.json for the plugin?

Yes of course:
            "name": "Blaupunkt TV",
            "manufacturer": "Blaupunkt",
            "model": "40/138O-GB-11B4-FEGBQU-EU",
            "serial": "BB40A138BFN0U0E56M-xxxxx xxxxx",
            "pollingInterval": 2500,
            "minimizeLogging": true,
            "inputs": [
                {
                    "inputNumber": 1,
                    "displayName": "Apple TV"
                },
                {
                    "inputNumber": 2,
                    "displayName": "Raspberry Pi"
                },
                {
                    "inputNumber": 3,
                    "displayName": "Direct One Sat"
                }
            ],
            "useActiveSource": true,
            "useInactiveSource": true,
            "useSourceRouting": true,
            "useSetStreamPath": true,
            "platform": "TVCECControl"
        }```

Ah, I see now.  You're currently running your Homebridge instance in Debug mode, so you're seeing some extra, debug-only logging (mainly from cec-client).  You're seeing the actual CEC Bus traffic in those logs, which explains why you get multiple per-second (basically requesting the status, getting the status back from the device, etc.).
You can deactivate Debug mode for your Homebridge instance and those will be hidden.  Alternatively, you can increase pollingInterval to something a bit higher (I've been keeping mine at 10000, or 10 seconds).  Right now you're polling the device every two and a half seconds, which will lead to quite a bit of logging with Debug mode enabled.

Ohh sorry, you're right!


Make BLAKE3 compile on Freebsd

Make BLAKE3 compile on Freebsd

Do you have any specific errors you're running into?

Just for info: BLAKE3 (C) DOES compile on FreeBSD in "straight-plain-C" by stripping everything (no SSE, asm etc).
Is it  interesting that I put the source ?

That would be great!

Here it is
https://github.com/fcorbelli/zpaqfranz

A smaller version here
https://github.com/fcorbelli/sblake/tree/main

I'm also working today to get blake3 building on FreeBSD.  A build of another program that links to libblake3.a fails with lots of undefined symbols referenced by blake3_dispatch.c:
`ld: error: undefined symbol: blake3_hash_many_sse2

referenced by blake3_dispatch.c
blake3_dispatch.c.o:(blake3_hash_many) in archive
libblake3.a`
(and many others)

From above conversation I can see that I could figure out how to build it without support for any of those, but I assume the effort to make it build with them (FreeBSD 13 on x86_64, using clang) wouldn't be hard, I assume it's just some settings needed.  Let me know if I can help test things.

A lot of this (for example "how to skip building SSE2 etc. on x86") is documented here: https://github.com/BLAKE3-team/BLAKE3/tree/master/c#building

Yeah, and I'm able to build the example by listing all the .S files.  I think my problem is that the building of the .a didn't include those.  But looking more, I don't know that BLAKE3 is supplying builds of the C library.  Just the sources.  In which case, it's the application pulling that in and building the .a file that's the issue.
Am I correct that blake3 sources, as distributed, don't build a C library?

The questions are

do you want a straight C++ (no asm)? Some fixing is needed for incompatible C vs C++, you can find here https://github.com/fcorbelli/sblake/tree/main
I use it all the time into FreeBSD archiver

do you want C++ WITH asm on FreeBSD for x64 architecture? I done this too (but with a reworked source, only one .S). Not very useful for BSD (that compile just about everything, not only Intel-compatible), so I use only on Win64 (with different single-file .S file)

Static libraries are not covered by the readme, but can be produced as follows:
$(CC) $(CFLAGS) -c blake3.c -o blake3.o
$(CC) $(CFLAGS) -c blake3_dispatch.c -o blake3_dispatch.o
$(CC) $(CFLAGS) -c blake3_portable.c -o blake3_portable.o
$(CC) $(CFLAGS) -c blake3_sse2_x86-64_unix.S -o blake3_sse2_x86-64_unix.o
$(CC) $(CFLAGS) -c blake3_sse41_x86-64_unix.S -o blake3_sse41_x86-64_unix.o
$(CC) $(CFLAGS) -c blake3_avx2_x86-64_unix.S -o blake3_avx2_x86-64_unix.o
$(CC) $(CFLAGS) -c blake3_avx512_x86-64_unix.S -o blake3_avx512_x86-64_unix.o
$(CC) $(CFLAGS)
ar -rv libblake3.a blake3.o blake3_dispatch.o blake3_sse2_x86-64_unix.o blake3_sse41_x86-64_unix.o blake3_avx2_x86-64_unix.o blake3_avx512_x86-64_unix.o

Replace $(CC) $(CFLAGS) by your preferred compiler flags.

Thank you very much for your feedback. I am therefore closing this issue now. If there are any other more specific issues, please feel free to open a new issue.


Add optional subcommands

Also introduces a function in the ParseContext that allows the
current action determine if it is the currently executing command.

@alecthomas Please let me know what you think.

Is the idea here that you could have:
command subcommand0
command subcommand1
command subcommand2

And command execution could terminate at just command?
If so, seems reasonable.
Couple of other comments:

Could you apply this to the v3-unstable branch please? I'm not accepting new features on master (in fact, I think I'll switch them soon).
This needs tests.

Is the idea here that you could have:
command subcommand0
command subcommand1
command subcommand2

And command execution could terminate at just command?

yup

Could you apply this to the v3-unstable branch please? I'm not accepting new features on master (in fact, I think I'll switch them soon).

Ok, I'll open another PR, should this also go in v2?

This needs tests.
Will do, just wanted to pitch the idea first

Ok, I'll open another PR, should this also go in v2?

No, don't worry about it. v2 will be bugfix only soon.

Will do, just wanted to pitch the idea first

Understood, thanks, I appreciate that.

Superceded by https://github.com/alecthomas/kingpin/pull/196


[Airbrake] [Production] undefined method `ancestors' for nil:NilClass

Airbrake error: #1211
Airbrake project: ETMoses
Error type: NoMethodError
Error message: undefined method `ancestors' for nil:NilClass
Where: testing_grounds#data
Occurred at: Jun 20, 2016 08:57:55 UTC
First seen at: Jun 20, 2016 08:57:55 UTC
Occurrences: 1 (1 since last deploy on Jun 12, 2016 15:59:55 UTC)
URL: https://moses.energytransitionmodel.com/testing_grounds/485/data.json
File: [PROJECT_ROOT]/app/models/network/path.rb
Backtrace:
[PROJECT_ROOT]/app/models/network/path.rb:16:in find
[PROJECT_ROOT]/app/models/calculation/technology_load.rb:30:in block (2 levels) in run
[PROJECT_ROOT]/app/models/calculation/technology_load.rb:27:in each
[PROJECT_ROOT]/app/models/calculation/technology_load.rb:27:in block in run

Dup: #1100


How can the GoSDK be used as a participant to obtain the audio streams?

Hello, I would like to ask how I can create a participant through the GoSDK and use this participant to subscribe to all the audio streams in a room, in order to obtain the PCM data of each audio stream. Do you have any relevant SDKs available?

refer to file saver example, the go sdk don't  provide decoder to get PCM data, you need to receive opus encoding data and decode it yourself.


Misleading error message when attempting to tweet something over 140 characters

Actual Message:
{"errors":[{"code":215,"message":"Bad Authentication data."}]}

Expected Message: something like "tweet is too long"

This is an error returned from the Twitter API directly - not TweetInvi. It also seems correct, as the query you've provided has no authentication data attached to it. It makes sense that Twitter would check authentication before checking the contents of the proposed Tweet. I believe they do return a "Tweet too long" error if you're authenticated.
This should be closed as it's not relevant to this project.

The request actually did have authentication details and the same request with a sufficiently short message via TweetInvi was successful.

Hmm, I think I'm starting to better understand your comment. I'm not actively working on the project where we found this issue. What I remember is that we couldn't figure out why our code want working until we realized that someone had changed the message to be sent to be a longer one and then we no longer receive this error message.

This should be reproducible by simply trying to send a really long tweet via tweetinvi with valid authentication details.

Even in that case, you can see that the incorrect error is returned from Twitter and not Tweetinvi.

I will think about your comment. To be honest this is quite tricky as I have always taken the side of providing the Twitter Exception details.
I might create a new Exception type that would be thrown in case a tweet is too long.
In the meantime please use https://github.com/linvi/tweetinvi/wiki/Tweets#tweet-length to verify that the tweet is of a correct size.
Cheers,
Linvi


Enable to rearrange offer items and preserve the ordering

good morning @Steffengreiner and @sven1103, I think we can improve UX indeed by adding a cursor change when hovering over the table. For mac there is a grab-hand icon suggested, its open while hovering and grabs the card when clicking. Furthermore, we could also think of adding a "handle" icon such as 'ELLIPSIS_DOTS_V' (3 vertical dots).


Use webworker typings for webServer.ts

Updates webServer.ts to include the webworker typings. This means we don't have to redeclare the web globals we use in this file

@DanielRosenwasser This is a code quality / debt issue. Should I still open an issue for it?

I can't exactly tell what went wrong with the build; however, I'm going to assume it's an issue of conflicts between Node.js and the web APIs, right?

I think I branched off a bad commit before.  Rebased and now everything looks good

Just in case, let's hold this until after 4.6 RC ships.


Add option to reduce search space to a certain edition

--edition <value>: reduces the search space to the Rust versions which provide support for a certain edition.
example:
--edition 2018 would include Rust versions >= 1.31.0

whoops! i didn't see this issue before i created #104

Thank you for taking your time to contribute to cargo-msrv.

whoops! i didn't see this issue before i created #104

No worries, it probably will practically have the same effect.
An advantage of #104 will be that the there can be no semantically invalid search space since the edition is just an alias for a given version. If however given --edition 2018 --minimum 1.10.0, we would need to ensure the smallest possible search space would be used, i.e. in case of the example, the specified minimum is smaller than the edition, so we'll need to override the minimum to be the minimum version supported by this edition, i.e. 1.31.0.
A question I ask myself though is whether it is the same thing to say specifying an edition is simply an alias for specifying the version in which the edition was introduced; i.e. whether an edition option (for cargo-msrv) would introduce other (side) effects aside from limiting the version search space. I'm not yet sure whether it would.
A disadvantage of #104 could be that the option would accept too many different types of values, making the interface less understandable. As long as the edition is simply an alias for the first Rust version which adds support for the edition, I don't think it would be a problem though.


Get-DbaDatabase, faster enum

for whatever reason, recent SMOs have a very unspeedy behaviour when selecting from a "keyed dictionary"

so happy to see this! anything you can do to get this command to go faster is welcomed. it's used extensively and is a bit to slow imo.

can you check out the test failure please? it impacts Get-DbaDatabase

when one says mocking is hard, listen to him ^___^


fix(propositional_logic_in_lean.rst): fill in missing proof

It seems this example would be more helpful with a complete proof, instead of a sorry.

@williamdemeo This is a good idea. Thanks.


How to update application with new releases

Dear Team,
Thank you very much for fantastic framework for Rapid Application Development
How do i keep track of development with latest Serenity Application Template Updates?
Your help in this regards will be highly appreciated

There is some information here
https://volkanceylan.gitbooks.io/serenity-guide/content/tutorials/movies/updating_serenity_packages.html
Most of the functionality exists in Serenity NuGet packages so updating them should be enough in most cases. There is some sample classes and code in Serene too but they are limited. There is currently no way to update such classes automatically, so you need to follow commits or use a tool like Winmerge. There are some plans to make parts of Serene as nuget packages but its not easy for now.

Thank you Volkanceylan for your help


Undo collect_garbage

Before you submit a new bug report, please check that

[X] I have read frequently asked questions and limitations

Is your feature request related to a problem? Please describe.
Hi, would be nice to have a way to undo the collect_garbage service call after a misclick.
Describe the solution you'd like
A service that one has to call manually or another way around, just to make it possible.
Looking from a regular user perspective, it would be nice to keep the entry in UI and have an undo button, but that might require more changes in both backend and frontend (e.g. https://github.com/amaximus/garbage-collection-card), so I'm just putting the idea out there. A service is enough for me.
Describe alternatives you've considered
I tried updating the entity state manually with last_collection in the past. It was restored in a matter of seconds. It's possible I don't understand how HA works and there is a way to make it work without any code changes.
Additional context
I'm using v4.4.2 if it makes a difference.

Good suggestion. As a workaround, you can call the service garbage_collection.collect_garbage with the last_collection with a date sometimes in the past (could be yesterday, could be a year ago). It will recalculate the state. Would that work?

I assumed there is no param to override the date based on docs: https://github.com/bruxy70/Garbage-Collection/#garbage_collectioncollect_garbage
But it works and totally makes sense! I don't think there is a need to change code but docs update would be nice 🙂

Ok. Will update the documentation. Thanks for the catch. If you call the service from the Developer Tools, it will show the parameter crrectly.


FileUpload.get() created by a HttpPostMultipartRequestDecoder returns incomplete array on 4.1.51

Expected behavior
UploadFile.get() should return the full byte array uploaded.
Actual behavior
It appears that although fileUpload.length() returns the correct value, the byte array from get() returns only a partial array.
Steps to reproduce
Create a HttpPostMultipartRequestDecoder and call offer at least twice with some request form data. The test below passes on 4.1.50 but fails on 4.1.51.
Minimal yet complete reproducer code (or URL to code)
@Test
public void fileUploadRegression() throws IOException {
    byte[] file = new byte[32000];
    Arrays.fill(file, (byte) 1);

    String body = "--861fbeab-cd20-470c-9609-d40a0f704466\n" +
        "Content-Disposition: form-data; name=\"image\"; filename=\"guangzhou.jpeg\"\n" +
        "Content-Type: image/jpeg\n" +
        "Content-Length: " + file.length + "\n" +
        "\n" + new String(file, UTF_8) + "\n" +
        "--861fbeab-cd20-470c-9609-d40a0f704466--\n";
    byte[] bodyBytes = body.getBytes(UTF_8);

    HttpRequest request = new DefaultHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.POST, "/upload");
    request.headers().set("content-type", "multipart/form-data; boundary=861fbeab-cd20-470c-9609-d40a0f704466");
    request.headers().set("content-length", bodyBytes.length);
    HttpPostMultipartRequestDecoder decoder = new HttpPostMultipartRequestDecoder(request);
    decoder.offer(new DefaultHttpContent(Unpooled.copiedBuffer(bodyBytes, 0, 8192)));
    decoder.offer(new DefaultHttpContent(Unpooled.copiedBuffer(bodyBytes, 8192, bodyBytes.length - 8192)));
    decoder.offer(new DefaultLastHttpContent());
    FileUpload data = (FileUpload) decoder.getBodyHttpDatas().get(0);
    assertThat(data.length(), is((long)file.length)); // passes
    assertThat(data.get().length, is(file.length)); // fails on 4.1.51
}

Netty version
4.1.51
JVM version (e.g. java -version)
Multiple versions tested (8, 10, 11, 12).
OS version (e.g. uname -a)
Windows, Linux.

@normanmaurer Might it be linked to recent changes, such as in https://github.com/netty/netty/blob/c4754cf7b890e7169b2438567fa2f881728715ed/codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractDiskHttpData.java#L167
I saw a few days ago a remark on the possibility that this call might not write all buffer to filechannel (not getting the real number of bytes written) and that the buffer has its readerIndex not changed.
I don't have any access right now, except web, so I cannot investigate more, but it might be linked, wdyt?

Hi, guys could you please check fix.

This affected us as well (is still working properly with 4.1.50.Final), when can we expect 4.1.52.Final?

@paplorinc I think next week

Thanks @normanmaurer

Hey @normanmaurer, any update on when this fix will be released?

@paplorinc sorry it took longer then expected but within the next week.