unsubscribe when locking wallet

This fixes a bug where locking the wallet caused the wallet to miss blocks.
This also seems like a good place to discuss the wallet memory usage. Using a global bolt tx speeds up IBD and rescans, but causes transaction data to build up in memory.  In my testing, committing the transaction pool (which uses the same db model) once per second caused a peak of 100MB RAM usage, while committing after each block reduced that to 4MB. Committing after each block is prohibitively slow, but if fsync is disabled on the db it runs slightly faster than committing once per second. I suggest that we explore disabling fsync during IBD and rescans. It seems like fsync can be enabled and disabled at will during execution, i.e. we don't need to close and reopen the database.

Pretty sure that you aren't supposed to unsubscribe when the wallet is locked. The wallet has all of the pubkeys in memory still and should be perfectly able to recognize incoming inputs.
So we'd need to make sure that it's not double-subscribing.

I'm firmly against disabling fsync, we're playing with people's money. If the wallet database gets corrupted, it's a big mess for everyone.

looks like Unlock already checks that we are not subscribed before subscribing. So there wasn't ever a bug in the first place.


Add Header Filter for Triple Protocol

use to check token
What is the purpose of the change
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #8585 (ed8219b) into 3.0 (7135164) will decrease coverage by 0.17%.
The diff coverage is 27.27%.

@@             Coverage Diff              @@
##                3.0    #8585      +/-   ##
============================================
- Coverage     63.01%   62.83%   -0.18%
+ Complexity      312      311       -1
============================================
  Files          1117     1118       +1
  Lines         46789    46764      -25
  Branches       7047     7019      -28
============================================
- Hits          29482    29384      -98
- Misses        14026    14088      +62
- Partials       3281     3292      +11

Impacted Files
Coverage Δ

...apache/dubbo/common/constants/CommonConstants.java
100.00% <ø> (ø)

...rg/apache/dubbo/rpc/protocol/tri/ServerStream.java
0.00% <0.00%> (ø)

...org/apache/dubbo/rpc/filter/TokenHeaderFilter.java
27.27% <27.27%> (ø)

...e/dubbo/rpc/protocol/tri/AbstractServerStream.java
53.93% <100.00%> (+1.05%)
:arrow_up:

...ache/dubbo/rpc/protocol/tri/UnaryServerStream.java
52.85% <100.00%> (+2.11%)
:arrow_up:

...ng/transport/dispatcher/all/AllChannelHandler.java
68.96% <0.00%> (-20.69%)
:arrow_down:

...ng/transport/dispatcher/WrappedChannelHandler.java
43.47% <0.00%> (-15.22%)
:arrow_down:

...dubbo/common/status/support/LoadStatusChecker.java
50.00% <0.00%> (-11.54%)
:arrow_down:

...in/java/org/apache/dubbo/common/utils/JVMUtil.java
81.13% <0.00%> (-11.33%)
:arrow_down:

...mmon/threadpool/support/fixed/FixedThreadPool.java
80.00% <0.00%> (-7.50%)
:arrow_down:

... and 44 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 7135164...ed8219b. Read the comment docs.


[AKS] Remove explicit setting of VMSS in Windows example command since it is now default

Description
Now that VMSS is the default vm-set-type, we do not need to explicitly set it. Fixes #14283

This checklist is used to make sure that common guidelines for a pull request are followed.

[X] The PR title and description has followed the guideline in Submitting Pull Requests.

[X] I adhere to the Command Guidelines.

AKS

hi @seanmck this looks like a breaking change: remove an params from command. Did you mention this change  in doc?

@yungezz The parameter is optional because there is a default. When this help text was originally introduced, the default was AvailabilitySets, so we called out that you needed to explicitly set it to VirtualMachineScaleSets, since that is required for Windows clusters. Since then, the default has changed to VMSS, so whether you explicitly specify it or not, you get the same behavior. This simply shortens the command by taking advantage of the new default.

Yes, #10797 which was merged last October.


simplified-installer: add clevis dracut and needed kargs for COI

Signed-off-by: Antonio Murdaca<EMAIL_ADDRESS>This pull request includes:

[ ] adequate testing for the new functionality or fixed issue
[ ] adequate documentation informing people about the change such as

[ ] submit a PR for the guides repository if this PR changed any behavior described there: https://www.osbuild.org/guides/

depends on https://github.com/osbuild/osbuild-composer/pull/2015 for the rhel9 bits

depends on https://github.com/coreos/coreos-installer-dracut/pull/2 and a rebuild of COI-dracut (which depends on https://github.com/latchset/clevis/pull/353 being packaged in RHEL itself)

this is blocked on supporting luks (and raw images w/ luks) here

closing in favor of #2295


Create new feature/record  in Manager

Describe requirements
Design file:https://www.figma.com/design/NwwYvCoSufP3m1nYTZgpB4/Crowdsource-Manager-|-23.R3?node-id=2703-5759&t=wusuQEQCH68CFO7M-0

[ ] Add a Create feature/record button in the Info Panel, the label text will be dynamic, we already have logic in the app that detect only table is viewing or Table and map is viewing. If only table (without geometry) is visible, it will say Create record otherwise it will say Create feature.

[ ] When Create feature button is clicked

[ ] and layout is Split view and a feature layer is selected, Manager will switch the layout to Map view, make sure the scale and map center do not change during switching

[ ] Manager will go to Editing mode, it will show the editing template, users will be able to create a feature on the map and populate its attribute values. In this state, user will also be able to select a feature and update attribute values

[ ] Once a feature is added, it will go back to the Editing mode like Map Viewer. From this state using the back button user's should be able to navigate to the initial state

[ ] When Create record button is clicked,

[ ] It will open the editor form where users will be able to add a new record.

[ ] Once done with creating record, it will remain in the same state, so users can add more records.

[ ] Users will be able to go back to initial state using back button.

Relevant Issues
https://github.com/Esri/solutions-components/issues/756
https://github.com/Esri/solutions-components/issues/769
https://github.com/Esri/solutions-components/issues/275

cc @sarahmcdonald7

Create features config option is added in the map section.

@azizaparveen @jmhauck
Solution

Get the createFeature boolean value from configuration
Show Create Feature/Record button based on the configuration createFeatures
Use the create-feature component to create a feature

On clicking the create-Feature button

Switch the layout to map-view layout
Hide the information header of the card-manager
Show header on the top of the card-manager component with back action
On clicking the back action close the create-feature component and go to initial stage
If back button is clicked close the create-feature component and show the information header
After submitting the form redirect the user to Editing mode to add/edit more features

If Table is selected from Feature table then

Use create-related-feature component to add reocrd in table
Show create 'Create record' button at the bottom of card-manager component
On clicking the create record button open the editor form where users will be able to add a new record
If back button is clicked close the create-related-feature component and go to initial stage
Once done with creating record, it will remain in the same state, so users can add more records.

Dev Checklist

Items
Is required
Status
Comments

Required NLS changes?
Yes

Required Backward compatibility
No

Required 508
Yes

Need Sanitize?
No

Impact Analysis Report

Impacted Areas
Comments

Have Configuration changes?
No

Have Runtime changes?
No

Impact on RTL
No

Impacted Components
1. create-feature  2. card-manager   3. crowdsource-manager

Impacted Areas
- Test new functionality for Creating features  Editing features when in create mode  Layout changes on create button click


Upgraded .net framework to v4.0 and fixed string format bugs.

Upgraded .net framework to v4.0.
Fixed string combining bugs.

What's up with removing the string interpolation in this pull? The existing code looks fine to me...


When will a new release be cut for this repo?

Wanted my change that was implemented a few weeks back to be included sometime in the near future by VMware's Operations Manager.

Should be out soonish. I just kicked of CI.


Replace height css with min-height to prevent content from sticking over down

Description
Just nits issue.
What
If the pane is too narrow, the content on e.g. Onboarding page sticks over down from the container because the container's height is fixed.
Just replace height with min-height and it should fix this.

Before
After

I didn't check the other pages, but we should probably do that before we merge.

He's actually so cracked


Sharing options model amongst multiple selectize

The $watch on scope.options inside of onInitialize wasn't firing for me.
Line 106
        scope.$watch('options', function(){
          selectize.clearOptions();
          selectize.addOption(scope.options)
          selectize.setValue(scope.ngModel)
        }, true);

I believe it was because the reference $scope.options in my controller was being overwritten from within angular-selectize here:
Line 92
scope.options = generateOptions( (scope.options || config.options || scope.ngModel).slice() );

I'm going to submit a pull-request with the changes that worked for me - would like to know what you think. Thanks again for this clean directive, Cheers!

This fix breaks when combined with mine, allowing to provide options as an object. Since the object doesn't have (likely) a splice() method, I get a TypeError.
I have a fix, tested in http://plnkr.co/edit/8OuwS7?p=preview on both cases (array and object, one on persons, the other on e-mails).
Note: it includes another change, related to #69, but they are distinct.
Basically: I rename generateOptions to normailzeOptions, because it changes the data in place.
Instead of return $.map(...); I do:
    angular.forEach(data, function(opt, key) {
        if (typeof opt === 'string') {
            data[key] = createItem(opt);
        }
    });
    return data;

When I have generateOptions(scope.ngModel) I replace it with normalizeOptions(angular.copy(scope.ngModel), ie. I do the copy on the call site.
Thus, the main change becomes:
  if (scope.options) {
    // replace string options with generated options while retaining a reference to the same array
    normalizeOptions(scope.options);
  } else {
    // default options = [ngModel] if no options specified
    scope.options = normalizeOptions(angular.copy(scope.ngModel));
  }

I can do a pull request with these changes if you want.


Problem with sharing same table by two independent entities

Hi,
I don't know if this feature is available by EF Core. However, I need to map two independent entity to same db table. Entity A will use some columns and Entity B will use some columns. They will share same Id. Also, they both may use some colums, or Entity A may be a subset of Entity B.
To demonstrate it, I prepared an example project here: https://github.com/hikalkan/samples/tree/master/EfCoreTableSharingDemo (you can just download and try).
Entities
public class User
{
    public Guid Id { get; set; }
    public string UserName { get; set; }
}

public class DetailedUser
{
    public Guid Id { get; set; }
    public string UserName { get; set; }
    public string Email { get; set; }
}

DbContext
public class MyDbContext : DbContext
{
    public DbSet<User> Users { get; set; }
    public DbSet<DetailedUser> DetailedUsers { get; set; }

    public MyDbContext(DbContextOptions<MyDbContext> options) : base(options)
    {    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

        modelBuilder.Entity<User>(b =>
        {
            b.ToTable("MyUsers");

            b.Property(x => x.UserName).HasColumnName(nameof(User.UserName));
        });

        modelBuilder.Entity<DetailedUser>(b =>
        {
            b.ToTable("MyUsers");

            b.Property(x => x.UserName).HasColumnName(nameof(DetailedUser.UserName));
            b.Property(x => x.Email).HasColumnName(nameof(DetailedUser.UserName));

            b.HasOne<User>()
                .WithOne()
                .HasForeignKey<User>(u => u.Id);
        });
    }
}

Migration code
It's creating the migration the way I expect:
public partial class Initial : Migration
{
    protected override void Up(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.CreateTable(
            name: "MyUsers",
            columns: table => new
            {
                Id = table.Column<Guid>(nullable: false),
                Email = table.Column<string>(nullable: true),
                UserName = table.Column<string>(nullable: true)
            },
            constraints: table =>
            {
                table.PrimaryKey("PK_MyUsers", x => x.Id);
            });
    }

    protected override void Down(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.DropTable(
            name: "MyUsers");
    }
}

Test Code
//Add some users using "DetailedUsers" DbSet
using (var dbContext = new MyDbContext(CreateDbContextOptions()))
{
    dbContext.DetailedUsers.Add(new DetailedUser("john", "john@aspnetboilerplate.com"));
    dbContext.DetailedUsers.Add(new DetailedUser("neo", "neo@aspnetboilerplate.com"));
    dbContext.SaveChanges();
}

//Query users from "Users" DbSet
using (var dbContext = new MyDbContext(CreateDbContextOptions()))
{
    foreach (var user in dbContext.Users.ToList())
    {
        Console.WriteLine(user);
    }
}

Exception
I'm getting the following exception message on dbContext.SaveChanges();:
The entity of 'DetailedUser' is sharing the table 'MyUsers' with 'User', but there is no entity of this type with the same key value that has been marked as 'Added'.

The stacktrace:
   at Microsoft.EntityFrameworkCore.Update.Internal.ModificationCommandIdentityMap.Validate(Boolean sensitiveLoggingEnabled)
   at Microsoft.EntityFrameworkCore.Update.Internal.CommandBatchPreparer.CreateModificationCommands(IReadOnlyList`1 entries, Func`1 generateParameterName)
   at Microsoft.EntityFrameworkCore.Update.Internal.CommandBatchPreparer.<BatchCommands>d__8.MoveNext()
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.Execute(Tuple`2 parameters)
   at Microsoft.EntityFrameworkCore.Storage.Internal.SqlServerExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.Execute(IEnumerable`1 commandBatches, IRelationalConnection connection)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChanges(IReadOnlyList`1 entriesToSave)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChanges(Boolean acceptAllChangesOnSuccess)
   at Microsoft.EntityFrameworkCore.DbContext.SaveChanges(Boolean acceptAllChangesOnSuccess)

Additional Notes
I can not add navigation property from User to DetailedUser. Because they are in different modules (project/assembly). But the DetailedUser can have a reference to the assembly containing the User.
You may wonder why it's needed and suspect that I'm designing it in a wrong way. But I'm creating a modular and extensible application framework and I need such a design.
So, please answer if it's possible and how. If not possible, do you consider such a feature request?

It works if I change DetailedUser as like below:
public class DetailedUser
{
    public Guid Id { get; set; }
    public string Email { get; set; }
    public virtual User User { get; set; } //Added a navigation property!
}

And change the model building code like:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    base.OnModelCreating(modelBuilder);

    modelBuilder.Entity<User>(b =>
    {
        b.ToTable("MyUsers");

        b.Property(x => x.UserName).HasColumnName(nameof(User.UserName));
    });

    modelBuilder.Entity<DetailedUser>(b =>
    {
        b.ToTable("MyUsers");

        b.Property(x => x.Email).HasColumnName(nameof(DetailedUser.Email));

        b.HasOne(u => u.User)
            .WithOne()
            .HasForeignKey<User>(u => u.Id);
    });
}

However I don't want to make this since it makes DetailedUser entity unnecessarily more complicated.

Duplicate of #9005

I'm not sure if it's duplicate of #9005.


Removed .idea folder from repository and added on .gitignore

Its a minor fix relate to .gitignore and IDE files. And I also create a global .gitignore file.
Take a look at Git Ignore Globals.
Best Regards.

.idea directory literally helps me and other devs using jetBrains IDE. IMHO this .gitignore is in accordance with https://www.gitignore.io/api/phpstorm, it is totally harmless even if it ships with package, if any dev is using other than jetBrains the .idea dir should automatically get ignored

Agreed!!


Working Directory Only Works with Build

For some odd reason, the workingDirectory parameter input only works on the build command. No others follow it like restore or publish.

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

ID: d227a6f2-a94b-1c05-57e4-b63d42e2b9e5
Version Independent ID: d063e189-d0fd-4ca3-c108-a0bd2ae49d22
Content: .NET Core CLI task - Azure Pipelines
Content Source: docs/pipelines/tasks/build/dotnet-core-cli.md
Product: devops
GitHub Login: @steved0x
Microsoft Alias: dastahel

@Izzmo are you still having this issue?

@chasewilson yes it continues to be a problem.

@Izzmo sorry for the late response, Would you mind clarifying what you're issue is with the working directory? What is the error you are getting when you define the workingDirectory with publish or restore?

No error, it just doesn't use it. @chasewilson

This sounds like a product issue, as I believe this should work. Have you reached out to the Developer Community to see if they have any response? @pulkitaggarwl are you aware of any updates I should make here?

Closing this one out.

@ramiMSFT was it fixed?


Proxy internal endpoint missing IP address in validator quickstart docs

Expected Behavior
Proxy internal endpoint should be $PROXY_IP:PORT
Current Behavior
Just :PORT

As I understand it this is not actually a problem


[release-2.2] Push a latest-2.2 tag

This tag is used by our GRC E2E tests to easily identify the latest versioned image.

Closing and reopening to try to trigger a build.


Separate the fields component into another repository

please make the fields component generic, so we can use it with other library, such as AntDesign.
we are trying to use it with Ant Design, however those field components are  not generic enough,  we have to do a similar work like this library.

Take a look at this proposal.

@epicfaace , thanks,  your proposal is what I want, this can be closed.


Uncaught Error: tunneling socket could not be established, cause=connect ETIMEDOUT <IP_ADDRESS>:8080

[Enter steps to reproduce:]

...
...

Atom: 1.24.0 x64
Electron: 1.6.16
OS: Microsoft Windows 7 Professional
Thrown From: Atom Core
Stack Trace
Uncaught Error: tunneling socket could not be established, cause=connect ETIMEDOUT <IP_ADDRESS>:8080
At stream.js:74

Error: tunneling socket could not be established, cause=connect ETIMEDOUT <IP_ADDRESS>:8080
    at ClientRequest.onError (/app.asar/node_modules/tunnel-agent/index.js:177:17)
    at Object.onceWrapper (events.js:290:19)
    at emitOne (events.js:96:13)
    at ClientRequest.emit (events.js:188:7)
    at Socket.socketErrorListener (_http_client.js:309:9)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at emitErrorNT (net.js:1281:8)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)

Commands
  2x -6:27.4.0 core:save-as (input.hidden-input)
     -1:03.7.0 core:paste (input.hidden-input)
     -0:55.8.0 core:confirm (input.hidden-input)

Non-Core Packages

What were you doing when this exception occurred? Did you try with Safe Mode?

Thanks again for your issue!
We haven't received a response to our question in this comment https://github.com/atom/atom/issues/16762#issuecomment-369382922. With only the information that is currently in the issue, we don't have enough information to take action. I'm going to close this but don't hesitate to reach out if you have or find the answers we need, we'll be happy to reopen the issue.


Add contribution documentation

Add more info into the contribution portion of the docs. Also, clean up the other docs.

This pull request should add the capability to add the documentation to readthedocs (hopefully!)


SSR: Build 2 tailwind css file

I add className inset-0
import type { Route } from "./+types/_index";

export default function Index({ loaderData: data }: Route.ComponentProps) {
  return (
    <div className="inset-0 min-h-screen bg-gray-100 flex flex-col items-center justify-center">
      <a
        href="/queue"
        className="inline-block px-6 py-3 bg-blue-600 text-white font-semibold rounded-lg shadow-md hover:bg-blue-700 transition duration-300 ease-in-out"
      >
        Go to the Queue Demo
      </a>
    </div>
  );
}

When I build with command bun run build. It generate 2 css file, 1 in client and 1 in server.
Brower will load 2 file css. It will make slower
vite v5.4.11 building for production...
✓ 44 modules transformed.
build/client/.vite/manifest.json                  1.72 kB │ gzip:  0.45 kB
build/client/assets/tailwind-2l7rToEk.css         6.45 kB │ gzip:  1.87 kB
build/client/assets/with-props-CsV1scqW.js        0.22 kB │ gzip:  0.19 kB
build/client/assets/_index-41V5TkRK.js            0.48 kB │ gzip:  0.35 kB
build/client/assets/defer-BLjMtUIg.js             0.51 kB │ gzip:  0.31 kB
build/client/assets/root-CdNOsTGF.js              0.62 kB │ gzip:  0.38 kB
build/client/assets/chunk-7R3XDUXW-D2-S9DOw.js  104.41 kB │ gzip: 35.19 kB
build/client/assets/entry.client-DszAKtWh.js    136.98 kB │ gzip: 44.35 kB
✓ built in 2.21s
vite v5.4.11 building SSR bundle for production...
✓ 15 modules transformed.
build/server/.vite/manifest.json           0.42 kB
build/server/assets/tailwind-Crqazxlj.css  6.43 kB
build/server/index.js                      8.41 kB

✓ 1 asset moved from React Router server build to client assets.
build\client\assets\tailwind-Crqazxlj.css

✓ built in 312ms

The different in 2 file is
tailwind-2l7rToEk.css
.inset-0 {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

tailwind-Crqazxlj.css
.inset-0 {
  inset: 0;
}

True! but it should be removed at the end of the build and should not appears in ./build

Or maybe we need more config in the vite config like https://github.com/remix-run/react-router-templates/blob/a7fc41042924af24efa9bd3cd2c015ff086ac0eb/node-postgres/vite.config.ts#L15C1-L19C5

True! but it should be removed at the end of the build and should not appears in ./build

It not true, css in server folder move to asset client folder
and server/index.js still inject css in server

Or maybe we need more config in the vite config

It's not working
I found the solution
Need define cssTarget in vite file.
If not define cssTarget of server is esnext
  build: {
    cssTarget: ["es2020", "edge88", "firefox78", "chrome87", "safari14"],


Merge 6 -> 7

➡ Forward port
Port ign-gazebo6 to gz-sim7
Branch comparison: https://github.com/gazebosim/gz-sim/compare/ign-gazebo6...gz-sim7
Note to maintainers: Remember to Merge with commit (not squash-merge or rebase)

Created a follow up PR in https://github.com/gazebosim/gz-sim/pull/2480 to disable these tests. Checking to make sure CI is green first before merging these two PRs.


Color channels are premultiplied in sRGB space

Assume that an SVG contains the following CSS color: rgb(255 255 255 0.5).
Then resvg will output the following bytes: [128, 0, 0, 128].
Recall that CSS colors are in sRGB space. This means that resvg emits color channels that are pre-multiplied in sRGB space.
This is not incorrect, but it is incompatible with the vulkan R8G8B8A8_SRGB format. If one uploads the output of resvg to such an image and uses it in a shader, the sampled colors will be incorrect. This is because vulkan performs the sRGB -> linear conversion directly on the electrical values.
This should be documented so that users know that they must manually convert the bytes emitted by resvg if necessary:

un-premultiply
convert to linear
premultiply
convert to srgb

The tiny_skia::Pixmap docs does mention that premultiplied colors are used.
Docs might be a more clear about it, but I wouldn't call this feature undocumented.

I was aware that the colors are both pre-multiplied and sRGB. But the order of operations is undocumented. Vulkan images assume the opposite order of operations.

What do you mean by "order of operations"? Are you expect me to document how to use resvg output with Vulcan? What's the point?

What do you mean by "order of operations"?

linear_to_srgb(color_channel * alpha_channel)
linear_to_srgb(color_channel) * alpha_channel

Vulkan assumes the first, resvg does the first.

Sorry, but that's too Vulkan specific. It has nothing to do with resvg. In fact, resvg follows the Skia logic here, so blame them instead.

The current behavior is very surprising because it is useless. Premultiplication is only relevant if you have transparency. If you have transparency, then you need to do blending. Blending can only be done correctly in linear space. Therefore you must first convert the sRGB values to linear space. But to get the sRGB values, you must first undo the premultiplication done by resvg. It's a huge waste of time.
But do as you wish.

There is nothing surprising about the current behavior. Every 2D graphics library I know works in the same way: Skia, CoreGraphics, Qt, Cairo.

Blending can only be done correctly in linear space.

Sort of. But Most 2D graphics libraries do not do this. resvg works "correctly" according to the SVG spec. That's the only thing that matters.


list-jira-tickets 0.0.1

What to do if the build fails?
At the moment contributors do not have access to the CI workflow triggered by StepLib PRs. In case of a failed build, we ask for your patience. Maintainers of Bitrise Steplib will sort it out for you or inform you if any further action is needed.
New Pull Request Checklist
Please mark the points which you did / accept.

[x] I will not move an already shared step version's tag to another commit
[x] I read the Step Development Guideline
[x] I have a test for my Step, which can be run with bitrise run test (in the step's repository)
[x] I did run bitrise run audit-this-step (in the step's repository - note, if you don't have this workflow in your bitrise.yml, you can copy it from the step template.)
[x] I read and accept the Abandoned Step policy

New Step
Thank you for the new Step share! The CI check might will fail due to our extended validation engine. Nothing to worry about yet, we will get back to you shortly.

Hi @a-mlc!
Thank you very much for your contribution. I've added several remarks to the PR, please consider fixing them.


How to attach a handler to "play", "pause" and "stop" events?

Hello, I would like to attach some event handlers to "play", "pause" and "stop" events.
Is it possible?

After the audiojs.createAll(), audiojs wraps all <audio> tags into
...
. You can get that wrapper by id and then search for audio tags inside that div. Lastly, just add event listener to that audio element.

var audiowrapper0 = document.getElementById("audiojs_wrapper0");
var audio = $(audiowrapper0).find("audio");
audio[0].addEventListener('play', function(){
    // do stuff
});


RFC: command names

It is quite unfortunate that print, exit and eval cannot be used as identifiers because they are commands.
Moreover, they are "temporary/transient" commands that we only use while we are developing a library/project. I think we should rename them to:
1- #print
2- #exit
3- #eval (for the current vm_eval)
4- #reduce (for the current eval)
5- #run (short for run_command) Should we keep run_command?
6- #help
We also replace the following command with meta functions we execute using #run.
1- init_quotient  becomes #run quot.init
2- declare_trace id  becomes #run trace.declare id
3- add_key_equivalence id1 id2 becomes #run keyed_matching.add_equiv id1 id2
It would also be nice to remove command aliases that nobody uses:
1- definition (alias for def)
2- proposition (alias for theorem)
3- corollary (alias for theorem)
4- conjecture (alias for parameter)
5- record (alias for structure)
AFAIK, the following ones are used
1- lemma (alias for theorem)
2- premise (alias for variable)
3- hypothesis (alias for parameter)

+1
I also would remove hypothesis and premise. They are only used one or two times in lean/library and library_dev.
What about check and set_option? Has check another purpose than inspecting a type?

I also would remove hypothesis and premise.

I would be happy to remove them too :)

What about check and set_option? Has check another purpose than inspecting a type?

Good point! check is a "transient command" used for "debugging". We should use #check.
set_option is also rarely used when we are done with a module, and we could short it to #set.

I like these changes. I think distinguishing the transient commands is good. Alternative names are sometimes nice but often confusing.
I often use premise when teaching, but I can give it up.
We also use axiom as a syntactic equivalent for constant, which also gives the illusion that there is a difference between the two. Should we drop that? Would it then be strange to say print axioms foo to see the constants?
I'd even be willing to give up lemma. It is usually misused in our library to denote propositions, i.e. small straightforward facts, rather than things that are specifically stated to prove a theorem. If everything was theorem we would never have to think about which to use.

We also use axiom as a syntactic equivalent for constant, which also gives the illusion that there is a difference between the two

Yes, there is no difference between constant and axiom.

Should we drop that? Would it then be strange to say print axioms foo to see the constants?

I don't know. It is also weird that the current print axioms prints constant declarations.

I'd even be willing to give up lemma. It is usually misused in our library to denote propositions, i.e. small straightforward facts, rather than things that are specifically stated to prove a theorem. If everything was theorem we would never have to think about which to use.

I like to use lemma because it is shorter, but I'm also willing to give it up.
So, we would have only

constant(s)
def
theorem
variable(s)
parameter(s)

theorem is needed because it affects how the definition is compiled.

We also have example.
In analogy to def, we could abbreviate theorem to thm. Of course, that would encourage us to abbreviate the others (const, var, param), but I like the longer names for those. The rationale is that there are many more theorems.
Still, theorem looks nicer, and I think my slight preference is to keep it like that. (But I could be talked out of it.)

We also have example.

Yes, I forgot to list it.
It is very useful, and we should keep it.

In analogy to def, we could abbreviate theorem to thm

I considered thm too, but I also think theorem looks nicer.

I think it's a good idea to reduce the number of keywords in general. At first, the synonymous keywords (theorem/lemma, variable/premise, etc.) appear to be useful in documenting something, but later, it seems that they just add clutter and fill my head with more things that I'm forced to remember.

#run isn't exactly a transient command, is it? I would argue it is central enough that even just run would be defensible.
Somewhat related, I'd love it if transient commands could be used inside of (tactic) proofs.

#run isn't exactly a transient command, is it?  I would argue it is central enough that even just run would be defensible.

You are right. #run is not transient. I agree it is a good idea to have the run keyword.

Somewhat related, I'd love it if transient commands could be used inside of (tactic) proofs.

After this change, we will be able to implement tactic.check, tactic.reduce, etc, and write
begin
   ...
    check t,
    reduce t,
    eval t,
    ...
end

@kha @jroesch I did not rename run_command to run because @jroesch uses run to name a constructor in the native compiler. In the commit above, I'm using run_cmd instead. What do you think? Should we use run or not?

Wrt axiom I would prefer to keep axiom and remove constant. What do you think?

@johoelzl Is there a particular reason you want to remove constant? I'd be inclined to keep both. We declare many, many meta constants that would be strange to call meta axioms. There's a useful psychological difference between the two, even if there's no difference in implementation. And if we have both def and theorem, it's analogous to have both constant and axiom. (I know def and theorem behave differently.)
I'm also slightly inclined to keep lemma, even if it's used "incorrectly" for small theorems. It doesn't seem likely that you'd want to use it as an identifier elsewhere.

@rlewis1988 meta constant makes sense, but constant sounds too innocent for a command which can introduce inconsistencies.


fix: 1515 reduce app size

Fixes #1515
Changes:

Reduce image size
Android Lint to improve some Koitline code, remove unused imports
enable shrinkResource
Set resConfig to "en" as other translation is not fully supported now
Remove Mapbox from the app, so location autosuggestion is replaced by the old layout with searchView

Currently, the APK size is 7.8MB and the download size is 7.2 MB. One more thing I find is that Proguard is not customized for the project and it still keeps everything so it doesn't help to reduce the app size - if I comment the Proguard line in the app Gradle file, it doesn't change the app size (hope that I understand this correctly). I'll take a closer look at this more on tomorrow

Proguard is working.
Without proguard - 18.8 MB
With proguard - 14.1 MB
After removing mapbox and jackson-kotlin-module with proguard - 4.7 MB


Cannot update the certs

Hi guys, I got a problem.
Once create a Certificates, I cannot update it.
I click "Details" => change the cert text => 'OK' => reload this page, the cert was recovered.
I use pantsel/konga:0.12.0 with docker.

@xiejiangzhi , thanks for the heads up. The issue is fixed and will be available on the next release. Meanwhile, you can use the next branch or the docker image pantsel/konga:next to get the latest changes and bug fixes.
Cheers!

@pantsel, thanks, it is very quick :+1:


ionic and api.ai

I am getting this error while executing ApiAIPlugin.requestVoice
"java.lang.NullPointerException:Attempt to invoke virtual method'void ai.api.AIService.startListening(ai.api.RequestExtras)' on a null object reference"

DialogFlow no longer supports ARS and TTS, https://api.ai/support/change-log#april_26_2017

Work Build ionic 1 (https://github.com/khalisafkari/dialogflow-ionic-v1-)


Error: P1010: User postgres.$HOST was denied access on the database postgres.public

Bug description
I get the following error when I try to migrate to my database provided by supabase.
Error: P1010: User postgres.$HOST was denied access on the database postgres.public
Here is my DATABASE_URL and DIRECT_URL:
DATABASE_URL="postgresql://postgres:$PASSWORD@db.$HOST.supabase.co:5432/postgres?schema=sample"

DIRECT_URL="postgres://postgres.$HOST:$PASSWORD@aws-0-us-east-1.pooler.supabase.com:5432/postgres?pgbouncer=true"

Dependency version:
How to reproduce

Run prisma migrate dev --name init in project folder

Expected behavior
To be able to run prisma migrate dev --name init without P1010 error when the user has all the correct permissions.
Prisma information

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider     = "postgresql"
  url          = env("DATABASE_URL")
  directUrl    = env("DIRECT_URL")
  relationMode = "prisma"
}

Environment & setup

OS: Arch Linux x86_64
Database: PostgreSQL
Node.js version: v19.7.0

Prisma Version
prisma                  : 4.16.2
@prisma/client          : 4.16.2
Current platform        : debian-openssl-3.0.x
Query Engine (Node-API) : libquery-engine 4bc8b6e1b66cb932731fb1bdbbc550d1e010de81 (at node_modules/.pnpm/@prisma+engines<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli 4bc8b6e1b66cb932731fb1bdbbc550d1e010de81 (at node_modules/.pnpm/@prisma+engines<EMAIL_ADDRESS>Format Wasm             : @prisma/prisma-fmt-wasm 4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81
Default Engines Hash    : 4bc8b6e1b66cb932731fb1bdbbc550d1e010de81
Studio                  : 0.484.

pooler.supabase.com:5432

I think the pooler URL should have port 6543 and will not work as the direct URL.
Did you construct this URL yourself or did you copy from the Supabase UI?

Yes, you're correct. I had changed it in response to this post but I've reverted it. Now, I get this error with connection pool port 6543:
✖ Introspecting based on datasource defined in prisma/schema.prisma

Error: db error: ERROR: prepared statement "s0" does not exist

If you use a connection pooler, you need to use (the now misnamed) pgbouncer mode: https://www.prisma.io/docs/guides/performance-and-optimization/connection-management/configure-pg-bouncer
(Note that for migrations and introspection, so the directUrl, you can not used a connection pooled connection string.)

Thanks for sharing the resource. I've updated my DATABASE_URL to use pgBouncer mode and DIRECT_URL to a  normal connection string. Migrations are perfectly working fine
DATABASE_URL="postgresql://postgres:$PASSWORD@db.$HOST.supabase.co:5432/postgres?pgbouncer=true"

DIRECT_URL="postgresql://postgres:$PASSWORD@db.$HOST.supabase.co:5432/postgres"


APL2001_M02_L02_Managed_Identity_for_Projects_and_Pipelines.md

Contact Details
No response
What happened?
In a recent QA run, the following issues were noted in this lab document:

Exercise #
Task #
Step #
Issues Identified

1
1

It states "If done, skip". In the prior module the student is instructed to delete the Azure resources create via running the pipelines. If following the instructions as written every student will need to at least run the pipeline again to create resources needed in the next steps.

1
2

Does _not _ say 'If done, skip', so we do it - but becuase there is already a Service Connection Name (from the previous lab, no instruction told us to delete it) called 'azure subs', we get an error.  I called my new one 'azure subs2'.

1
3

Task says 'if done, skip', so it was skipped (becuase it was done in the previous lab) but, are we *certain* this doesn’t need to be done again for this lab?

1
3
8
This step shows you how to configure the YAML for a self-hosted-agent tool, these instructions are in a later Exercise.

3
1
8
The data to enter contains "Public IP address section Select Create new, enter a name of your preference and then select Ok ", this is data from step 7 and not needed in step 8.

3
2
2
Previously reported, see also https://github.com/MicrosoftLearning/implement-security-through-pipeline-using-devops/issues/22

4
2
5
It wants us to configure the YAML and suggests using webappname: 'eshoponweb-lab', however if a student is following the instructions this webapp does not exist.  (it was created in the previous lab - which had us specifically delete all Azure resources at the end - and the task in this lab 'Task 3: (If done, skip) Import and run the CD pipeline' and since that _was _ done in the previous lab, a student following instructions would skip it and this construct will not be present and this step will fail.

Relevant screenshots
paste here 😉

Closed issues calling PR resolved.


Change the IRC server to Libera.Chat

I changed all references from Freenode to Libera.Chat due to the main channel being moved to the Libera.Chat network.

Thanks!


Why does using port 80 create two A records for the load balancer?

I noticed this issue occurring in my application so to reproduce I ran the example app by changing
ports:
  - "5000:5000"

to
ports:
  - "80:80"

I ran the example app using port 80 instead of 5000.  When I query dns, the answer section shows two IP addresses.
dig ExampleLoadBalancer-123.us-east-2.elb.amazonaws.com

...

;; ANSWER SECTION:
ExampleLoadBalancer-123.us-east-2.elb.amazonaws.com. 30 IN A <IP_ADDRESS>
ExampleLoadBalancer-123.us-east-2.elb.amazonaws.com. 30 IN A <IP_ADDRESS>

Actually... I'm noticing this issue still occurring in my own application even after changing port 80 to 8080.  This is a huge problem because the 2nd A record doesn't work - making a request on that IP just hangs.
Any clue why this may be occurring?

For services with port 80 or 443 ECS integration do provision an Application Load Balancer, otherwise we create a Network Load Balancer. Multiple DNS records just demonstrate Load Balancer replication.
Does this create any specific usability issue ?

Ah... that makes sense.

Does this create any specific usability issue ?

If I'm using port 80, making the request to the first ip works but the second ip address causes the request to hang.  However when using a port like 5000 and there's a single A record, everything works fine.
By the way thanks for the improvements from v1.0.0-beta.4 to v1.0.0-beta.5.  The Progress Writer is REALLY awesome - I love the real time feedback.

Hi @ndeloof - I'm running my web services on ports 8080 and 8008, however when I query the loadbalancer's dns via dig there are two A records.
I started to observe that half of my web requests were failing and was able to confirm that whenever there are two A records, one of them doesn't work (ie requests made to one of the ips just hangs.)  The thing that makes this very difficult to troubleshoot is that for the load balancer, sometimes there's only one A record, other times there is two, and I'm not sure what the criteria is for the 2nd one being created.
Is there any way to ensure only a single A record gets created for the load balancer, or that the if two A records are created that they will both be able to route traffic?
Additional Details (not sure if this is helpful, just wanted to be comprehensive)

I'm using a non-default project name docker ecs compose --project-name=myapp2 up
After the containers are created/started, in Route53 I create a record where I set Value/Route traffic to to Alias to Network Load Balancer and select the dualstack load balancer.

Just wanted to note that every time I run compose up, the load balancer runs in us-east-2a, us-east-2c and that the connectivity issue always seems to be with the public ip in the us-east-2c.  Since I created my aws account I haven't changed the default VPC or subnets in us-east-2, or any ec2 regions.

closing.
We don't manage how AWS ELB do generate DNS records.
If you can confirm creating a LoadBalancer for ECS without ECS integration results in a distinct setup, then we could try to understand how those differ from the one produced by docker compose up


lzfse decode issue - msys2 build

compile success over msys2(win10x64)
encode all fine
only issue is with decode :
decoding file of 14mb, RAM increase insanely like 5GB+
then output :
malloc: Not enough space

possible duplicate of #47.


feat: setup playground app

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 60.863%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
207

Relevant Lines:
327

💛  - Coveralls


XOSPChangeLOG and Delta Updates

Is there the possibility to put and compile the ROM to flash by XOSPChangeLOG app in the Micro SD Card? Or an option to choose where to do it.
Devices with 8GB of ROM have not enough space to update (new compliled build is up to 800MB plus the delta and the old build). Thanks

Sorry, that's just not possible right now. It will be fixed soon.


Spelling

Fixes misspellings identified by the check-spelling action.
The misspellings have been reported at https://github.com/jsoref/bruno/actions/runs/6342991445/attempts/1#summary-17229905751
The action reports that the changes in this PR would make it happy: https://github.com/jsoref/bruno/actions/runs/6342991568/attempts/1#summary-17229906223

This is great!
Thank you so much @jsoref !


PHP Preloading incompatibility

I have proved that this script is INCOMPATIBLE with PHP 7 Preloading
The problem is with constants.
The namespaces constants are removed when the script is preloaded.
The solution I found was to move the constants into the class, so they become namespaced class constants.

My solution for now was to fork, and move the namespaced constants into the class
https://github.com/PhilETaylor/php-u2flib-server/tree/1.0.3

Sorry we didn't respond. Since the U2F API is now obsolete, we're archiving this repository and ceasing maintenance of the library.


Missing documentation on Error code ResourcePurchaseValidationFailed

I got the ResourcePurchaseValidationFailed error today:
User failed validation to purchase resources. Error message: 'Offer with PublisherId: Sendgrid, OfferId: sendgrid_azure cannot be purchased due to validation errors. See details for more information.'
It's not super clear where I'd find more details. So I came over here to troubleshooting deployment errors and didn't see any additional information. I'm wondering if this is something the sendgrid API is returning back through Azure portal so it might be that there aren't more details to see. It would have been helpful to understand a little more about this particular error code to understand who is returning back the failure. Thanks!

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

ID: a114cf0c-a1a0-f73d-f8d2-0f16d62b1e86
Version Independent ID: 203548b7-824f-eb7a-ca5b-e4cfec2c6d51
Content: Troubleshoot common Azure deployment errors
Content Source: articles/azure-resource-manager/resource-manager-common-deployment-errors.md
Service: azure-resource-manager
GitHub Login: @tfitzmac
Microsoft Alias: tomfitz

@iennae
Thanks for your feedback! We will investigate and update as appropriate.

Assigning @tfitzmac for any insights on this.

I believe the condition causing this error has been resolved.

#please-close

Can we get additional documentation added about the error so folks understand what's going on when it happens?

Users should not be seeing this error now. The cause within Azure has been mitigated. We are somewhat selective on which errors we include in this article because there are far too many error codes to include all. If this error code continues to be returned at a high rate, I will add it.

#please-close

In case someone does a search for this particular error and wants to understand what to do to get it fixed, I'm going to update this issue to give a bit more information (no need to reopen this ticket) As far as I know, a user can't resolve this issue. There isn't a place to get more details even if the response says "See details for more information.'" If you get the error as listed above, you have to contact Microsoft Support.
I raised an issue here https://support.microsoft.com/en-us/getsupport?wf=0&tenant=classiccommercial&oaspworkflow=start_<IP_ADDRESS>&locale=en-us&supportregion=en-us&pesid=16230&forceorigin=esmc&ccsid=636783026157427051 and then created a support request with problem type> Marketplace  Onboarding, Category> Technical Marketplace query and added specific details about what I was trying to do. This opened a support ticket via email. It took a few days and then it got resolved and now the underlying issue is fixed.

Hi @tfitzmac, What is the solution for this issue. I am facing same issue while creating the SendGrid account. Can you please provide some insights.

Still having this issue.
Yesterday, two of us attempted to deploy SendGrid free account via ARM, and it worked fine.
Come to today, and we are getting the "ResourcePurchaseValidationFailed" error, despite not having made changes to the template. It seems to be very inconsistent as it has worked a few times, but predominantly fails.

Im having this too when trying to set up SendGrid via the portal


Documentation still says map keys can have duplicates

This is (no longer) true, so the docs should be updated

Fixed now! Good catch.


Iss hipcms 30 nunit

Unit testing using NUnit framework and My tested ASP.NET framework.

In general with running the migrations only in development mode, the project won't run in productive furthermore.


CDN in a box documentation needs some updating

The cdn-in-a-box documentation (https://github.com/apache/trafficcontrol/blob/master/docs/source/admin/quick_howto/ciab.rst) is missing some things that were added fairly recently,  including (but not limited to):

use of docker-compose.exposeports.yml (should be mentioned with the first docker-compose ... up)
optional containers: vnc, vpn, grafana, socksproxy, ...

docker-compose.exposeports.yml was documented more in #3889. The VNC, VPN, Grafana, and Socks Proxy services look adequately-documented to me (though we may consider increasing the toctree max depth in the future so that those sections show up in the table of contents.
This issue looks closable to me

Fixed in #3889.


Fix gem_loader for roo

Motivation

https://stackoverflow.com/questions/57300562/how-to-fix-srb-irb-update-error-using-gem-roo-or-any-option-how-to-skip-roo-fro
Test plan

Tested that this fixed it locally.

Thanks for the fix


Add how-to for lnd self-signed TLS certificate management

By default, Chromium Browser / Google Chrome won't recognize the self-signed TLS certificate prepared by lnd.  This will prevent Joule from successfully connecting to lnd.
Chrome can be made to accept the self-signed cert by following these steps:

navigate to https://localhost:8080/v1/getinfo
click on the lock next to the URL and view the certificate
navigate to the certificate viewer's "details" tab and export the cert to a file
navigate to edit > preferences > manage certificates > authorities > import
check all of the boxes and import the cert

Now Chrome should accept the cert and Joule should be able to connect to lnd!

Ah, this is very unfortunate. I had my node serving remotely through nginx when testing, and didn't consider that the raw node has a self-signed certificate.
Another quick workaround is to navigate to that URL, and manually bypass the error and accept the self-signed cert. Either way, this should be a part of the initial setup, and will be better served by having a full page for it ala #20.

I think this should be reopened. AFAICT, not encouraging users to register LND's self-signed cert with Joule opens remote nodes up to MITM attacks. If Joule can't do a registration with the browser automatically (I'd be surprised if extensions were allowed to do this), we should probably direct the user towards browser-specific instructions for registering a custom certificate authority manually.

Google actually did make an API for this, but it's Chrome OS only: https://developer.chrome.com/extensions/certificateProvider
I definitely agree that having the user properly add the certificate would be ideal. I think providing instructions can be a little daunting, because the method of adding a certificate is different for every operating system and browser combination.
It would be most ideal for lnd to do one of the following:

offer an http REST API and let's just forget trying to encrypt traffic on localhost / have people use a webserver to do https instead of baking it into lnd
add the self-signed cert to your trusted certificats during node startup (Not entirely sure how this is done, or if it's supported in Go)
Provide an easy way for users to get a cert signed by a trusted CA (e.g. Lets Encrypt)

But that's not likely to happen in the mean time. I'll try to get some more robust documentation up on lightningjoule.com that I can link to from the extension on how to do this for each operating system.

I'm also beginning to come to terms with the possibility that Joule may require a native application to really work well. It would certainly clear up a whole lot of issues, this included.

I'll also add how to import & trust the self-signed LND certificate on MacOS:

navigate to https://localhost:8080/v1/getinfo
click on the lock next to the URL and view the certificate
drag the certificate icon to a finder window to export the cert to a file
launch keychain access app and click "+" to import certificate
select the exported cert file to import it.
double-click the imported certificate, click trust and choose "Always trust" when using this certificate.

I hope it helps.


Detect Windows Light/Dark mode on the app start

📒 Description
Detects Windows Light/Dark mode on the app start using registry key. If the OS does not have a corresponding registry key, the theme defaults to Light mode.
Note: this is branched from #3482 so that dark/light mode can actually be tested.
🕶 Types of changes

New feature (non-breaking change which adds functionality)

👫 Relationships
Closes #3449.
🔎 Review hints
The following sets the theme on Windows 10:
Settings->Personalization->Colors->Choose your color (Light/Dark/Custom).
About is currently the only view that implements separate light/dark mode UI.
This PR does not include detecting changes to the theme during runtime.

Feels free to merge when it's rebased 👍


LastLogon empty

Hello,
The LastLogon attribute seems not working with Get-ADReplicationAccount
The value is always empty for all the users.
Environment : Domain controllers 2016 (FFL/DFL 2016)

Good point! The lastLogon attribute is never replicated, so it is empty by design. I might add support for the lastLogonTimestamp, which is replicated between DCs.

I have modified the behavior in commit 9bda022f0c47144497067723f6f90abdb633a83f slightly. Accounts now have 3 properties: LastLogon, LastLogonTimestamp and LastLogonDate. The LastLogonDate property will contain LastLogon, with fallback to LastLogonTimestamp if not set. And it works with Get-ADDBAccount, Get-ADReplAccount, and Get-ADSIAccount. Available since release 4.3.


Possibly incorrect subcommand parsing when common options passed

Expected behavior
There is a potential issue where the subcommand is incorrectly parsed when command options are passed right after the kubectl command.
e.g:
kubecolor -n config get pod

In this example, the subcommand is incorrectly parsed as config instead of get, leading to the use of an unintended printer.
The root of this misbehavior lies in the current parsing logic, which iterates over the arguments to identify subcommands without taking flags into account:
https://github.com/kubecolor/kubecolor/blob/main/kubectl/subcommand.go#L224
func InspectSubcommandInfo(args []string, pluginHandler PluginHandler) *SubcommandInfo {
	ret := &SubcommandInfo{}

	CollectCommandlineOptions(args, ret)

	for i, arg := range args {
		// Stop parsing args after "--", such as in "kubectl exec my-pod -- bash"
		if arg == "--" {
			break
		}

		cmd, ok := InspectSubcommand(args[i:], pluginHandler)
		if !ok {
			continue
		}

		ret.Subcommand = cmd
		return ret
	}

	// if subcommand is not found (e.g. kubecolor --help or just "kubecolor"),
	// it is treated as help because kubectl shows help for such input
	ret.Help = true

	return ret
}

We should consider revising the argument parsing strategy to correctly handle scenarios where flags are present, ensuring that subcommands are accurately identified.
Current behavior

Package manager
Compiled from source using go install
What operating system are you running?
Linux
Kubectl and kubecolor version
Client Version: v1.30.3
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3

Additional context
No response

Hello again @semihbkgr, thanks for reporting this! :)
This is a known issue, but not an issue with any seemingly simple solutions.
I've been thinking about this one from time to time for some months, and my current plan is to solve it via a new parsing structure that I layed out in #113 where each subcommand can define a list of "flags with values" so the parser could see that -n config is a flag and its value.
(There may be more "flags with values" than "bool flags", so inverting the logic proposed in that issue would probably make more sense.)
While this issue may be solved by #113, let's still keep it open just to more explicitly track this problem in particular.


chore(main): release 1.6.1

:robot: I have created a release beep boop
1.6.1 (2023-12-24)
Code Refactoring

convert string with anomalous backslash into a raw string (1a068b6)
convert string with anomalous backslash into a raw string (1a068b6)
convert string with anomalous backslash into a raw string (8523c36)
import packages in separate lines (a96afad)
refactor unnecessary else / elif when if block has a raise statement (d1a127b)
refactor unnecessary else / elif when if block has a raise statement (d1a127b)
refactor unnecessary else / elif when if block has a raise statement (d213fbc)
refactor unnecessary else / elif when if block has a return statement (6feb186)
remove unnecessary return statement (c8b38cf)
remove unnecessary return statement (c8b38cf)
remove unnecessary return statement (79bfb7e)
remove unnecessary whitespace (1c430fe)
remove unnecessary whitespace (1c430fe)
remove unnecessary whitespace (74f1e9b)
replace multiple == checks with in (026e5b2)

Performance Improvements

only open aria2 process at first run (7b1ef99)

CI

add .deepsource.toml (ba623cb)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/itsHenry35/ledu/releases/tag/v1.6.1 :sunflower:


Add ATMega32U4 (Pro Micro/Arduino Leonardo) support, update README.md appropriately

This pull request adds  a third preprocessor define for ATMega32U4/32U2 chips; I've tested it on my PU-8 (old GPU/VRAM) SCPH-1001 where I have had a Pro Micro installed for around five months now.
It also renames the preprocessor define ARDUINO_BOARD to ARDUINO_328_BOARD, since I don't know what a better name for it would be and the 32U4-derived Arduino Leonardo can't use the same pinout as the Uno and immediate family (ATMega328P-based).
All post-pin-mapping checks for ARDUINO_BOARD now check fordefined(ARDUINO_328_BOARD) || defined(ARDUINO_32UX_BOARD).
I have not tested it on a Leonardo (only a Pro Micro), but by looking at the schematics for it I added its pinout to README.md as well. If I had another PSX board I could, though, since I do also own a Leonardo.
It also fixes a problem with the README.md where the power pin for Arduino Unos was specified as VIN, which is wrong because VIN passes through the voltage regulator and makes my board fail to function. 5V is (misleadingly) directly tied to the ATMega328P's Vcc pin, which works for me in my PU-18 SCPH-5501.

Hey, thanks for adding these boards.
I've seen different naming for the power pins, so we need to decide on one naming scheme.
Your change looks good, so we can use that.
I'll merge this in a bit :)

Thanks! I thought I was keeping the same names, except for the one (Vin, because Vin expects to be the voltage regulator input on the Uno). I had to connect 3.5V to the 5V pin on my Uno for it to work. I mentioned in my psxdev forum post I think.

The sad thing about supporting many chips is that the readme and guides get so complicated.
It reads much more difficult these days than it should be.
Maybe a tldr version should be done that just explains how to use the most popular chip (probably the ATmega328).

@ramapcsx2 I agree with you in a sense, as it was sort of hard to read (and I have some modicum of experience and might not be as afraid of breaking things as some newbies could be), but not all '328 boards actually use the arduino pin mapping (which is somewhat contrived). The Arduino mapping isn't the same as the 328 mapping, either.
Even though it was kind of hard to read at first, I greatly appreciated having the chart with all the pin mappings and it was crucial to my first install after not using a '328 in at least three years.
Also, the '328 may be the most popular because of the Uno, but among smaller boards I don't know if the 328 has the same kind of reach as the Pro Micro, Teensy 2.1, and similar do. Pro Mini is certainly neat, but not everyone has an ISP programmer or UART handy. I myself don't have a nice 3.3V UART, which is kind of annoying since I'd like to do some PSX development. :)
Also, I've yet to find a way to fit the most popular (I think) '328 board into a PSX without any cutting into the plastic (you can see a couple cuts in the screw posts here)

Agreed, the Uno board is way too large and the Pro Mini is missing easy programmability.
I don't really know which simple (and cheap!) microcontroller is the most popular these days :p


Xcode 10 and Swift 4.2 support

New Issue Checklist
🚫 If this template is not filled out your issue will be closed with no comment. 🚫

[x] I have looked at the Documentation
[x] I have read the F.A.Q.
[x] I have filled out this issue template.

Issue Info

Info
Value

Platform
e.g. ios

Platform Version
e.g. 11.4

SnapKit Version
e.g. 4.0.0

Integration Method
e.g.cocoapods

Issue Description
Subject

When do you anticipate a release to support Swift 4.2? Currently I have had to direct my pod file to compile Snapkit using Swift 4 to get my project to run.

@jkiley129 can you explain further? the project compiles fine using Swift 4.2 or Swift 4.0 (it has #if flags) and should be fine?

Any plans for supporting Xcode 10 and Swift 4.2?

Released with SnapKit 4.2.0

I updated pod to pod 'SnapKit', '~> 4.2.0' but still cannot build the project.


Add "Non-Binary" meeting type

looks like this was added 5.5 years ago to TSML but never made it into the spec somehow
meeting code is NB - it's used on several websites currently eg https://eastbayaa.org/meetings and https://www.pdxaa.org/meetings/

closed by https://github.com/code4recovery/spec/pull/96


Use CSS Variables

I read your documentation https://getbootstrap.com/docs/5.0/customize/css-variables/ and I don't quite understand why isn't bootstrap 5 using variables for colors all over the component styling. Having concrete color values in hundreds of properties doesn't make any sense, since it forces to recompile Sass version to change them. I liked to read that you are already using some CSS variables for tables, but why not colors?!
Would love to hear why you took this approach and what are the plans for the next version. For me, this is the way to go https://codyhouse.co/blog/post/css-custom-properties-vs-sass-variables and hope to see it in our much appreciated Bootstrap :)
Regards

There are open issues and PRs that explain this, and more of our plans for them.


Request by Postman in a Flask API

Hey all,
I don’t understand why my Postman request returns the error. I would like to read the image in PIL format, but it seems that the API does not receive it in this format.
I would appreciate any pointers!
Regards, Helena.

It seems that your code breaks when it tries to convert an image, can you provide more info of where this happens?
It will also be helpful to provide the module you use to convert the image.
Also, the image format you are trying to upload is not PIL but jpg. PIL is a python module and it stands for Python Image Library.

There is no flask-restful code in your example here, just pure flask stuff. Going to close now but yall can keep discussing here if you want, or try stack overflow.


Drop workaround for incorrect tax calculation received from Avatax for JPY checkout/orders

Problem
In #8004 was introduced a workaround for incorrect tax calculation received from Avatax for JPY checkout/orders.
In #12832 I discover that The Avalara starts returning proper price precision for checkouts/orders in JPY.

Warning
I found that only filed totalAmount could return the price without valid precision for JPY.  It required confirmation that Saleor flow uses this field.

Scope of this task

[ ] Confirm that all fields used by the Saleor return prices with proper price precision for JPY checkout/orders.
[ ] Confirm that Avalra on production also contains this fix for price precision.
[ ] Drop all code related to a workaround for JPY checkout/orders.

Given we are going to be deprecating the plugin in favour of an app (which is already used by live clients, I am going to go ahead and close this issue.


Fixed XSS vulnerability in embed tag

I found an XSS vulnerability in embed tag. If a bad guy has some data like this:
{ time:<PHONE_NUMBER>144, blocks: [     {          id: "92-sdf",          type: "embed",          data: {              service: "youtube",              embed: "http://somesite.com/evilHtml.html",              caption: "nothing's wrong!"          }     } ] }
And that evilHtml executes some JS in iframe, this is a very big security issue. I have fixed it by specifying a setting through which  we can specify the sites which can execute JS in iframe. eg: ['www.youtube.com', 'codepen.io'] etc.

any updates yet?


Process remote write secret even if BasicAuth is not set

Remote write secret is ignored when basic auth is not set. There is possibility of using other auth method without using basic auth method, e.g. bearer token.
This PR ensures that remote write secret is processed even if basic auth is not set.

 The last commit has failed CI, so I'm thinking to use the one with working CI instead.

Thanks for contribution!


Problem: Orbiter project page

Orbiter finance also has USDT supported.
Orbiter EOA-addresses:
ETH:
0x80c67432656d59144ceff962e8faf8926599bcf8
USDC:
0x41d3d33156ae7c62c094aae2995003ae63f587b3
USDT:
0xd7aa9ba6caac7b0436c91396f22ca5a7f31664fc
ETH To StarkNet (contract address):
0xD9D74a29307cc6Fc8BF424ee4217f1A587FBc8Dc
Chains supported at this moment are:
• ETH-mainnet
• Arbitrum
• Arbitrum-Nova
• zkSync
• StarkNet
• Polygon
• Optimism
• Loopring
• Metis
• dYdX
• ZKSpace
• Boba
• Immutable-X
• BSC-mainnet

Hey @BartBral , would you consider adding additional information ? Description, links, explanation how the bridge operates, what are the trust assumptions, etc...

Hi there,
Because I'm not part of the Orbiter team and just one of their Discord moderators, I can only give you some information that they have already shared publicly.
I am not a smart-contract programmer/auditor. Therefore I have no knowledge about Trust-assumptions nor exact technical terms for bridging protocols. The info I learned is from your own L2-BEAT website and articles... that is, the parts I could comprehend.
Orbiter is still in Alpha, and hasn't been audited yet (as far as I am aware of) And the SPV-contracts that Orbiter uses are as far as I know not open-sourced yet, until they are ready to go to at least Beta-stage.
================================
Twitter: https://twitter.com/orbiter_finance
Medium: https://orbiter-finance.medium.com
Discord: https://discord.gg/orbiter-finance
Discord user name: orbiter#9002
Discord user-ID:<PHONE_NUMBER>65153547
User docs: https://docs.orbiter.finance
Source code: https://github.com/orbiter-finance
================================
Orbiter EOA ETH-address:
0x80c67432656d59144ceff962e8faf8926599bcf8
Orbiter bridges ETH on:
• ETH-mainnet
• zkSync
• Polygon
• Arbitrum
• Arbitrum-Nova
• Loopring
• Optimism
• ZKSpace
• Immutable X
• Metis Andromeda
• Boba
• StarkNet
• BNB-chain

Orbiter EOA USDC-address:
0x41d3d33156ae7c62c094aae2995003ae63f587b3
Orbiter bridges USDC on:
• ETH-mainnet
• zkSync
• Polygon
• Arbitrum
• Arbitrum-Nova
• Optimism
• dYdX

Orbiter EOA USDT-address:
0xd7aa9ba6caac7b0436c91396f22ca5a7f31664fc
Orbiter bridges USDT on:
• ETH-mainnet
• zkSync
• Polygon
• Arbitrum
• Optimism
================================
Feel free to ask me for specific info, if you think I can be of any help.
But I would recommend asking Orbiter directly on one of their socials.
Have a good day, and thanks for l2beat.com

Yesterday Orbiter finance added DAI to the assets:
Orbiter EOA DAI-address:
0x095D2918B03b2e86D68551DCF11302121fb626c9
Orbiter bridges DAI on:
• ETH-mainnet
• StarkNet
• Arbitrum
• Optimism
• Polygon
• zkSync


Disable Python on Cygwin

Temporary fix for #188, need to further investigate to know how broken cygwin support is.

Thanks for the quick response. It would be nice if we could workaround the problem, but man it's nasty segmentation fault, and probably there's nothing we can do about it.

@junegunn I agree it is quite nasty. It appears to be a concurrency issue as nthreads = 1 leads to no problem. For some reason, the threading lock isn't preventing multiple threads from updating the buffer & calling vim commands. I assume this may be a cygwin bug as I've never had such an issue on my posix machines.

Yeah, probably. Don't try too hard. I'm on OS X and Linux 99% of time and it's really hard for me to find time to deal with Windows issues (purely for somebody else).


NotifyPropertyChanged missing ??

Hello :
i'm try to run this simple :
https://deck.net/af17727256ef60c2c76206837a6c6eac
and i cant add this line :
[NotifyPropertyChanged(Inheritance = MulticastInheritance.All)]
its give me red line under the code because the NotifyPropertyChanged is missing ...... if i remove the line it will compile successfully But the code will not do what it should do.

H @Ali1Jamal ,
That code seems to depend on a package from Bridge that is unfortunately not open-source nor uses a license that would allow us to port it here.
We would probably need to rewrite the code to support NotifyPropertyChanged, happy to take contributions here if you're interested!

@theolivenbaum
yes it use Bridge.Aspect.
I'm not really good at remaking things like a whole library ..so I'm sorry..but maybe you can talk to them to get some libraries especially the basic libraries and if you can't that's fine

@theolivenbaum
yes it use Bridge.Aspect.
I'm not really good at remaking things like a whole library ..so I'm sorry..but maybe you can talk to them to get some libraries especially the basic libraries and if you can't that's fine

They do not contact well. I asked similar question and finally they decided to not reply.
But maybe you will be lucky ))

@hardhub
I sent them an email now but the system tells me that email(hello@bridge.net)has been deleted or does not exist.... and the github page its also archived and the i cant post in bridge Forms.
I think the team is in a long hibernation period.

You can try the company email @.*** maybe you get luck with it.
On Sun, Sep 12, 2021, 7:05 PM Ali Jamal @.***> wrote:

@hardhub https://github.com/hardhub
I sent them an email now but the system tells me that email(
@.***)has been deleted or does not exist.... and the github
page its also archived and the i cant post in bridge Forms.
I think the team is in a long hibernation period.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/theolivenbaum/h5/issues/49#issuecomment-917673814,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACDCOA5E47GATEQTANN5253UBTMWLANCNFSM5D2WQT7A
.

@theolivenbaum  its just stars please type it correctly

Sorry I think github hid it... The email is:
hello (at) object (dot) net

Sorry I think github hid it... The email is:
hello (at) object (dot) net

i sent him the email lets see what my luck hide😅


update toc and feedback

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

dynamicsax2012-msdn/docfx.json
:white_check_mark:Succeeded

dynamicsax2012-msdn/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Termination sheet for EDH

Investigate if this service is still needed. If yes, investigate if our REST endpoint can be used or if we need a custom implementation.
The current code is in our internal repo, in:  aleph/aleph_webinterface.py

After talking with our colleagues, the service is still needed. We will need to send for a specific user_id: on-loan books, loan requests, and external library loans (in line with what we are currently sending). For more details: RQF1138512

@zzacharo I believe this is done, can you please close it if completed?

The issue has been addressed!


Warning: Undefined array key

Hi there! Good work so far. This error happened right after my .gif upload was done. It happened here on both gifs
Warning: Undefined array key "cf-turnstile-response" in /srv/disk12/3685730/www/deltachan.atwebpages.com/internal/actions/post.php on line 61
Warning: Cannot modify header information - headers already sent by (output started at /srv/disk12/3685730/www/deltachan.atwebpages.com/internal/actions/post.php:61) in /srv/disk12/3685730/www/deltachan.atwebpages.com/internal/actions/post.php on line 153
Greetings!

I don't think it has anything to do with gifs. Judging by the name "cf-turnslite-response" it's trying to check the response from cloudflare's turnslite (basically a captcha) even when it's disabled. I'll take a look and try to patch it.

Fixed in v1.3.1


Crisp.chat SDK broken due to Bugsnag shimming/replacing setTimeout

Can bugsnag capture errors without shimming any native prototypes or can I turn it off at least?

I recently get this response from Crisp.chat where wasn't able to get rid of this warning:

After some checks, it appears that you have a shimmed method. It's setTimeout, you have to rename it on your side before use it with Crisp, otherwise there is shims and it can break Crisp script or even some thing on your website.
You have added this tool : https://www.bugsnag.com/
That produces the setTimeout method.
When that will be resolve, all will be ok

https://github.com/bugsnag/bugsnag-js/blob/c5062506e74e7677b60dfd5af25ed5014dfcd76e/packages/plugin-inline-script-content/inline-script-content.js#L83-L104 shows many native prototypes you try to replace.

Unfortunately this is the only reliable way to track inline scripts in order to report the surrounding code and line number when things go wrong.
If you need to stop patching all of the built-in functions, you can turn off the trackInlineScripts option.
As far as I can tell, what you're seeing is just a warning? Bugsnag shouldn't alter the behaviour of these functions – it just captures some the execution trace and then forwards everything on to the original function. What happens if you do $crisp.push(["safe", true]) like it suggests? Does it still break? If so, how?

@bengourley,  $crisp.push(["safe", true]) doesn't get rid the warning. I didn't notice any specific errors with Crisp. Their support team wrote that Bugsnag shouldn't replace setTimeout otherwise would break Crisp. I think Crisp might be trying to replace setTimeout too.
Can you maybe allow to define prototypes names not allowed to Bugsnag to change them, and document how it will affect code tracking?

@bengourley, FYI trackInlineScripts doesn't work form JavaScript modules having extension .mjs

$crisp.push(["safe", true]) doesn't get rid the warning.

That sounds like a bug with Crisp's SDK to me – the log message says that's what it should do.
There's not really anything for us to do here. We try to be as unobtrusive as possible, but for reliable inline script tracking this is what we need to do. And it sounds like Bugsnag is working for you. If our patched functions broke anything, we'd soon know about it!

Their support team wrote that Bugsnag shouldn't replace setTimeout otherwise would break Crisp.

I think they are just trying to be defensive about the environment their script is running in. When you ship an SDK that loads on any kind of website, sometimes people modify built-in stuff in a non-compatible way. This is good advice most of the time but for a library like Bugsnag, sometimes we need to subvert best-practices to get things done.

FYI trackInlineScripts doesn't work form JavaScript modules having extension .mjs

In what way is trackInlineScripts: false not working for you?

@bengourley, Bugsnag doesn't show code snippets for .mjs files, but only for .js

Ok. Since that's a different issue I'm going to close this off.
We may have just shipped a fix for this – previously our system wouldn't fetch source with the extension .mjs but it does now.
If you're still having problems with that, please can you email<EMAIL_ADDRESS>and we'll help get it sorted?

I see you already had a support thread!


change reward slashing rate to 100%

Description
Gated behind a new protocol version.
Test Plan
Added a test.

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

while we are updating the protocol version again (and the move code) do we want to land this while we are at it? https://github.com/MystenLabs/sui/pull/10259#pullrequestreview-1373791583

This is a question for @econmysten.


Caret returns view to its last position after scrolling with Ctrl+Up or Ctrl+Down.

VSCode Version: Version 1.7.1
OS Version: Ubuntu 16.04

This is an enhancement request for a setting to emulate the behavior of Sublime Text.
Reproduce:

Scroll a multi-line file until you can no longer see the cursor, using the 'Ctrl+Up' or 'Ctrl+Down' keys.
Hit 'Up' or 'Down'.
The view returns.

My muscle memory expects the cursor to follow the current view.

It is possible to configure the keybindings to get this desired behaviour:
e.g.
    {
        "key": "ctrl+down",
        "command": "editorScroll",
        "args": {
            "to": "down",
            "by": "line",
            "revealCursor": true,
            "value": 3
        }
    }


Avoid transient AKID failures

Wait to fetch config until after we have published the EdgeNodeCerts so
that the controller has a chance to encrypt the secrets including the
datastore credentials. This should avoid getting the authorinization
(AKID) errors from S3 on the first try to download immediately after
booting the device.
Signed-off-by: eriknordmark<EMAIL_ADDRESS>

eden failure was due to the concurrent map access for zedcloudmetrics which @milan-zededa just fixed in a separate PR.

LGTM


Fix Name of Homematic IP accesspoint in devices, if name is configured

Description:
PR #21241 adds device info to Homematic IP.
If multiple access point are configured then all access point have the same name in device registry.
This fix takes the configured name from config, if available, and appends it to the default name.
This is NOT a breaking change, just a naming issue, but it might confuse users.
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox.
[x] There is no commented out code in this PR.

Alltough it is just an optical issue, this could be a candidate for the current RC.

@mxworm Do you agree on how the individual HAP name is created?

@MartinHjelmare Could you have a look at this PR.
Could be a candidate for 0.89.1.
I have no idea why cla-bot fails. Do you?
Thanks

@MartinHjelmare I think there is a problem on travis with step 3.5.3 pylint.
It fails, but (I think) it has nothing to do with my code.


Fix dependency conflict for issue

#4

@InnoFang
Could you please help me review this issue?
Thank you very much!
BTW, dependency conflict problems are very common in practice in python ecosystem.
I have encountered the issues several times. What's your oppinion on the challenges of detecting and repairing such issues?
And how to avoid dependency conflict problems among python projects, especially from the ecosystem's perspective?

@InnoFang
Could you please help me review this issue?
Thank you very much!
BTW, dependency conflict problems are very common in practice in python ecosystem.
I have encountered the issues several times. What's your oppinion on the challenges of detecting and repairing such issues?
And how to avoid dependency conflict problems among python projects, especially from the ecosystem's perspective?

Thanks for your PR
In my opinion, we can manually compile open source project or third-party libraries, and specify dependency paths before using third-party python libraries,
As for avoiding dependency conflicts between Python projects, perhaps you need to pay attention to the dependencies of third-party libraries before using them.
In the past, I focused more on the functions of third-party libraries. I think I will also focus on the issue of dependency conflicts in the future.
Thank you again for your contribution to this project. Sincerely


chore: update author name in package.json to match manifest.json

This is a cherry-picked commit made by @AnnaKornfeldSimpson in a now-closed PR - #980.
I didn't want to lose the fix. Thanks Anna!

Hurrah! What git commands did you use to make this PR? I know how to look at the log and see what changes were made in a commit, but not how cherry-picking works.

GUI
I don't know. I just use JetBrains's WebStorm as my IDE for Tasks, and it's trivial in the UI to do:
https://www.jetbrains.com/help/idea/apply-changes-from-one-branch-to-another.html#cherry-pick
For  interacting with specific commits like this, I personally always favour an IDE which provides direct interaction with the thing I want to select.
In this case, I can see that:

My own code is on the correct branch
I am right-clicking on the exact commit I wish to cherry-pick
The commit has been correctly applied

Command-line
Here's the command-line way of doing it:
https://www.atlassian.com/git/tutorials/cherry-pick


DataTable - select

Add function to select a subset of columns and return a newly-allocated dataset (containing a new copy of the columns) - i.e., the column addresses will be different.

implemented in 5a6b5c9ddb40046581f210b26d8397195b477549


Feature/pricing strategies

Implements several pricing strategies based on strategies which plan mandatory market interaction with the market maker.
This market schedule is analyzed, and the next upcoming order is generated early with an adjusted, more favorable price.  With fewer time steps in between the mandatory mm interaction and the current time step, the price converges towards the mm price. If some local market actor fulfills the order, the market schedule gets adjusted. If no matching with local actors happens, the actor will trade with the market maker at the planned time step with the market maker price to guarantee order fulfillment.
Order amounts are adjusted to respect soc boundaries in between the current time step and the planned mm time step.
Pricing can be custom function with the arguments index (int), final_price (float) and energy(float)
the index is the amount of time steps until interaction with the mm is planned
final price is the guaranteed market maker price
energy is the energy amount of the planned interaction. Mostly used to determine the direction of the order. Positive energy amounts mean buying power and vice versa.
Besides the custom function, 3 different pricing strategies are implemented in form of a dictionary. The dictionary has two keys "name" and "params". The name describes the functions and params defines the function parameters.
The pricing strategies are
"name" = "linear"
"params" = ["slope_per_index"]
Harmonic pricing changes the price according to the harmonic series meaning 1, 1/2, 1/3, 1/4, 1/5 ... and so on. Selling prices are calculated as reciprocal value, e.g. 1,2,3 ... The mandatory parameter is the half life index, which dictates at which index half of the final price is reached
"name" = "harmonic"
"params" = ["half_life_index", "symmetric_bound_factor"]
the second parameter symmetric_bound_factor is optional and describes the convergence price of the price. E.g. a symmetric bound factor of 0.5 means prices will not go below 50% of the final price, no matter how far in the future the planned market interaction is. in these cases the harmonic pricing is symmetric, meaning that in the case of selling the price will not go beyond 200% of the final price. The form of the function is mirrored in this case. e.g.  symmetric bound factor of 50% and half life index of 1 will lead to
1, 0.75, 0.66, 0.625 ...
1, 1.25, 1.33, 1.375 ...
Geometric pricing uses a geometric series to scale the price and follows the form Price_n = final_price * geometric_factor ^(index)
For selling, the reciprocal value of the geometric_factor is used
"name" = "geometric"
"params" = ["geometric_factor", "symmetric_bound_factor"]
The symmetric bound factor clips value to this bound, eg index 3 with geometric_factor of 2 would lead to a price of an 8th or 8 times the final_price. The symmetric bound clips these factors, e.g. a symmetric_bound_factor of 1/3 would clip the above prices to a 1/3 or 3 times the final price.

Sth. like the PR description could be inserted as a RTD page (similar to matching strategies)

This market schedule is analyzed, and the next upcoming order is generated early with an adjusted, more favorable price. With fewer time steps in between the mandatory mm interaction and the current time step, the price converges towards the mm price. If some local market actor fulfills the order, the market schedule gets adjusted. If no matching with local actors happens, the actor will trade with the market maker at the planned time step with the market maker price to guarantee order fulfillment.
Order amounts are adjusted to respect soc boundaries in between the current time step and the planned mm time step.
Pricing can be custom function with the arguments index (int), final_price (float) and energy(float)
the index is the amount of time steps until interaction with the mm is planned
final price is the guaranteed market maker price
energy is the energy amount of the planned interaction. Mostly used to determine the direction of the order. Positive energy amounts mean buying power and vice versa.
Besides the custom function, 3 different pricing strategies are implemented in form of a dictionary. The dictionary has two keys "name" and "params". The name describes the functions and params defines the function parameters.
The pricing strategies are
"name" = "linear"
"params" = ["slope_per_index"]
Harmonic pricing changes the price according to the harmonic series meaning 1, 1/2, 1/3, 1/4, 1/5 ... and so on. Selling prices are calculated as reciprocal value, e.g. 1,2,3 ... The mandatory parameter is the half life index, which dictates at which index half of the final price is reached
"name" = "harmonic"
"params" = ["half_life_index", "symmetric_bound_factor"]
the second parameter symmetric_bound_factor is optional and describes the convergence price of the price. E.g. a symmetric bound factor of 0.5 means prices will not go below 50% of the final price, no matter how far in the future the planned market interaction is. in these cases the harmonic pricing is symmetric, meaning that in the case of selling the price will not go beyond 200% of the final price. The form of the function is mirrored in this case. e.g. symmetric bound factor of 50% and half life index of 1 will lead to
1, 0.75, 0.66, 0.625 ...
1, 1.25, 1.33, 1.375 ...
Geometric pricing uses a geometric series to scale the price and follows the form Price_n = final_price * geometric_factor ^(index)
For selling, the reciprocal value of the geometric_factor is used
"name" = "geometric"
"params" = ["geometric_factor", "symmetric_bound_factor"]
The symmetric bound factor clips value to this bound, eg index 3 with geometric_factor of 2 would lead to a price of an 8th or 8 times the final_price. The symmetric bound clips these factors, e.g. a symmetric_bound_factor of 1/3 would clip the above prices to a 1/3 or 3 times the final price.

I resolved the issues and created a preliminary but extended version of the functionality description for read the docs


Marshal deprecated pandas.util.testing import.

Fixes warning generated by tests.
Attempts to import from pandas public API for newer versions of pandas...
from pandas.testing import assert_frame_equal
...resolves to the existing path when not found...
from pandas.util.testing import assert_frame_equal when not found
FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.
    from pandas.util.testing import assert_frame_equal

Contributor checklist

[ ] Builds are passing
[ ] New tests have been added (for feature additions)

@aviau @xginn8 Any objections to this? Can we merge?


setEnableSpeakerphone 无法切换扩音器

华为p30pro 调用setEnableSpeakerphone(true)无法切换为外放，promise.then返回为调用成功的null但是audioRouteChanged没有收到回掉也没有成功切换为外放模式，手机没有处于耳机，蓝牙耳机等状态

有测试其他Android手机么

好多手机出现这个问题

debug会有这个问题 release这个问题会消失，release一切正常

I also faced with issue that switching from Speaker to Earpiece and vise versa on Android by
RtcEngine.setEnableSpeakerphone(enable) has no effect. Could you please point how to solve that

And i have it in release mode also

you can try this function and set the scenario param to GAME_STREAMING.
https://docs.agora.io/en/Interactive Broadcast/API Reference/java/classio_1_1agora_1_1rtc_1_1_rtc_engine.html#a34175b5e04c88d9dc6608b1f38c0275d


Respect avoids balancer with party supports

Full description to be filled out later. While waiting for Buttons to make a python version I couldn't help finish this. This balancer respects parties and avoids. It does this by setting importance of different things:
@max_team_diff 17 (This is like having a one-chev on your team who is overrated by 17 points).
@max_team_diff_importance 10000
@party_importance 1000
@avoid_importance 10
Go through each combination and give it a score

Score = team rating diff penalty + broken avoid penalty + broken party penalty + broken max team rating diff penalty
team rating diff penalty = difference in team ratings
broken avoid penalty = broken avoid count * @avoid_importance
broken party penalty = broken party count * @party_importance
broken max team rating diff penalty = @max_team_diff_importance (if the team rating diff > @max_team_diff)

Performance
For 8v8 games we only brute force 14 players max and two remaining will be drafted and don't affect score in any way. This is for performance reasons.
To reduce computation of too many avoids, we limit the number of avoids depending on player count
7v7+ -> Max 4 avoids per lobby
6v6 -> Max 16 avoids per lobby
5v5 -> No limit
This avoid limit applies to the lobby as a whole. We simply consider the oldest 4 avoids for 8v8 games when we pull from the database.
Players will also have individual limits that is already there. You cannot play if you avoid 50% or 6 players. Therefore, for a 5v5 game the most you can avoid is 4 per player (since 5 avoids triggers the 50% threshold).

Need to test on integration server to get the actual performance.

Here are some local tests. Here is the match with several parties

Output with 1 avoid

Now I'm going to avoid three more people. I am logged in as root and will now avoid
EnergisedBeigeFiend SpryLavenderAugur SpringyRoseMarauder
Afterwards

Updated with the following changes based on feedback:

People avoiding you will no longer prevent you from playing
Ranked/unranked/lobby type do not have effect on balancer

@L-e-x-o-n FYI here is Teifion's old code
  @spec list_userids_blocked_by_userid(T.userid()) :: [T.userid()]
  def list_userids_blocked_by_userid(userid) do
    Teiserver.cache_get_or_store(:account_block_cache, userid, fn ->
      Account.list_relationships(
        where: [
          from_user_id: userid,
          state_in: ["avoid", "block"]
        ],
        select: [:to_user_id]
      )
      |> Enum.map(fn r ->
        r.to_user_id
      end)
    end)
  end

This means when counting how many are blocking player A, it would include people avoiding player A. This is wrong and is back to front. I have fixed this in my PR.


Feature normalization

Related to #5.

@astorozhevsky, could you review, please.

@dmitryusenko, could you review, please.

@michaelivonin Could you please revert changes in package.json and package-lock.json, and also squash the commits into a single commit?

@dmitryusenko, fixed.


Lawyer credential doesn't show both flagged and revoked state when in a proof request

Description of problem
LSBC issued member card credential does not accurately show both the flagged and revoked state when presented in a proof request.
Expected behavior
If the credential is both revoked and has flagged attributes, then the card UI in a proof request should reflect both states. The Person credential accurately depicts both states
Person credential with BOTH the flagged and revoked state
Private Zenhub Image
Steps to reproduce

Get a lsbc member card
revoke the credential
receive a proof request asking for the lsbc member card

Screenshots and/or log output
LSBC member card with missing revoked state
Private Zenhub Image
Environment

[X] Occurs on Android
[X] Occurs on iOS

Build #: 1203
Android Device Model: OnePlus 6
iOS Device Model: iPhone SE
Workaround
Severity

[ ] High
[X] Medium
[ ] Low

Tested in testflight and can confirm it is working as expected


More obvious graphics for a discarded card (suggestion)

Hi there!
When on the play menu and selecting a card to discard, can it be made more apparent that the card is discarded? Maybe make the surrounding black box bigger or overlaying a transparent symbol over it? If it's something I can adjust in my display I'm happy to do that too

Hi,
This is our current rendering for discarded and lost cards, can you confirm that you have the same one ? (It may differ among browsers ;) )

If you are confortable with CSS, feel free to propose a pull request with graphical changes that seems necessary :)

Done! With a pull request made I think that's the place for any discussion that is to be had, so I will ahead and close this issue


Support local SSD in PKB

Need to add support for local SSD in PKB. First "user" of this will be the fio benchmarks.

Eric has already started working on this. Assigning to ehankland@