[code-completion] Add a new custom completion context for a for-each …

Explanation: This adds a new context kind for for x in <HERE> completions that can be used by clients to provide a custom code-completion snippet in that position (e.g. a snippet for 1…<#N#>).
Scope: Affects code-completion of the sequence for a for-each loop if the client has provided a custom snippet for that position.
Radar: rdar://problem/29910383
Risk: Low; this will only affect clients that opt-in, and other than adding the new kind of context to match it behaves the same as PostfixExprBeginning like it always has.
Testing: Regression tests added.

@swift-ci please test


Revert "nmap: use python infra's .withPackages"

Motivation for this change
This reverts commit 278d3050ae85e959e4c6485b5ad43bbba96eb829 because it
breaks zenmap:
$ zenmap
Could not import the zenmapGUI.App module: 'No module named
zenmapGUI.App'.
I checked in these directories:
    /nix/store/2hiz11plgjdrk2mziwc2jcxqalqh9hii-nmap-graphical-7.12/bin
    /home/bfo/forks/nixpkgs
    /nix/store/0l4lriqf07qah8c0kh9kcyc8l5iyij16-python-2.7.12/lib/python27.zip
    /nix/store/0l4lriqf07qah8c0kh9kcyc8l5iyij16-python-2.7.12/lib/python2.7
    /nix/store/0l4lriqf07qah8c0kh9kcyc8l5iyij16-python-2.7.12/lib/python2.7/plat-linux2
    /nix/store/0l4lriqf07qah8c0kh9kcyc8l5iyij16-python-2.7.12/lib/python2.7/lib-tk
    /nix/store/0l4lriqf07qah8c0kh9kcyc8l5iyij16-python-2.7.12/lib/python2.7/lib-old
    /nix/store/0l4lriqf07qah8c0kh9kcyc8l5iyij16-python-2.7.12/lib/python2.7/lib-dynload
    /nix/store/0l4lriqf07qah8c0kh9kcyc8l5iyij16-python-2.7.12/lib/python2.7/site-packages
If you installed Zenmap in another directory, you may have to add the
modules directory to the PYTHONPATH environment variable.

(And I'm not motivated enough to forward-fixing it, so just revert.)
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

I suppose we could have a separate derivation for zenmap.

I suppose we could have a separate derivation for zenmap.

Are you volunteering? :-)

Are you volunteering? :-)

Not really. Anyway, feel free to revert.

Applied to master (2bf0fd0f294e0c1e52e36b9c2aba257f5fe4d468).


wine{Unstable,Staging}: 6.22 -> 7.0-rc2, fix mono version

Motivation for this change
https://www.winehq.org/announce/7.0-rc1
Includes #148986
Things done
Currently testing / running nixpkgs-review (takes a long time).

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] 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

[x] 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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.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.

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

20 packages built:

grapejuice
lutris
lutris-free
lutris-unwrapped
pipelight
winbox
wine-staging (winePackages.stagingFull)
wine64Packages.staging
wine64Packages.stagingFull
wine64Packages.unstable
wine64Packages.unstableFull
winePackages.staging
winePackages.unstable
winePackages.unstableFull
wineWowPackages.staging
wineWowPackages.stagingFull
wineWowPackages.unstable
wineWowPackages.unstableFull
yabridge
yabridgectl

@SFrijters LGTM again. Match my hashes, and rc2 work for me much better than 6.23

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

20 packages built:

grapejuice
lutris
lutris-free
lutris-unwrapped
pipelight
winbox
wine-staging (winePackages.stagingFull)
wine64Packages.staging
wine64Packages.stagingFull
wine64Packages.unstable
wine64Packages.unstableFull
winePackages.staging
winePackages.unstable
winePackages.unstableFull
wineWowPackages.staging
wineWowPackages.stagingFull
wineWowPackages.unstable
wineWowPackages.unstableFull
yabridge
yabridgectl


Add a way to define tags on top of the page

Maps has a list of tags at the top of the page

This is a common use case. I should allow the default layout to add custom content between the top search bar and the infinite list. This would allow to add custom filters here.

✔ Done. This part of the page is the main block of layout, and it is now possible to pass a custom list of widgets to the script init.


Swagger shows wrong OData query options when setting OData query options globally with EnableQuery in the controller.

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
When setting OData query options globally:
builder.Services.AddControllers().AddOData(opt => opt.Filter().Expand()),
The swagger shows correctly with only filter and expand query parameters

But after adding EnableQuery() in the controller, the swagger shows all the odata query parameters, but we already set the settings globally that we only want filter and expand.

Expected Behavior
The expected behavior should be the swagger should be same as we only set as global settings.
Steps To Reproduce
No response
Exceptions (if any)
No response
.NET Version
7.0.100
Anything else?
No response

Can you share anything from your setup? This sounds like it's doing exactly what it's supposed to do. EnableQueryAttribute is more than an on switch.  If your controller looks anything like this:
public class TemplateContentController : ODataController
{
    [HttpGet]
    [EnableQuery]  // ← enables all query options at this point
    [Produces( "application/json" )]
    [ProducesResponseType( typeof( ODataValue<IEnumerable<TemplateContent>> ), 200 )]
    public IQueryable<TemplateContent> Get() => Enumerable.Empty<TemplateContent>().AsQueryable();
}

then this is the expected behavior. [EnableQuery] enables all query options on the action. It also supersedes any global settings. The global settings help eliminate decorating the attribute everywhere.
As I recall, the order of precedence is:

[EnableQuery]
Model Bound settings
Global settings

The expected behaviors are gray and not well-documented when you start mixing and matching these. While it would seem they should be mutually inclusive, they appear to be exclusive. On one hand, that makes sense as that would allow lower levels to override the settings at higher levels. [EnableQuery] by itself does not have any other way to remove or disable specific settings.

I did some test last night, if global I set only allow expand, when I applied EnableQueryAttribute in the action level without explicitly setting any query options, and try to use filter, I got following exception:
"The query specified in the URI is not valid. The property 'Language' cannot be used in the $filter query option."
Then I changed to [EnableQuery(AllowedQueryOptions=AllowedQueryOptions.Filter)], I still get the same error. Only when I changed the global setting to allow filter, then the filter query started working. So, I think the Global setting limits the query options which service supports, and EnableQuery and Model Bound settings only can choose the query options under the global setting.

I have feeling there is a litany of OData bugs here. It's not the first time. It's really hard to separate its bugs and behaviors from everything else.
If I do not add [EnableQuery] and run it as is, then $top should not be enabled. The behavior I get does correctly omit this from the query options; however, if you just try to run a query manually with $top=1 or top=1, you'll observe the query option is simply ignored (rather than indicating that it's not allowed). I observed similar behaviors with $skip=1 and skip=1; however, if [EnableQuery] is present it works, but when it absent, it is simply ignored.
There appears to be OData bugs here that do not validate disable query options (e.g. ignores them) and there is an issue specifically with $top where the MaxTop value needs to be set globally. Setting it in [EnableQuery(MaxTop=100)] appears to have no effect. Now, if I add SetMaxTop(3) and add [EnableQuery(MaxTop=2)], then $top=1 works. If I try $top=3, it fails (expectedly) with the max $top is 2, even though the global setting says 3.
Again, these behaviors are super confusing and very poorly documented. I feel like the first step is to lean in on the OData team and get them to properly document the order of evaluation and precedence with different configurations. I'm happy to get something queued up, but the community really needs to chime in to drive progress. Response and resolution to such issues are historically slow.
It's hard for me to fix things if I don't know what the expected behavior even is. I've looked at the OData test suite too and I can't find anything that covers mixing query setting configuration from multiple places. The $top case, in particular, has some oddities. I seem to remember that in one case the setting is int? MaxTop where null is the default and another case it's int MaxTop where 0 is the default. These seems to be incongruent.
If you have additional information or insight to share, it is welcome.

Scrolling through the OData issues, I found bug OData/AspNetCoreOData#695, which coincides with the behavior we've both observed.
I think I may open a separate issue to have the OData team share and document what the expected order of option precedence is, but this looks like a but on the OData side.

Sure, please paste the bug link here when you open in OData github, then we can close this issue.

Honestly, I've been meaning to get clarity on precedence for a long time. Hopefully, it will come sooner rather than later. Tracking it with: OData/AspNetCoreOData#754

It turns out the precedence is documented and tested. I randomly stumbled across the link:
https://learn.microsoft.com/en-us/odata/webapi/modelbound-attribute#overall-query-setting-precedence
As it relates to this issue, the explored query options is correct. The problem with $top is a bug in OData. The workaround appears to be SetMaxTop to any value and then you can use [EnableQuery] to provide a more restrictive MaxTop; if you want to.

@commonsensesoftware, from the document, it said "Query settings can be placed in many places, with the following precedence from lowest to highest: System Default(not query-able by default), Global Configuration, Model Bound Attribute, Fluent API."
But it didn't talk about EnableQueryAttribute, Does EnableQueryAttribute are working separately, so the query violent one of them (Global configuration and EnableQuery in my sample) will fail the request? If yes, then EnableQuery is not included in the precedence order.

Yeah, the text is poorly written and has grammatical mistakes. You're correct that [EnableQuery] isn't explicitly listed in order, but it's listed. There are linked tests. I'm not sure if that shows the combination you're looking for. $skip was an easier one to prove. If you don't add globally or via model bound attributes, but you add [EnableQuery] it will work. If you don't, the $skip simply doesn't work. That feels wrong too because I would think that disallowed query options would return a client error as is the case with most other options.

I haven't tried it E2E, but something like this should work:
Provide some way to define allowed properties. Attributes are one way.
[AttributeUsage( AttributeTargets.Method, AllowMultiple = false, Inherited = true )]
internal sealed class AllowedPropertiesAttribute : Attribute
{
   public AllowedPropertiesAttribute( string property, params string[] otherProperties )
   {
      var properties = new string[otherProperties.Length + 1];

      properties[0] = property;

      if ( otherProperties.Length > 0 )
      {
         Array.Copy( otherProperties, 0, properties, 1, otherProperties.Length );
      }

      Properties = properties;
   }

   public IReadOnlyList Properties { get; }
}

There's a few ways this might be used. Something like:
[EnableQuery(AllowedQueryOptions = AllowQueryOptions.Expand)]
[AllowedProperties("customer", "lineItems")]
public IActionResult Get(int id) => Ok();

Now you can create a convention that looks like:
internal sealed class AllowedPropertiesConvention : IODataQueryOptionsConvention
{
   private readonly ODataQueryOptionSettings settings;

   public AllowedPropertiesConvention(
      IODataQueryOptionDescriptionProvider descriptionProvider,
      IModelMetadataProvider modelMetadataProvider,
      ODataOptions option )
   {
      settings = new()
      {
         NoDollarPrefix = true,
         DescriptionProvider = descriptionProvider,
         DefaultQuerySettings = options.QuerySettings,
         ModelMetadataProvider = modelMetadataProvider,
      }
   }

   public void ApplyTo( ApiDescription apiDescription )
   {
      // applying the convention as endpoint metadata is probably a better way to do this
      // but it requires more initial setup
      var method = ((ControllerActionDescriptor) apiDescription.ActionDescriptor).MethodInfo;
      var enableQuery = method.GetCustomAttribute<EnableQueryAttribute>();
      var allowed = method.GetCustomAttribute<AllowedPropertiesAttribute>();

      if ( enableQuery == null || allowed == null )
      {
         return;
      }

      var queryOption = enableQuery.AllowedQueryOptions;

      switch ( enableQuery.AllowedQueryOptions )
      {
         case AllowedQueryOptions.Expand:
         case AllowedQueryOptions.Filter:
            break;
         default:
            return;
      }

      var context = new ODataQueryOptionDescriptionContext( apiDescription );

      for ( var i = 0; i < allowed.Properties.Count; i++ )
      {
         context.AllowedProperties.Add( allowed.Properites[i] );
      }

      var name = ( settings.NoDollarPrefix ? string.Empty : "$" ) +
                 option.ToString().ToLowerInvariant();
      var type = typeof( string );
      var description = settings.DescriptionProvider.Describe( queryOption, context );
      var parameter = new ApiParameterDescription()
      {
            IsRequired = false,
            ModelMetadata = new ODataQueryOptionModelMetadata(
                settings.ModelMetadataProvider,
                type,
                description ),
            Name = name,
            ParameterDescriptor = new()
            {
                Name = name,
                ParameterType = type,
            },
            Source = BindingSource.Query,
            Type = type,
        };

      apiDescription.Parameters.Add( parameter );
   }
}

Finally, since DI is needed to get some of the services to build out the convention, we need IConfigureOptions<T>:
public sealed class ODataConventionSetup : IConfigureOptions<ODataApiExplorerOptions>
{
   private readonly IModelMetadataProvider modelMetadataProvider;
   private readonly IOptions<ODataOptions> odataOptions;

   public ODataConventionSetup(
      IModelMetadataProvider modelMetadataProvider,
      IOptions<ODataOptions> odataOptions )
   {
      this.modelMetadataProvider = modelMetadataProvider;
      this.odataOptions = odataOptions;
   }

   public void Configure( ODataApiExplorerOptions options )
   {
      var convention = new AllowedPropertiesConvention(
         options.DescriptionProvider,
         modelMetadataProvider,
         odataOptions );

      options.QueryOptions.Add( convention );
   }
}

This might seem like a lot of ceremony, but the challenge is trying to add a convention where no convention exists. As I mentioned the existing functionality for the fluent conventions API is to have parity with ODataQuerySettings and ODataValidationSettings. Neither of these have a way to specify the properties allowed with $expand or $filter. I'm not opposed to supporting it as an enhancement, but it's not there today.
Another possible option is to use the current, albeit limited, support for $expand and $filter conventions and update the description after the parameter is added with the additional properties. Of course, you could go down the Swashbuckle or OpenAPI extensions, but you'll have many of the same challenges.
Hopefully that give you a few ideas.

Yeah, the text is poorly written and has grammatical mistakes. You're correct that [EnableQuery] isn't explicitly listed in order, but it's listed. There are linked tests. I'm not sure if that shows the combination you're looking for. $skip was an easier one to prove. If you don't add globally or via model bound attributes, but you add [EnableQuery] it will work. If you don't, the $skip simply doesn't work. That feels wrong too because I would think that disallowed query options would return a client error as is the case with most other options.

Funny thing if I don't have global setting, and only apply [EnableQuery(AllowedQueryOptions = AllowedQueryOptions.Expand | AllowedQueryOptions.Filter)] into the action, the filter and expand will not work, but the swagger starts show expand and filter query parameters :). I guess at this moment, I will add them in both global and enable query to make sure both swagger and functionally working :)

There's definitely some weird stuff having in OData, but I think it's outside of my control here. I believe the order of processing is correct. I don't think I can solve the other OData oddities though. Is there more for us to do here?

@SamGuoMsft I'm pretty sure I understand why you are seeing incongruence with [EnableQuery. I've outlined it in more detail in OData/AspNetCoreOData#695. Long story short, Model Bound Settings take precedence over [EnableQuery]. If you have any model bound settings defined by attribute or convention, then execution short-circuits. This is because EnableQueryAttribute is an IActionFilter which runs after the validation occurs. The only exception is global settings because they are realized a different way.
I could more strictly enforce that query option discovery to adhere to how it will be realized. I'm pretty sure I can make it match. Unfortunately, I don't think it will really solve the crux to the problem because:

The query options will be missing, but you won't know why
a. Which will drive people to file bugs as the OData behavior is confusing (which they already do)
If the behavior is changed or fixed, then things break

I'm open to revisiting this in the future, but for now, I don't know there is more to do on this issue. Is there other reason to leave this open?

@commonsensesoftware, let's don't change anything, I was looking at the code, if we use model bound settings, the settings will be set under ModelBoundQuerySettings, and validation will check this ModelBoundQuerySettings first, then check global settings. I chatted with Sam Xu, the idea order should be  Model setting > Enable Querable > Global Setting, but seems the implementation is not good. He said he will find some time to fix in their end in the future. I think we don't need to change anything until OData library has the fix. So close this issue.


Bold post title in chat report messages

Adds the appropriate mini-Markdown syntax to ensure that the post title is rendered in boldface within the reports posted by SmokeDetector in associated chat rooms. The intention behind this change is to make it easier to identify the link to the post, given strings of indeterminate length and viewports of arbitrary width resulting in wrapping.
Context: https://chat.stackexchange.com/transcript/message/60730004#60730004

This was merged and was in operation for SD in all rooms for a few hours.
The following are links to the transcripts of a few/several rooms where the effect can be seen.

room
start message
end message

Charcoal HQ
start
end

SOCVR (Graveyard)
start
end

Tavern on the Meta
start
end

The Fire Department
start
end

I reverted this change, because I think we really shouldn't be using bold in reports in rooms other than rooms which are dedicated to Charcoal and SD reports (i.e. other than in Charcoal HQ and The Fire Department).
Personally, I found the bold formatting of the post URL to be detrimental for reading the information which I'm primarily interested in seeing, which is the detection reasons. I had to consciously ignore the bold formatting.
If this is implemented in SD, then, at a minimum, we would need to be able to set the status of bolding the title on a per-room basis. However, if bold titles are really desired, I'd much rather see it implemented as an option in a userscript, so individuals could choose to have it enabled, or not. If it's really desired, I'd be willing to add it as an option to FIRE.
As a quick implementation, applying bold to the question title in reports could be done with the following CSS:
.message .content a[href="//git.io/vyDZv"] ~ a[href*="erwaysoftware.com/posts"] ~ a[href*="/questions/"],
.message .content a[href="//git.io/vyDZv"] ~ a[href*="erwaysoftware.com/posts"] ~ a[href*="/a/"] {
  font-weight: bold;
}

A final CSS implementation could be more specific, but the above CSS should work under most conditions (it's likely to have issues with SD reports in transcript pages which are from several years ago). I'd also note that the above CSS will likely need to be changed in the future, as the git.io link shortener will be deprecated in the future, so we will likely need to move to some other link shortening service.


Dev

Codecov Report

Merging #51 into master will increase coverage by 33.33%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master      #51       +/-   ##
===========================================
+ Coverage   47.61%   80.95%   +33.33%
===========================================
  Files           1        1
  Lines          42       42
  Branches        4        4
===========================================
+ Hits           20       34       +14
+ Misses         22        8       -14

Impacted Files
Coverage Δ

src/components/VueHotspot.vue
80.95% <0%> (+33.33%)
:arrow_up:

Continue to review full report at Codecov.

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


More permissive License

I like your project and i would like to include your rpg inventory into my game. Your license is however gpl. Would you consider to switch the license to something more permissive? MIT or LGPL?

@godofdream First of all sorry for not getting notified about you issue. You can use the project for anything you want, I just added that license because is the one I am used to. Glad you liked the project!!

@angelhodar If I may chime in on this, by not specifying any license this project arguably is no longer open-source, but rather protected fully by copyright, effectively preventing anyone from using it.
Based on your statement above you intend to make the project as openly usable as possible - in this case, a permissive license like the MIT license (simply put: use for anything as long as you give credits) would offer itself. To allow even more freedom you could apply the CC0 1.0, which, in all jurisdictions that allow this, put your work in the public domain, removing even the need for attribution.
As this looks like a cool project and good resource for Unreal Engine so it would be sad to see a reduced adoption due to a lack of legal clarity. If you would like further information on license choices and their effects let me know :)

Hey @daniel-eder thank you for taking your time and your opinion about this project ;) My knowledge about licenses are very limited, so I just add the GPL license to all my projects by default. I received an email telling me to change the license or removing it, so I decided to remove the LICENSE file from all my OpenRPG repos, but as you say that is even worse now because it means that I am preventing anyone for using it.
As I understand in your comment, I should just add the MIT LICENSE to the project and that should fix all the problems right? I would like to the people using this system to mention me in the credits, so that would be the best license as your say. Am I correct?
Thank you for your time ;)

Hi @angelhodar, glad I can be of assistance, it would indeed be a shame if the full potential of this (or any of your projects) cannot be reached because of the choice of licenses - which can be quite confusing at times.
Indeed adding the MIT license fixes all these problems, and ensures that you are credited for your work as it requires a mention in the copyright notice. Simply add a file named LICENSE or LICENSE.txt into your repository, copy the MIT license text and update the text with your desired copyright line.
In fact, if your desire is that your future projects can be widely used, it is a good idea to stick to so-called "permissive licenses", such as the MIT license, because they make it easier for your creations to be used, from a legal perspective.
However, if your intention is to make sure anyone who creates a work based on yours also makes it open source, then the GPL or other copyleft licenses are the better choice.

Thank you so much @daniel-eder now I have included the MIT license in all my projects so that should be everything :)
Licenses apart, are you using this project or any other OpenRPG resource? How did you find it?


:sparkles: Experimental mounts API

Summary
Adds experimental mounts API to be able to mount workspaces under the hood to different destinations.
Related issue(s)
Fixes #
Release Notes

Add experimental mounts API

/lgtm
/approve


Yielded macro expressions are not resolved

abstract class Parent; end

class Child1 < Parent; end

class Child2 < Parent; end

macro test(&)
  {% for type in Parent.subclasses %}
    {{pp(type) if yield(type)}}
  {% end %}
end

test { |type| type.name.stringify == "Child1" } # =>
# Child1
# Child2

I would have expected this to only print Child1.  It seems it's expanding to pp(type) if type.name.stringify == "Child1" but not actually resolving the expression to a boolean value.  I.e. it's not a falsely value so it's true which causes it to print the type.

Yielding inside a macro gets you an AST node. For example, you can do this:
record Foo, x : Int32 do
  1 == 2
end

That 1 == 2 is injected into the macro body, it's not evaluated during macro expansion.
I don't think this is a bug, it's just how things work.

You can evaluate the block as a macro expression using something like \{{pp({{type}}) if {{ yield}} }} but macro yield actually can't receive any arguments (cf. #11012).

That example doesn't seem to work as it loses the reference to what type is in the pp method.
I guess my thinking was that it would act a bit differently given the return value of the yield is still in a macro context.
Maybe this should be considered more-so a feature request/enhancement to #8835.  I had a neat idea of using a macro to iterate over types that have an annotation in order to return a filtered list of them.  Was thinking I could yield the service's TypeNode and some specific data off the annotation to allow the user to customize that filtering logic while also having a non yielding macro be a basic implementation of it. Guess I'll have to go to plan B.  Not being able to share maro code is real :/.

With #11464 the following works:
abstract class Parent; end

class Child1 < Parent; end

class Child2 < Parent; end

macro test(&)
  {% for type in Parent.subclasses %}
    \{% pp {{ type }} if {{ yield(type) }} %}
  {% end %}
end

test { |type| {{ type }}.name.stringify == "Child1" }

This could be further simplified with #11012


subsys: fs/shell: fix unchecked return from fs_seek() in cmd_read()

Inside cmd_read(), result of fs_seek() is not checked which might
result in reading the wrong part of file. So fails the read if
fs_seek() fails.
Fixes #13862
Fixes CID-190953
Signed-off-by: Daniel Leung<EMAIL_ADDRESS>

Codecov Report

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

@@           Coverage Diff           @@
##           master   #13998   +/-   ##
=======================================
  Coverage   52.23%   52.23%
=======================================
  Files         307      307
  Lines       45447    45447
  Branches    10514    10514
=======================================
  Hits        23741    23741
  Misses      16912    16912
  Partials     4794     4794

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 f46e391...3f922d5. Read the comment docs.


Fix README toc anchor link

This change makes the tutorial table of content link clickable.

Not sure why the link was like that, but the trailing - makes click event noop.

@TristanCacqueray They are written this way intentionally to be clickable on GitHub. I can see them working if I click them from the REAME.md on GitHub. If I go to your repository and try to click the links, I can see that they don't work anymore. Can you provide more details on the issue you observe?

Oh I see it is working as expected in the GitHub project rendering. However in the github pages ( https://kowainik.github.io/projects/relude ), then it doesn't work for me, at least with firefox.

@TristanCacqueray yeah, this is unfortunate ambiguous behaviour for links at GitHub vs Pandoc. I have created the issue https://github.com/kowainik/kowainik.github.io/issues/117 to fix it on the website side, as the proposed in this PR changes will break linking at GitHub (yes, this is some complicated technology, I know :smile: )

I see, this seems caused by the ↑ link. Thanks!

FYI, this is fixed now :tada:


Zod-valibot 1:1 transformation - Type instantiation is excessively deep and possibly infinite

Hello, once again me.
I'm moving current Zod source code to valibot, everything at a first glance is cool, but I've a few quite ugly schemas (based on generics), which doesn't like valibot.
This piece was OK on Zod without any changes; moved to valibot, I've got this error (not only here, but over the repository on various places, mainly related to usage of ObjectSchema).

Source of schema - there it's based on quite heavy type inference, because it's not simply possible to reconstruct schema on a type level, thus I've to use ReturnType which I don't really like.
https://github.com/use-pico/pico/blob/next/packages/source/src/schema/MutationSchema.ts
Here is the place of usage (just this one for a reference)
https://github.com/use-pico/pico/blob/next/packages/job/src/schema/JobMutationSchema.ts
I understand that my source code may not be optimal, but I don't know, how to build this kind of stuff in a better way (because I've generic shape to build up a final schema).
Not sure, if this is directly problem of valibot, but I suppose there could be something hidden as this was running OK on Zod (with zillions of it's internal types).
Thank you!

Can you reduce the problem to a minimum of code? This will make it easier for me to investigate the problem. We have a similar problem with merge in #24. There it seems to be a problem on the TypeScript side.

I understand this could be a bit piece of code, but it's real code I'm running, already "quite minimalistic" - the complex part is using generics + factory to create a schema dynamically. Probably worst part is when I put partial over shape shema, in that case it fails even earlier :(.
And yes, I saw similar issue on TS side, but they won't make this configurable, the limit is hardcoded.

Do you see any possibility to solve the problem by modifying the source code of Valibot?

I think it may be possible as type inference is quite a deep, mainly related to ObjectSchema and when converting ObjectSchema to partial. Bud I feel this could be quite a complicated task. Maybe my usecase is a bit on the edge, so it's not necessary to think about it, I'm currently only comparing my experience with Zod (which was able to handle this case) and valibot (which sadly not).
I'm currently doing some experiment with types based on your source, so I'll see, if I can find "bottleneck".

Ok. Feel free to create an issue for any problem you encounter using Valibot. It helps to shape the library in the long run.

I am closing this topic, but may reopen it if there is still interest in discussing it.


New windows layer

This PR extends the Windows layer to support multiple nameserves and proper error reporting in case things didn't go as planned.
Unfortunately I have to resort to hsc2cs in order to marshall & unmarshall a dns_t.

This is moot by now as proper support has been merged into the DNS library itself.


[Bug][v1.0-beta.3] Unable to open next daily note

@liamcain thanks for all your great work on this. I installed the beta and am currently testing it out. Just wanted to see if this is expected behavior.

Currently Open - Past Daily Note
The "Open next daily note" goes to the next existing note. Makes sense. No "next weekly note" available"

Currently Open - Today's Daily Note
"Open next daily note" does nothing - I would've expected it to create tomorrow's daily note. No "next weekly note" available

Currently Open - Any other Note
"Open next daily/weekly note" command is not available

Originally posted by @tbarlow12 in https://github.com/liamcain/obsidian-periodic-notes/issues/91#issuecomment-1107317915

Hi @tbarlow12, thanks for the bug report! I split your comment into its own issue to track.

No "next weekly note" available"

The "next weekly note" command is contextual and will only be available if you have a weekly note open. Since you're looking at a daily note, only the "next daily note" command is available. I admittedly hadn't thought much about the use case of jumping around from daily to weekly notes though, so I could remove this constraint. I personally would use the Date Switcher for this case but that's relative to the current date rather than the currently active note though.

"Open next daily note" does nothing - I would've expected it to create tomorrow's daily note. No "next weekly note" available

That's definitely unexpected. It should have opened up tomorrow's daily note. I'm not able to reproduce with my current configuration so do you mind sending me a screenshot of your daily note settings in case there's something I'm not handling properly there? I'll do some more digging in the meantime.

"Open next daily/weekly note" command is not available

That sounds expected to me. Are you expecting it to fallback to opening "tomorrow" or "next week"?

I use the "Jump to Date" plugin.  I used to be able to open a date and it would create the note correctly.  With this beta the note is created but NOT in the specified notes folder.  Might be related

I'm definitely not getting tomorrows note created


F# exception missing important information about messages

In order to get a good message from an F# exception, we apparently need to do this:
exception SomeException of info: string with
  override this.Message = this.info

I learned this from https://github.com/dotnet/fsharp/issues/3327, and could not find it mentioned in the F# exception docs.

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

ID: 50c3a47f-51bc-8573-41e6-8c3c973309e8
Version Independent ID: 92c1a3f6-d5af-eeda-d864-3a7f9ff19b1a
Content: Exception Types - F#
Content Source: docs/fsharp/language-reference/exception-handling/exception-types.md
Product: dotnet-fsharp
GitHub Login: @cartermp
Microsoft Alias: dotnetcontent

Thanks for making this suggestion @pbiggar
I've added this to our backlog to address.


test/new pr script

This branch has already verified that the PR summary script works in #12543 after merging master.


ENH: Add parameter estimation to scipy.stats.dirichlet

Is your feature request related to a problem? Please describe.
I encountered the need to do in some data analysis scenarios, where you use the Dirichlet distribution as a Bayesian prior and want a way to set it's parameters reasonably based on data. (E.g. you use the dirichlet distribution as a prior to a categorical distribution describing the shop where a product will be sold. You need to use the prior to compensate for lack of data when the product is new. But you may want to estimate the prior parameters based on where similar products were selling.)
Describe the solution you'd like.
A relatively simple implementation is here https://gist.github.com/dongwookim-ml/b890fd8f213701e0c693
A paper describing the theory: http://jonathan-huang.org/research/dirichlet/dirichlet.pdf
Describe alternatives you've considered.
I use a code adapted from the one linked above to do this. But in my opinion it's within the scope of scipy to have this functionality.
Additional context (e.g. screenshots, GIFs)
Many other common probability distributions already support this via the fit() method

Thanks for the suggestion and the literature review @jachymb. In principle this is in scope and a useful feature. Currently, only two multivariate distributions can be fitted: multivariate normal and von Mises. I had a quick look at the reference which looks quite good. One potentially helpful bit for the inverse digamma function already exists in scipy: https://github.com/scipy/scipy/blob/561815a1ac890bdc40dbad4ca18abcb724e752fb/scipy/stats/_continuous_distns.py#L3238
Be aware that reliably fitting distributions for a wide parameter range often turns out more difficult than expected. See for example these past PRs: #13053 , #16782.
Would you be interested in creating a PR?

I compared minimize against the "fixed point" method. In very limited testing, I saw the fixed point method keep the $a_i$ when minimize with "L-BFGS-B" would sometimes try negative values. I believe trust-constr actually respects keep_feasible=True for the bounds, but that is much slower than the fixed point method.
import numpy as np
from scipy import stats, special, optimize
from scipy.stats._continuous_distns import _digammainv

ipsi = np.vectorize(_digammainv)

def nllf(a, x):
    return -stats.dirichlet.logpdf(x.T, a).sum()

def fit1(x, a0=None):
    a0 = np.ones(x.shape[-1]) if a0 is None else np.asarray(a0)
    bounds = optimize.Bounds(0, np.inf, keep_feasible=True)
    res = optimize.minimize(lambda a: nllf(a, x=x), a0, bounds=bounds, method='trust-constr')
    return res.x

def fit2(x, a0=None):
    a_old = np.ones(x.shape[-1]) if a0 is None else np.asarray(a0)
    for i in range(1000):
        a_new = ipsi(special.psi(np.sum(a_old)) + np.mean(np.log(x), axis=0))
        if np.all(np.isclose(a_new, a_old)):
            break
        a_old = a_new
    return a_new

rng = np.random.default_rng(2549824598234528)

X = stats.dirichlet(np.arange(1, 10))
x = X.rvs(100)
a1 = fit1(x)
a2 = fit2(x)

np.testing.assert_allclose(nllf(a2, x), nllf(a1, x))


[VS Code] Joining collaboration session: Collaboration session not found.

Error:
Joining collaboration session: Collaboration session not found.
Steps to Reproduce:
1.
2.

Version Data

extensionName
VSLS

extensionVersion
1.0.540

protocolVersion
2.2

applicationName
VSCode

applicationVersion
1.36.1

platformName
Windows

platformVersion
10.0.17134

Duplicate of #2529


Ability to read the quotes inn twich chat

Command like !rq / !readquote [ID]
id would be the list read in reverse order, as the newest quotes are on the top of the quoteDB
IF no ID is specified, read a random one.

Added !m {boolean search} instead, might add {ID}, we'll see.


Add an option to remove the tray icon

Would you please consider adding the option to remove the tray icon altogether? If I don't want to be minimizing to tray, the tray icon is kind of useless and redundant.
Thank you.

Closed because of an open pull request regarding the same issue which I hadn't noticed, sorry.


Refactor condition gateways for nested expressions

Added inclusive handler to accept all satisfied conditions.
Removed deprecated feature of if-else handler.
Condition Schema changes added for value reference and condition evaluation.
Optimized condition evaluator code.

Changes are not relevant to the current release.


Automate patching compiler sources with Scalameta

Conflicts with https://github.com/DmytroMitin/dotty-patched/issues/6


Failed to resolve: com.github.mukeshsolanki:country-picker-android:1.2.4

Failed to resolve: com.github.mukeshsolanki:country-picker-android:1.2.4
Failed to resolve: com.github.chrisbanes:PhotoView:2.1.4

Go to root gradle file and include these files
        maven { url "https://jitpack.io" }
        maven { url "http://dl.bintray.com/chat-sdk/chat-sdk-android" }
        maven { url "https://maven.google.com" }

in allprojects->repositories not buildscript -> repositories


Allow any object?

How do I allow any object to be value of a key? such as
{
  "prop": {"foo": 1, "bar": true}
}

I want to allow user to put any object as value of "prop". If I do
+ prop: `{"a": 1}` (object)

It says this is invalid, because an object can't have value example.
Actually my use case would be Map<String, Number> instead of plain object (keys are not known in advance). I'm wondering whether API Blueprint is able to specify that.

@franklinyu Just do something like this.
+ prop (object)

It means, it can be any object.

Then it can't have any example. This hurts when it is actually not any object, just not able to express in current API Blueprint specification. I have to explain in the comments, which is not as loud as an example.

I don't understand. You said it can be any object and then you are saying it can't be any object? Can you please explain what exactly you are trying to do in a little more detail?

I want to specify that it need to be Map<String, Number>, but the key can be any string. For example,
{
  "foo": 1,
  "bar": 2
}

is acceptable, but not
{
  "string": "string",
  "boolean": true,
  "object": {
    "key": "val"
  }
}

AFAIK there is no way to specify this structure in API Blueprint, so I'm wondering whether I can just show a valid example to readers of my API.

You can do something like this:
+ (object)
    + *key* (number)

Not sure how that would work. Is that Generic Named Type? (I suddenly found that this issue belongs to MSON, but anyway.)

It is variable property name
On Fri, Jun 9, 2017, 00:54 Franklin Yu<EMAIL_ADDRESS>wrote:

Not sure how that would work. Is that Generic Named Type
https://apiblueprint.org/documentation/mson/specification.html#53-generic-named-type?
(I suddenly found that this issue belongs to MSON, but anyway.)
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/apiaryio/api-blueprint/issues/398#issuecomment-307249159,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKqb4fuKdf8O0hjtA52X6RfOcz4kow9ks5sCHuXgaJpZM4Np0JK
.

Thank you. That's exactly what I need. However Apiary doesn't seem to support that:
+ Request
    + Attributes (object)
        + *key* (number)

and
+ Request
    + Attributes (object)
        + key (number)

looks the same in the generated documentation.
(documentation link for my own record)

Yes. It's not completely supported in apiary
On Fri, Jun 9, 2017, 18:33 Franklin Yu<EMAIL_ADDRESS>wrote:

Thank you. That's exactly what I need. However Apiary doesn't seem to
support that:

Request

Attributes (object)

key (number)

and

Request

Attributes (object)

key (number)

looks the same in the generated documentation.
(documentation link for my own record
https://apiblueprint.org/documentation/mson/specification.html#322-variable-property-name
)
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/apiaryio/api-blueprint/issues/398#issuecomment-307437329,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKqb6kbbQn-WYDsHmB4n54ujLQNokm0ks5sCXPEgaJpZM4Np0JK
.


MyST notebooks

Soon adapting MyST for all notebooks. Starting here with a test of using eval-rst to generate example notebooks.

This is getting completed in PR#117 now.


HLD roadmap

[ ] write objective.txt
[x] project requirements
[x] req. research
[x] put up HLD coding issues and create Project View

markers created

HLD coding issues and architecture perspective


Is there any pretrained model detect human?

I had test a picture of human, but the model you provided can't detect it, I had tried many objects include dog, ship and so on, the model can detect them very fast. Is there any model can detect human or human face? Thanks very much!

It is trained on ImageNet dataset, and there is no classes labeled as "human" or "human face". You'd better train a model based on your own data.


Update test.yml

Set the name for the build job.

Codecov Report

Merging #124 (3688ecd) into main (37ad7fc) will decrease coverage by 0.57%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##              main     #124      +/-   ##
===========================================
- Coverage   100.00%   99.42%   -0.58%
===========================================
  Files            8        8
  Lines          375      350      -25
  Branches        34       30       -4
===========================================
- Hits           375      348      -27
- Misses           0        1       +1
- Partials         0        1       +1

Impacted Files
Coverage Δ

smtpdfix/controller.py
98.07% <0.00%> (-1.93%)
:arrow_down:

smtpdfix/fixture.py
100.00% <0.00%> (ø)

smtpdfix/handlers.py
100.00% <0.00%> (ø)

smtpdfix/configuration.py
100.00% <0.00%> (ø)

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 37ad7fc...3688ecd. Read the comment docs.


fix: installation of ginkgo

Signed-off-by: Jaime Silvela<EMAIL_ADDRESS>

/ok-to-merge


3 GPU

when use 3 GPU ,how to change the parameters to get EAO=0.414 ?

how to set batch_size 、 penalty_k 、window influence  ?
thanks.

You need to test on your own. We can't provide configs for every combinations. Our experiments will be conducted mainly on 8/16 1080TIs. About hyper parameters, you can use hp_search

can you explain why t batch_size 、 penalty_k 、window influence in GPU8 and GPU16 are different?
thanks

The batch size should be set according to the availability of the total available memory of your GPU, and the reset parameters need to be adjusted by batch_size.
Since this issue is not relevant to this repo, I'm closing it for now. I would personally suggest you search online for instructions on how to set the learning parameters.


Update lbry-basics.md

Some copy editing (e.g. ref. https://en.wiktionary.org/wiki/access - both as noun and verb), including elimination of run-on sentences.

Thanks for the PR! Can we show you some appreciation?


how to put a separator in between radio buttons like as shown in customizable example?

I use:
style={{justifyContent: "space-around"}}
idk if there are a better way


Printer-Scanner for home 2020

Requirement:

Color print (monochrome is not color https://github.com/130s/hut_10sqft/issues/446#issuecomment-685123905)
Wifi capable by default.
Ink consumption not bad (my mx922 was bad at it) esp. for inkjet.
Scanner

MUST: Auto, continuous feed.
MUST: Automatic-duplex

(Option) Photography copy quality.

DPI 1,200 at minimum?

(Option) Linux client for

Candidates:

Just as my own data point, Canon MX922 boasted 8ppm, which 8 ppm for color. But in actuality it was way too slow for me, felt like 2 ppm. So maybe divide the claimed value by 4 is the safest, lame estimate.

Surprisingly, looking at my order history I bought it anew back in 2014, just an year after its release, by $85. 6 years later on the same amazon.com, it's still $300+.

x Canon Image CLASS MF267dw All-in-One Laser Printer, AirPrint, and Wireless Connectivity, Black, 1

Missing auto-duplex

Why auto-duplex feature for scanner (not for printing) is not even a search item on amazon.com? I've seen many reviewers got disappointed after purchase finding out scanning was one-side only.
Does Brother not make auto-duplex scanner? Comparison table in HL-L2390DW shows all of them are print only --> Not true. Found multiple in Top 8 Best Duplex Scanning Printers of 2020 – Reviews and Comparison

Went with Brother MFCL2750DW Monochrome All-in-One Wireless Laser Printer, Duplex Copy & Scan, Amazon Dash Replenishment Ready. First laser printer for my home usage.
Wondered whether we need a printer at home.  But with kids growing, I guess having a printer is still beneficial. I don't expect to print a tons, and we print more texts than graphics (at least so far), then I was tired of MX922 being soooo slow to print a single page. Hence giving a try on laser. Also first time buying non-Canon printer or scanner. We'll see.
Description lists Linux! I don't know if that means scanner can directly scan to my Linux, but if not that shouldn't matter to me.

I regret I didn't make sure if the printer prints color. Turned out "monochrome" means the printer only uses black ink to print and ends up printing only black/white/grayscale. We'll see how far I can tolerate.

Other than being only mono-color, and the cloud scanning taking more complexed steps, I'm fairly happy with this laser printer so far.
Toner replacement took 5 mins. Product: 5-Pack ColorPrint Compatible TN760
Instruction https://www.youtube.com/watch?v=c7sqJeyt-lI


Extract jit_int.rs and most of jitdump_linux.rs for use outside of wasmtime

Fixes #102

I noticed that vtune support is broken by the way.

I noticed that vtune support is broken by the way.

cc: @jlb6740

Rebased


Update xml2js to be 0.5.0

Update xml2js to be 0.5.0

Bump version of @vscode/vsce so it depended on 0.5.0 of xml2js.
Bump version of vscode-extension-tester so it depended on @vscode/vsce that uses xml2js 0.5.0.
Needed as xml2js < 0.5.0 is vulnerable to prototype pollution.

@arosien Can you review this when you have time, we will want it to be included for the 1.3.0 release.


KNOW_YOUR_OFFICE_STUFF

KNOW_YOUR_OFFICE_STUFF 25

Title : KNOW_YOUR_OFFICE_STUFF
Issue No. : 25
Code Stack :  c++
Close #<issue_no>

Checklist:

[X] I have mentioned the issue number in my Pull Request.
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have created a helpful and easy to understand README.md
[X] I have updated the Index.html file for my contribution

@paulsuryanshu Please add README.md file with your project
Add your project to index.html.md file in your branch


Revert "console autodetection"

This reverts commit 6555bedcd7d182f219cf9a605d41ce07a24a8ce3.
/assign @deads2k
Requires https://github.com/openshift/origin-web-catalog/pull/642
Follow on openshift-ansible and origin PRs will remove the console RBAC template, which isn't needed anymore.

/hold

I'm fine with it.  You'll want to be sure that regular users can see these resources.

Yeah, we're already requesting clusterserviceclasses in the console. We can check if any have spec.clusterServiceBrokerName with template-service-broker.
PRs for origin and openshift-ansible:
https://github.com/openshift/origin/pull/18580
https://github.com/openshift/openshift-ansible/pull/7120

Console changes have merged.
/hold cancel

question.  lgtm otherwise

Stage RECORD THE STARTING METADATA [00h 05m 01s] failed.

/retest


[WIP] Update githubteacher's slide

TL;DR Summarize the changes
Ask leading questions

Hey does this look like the right feature to be adding?

Create a task list

[ ] Tasks to be completed

cc: @beardofedu for your awareness

New comment


Black formatting

Codecov Report

Merging #83 (447d6cf) into master (5e65ed5) will increase coverage by 0.04%.
The diff coverage is 91.04%.

@@            Coverage Diff             @@
##           master      #83      +/-   ##
==========================================
+ Coverage   90.48%   90.52%   +0.04%
==========================================
  Files          22       22
  Lines        2492     2492
==========================================
+ Hits         2255     2256       +1
+ Misses        237      236       -1

Impacted Files
Coverage Δ

yasa/features.py
7.23% <6.00%> (ø)

yasa/numba.py
23.21% <55.55%> (ø)

yasa/hypno.py
95.55% <88.46%> (ø)

yasa/staging.py
95.73% <94.23%> (ø)

yasa/plotting.py
96.95% <96.00%> (ø)

yasa/spectral.py
99.09% <96.92%> (ø)

yasa/detection.py
96.39% <97.94%> (+0.13%)
:arrow_up:

yasa/__init__.py
100.00% <100.00%> (ø)

yasa/heart.py
87.50% <100.00%> (ø)

yasa/io.py
100.00% <100.00%> (ø)

... and 13 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 5e65ed5...447d6cf. Read the comment docs.


Add www.cereproc.com API STT

Add www.cereproc.com API STT
You need to create account on https://www.cereproc.com/en/user/register
After, you received credential on your mail to access API.
You must modify profile.yml

tts_engine: cereproc-tts
att-tts:
  personnality: Adam  # For english language
  accountid: 'xxxxxxxxxx'
  password: 'xxxxxxxxxx'

Consult Personnality attribute on :
https://www.cereproc.com/fr/products/cloud

What do you think about my commit ?

Thanks for your contribution. I left some remarks. I need some time to test though, I'm a bit busy currently.

Sorry, I was quite busy. I added this TTS engine (misleading title xD) into the jasper-dev branch via PR #384. Thanks again.

Title is wrong, and had me looking on their site for a while for no reason.  But thanks.
Add www.cereproc.com API STT #366
NOT STT, TTS....

Exactly, my bad
Le 2 nov. 2015 19:50, "Matthew Curry"<EMAIL_ADDRESS>a écrit :

Title is wrong, and had me looking on their site for a while for no
reason. But thanks.
Add www.cereproc.com API STT #366
https://github.com/jasperproject/jasper-client/pull/366
NOT STT, TTS....
—
Reply to this email directly or view it on GitHub
https://github.com/jasperproject/jasper-client/pull/366#issuecomment-153122419
.


refactor(apps/prod/tekton/configs): pop the multi arch image collect trigger to top level

Signed-off-by: wuhuizuo<EMAIL_ADDRESS>

/approve


2.13.10 layout error

Package
filament/filament
Package Version
v2.13.10
Laravel Version
9.11
Livewire Version
2.10
PHP Version
8.0
Bug description
layout error ???

Steps to reproduce
update to  2.13.10
Relevant log output
No response

sry its a tailwindcss building question~


feat: collect and cache builtin instructions cost and count per transaction

Problem
#2561
Summary of Changes

add a new bench case that test tx has 355 instructions that are all builtin instructions (including compute-budget ixs). This is worst-case as all instructions need to resolve its cost.
collect tx's builtin instruction counts and cost, remove compute_budget_ from instruction_details name to reflect that struct caches more than just compute-budget details
updated filter to cache resolve builtin instruction cost, to avoid repeated hashing and lookup from BUILTIN_INSTRUCTION_COSTS

Fixes #2561

The three commits are organized for bench incremental steps: original, simply add needed function, perf optimized:

Commit 1, bench before change
     Running benches/process_compute_budget_instructions.rs (target/release/deps/process_compute_budget_instructions-c23596bf6c26a34b)
bench_process_compute_budget_instructions_empty/0 instructions
                        time:   [6.9498 µs 6.9685 µs 6.9868 µs]
                        thrpt:  [146.56 Melem/s 146.95 Melem/s 147.34 Melem/s]
                 change:
                        time:   [+3.1493% +3.4355% +3.7214%] (p = 0.00 < 0.05)
                        thrpt:  [-3.5879% -3.3214% -3.0531%]
                        Performance has regressed.
Found 5 outliers among 100 measurements (5.00%)
  2 (2.00%) low mild
  3 (3.00%) high mild

bench_process_compute_budget_instructions_no_builtins/4 dummy Instructions
                        time:   [12.728 µs 12.744 µs 12.759 µs]
                        thrpt:  [80.259 Melem/s 80.354 Melem/s 80.450 Melem/s]
                 change:
                        time:   [+1.8458% +2.0980% +2.3406%] (p = 0.00 < 0.05)
                        thrpt:  [-2.2870% -2.0549% -1.8124%]
                        Performance has regressed.
Found 18 outliers among 100 measurements (18.00%)
  9 (9.00%) low mild
  7 (7.00%) high mild
  2 (2.00%) high severe

bench_process_compute_budget_instructions_compute_budgets/4 compute-budget instructions
                        time:   [26.258 µs 26.293 µs 26.332 µs]
                        thrpt:  [38.888 Melem/s 38.945 Melem/s 38.998 Melem/s]
                 change:
                        time:   [+0.8114% +1.0765% +1.3665%] (p = 0.00 < 0.05)
                        thrpt:  [-1.3481% -1.0651% -0.8049%]
                        Change within noise threshold.
Found 5 outliers among 100 measurements (5.00%)
  3 (3.00%) high mild
  2 (2.00%) high severe

bench_process_compute_budget_instructions_builtins/4 dummy builtins
                        time:   [16.261 µs 16.285 µs 16.310 µs]
                        thrpt:  [62.782 Melem/s 62.882 Melem/s 62.973 Melem/s]
                 change:
                        time:   [-0.3143% -0.1345% +0.0376%] (p = 0.13 > 0.05)
                        thrpt:  [-0.0376% +0.1347% +0.3153%]
                        No change in performance detected.
Found 8 outliers among 100 measurements (8.00%)
  5 (5.00%) low mild
  1 (1.00%) high mild
  2 (2.00%) high severe

bench_process_compute_budget_instructions_mixed/355 mixed instructions
                        time:   [496.86 µs 497.54 µs 498.27 µs]
                        thrpt:  [2.0551 Melem/s 2.0581 Melem/s 2.0609 Melem/s]
                 change:
                        time:   [-0.1292% +0.0754% +0.2721%] (p = 0.47 > 0.05)
                        thrpt:  [-0.2714% -0.0753% +0.1293%]
                        No change in performance detected.
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) high mild
  1 (1.00%) high severe

bench_process_compute_budget_and_transfer_only/355 transfer instructions and compute budget ixs
                        time:   [490.41 µs 490.74 µs 491.12 µs]
                        thrpt:  [2.0850 Melem/s 2.0867 Melem/s 2.0880 Melem/s]
                 change:
                        time:   [+0.2029% +0.3755% +0.5466%] (p = 0.00 < 0.05)
                        thrpt:  [-0.5436% -0.3741% -0.2025%]
                        Change within noise threshold.
Found 3 outliers among 100 measurements (3.00%)
  3 (3.00%) high mild

commit 2: impl function to collect builtin cost; It adds hashing for every program_id, resulting: 0-ix regress a bit due to added math to calc non-cb-ix-count, but hashing made 4-ix benches much worse, and many-ix benches significantly regressed?
     Running benches/process_compute_budget_instructions.rs (target/release/deps/process_compute_budget_instructions-9affcf53954823c1)
bench_process_compute_budget_instructions_empty/0 instructions
                        time:   [7.8715 µs 7.8805 µs 7.8878 µs]
                        thrpt:  [129.82 Melem/s 129.94 Melem/s 130.09 Melem/s]
                 change:
                        time:   [+17.913% +18.243% +18.527%] (p = 0.00 < 0.05)
                        thrpt:  [-15.631% -15.428% -15.192%]
                        Performance has regressed.
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild

bench_process_compute_budget_instructions_no_builtins/4 dummy Instructions
                        time:   [24.825 µs 24.861 µs 24.901 µs]
                        thrpt:  [41.122 Melem/s 41.189 Melem/s 41.249 Melem/s]
                 change:
                        time:   [+100.37% +100.68% +101.03%] (p = 0.00 < 0.05)
                        thrpt:  [-50.257% -50.170% -50.092%]
                        Performance has regressed.
Found 20 outliers among 100 measurements (20.00%)
  2 (2.00%) low severe
  1 (1.00%) low mild
  3 (3.00%) high mild
  14 (14.00%) high severe

bench_process_compute_budget_instructions_compute_budgets/4 compute-budget instructions
                        time:   [41.173 µs 41.188 µs 41.205 µs]
                        thrpt:  [24.851 Melem/s 24.862 Melem/s 24.871 Melem/s]
                 change:
                        time:   [+59.869% +60.266% +60.630%] (p = 0.00 < 0.05)
                        thrpt:  [-37.745% -37.604% -37.449%]
                        Performance has regressed.
Found 11 outliers among 100 measurements (11.00%)
  5 (5.00%) high mild
  6 (6.00%) high severe

bench_process_compute_budget_instructions_builtins/4 dummy builtins
                        time:   [34.823 µs 34.838 µs 34.857 µs]
                        thrpt:  [29.377 Melem/s 29.393 Melem/s 29.406 Melem/s]
                 change:
                        time:   [+112.60% +113.18% +113.73%] (p = 0.00 < 0.05)
                        thrpt:  [-53.211% -53.091% -52.964%]
                        Performance has regressed.
Found 8 outliers among 100 measurements (8.00%)
  2 (2.00%) high mild
  6 (6.00%) high severe

Benchmarking bench_process_compute_budget_instructions_mixed/355 mixed instructions: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 9.1s, enable flat sampling, or reduce sample count to 50.
bench_process_compute_budget_instructions_mixed/355 mixed instructions
                        time:   [1.8023 ms 1.8044 ms 1.8067 ms]
                        thrpt:  [566.78 Kelem/s 567.51 Kelem/s 568.15 Kelem/s]
                 change:
                        time:   [+258.39% +262.14% +264.37%] (p = 0.00 < 0.05)
                        thrpt:  [-72.555% -72.386% -72.097%]
                        Performance has regressed.
Found 15 outliers among 100 measurements (15.00%)
  5 (5.00%) high mild
  10 (10.00%) high severe

Benchmarking bench_process_compute_budget_and_transfer_only/355 transfer instructions and compute budget ixs: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 9.2s, enable flat sampling, or reduce sample count to 50.
bench_process_compute_budget_and_transfer_only/355 transfer instructions and compute budget ixs
                        time:   [1.8198 ms 1.8211 ms 1.8227 ms]
                        thrpt:  [561.81 Kelem/s 562.31 Kelem/s 562.69 Kelem/s]
                 change:
                        time:   [+272.41% +272.99% +273.55%] (p = 0.00 < 0.05)
                        thrpt:  [-73.230% -73.190% -73.148%]
                        Performance has regressed.
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild

Commit 3: updated filter to cached resolved builtin ix cost. It adds additional cost of allocating larger array per tx, but removed all repeated hashing; results: 0-ix bench regressed, 4-ix bench has small changes, many-ix benches significantly improved
     Running benches/process_compute_budget_instructions.rs (target/release/deps/process_compute_budget_instructions-b53a7f97abe58117)
bench_process_compute_budget_instructions_empty/0 instructions
                        time:   [16.950 µs 16.990 µs 17.026 µs]
                        thrpt:  [60.144 Melem/s 60.271 Melem/s 60.412 Melem/s]
                 change:
                        time:   [+114.95% +115.54% +116.15%] (p = 0.00 < 0.05)
                        thrpt:  [-53.735% -53.606% -53.478%]
                        Performance has regressed.
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) high mild
  1 (1.00%) high severe

bench_process_compute_budget_instructions_no_builtins/4 dummy Instructions
                        time:   [22.542 µs 22.604 µs 22.656 µs]
                        thrpt:  [45.198 Melem/s 45.302 Melem/s 45.427 Melem/s]
                 change:
                        time:   [-9.8919% -9.6990% -9.4811%] (p = 0.00 < 0.05)
                        thrpt:  [+10.474% +10.741% +10.978%]
                        Performance has improved.

bench_process_compute_budget_instructions_compute_budgets/4 compute-budget instructions
                        time:   [48.071 µs 48.132 µs 48.174 µs]
                        thrpt:  [21.256 Melem/s 21.275 Melem/s 21.302 Melem/s]
                 change:
                        time:   [+16.602% +16.779% +16.923%] (p = 0.00 < 0.05)
                        thrpt:  [-14.474% -14.368% -14.238%]
                        Performance has regressed.
Found 12 outliers among 100 measurements (12.00%)
  4 (4.00%) low severe
  1 (1.00%) low mild
  4 (4.00%) high mild
  3 (3.00%) high severe

bench_process_compute_budget_instructions_builtins/4 dummy builtins
                        time:   [48.941 µs 48.973 µs 49.008 µs]
                        thrpt:  [20.894 Melem/s 20.909 Melem/s 20.923 Melem/s]
                 change:
                        time:   [+40.020% +40.242% +40.451%] (p = 0.00 < 0.05)
                        thrpt:  [-28.801% -28.695% -28.582%]
                        Performance has regressed.
Found 15 outliers among 100 measurements (15.00%)
  3 (3.00%) low severe
  2 (2.00%) low mild
  8 (8.00%) high mild
  2 (2.00%) high severe

bench_process_compute_budget_instructions_mixed/355 mixed instructions
                        time:   [556.23 µs 557.12 µs 558.17 µs]
                        thrpt:  [1.8346 Melem/s 1.8380 Melem/s 1.8410 Melem/s]
                 change:
                        time:   [-69.185% -69.137% -69.087%] (p = 0.00 < 0.05)
                        thrpt:  [+223.49% +224.01% +224.52%]
                        Performance has improved.
Found 6 outliers among 100 measurements (6.00%)
  5 (5.00%) high mild
  1 (1.00%) high severe

bench_process_compute_budget_and_transfer_only/355 transfer instructions and compute budget ixs
                        time:   [639.73 µs 641.01 µs 642.66 µs]
                        thrpt:  [1.5934 Melem/s 1.5975 Melem/s 1.6007 Melem/s]
                 change:
                        time:   [-64.939% -64.876% -64.810%] (p = 0.00 < 0.05)
                        thrpt:  [+184.17% +184.71% +185.22%]
                        Performance has improved.

Implementation with the aux cache looks much better than what you had before! But shouldn't this code be behind a feature gate and shouldn't we at least have a SIMD written up describing the intended feature gated change in behavior?

Implementation with the aux cache looks much better than what you had before! But shouldn't this code be behind a feature gate and shouldn't we at least have a SIMD written up describing the intended feature gated change in behavior?

This doesn't change the behavior yet though, right? It's caching this data because we plan to use it, but the compute-budget-details we get from the sanitize_compute... function is unchanged by this (afaict).

Implementation with the aux cache looks much better than what you had before! But shouldn't this code be behind a feature gate and shouldn't we at least have a SIMD written up describing the intended feature gated change in behavior?

This doesn't change the behavior yet though, right? It's caching this data because we plan to use it, but the compute-budget-details we get from the sanitize_compute... function is unchanged by this (afaict).

Yes. No change in this PR, it just adds "collect and cache" function. The follow-up PR is going to use cached builtin cost, which will change the behavior, It's feature gate: https://github.com/anza-xyz/agave/issues/2562
I didn't create a SIMD because this feature gate isn't to change protocol, but to fix a bug; the bug being "compute budget allocates 200K per builtin, yet only consume its default cost; except for compute-budget instructions, that it does not allocate units but still consume its default cost".

This doesn't change the behavior yet though, right? It's caching this data because we plan to use it, but the compute-budget-details we get from the sanitize_compute... function is unchanged by this (afaict).

There's a non-zero perf hit, which I see as a behavior change. There's no reason to cache this data when the feature isn't enabled right? But if it's too difficult to put this new caching behind a feature gate, maybe it's fine to keep it as is.

I didn't create a SIMD because this feature gate isn't to change protocol, but to fix a bug; the bug being "compute budget allocates 200K per builtin, yet only consume its default cost; except for compute-budget instructions, that it does not allocate units but still consume its default cost".

This is a protocol change to fix a bug. If firedancer isn't aware of this protocol change they could process transactions differently. Imagine a transaction doesn't set a compute limit but relies on the fact that adding a few builtin instructions to their transaction will increase their tx compute limit which is used fully by an invocation to a custom program. The transaction would succeed before the feature gate and would fail after the feature gate leading to a divergence if all clients aren't in sync for implementation. Given that this feature needs coordination between client teams and that it could break downstream users, I think we should have a SIMD to discuss.

Synced with FD previously, FD planned to rebase cost model implementation after this fix is in (they are currently using agave runtime, and its cost model implementation, but do not handle adjust-up, so over packing in some cases).
Just chatted with Philip, considering currently schedule, it seems it makes better sense to do all that after breakpoint. In this case, a SIMD would be very helpful to document the change, and perhaps discuss other possible solutions. I'll open one then link to feature gate issue #2562.
As for this PR, wdyt to merge it if no other open issues itself?

I really don't think it makes sense to merge yet, what's the rush?

I really don't think it makes sense to merge yet, what's the rush?

I have few PRs after this, but I can reorg my pipeline. Let's keep this open while SIMD https://github.com/solana-foundation/solana-improvement-documents/pull/170 being discussed.

I think rather than waiting on the SIMD process, which could take a while, how about we split this up?
Keep the old version such that we can get the compute budget without the builtin-check overhead, but also this new version which has the builtins checked.
Ideally we'd have a cost-model fn that we could pass this new struct into (with feature_set) so we can get the cost without doing separate scans for compute-budget AND builtins - having that would also help the transition to new tx type and runtime-transaction.
Once runtime transaction is used we can remove the old version since its' not accessed, and this more detailed meta info will be cached so we only calculate once.
@jstarry @tao-stones does that seem reasonable to you?

#3799 did it


KAFKA-7027: Add an overload build method in scala

The Java API can pass a Properties object to StreamsBuilder#build, to allow, e.g., topology optimization, while the Scala API does not yet. The latter only delegates the work to the underlying Java implementation.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

I didn' find a related issue, please let me know if I missed it (or missed a related PR), or if I should do anything else before submitting this.
Thank you!

@massimosiani thanks for the contribution! This actually is related to KIP-312 (Jira https://issues.apache.org/jira/browse/KAFKA-7027) so I've updated the title.
Also, can you rebase this to trunk?  Then we can cherry-pick to 2.2

\cc any of (@guozhangwang, @mjsax, @vvcephei, and @ableegoldman) for a second review

Hi @bbejeck, thanks for the review!
I have changed the base branch for the PR to trunk, and added a test case identical to the Simple one in TopologyTest.scala with the new API.
In the test, the TOPOLOGY_OPTIMIZATION property is passed, because that's the main goal of this PR.
Let me know if there is anything else I can do.
Thank you!

Java 8 failed with
org.apache.kafka.common.network.SslSelectorTest.testCloseOldestConnectionWithMultipleStagedReceives
kafka.api.UserQuotaTest.testThrottledProducerConsumer
kafka.network.SocketServerTest.testConnectionRateLimit

Java 11 passed
retest this please

@massimosiani After looking over the Scala API the issue for the different topology between Java and Scala is here https://github.com/apache/kafka/blob/trunk/streams/streams-scala/src/main/scala/org/apache/kafka/streams/scala/kstream/KGroupedStream.scala#L51 .
KGroupedStream#count in Scala needs to add an additional mapValues proceessor to convert from a Java Long to a Scala Long, so a count operation won't have the same topology.
Thanks for your hard work so far and here's what I'd suggest going forward.
Change the example to have 3 streams and you call either selectKey or map on the first stream instance.  Then perform two joins,
val sourceStream = builder.stream(inputTopic, Consumed.`with`(Serdes.String, Serdes.String))
val mappedStream: KStreamJ[String, String] =sourceStream.map((k: String, v: String) => ...))

val stream2 = ...
val stream3 = ...

val join1 = mappedStream.join(stream2....)
val join2 - mappedStream.join(stream3,...)

This way with optimization turned on we should end up with only one repartition topic and since there is no aggregation operation the toplogies should end up the same.
We'll stil want the assertion step to be assertEquals(getTopologyScala.toString, getTopologyJava.toString)

Hi @bbejeck, thank you.
I am not sure whether it makes sense, but I also added an assertion to check that the topology without optimization is different from the optimized one, so I am actually testing an optimized topology.
I had to add the explicit NO_OPTIMIZE property so we are not checking the default behavior of build().
Let me know if that makes sense at all.
Thank you!

Moving to new comment to make sure this gets picked up
@massimosiani one last thing I just noticed, do you mind changing the assertEquals on line 432-433
from:
assertEquals(getTopologyScala.build(propsNoOptimization).describe.toString,                  getTopologyScala.build(propsNoOptimization).describe.toString)
to:
assertEquals(getTopologyScala.build(propsNoOptimization).describe.toString, getTopologyJava.build(propsNoOptimization).describe.toString)
My apologies as this is my error from my previous comment.

Moving to new comment to make sure this gets picked up
@massimosiani one last thing I just noticed, do you mind changing the assertEquals on line 432-433
from:
assertEquals(getTopologyScala.build(propsNoOptimization).describe.toString, getTopologyScala.build(propsNoOptimization).describe.toString)
to:
assertEquals(getTopologyScala.build(propsNoOptimization).describe.toString, getTopologyJava.build(propsNoOptimization).describe.toString)
My apologies as this is my error from my previous comment.

My fault, I took it for granted and did not read it carefully.

Thanks for the contribution @massimosiani!
Merged #6373 to trunk

cherry-picked to 2.2, and 2.1


Style an already styled component, accessing child styled components

Is it possible to add styles to a child of a styled component, with that child already being a styled component? For Example, Thumbnail is a component with Icon and Image:
export const StyledThumbContainer = styled.div`
width:200px
`
export const StyledIcon = styled.div`
color:red
`

export const Thumbnail =>
<StyledThumbContainer>
    <StyledIcon/>
</StyledThumbContainer>

Now, I want to use this thumbnail in an image gallery but with different styles on the StyledThumbContainer and StyledIcon. I tried a few things and they all failed, for example:
//import the above for try 1 and 2
import Thumbnail from "components/thumbnail"

//import for try 3
import Thumbnail, {StyledThumbContainer} from "components/thumbnail"

//try 1
export const StyledThumbnail = styled(Thumbnail)`
width:50px;
`
//try2
export const StyledThumbnail = styled(Thumbnail)`
div{width:50px;}
`
//try3
export const StyledThumbnail = styled(Thumbnail)`
${StyledThumbContainer}{width:50px;}
`
export const ImageGallery =>
<ImageGallery>
<StyledThumbnail>
<...image gallery stuff>
</ImageGallery>

What is the best way to handle this situation? Thanks!

Version
2.1.0

Reproduction

https://www.webpackbin.com/bins/-KeeZCr0xKfutOfOujxN
https://codesandbox.io/s/rkmNRByE4
Steps to reproduce
Expected Behavior
Actual Behavior

Hey @dsaisho how about passing props to the Thumbnail component and changing the styles based on the props?
For example:
const StyledThumbContainer = styled.div`${props => css`
  width: 200px;

  ${props.size === 'small' && `
    width: 50px;
  `}
`}`;

const Thumbnail = (props) => (
  <StyledThumbContainer size={props.size}>
    <StyledIcon/>
  </StyledThumbContainer>
);

<Thumbnail size="small" />

Yep @epilande's suggestion is a good one. In general you should try to make your components describe what about themselves can change. Here, you're saying there are two variants, small or not. In your example above you're relying on multiple classnames to do the same job.
That said, if you change your Thumbnail to be:
export const Thumbnail = ({ className }) =>
<StyledThumbContainer className={className}>
    <StyledIcon/>
</StyledThumbContainer>

Then your //try 1 code will work.

Hey all, I appreciate the suggestions! I wanted to pass props initially however that was poor architecture for how we build our app. I am very noob at this and the answer which I just found out was simply adding className={className} to the child component :)


Should next-runtime-env work with Docker and docker-compose?

I've tested the package and it works wonderfully in the examples you provide 🎉.
However, I fail to make it work with Docker and Docker Compose 🥀.
The idea would be to define the variables in a .env next to the docker.compose.yml, not next to the nextjs project. Then, pass the variables to the container at the startup.
I've prepared an example here.
I get undefined at the client side.
Note the __ENV.js file is present, but empty (window.__ENV = {}).

Solved using a Dockerfile without multistage.

Just to add for anyone that stumbles across this that I was also able to solve this issue by using a Dockerfile without multistage 👍


Pass colors with processColor

Since color processing was moved to JS [1], examples were failing with
error. Examples now use processColor to pass colors, instead of passing
them as strings.
[1]
https://github.com/facebook/react-native/commit/9a2d05d9b2aea459ef3b3e92376cf15bca4d17fa

Well, actually you might as well ignore this. I was using an old version of your library.


Update pbxProject.js

add function

I ran the tests however, and your test failed.

Is this feature really necessary since it is just an alias?

Closing due to lack of response and lack of perceived need. @ZhengShouDong if you still need this change please respond to the requests by @shazron and @n1ru4l.


Animated GIF is not supported (but it is!)

Although the docs state that Animated GIF is not supported, it seems to be. I had no problem with animated GIFs so far.

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

ID: 3fb4394d-25b1-8752-3996-fe3a2934732d
Version Independent ID: 6d391381-89d0-117c-27cc-00043bd26a36
Content: Types of cards - Teams
Content Source: msteams-platform/task-modules-and-cards/cards/cards-reference.md
Product: msteams
GitHub Login: @surbhigupta
Microsoft Alias: lajanuar

Hi  @andersonpimentel ,
We are checking internally whether its supported in all platforms or not. After confirmation we will redirect the issue to appropriate team/forum.

@andersonpimentel - Currently, animated GIFs are not fully supported on mobile platform. We have backlog item to track this internally so closing this from Docs issues page.


Use Vim 8 features for updating the quickfix list without replacing quickfix lists from other plugins

When the syntastic plugin is updating a quickifx list asynchronously, some other
Vim plugin or user can create/modify the quickfix list resulting in the syntastic
plugin updating the incorrect quickfix list. This can be avoided by using
the new features in Vim8.
Refer to the following thread for the steps to do this:
https://groups.google.com/forum/#!topic/vim_use/LTWNG0nRQCc

Please refer to #699.  New feature will be added health permitting, if / when I can get myself together to re-start working at syntastic.  In the mean time you can:

submit working patches to add the features you want,
fork syntastic, or
use something else (ale seems to be a popular destination for syntastic refugees).

Sorry about that.


Desktop app - Attachment keeps blinking and looks like they failed to upload

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Expected Result:
Attachments should always be visible and should not blink.
Actual Result:
Attachment blinks and looks like they failed to upload.
Action Performed:

Log in to expensify.cash
Navigate to a conversation that has attachments.

Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platform:
Where is this issue occurring?
Web
iOS
Android
Desktop App ✔
Mobile Web
Version Number: 1.0.36-0
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:

Expensify/Expensify Issue URL:
View all open jobs on Upwork

From @cead22 https://expensify.slack.com/archives/C01GTK53T8Q/p1620077198323800

image attachments keep blinking and looks like they failed to upload https://recordit.co/Ns9chzGXtQ http://g.recordit.co/Ns9chzGXtQ.gif

Triggered auto assignment to @bfitzexpensify (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

@cead22, I'm having trouble reproducing this. I am on 1.0.37-0, rather than 1.0.36-0, which might explain the difference, but all images seem to be loading fine when I jump around from chat to chat. Can you confirm this is also happening on 1.0.37-0?

I couldn't repro on 1.0.38-1

Sweet, let's close this out then.


Improving joint impedance controller

The JointImpedanceController is at now internally computing the torque based on stiffness and damping, while it could actually use the internal JOINT_IMPEDANCE interface of the KRC.
This PR address such change, while also working on resetting appropriately the flags when the command mode is changed, so that it is possible to switch between different control modes back and forth without incurring in various errors (as also commented in #67).

This looks goooood! Finally I manage to at least start the controller. I was always getting the FRI interpolation error with the old version. Thanks!!
Only think that I noticed: I do not manage to start the robot with this controller, I have to start with either joint_trajectory or cartesian_impedance. With joint_impedance, the KRL script gets stuck at "WAIT FOR $FRI_FRM_INT[2] == 1". Does it behave the same for you?

Actually, we only tested successfully starting in position control mode (e.g. using joint_trajectory_controller), otherwise the same error appears.
Starting with Cartesian impedance was never tested, as far as I remember.
We are working on a "safe" version of the node which won't allow position control at all, and use impedance instead: it's probably a little messy yet, but it's behaving quite well; you can have a look at pr_creating-safe-interfaces branch to get an idea, but that will change, and some commits will probably need to be in this PR.
In the meanwhile, did you test the controller? Does it work well for your setup? I hope to merge (or have someone else merge) this PR a little faster than the Cartesian Impedance one :smiley:


MM-47074 :  Migrate "components/suggestion/generic_channel_provider.jsx" to Typescript

Summary
Genric_channel_provider.jsx to typescript
Ticket Link
Fixes https://github.com/mattermost/mattermost-server/issues/21095
Fixes https://mattermost.atlassian.net/browse/MM-47074
Related Pull Requests
None
Screenshots
NA
Release Note
None
NONE

Hello @AbhinavVihan,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

E2E tests not automatically triggered, because PR has no approval yet. Please ask a developer to review and then try again to attach the QA label.

This PR has been automatically labelled "stale" because it hasn't had recent activity.
A core team member will check in on the status of the PR to help with questions.
Thank you for your contribution!

Heads up that as part of our efforts to move to a monorepo, we're closing out a number of older pull requests like this one to help streamline the effort.
If you'd like to preserve these changes -- even if you're not the original author! -- feel free to resubmit the pull request against the monorepo once it's ready. You can subscribe to mattermost-server-issue-22420 for status updates on this effort.


chore: Unify .clang-format file

Description

Move all .clang-format files to the root directory
Since they're all the same, there's no need to copy paste the same file multiple times.
The only downside this has it that when opening a project under lib that does not have its own .clang-format file, your editor might try to format it based on our config.
Update scripts/check-format.sh to include all source dirs


nixos/home-automation: really fix lovelace card entrypoint

Description of changes
I'm still getting *.js.js in /etc/home-assistant/configuration.yaml using current nixpkgs-unstable(2873a73123077953f3e6f34964466018876d87c4):
lovelace:
  mode: yaml
  resources:
  - type: module
    url: /local/nixos-lovelace-modules/mini-media-player-bundle.js.js?1.16.6

After this commit, only one .js is left.
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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/)
24.05 Release Notes (or backporting 23.05 and 23.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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Related https://github.com/NixOS/nixpkgs/pull/272403
@mweinelt Could you please review?


[Feature]: Text in Switch

Describe the feature
Text in Switch
Can adapt to the width of the text

<script setup lang="ts">
import {type HTMLAttributes, computed} from 'vue'
import {
  SwitchRoot,
  type SwitchRootEmits,
  type SwitchRootProps,
  SwitchThumb,
  useForwardPropsEmits,
} from 'radix-vue'
import {cn} from '@/lib/utils'

const props = defineProps<SwitchRootProps & { class?: HTMLAttributes['class'] } & {
  checkedChildren: string,
  unCheckedChildren: string
}>()

const emits = defineEmits<SwitchRootEmits>()

const delegatedProps = computed(() => {
  const {class: _, ...delegated} = props

  return delegated
})

const forwarded = useForwardPropsEmits(delegatedProps, emits)
</script>

<template>
  <SwitchRoot
      v-bind="forwarded"
      :class="cn(
      'peer inline-flex w-auto h-6 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input relative',
      props.class,
    )"
  >
    <div
        v-if="checkedChildren"
        class="duration-150 pl-1 text-[12px]  text-nowrap text-white"
        :class="cn(
      checked?'translate-x-0 opacity-100 w-auto mr-5':'opacity-0 w-0 -translate-x-full',
        )"
    >
      {{checkedChildren}}
    </div>
    <SwitchThumb
        :class="cn('pointer-events-none block left-0 h-5 w-5 rounded-full bg-background shadow-lg ring-0 absolute transition-all',
      checked && 'left-[calc(100%_-_1.2rem)]' )"
    />
    <div
        v-if="unCheckedChildren"
        class="duration-150 pr-1 text-[12px]  text-nowrap text-white "
        :class="cn(
      checked?'translate-x-full opacity-0 w-0 ':'opacity-100 w-auto translate-x-0 ml-5',
        )"
    >
     {{unCheckedChildren}}
    </div>
  </SwitchRoot>
</template>

Additional information

[ ] I intend to submit a PR for this feature.
[X] I have already implemented and/or tested this feature.

This project's goal is to remain aligned with shadcn/ui. If the feature you are requesting is not in the original shadcn/ui, it will not be considered here.

Feel free to add it into your source


[aws-sdk-cpp] update to 1.9.96

Fix #18214 , #19899
Adds or updates these ports:
s2n [1.0.17]
aws-c-auth [0.6.3]
aws-c-cal [0.5.11]
aws-c-common [0.6.9]
aws-c-compression [0.2.14]
aws-c-event-stream [0.2.7]
aws-c-http [0.6.5]
aws-c-io [0.10.7]
aws-c-mqtt [0.7.6]
aws-c-s3 [0.1.25]
aws-checksums [1.]
aws-crt-cpp [0.15.1]
aws-sdk-cpp [1.9.96]
Tested on x86-linux triplet. I have updated the CI baseline.

1.9.96 is latest
https://github.com/microsoft/vcpkg/issues/19899

@camarois ,Could you please take a look:
https://dev.azure.com/vcpkg/public/_build/results?buildId=59177&view=artifacts&pathAsName=false&type=publishedArtifacts

/azp run

Adds or updates these ports:
s2n [1.0.17]

That port failed to build on MacOS. https://dev.azure.com/vcpkg/public/_build/results?buildId=59340

@BillyONeal I fixed the failing ports.

Looks good, thanks :)


Set timeout on Jenkins CI builds

I observed recently a couple builds hanging for 10+ hrs and that I had to kill by hand.
Here I propose to set a limit at 2hrs.  The limit is for individual stages.  We could pick something shorter but I think that anything above 2hrs might as well get killed.

Actually I am not sure how long the SYCL base image typically takes to build.

I'm generally OK with that. Why were they timing out?

SYCL takes about 45 minutes after recent patches.

Actually I am not sure how long the SYCL base image typically takes to build.

I would think it's fine.
Just as a side remark: the 6 hour limit for the whole CI run works fine.

Actually I am not sure how long the SYCL base image typically takes to build.

I would think it's fine. Just as a side remark: the 6 hour limit for the whole CI run works fine.

Not sure what you mean

Not sure what you mean

I meant to say:  the 6 hour limit for the whole CI run we have in Kokkos works fine.


Deleting tariff ID

To remove an account that is no longer needed

@richgreen-moj Terraform plan evaluation detected changes to resources that require approval from a member of @ministryofjustice/modernisation-platform - please contact #ask-modernisation-platform for assistance


Running on CoLab has issue

This is the output:
Diversity: 0.2
Generating with seed: "i will wash away your pain with my tears"
i will wash away your pain with my tearsTraceback (most recent call last):
File "main.py", line 77, in
predictions = model.predict(x, verbose=0)[0]
File "/usr/local/lib/python3.6/dist-packages/keras/engine/training.py", line 1441, in predict
x, _, _ = self._standardize_user_data(x)
File "/usr/local/lib/python3.6/dist-packages/keras/engine/training.py", line 579, in _standardize_user_data
exception_prefix='input')
File "/usr/local/lib/python3.6/dist-packages/keras/engine/training_utils.py", line 145, in standardize_input_data
str(data_shape))
ValueError: Error when checking input: expected lstm_1_input to have shape (40, 40) but got array with shape (40, 236)

import numpy as np
X_train = np.reshape(X_train, (X_train.shape[0], 1, X_train.shape[1]))
X_test = np.reshape(X_test, (X_test.shape[0], 1, X_test.shape[1]))

you should edit your like this


Fix build and misc configs

Fixes the build and cleans up *.swp files. Depends on jonathanKingston/eslint-config-ember#5 for tests to pass.

Published your changes for the config, could you update the package.json here to<EMAIL_ADDRESS>please?
Thanks!

Updated. Thanks for cutting the new version!

:+1: thanks a lot for your help on this


how to avoid Buffer Shortage error?

after some time playing TANX demo, this error occurs
Uncaught Error: BUFFER_SHORTAGE
and also when I run my demo, after a couple minutes but not always:
WebSocket connection failed: Error during WebSocket handshake: Unexpected response code: 502
colyseus.js:4948

how to avoid this error in function uint8?
throw new BufferShortageError();

Hi @AnubisCode,
These two errors you described are not related with each other.
The Uncaught Error: BUFFER_SHORTAGE happens on the TANX demo because it's hosted on a free Heroku process, and after a while without interaction the process is shut down, causing the BUFFER_SHORTAGE error.
The response code 502 means unexpected response / bad gateway - so you're server is most likely not to be running when you get this error.
Hope this helps,
Cheers

Thanks for your reply!


Update abyss-web-server to x1

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Only sha256 changed (see: https://github.com/caskroom/homebrew-cask/blob/master/doc/cask_language_reference/stanzas/sha256.md)

Still, you have to vertify the SHA change if the version is going to stay x1 in the file.


Release v0.8.0

closes #519

r? @posborne @fiveop

I think we are good to go.  Will defer to @fiveop for a second approval.

@homu r+
Am 2. März 2017 07:00:23 GMT+02:00 schrieb Kamal Marhubi<EMAIL_ADDRESS>
closes #519
You can view, comment on, or merge this pull request online at:
https://github.com/nix-rust/nix/pull/546
-- Commit Summary --

Release v0.8.0

-- File Changes --
M CHANGELOG.md (2)
M Cargo.toml (2)
M README.md (2)
-- Patch Links --
https://github.com/nix-rust/nix/pull/546.patch
https://github.com/nix-rust/nix/pull/546.diff

:pushpin: Commit 58e4019 has been approved by fiveop

:zap: Test exempted - status


self grading checklist

Self Grading Checklist
All self and by peer grading must be complete prior to Teacher review date(s).  Show a direct link to the tangible(s) for each line item.
Sprint1 Key Objectives
During the sprint you need to complete all of these key objectives and find and complete supporting hacks that show level of command you are declaring.
Rank to Ratio, rank is an integer
0 = .00 work, but faking understanding/accomplishment
1 = .55 incomplete assignment, big gaps
2 = .75 meeting some objectives, multiple little gaps
3 = .85 meeting most objectives, one little gap
4 = .90 meeting all objectives
4+Mastered-Y = .95 exceeding all objectives, requires links and  office hours verification

Skill
Mastered (Y/N)
Rank (1-4)
Ratio
Notes

Laptop Verification or Cloud Workspace
[Y ]
2.7
0.0
verification by Linux commands notebook

VSCode
[y ]
3.5
0.0
live change code, commit, make, run localhost, test, debug

Show VSCode GitLens
[ ]
2
0.0
verify commits, show change, comments, reset to commit, run on old commit

GitHub student_2025 repo
[ ]
0
0.0
template create, push changes, verify id, review analytics

GitHub Pages Actions
[ ]
0
0.0
review runs and verify runtime, receive demo

Hacks Tools & Equipment Play
[ ]
0
0.0
Hacks

Hacks GitHub Pages Playground
[ ]
0
0.0
Hacks

Hacks SASS Basics
[ ]
0
0.0
Hacks

Hacks Frontend
[ ]
0
0.0
Hacks

Pair Programming
[ ]
0
0.0
tangibles that show coop work

Total

0.0

Average

0.0

Learning Habits Table
Review criteria in habits.  In this review, pairs should rate each other base on their experience with the person on the line item.
Rank to Ratio, rank is an integer
1 = .55
2 = .75
3 = .85
4 = .90
4+Mastered-Y = .95

Skill
Mastered (Y/N)
Rank (1-4)
Ratio
Notes

Attendance
[ ]
0
0.0

Work Habits
[ ]
0
0.0

Behavior
[ ]
0
0.0

Timeliness
[ ]
0
0.0

Tech Sense
[ ]
0
0.0

Tech Talk
[ ]
0
0.0

Tech Growth
[ ]
0
0.0

Advocacy
[ ]
0
0.0

Comm & Collab
[ ]
0
0.0

Integrity
[ ]
0
0.0

Organized
[ ]
0
0.0

Total

0.0

Average

0.0

Check In
0.55

Your about page is really good!

I like that you made your title font a different color.