tag v0.5.2

@JuliaRegistrator register branch=release/v0.5

Registration pull request created: JuliaRegistries/General/80470
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.5.2 -m "<description of version>" e6f00080a1dc28ed6fc51f90f23a0a399a132bbf
git push origin v0.5.2


Send screen - "transaction fee" field does not work correctly.

When you enter incorrect numbers in the "Transaction fee" screen after moving the cursor to another field and back should delete zero's.

Steps to reproduce the behaviour:

go to Send screen
Enter "Transaction fee" (example, 00855)
Move pointer to comment field
Move back to "Transaction fee"
Expected: 855
Actual: 00855

When you enter a few zeros on the "Transaction fee" screen after moving the cursor to another field and back should display one zero.

Steps to reproduce the behaviour:

go to Send screen
Enter "Transaction fee" (example, 00000)
Move pointer to comment field
Move back to "Transaction fee"
Expected: 0
Actual: 00000

Make 10 groth default in "Transaction fee" when user go to Send screen same as in Desktop wallet.
If "Transaction fee" field is empty automatically set "0" and the transaction is sent

checked


using ID instead if Int! for ids

graphQL has a built-in type ID-wouldn't it make more sense to use it instead of !Int in the readme.md?

Sure - please send a PR! We don't intend to be opinionated about what our schema looks like, just trying to show a code sample of how to use the library.


Different behaviour on 2 containers of same tomcat image run on 2 Debian servers

When I run docker tomcat manager on 2 Debian servers I have these 2 displays:

Tomcat1: https://i.stack.imgur.com/kucJQ.png
Tomcat2: https://i.stack.imgur.com/ygOCh.png

Tomcat status memory pools are listed with different names as "PS < memory pool>" in Tomcat 1 and only "< memory pool >" in Tomcat 2 (like "PS Eden Space" vs "Eden Space").
Both container are run the same way :
 # docker run   --name tomcat-test   -it   -p 8083:8080   -v /tmp/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml   -v /tmp/context.xml:/tmp/context.xml   tomcat:8.5-jdk8-openjdk  /bin/bash -c "mv /usr/local/tomcat/webapps /usr/local/tomcat/webapps2; mv /usr/local/tomcat/webapps.dist /usr/local/tomcat/webapps; cp /tmp/context.xml /usr/local/tomcat/webapps/manager/META-INF/context.xml; catalina.sh run"
with same param xml files:
# cat /tmp/context.xml
<Context antiResourceLocking="false" privileged="true" >
  <!--
    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
  -->
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

# cat /tmp/tomcat-users.xml
<tomcat-users>
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <user username="tomcat" password="s3cret" roles="manager-gui,manager-script"/>
</tomcat-users>

Both server are the same versions:
# cat /etc/debian_version
9.13

# docker version
Client: Docker Engine - Community
 Version:           19.03.15

Any idea why there is such difference? Shouldn't 2 containers running the same image have the sctrictly same behaviour? It's a small difference but I'm wondering if there is such difference, maybe there are other I don't see...

Unfortunately, these sorts of questions/requests would be more appropriately posted to a dedicated support forum, such as the Docker Community Forums, the Docker Community Slack, or Stack Overflow.

oh ok, sorry


Add warning regarding Ctrl+Alt+Del and Win+L

Need to figure out how to explain these limitations to the user and where to add it in.

This has been done on the UI side while remapping the shortcuts as warnings. @saahmedm should we close this or leave it open for any other places where we would want to add it?

Closing it for now


Fix issue with UndoManager reporting two inputs when undo:ing deletes by flushing operation immediately

Fixes issue #13
I've run this in production for a week now and it looks like it's working fine. Haven't encountered any issue with it so I believe it's ready for a PR. :)

Quick update, I've actually encountered some issues even with this fix in production so wait with merging this PR for now until I find a better solution.

Ah, so that issue was a separate issue, although related. This PR works fine, it solves the issue it's set out to solve. So I'm okay with merging this if you are, @dmonad :)
The new issue I found is when multiple peers edit the document at the same time. The new issue is submitted here: https://github.com/yjs/yjs/issues/273

Ah, so that issue was a separate issue, although related. This PR works fine, it solves the issue it's set out to solve. So I'm okay with merging this if you are, @dmonad :)
The new issue I found is when multiple peers edit the document at the same time. The new issue is submitted here: https://github.com/yjs/yjs/issues/273


Batch execution of CSV to RDF conversion

We are working with the government in a Linked Open Data project in which they need to convert CSVs to RDF (https://github.com/opendata-euskadi). Many of the CSVs present structures that don't change or change very little (only the cell values are updated), so the requirement is to define a mapping once and execute it in batch mode every time there is a data update. Is this possible in FAIRifier?
More specifically, what I need is to be able to execute the history JSON, in which I have defined the RDF skeleton (graphically), programmatically, against a given CSV.
Thanks
PS: The other solutions we are considering are Grafter (http://grafter.org/) and OntoText's OntoRefine, which I really like due to the fact that the conversion is defined as a SPARQL INSERT query against a temporary SPARQL endpoint representing the "raw" CSV data as RDF (also based in Open Refine). Executing OntoRefine programmatically is not straight forward though.

This feature is in the works, try the development version

Is there a way of doing it programmatically? We will have plenty of different CSVs, each of them with a defined skeleton, and we need to execute those conversions periodically through our Java platform. We can't use the GUI.


ValueError when decoding map features

Is it normal to see the ValueError when decoding map features, or this means that the dataset I've downloaded is broken?

I do not think it is normal. Maybe you can provide more context information or just try to download it again.

When I run the preprocess code, data with only id is printed and ValueError will be throught, as in the figure.

When I printed all the map data being processed, I saw there are some map segments belong to type "lane".

I haven't met this error - I have tested the codes in the latest dataset - maybe you can try to download the latest dataset.

OK, thx for quick reply!

When I run the preprocess code, data with only id is printed and ValueError will be throught, as in the figure.

I also met the same problem. How did you solve it?


2024-07-25 (25 Jul 2024) - Morphir Project Meeting

Date
Thursday 25 July 2024 - 11am ET / 3pm UK
Untracked attendees

Name
Firm
Comment

Meeting notices

FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact<EMAIL_ADDRESS>with any questions.

FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

[ ] Convene, roll call, welcome new people (5mins)
[ ] Display FINOS Antitrust Policy summary slide
[ ] Review Meeting Notices (see above)
[ ] Approve previous meeting minutes - https://github.com/finos/morphir/issues?q=is%3Aissue+is%3Aclosed+label%3Ameeting
[ ] Discussion

[ ] Status Updates
[ ] Idea: create meeting agenda in advance, collect topics
[ ] morphir-elm release issues (build automation?)
[ ] Monorepo Progress
[ ] Simplified JSON format for the IR
[ ] ...

[ ] AOB, Q&A & Adjourn (5mins)

Decisions Made

[ ]

Action Items

[ ]

Zoom info
Join Zoom Meeting

https://zoom.us/j/99313804465
Meeting ID: 993 1380 4465
Passcode: 038632

Dial-in

Find your local number: https://zoom.us/u/avGA76WoI

Github Repo: https://github.com/finos/morphir/
Mailing List: Email<EMAIL_ADDRESS>to subscribe to our mailing list

Karl Moll /  FINOS

Mark Marron / University of Kentucky

Alex Sieland @ Capital One

Damian Reeves / Capital One

Michelle Chan @ Capital One

Pedro Ribeiro @ Capital One

Ben Sanchin / Capital One


vfio-user: function set_version() to process VFIO_USER_VERSION socket message should work with NON_BLOCK mode

The Unix domain socket is set in NON_BLOCK mode, the function should retry until got a valid response from client for the first message on branch vfio-user

Fixed the issue, can you please pull and retest.
Thanks

thanks, the issue is fixed.


Problem: slack environment variables are not working for docker

Issue
I am using a container to deploy semaphore. For notification purposes I use slack. From the repository I can find that two environment variables are defined to enable slack alerts and to set the web hook url:
SEMAPHORE_SLACK_ALERT
SEMAPHORE_SLACK_URL

Unfortunately those variables have no effect. When I manually edit the config.json file it works. This is the only place where I cannot define config.json settings with environment variables and I guess this should be working, since E-Mail alerts can be configured using environment variables as well.
Impact
Service (scheduled tasks, alerts), Docker
Installation method
Docker
Database
Postgres
Browser
No response
Semaphore Version
v2.9.113-beta
Ansible Version
No response
Logs & errors
No response
Manual installation - system information
No response
Configuration
No response
Additional information
No response

@dominikspiertz can't reproduce. Works for me.


Make sure logic exists (if the object has a catkey, do not index it)

I think this was implemented In #81


Box description max lengt

If the Description of the AP is longer than 23 characters, it will be shrieked and replaced with "..."

Yes. The field is truncated to fix

It's not Zoom or screen resolution related.

The field is truncated by a default rule to fit it it exceeds a certain length. I don't see why this is a bug?

I get why it shrinks on the table view, but it should not on the Device info view.
Even 23 characters is a small value on the table view.
They should be able to see at least 30-35 characters.

It's not about what they should or should not be able to see. It's about the spacing on the rest of the page.

I'm reopening this one.
@ZakMooney @iamzakr can you do something about it?


data returned from torii authenticator is undefined

When I use torii authenticator for login the returend data is undefiend.
I test with google-oath2 and facebook-oauth2.
this.get('session').authenticate('simple-auth-authenticator:torii', 'google-oauth2').then(function(authorization) {
                console.log('google) auth => ' + authorization); // undefiend

            }, function() {
            });

The promise resolves without a value. You can access session data via the session instead - check the README and API docs.

Thanks for response.
I checked out API docs but I could not know where could I read authorization code?

http://ember-simple-auth.com/ember-simple-auth-api-docs.html#SimpleAuth-Authenticators-Base-authenticate
Anything the authenticator resolves with can be accessed via the session, e.g. if the authenticator resolves with { token: 'token' } you can get that token via this.get('session.token') once the session is authenticated.

Thanks a lot


Updated container metadata for documentation to point at new docs.

Could you please review the changes?

Thanks - for the builder images that's perfect. For the runtime images, it's not appropriate (documents s2i features they don't have). However, the old value is also problematic! Can we delete the "usage" label from the runtime images for now?

Thanks - for the builder images that's perfect. For the runtime images, it's not appropriate (documents s2i features they don't have). However, the old value is also problematic! Can we delete the "usage" label from the runtime images for now?

Sure will do that

Deleted in-appropriate metadata from runtime descriptors.


[CI/CD] Fix build wheel recipe.

Context: The build wheel action is failing since it still expects to build QIR
Description of the Change: Remove QIR rules from build wheel.
Benefits: Fixing the build wheel Github Action.

Building the wheel passes: https://github.com/PennyLaneAI/catalyst/actions/runs/5882610112


[BEAM-9935] Respect allowed split points in Java

Copy logic and most test cases from python implementation: https://github.com/apache/beam/pull/11653
r: @lukecwik

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

Mostly minor nits.
Since this logic is very important, can we cover the same ~30 cases that python does in #11653?

I was thinking about it as a follow up PR since I want to refactor these tests to be parameterized. But yes I'll put them together in this PR. Thanks!

I'll resolve the conflicts before merging.

cc: @lostluck @youngoli

Run Java PreCommit

Run Java PreCommit

Run Java PreCommit


Return additional metadata

We needed some additional metadata that was already available in the info and videoDetails dicts so I added them to XCDYouTubeVideo.h. Description doesn't have a fallback but the others do. They all default to empty strings when nil in line with title, etc.

@CWftw Thanks for your contribution :-)


Update blnet_web.py

In case authentication is switched off in BL-Net the class can be initialized with password = None. Then, no login acivity is done.

Thanks for this PR!
How does this affect the return value of the set methods though? As I imagine (and from your isse #6) I would infer that with password=None, False is the return value of all attempts to set a value.
Affected lines:
https://github.com/nielstron/pyblnet/blob/0a3a59ea39ab569d4b59be5a918736dc238bcf13/pyblnet/blnet_web.py#L295-L296
https://github.com/nielstron/pyblnet/blob/0a3a59ea39ab569d4b59be5a918736dc238bcf13/pyblnet/blnet_web.py#L159-L160

Hello,
yes, as expected, it returns 'False'.
I find the current return value misleading though. It just returns that we are still logged in. But can we be sure that the value has been set?
Wouldn't it require a 'read' (with my higher level function to get this value only ;-) and to check the return of the read vs. the set?
It will slow down the code especially because it must be an 'uncached' read, so I would make it optional.
Greetings,
Hendrik


Provide a static interface for the Guid on COM structs

We don't want to use reflection to get Guid information and also want to constrain generic helpers so in WinForms we implement INativeGuid on every generated COM struct:
internal interface INativeGuid
{
    public static abstract unsafe Guid* NativeGuid { get; }
}

internal unsafe partial struct IStream : IPopulateVTable<IStream.Vtbl>, INativeGuid
{
    static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in Guid));
}

Here is an example of how we use it: https://github.com/microsoft/CsWin32/issues/751#issuecomment-1304268295
Here is another:
picture.Value->QueryInterface(IPersistStream.NativeGuid, persist);

cc: @lonitra

Here is what I plan to add. It's not quite the same as what you were doing. Please advise if it deviates in an unacceptable way.
internal interface IComIID
{
    internal static abstract ref readonly Guid Guid { get; }
}

Please advise if it deviates in an unacceptable way.

We're passing Guid* directly to native APIs in most cases. As long as we can write some sort of adapter to avoid making a copy that's fine.
Had a chat with @tannergooding to vet design.
To be as safe as possible we need the Guid definition to be unmoveable. The best way to do this is to take advantage of the ReadOnly<T> = new T[] optimization which directly references the assembly metadata. If the Guids are defined as such:
public static struct IUnknown : IComIID
{
    public static ref readonly Guid Guid
    {
        // Aggressive inlining needed to get this to inline as a single address move
        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        get
        {
            // Little Endian- all Windows platforms
            ReadOnlySpan<byte> data = new byte[] {
                0x00, 0x00, 0x00, 0x00,
                0x00, 0x00,
                0x00, 0x00,
                0xC0,
                0x00,
                0x00,
                0x00,
                0x00,
                0x00,
                0x00,
                0x46
            };

            return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
        }
    }
}

This ends up getting you this for asm:
IUnknown.get_Guid()
    L0000: mov rax, 0x20ca0fa0d80
    L000a: ret

And we can then write something like this:
public unsafe static class IID
{
    public static Guid* Get<T>() where T : unmanaged, IComIID
    {
        return (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in T.Guid));
    }
}

See Sharplab for an example.
Note, that we would like the Guid property to be public rather than explicit implementation.

Note, that we would like the Guid property to be public rather than explicit implementation.

We do offer a public IID_Guid property already. The explicit implementation property is on IComIID. So with my current design, it makes it convenient in either case (generic interface parameter or specific interface type). Is there a problem with the explicit interface implementation that I've missed?

To be as safe as possible we need the Guid definition to be unmoveable.

Is a static field movable? I didn't expect that.

Is a static field movable? I didn't expect that.

Static fields do not have any guarantee of being immovable. As an implementation detail the JIT may decide to allocate the space for them on the FOH (Frozen Object Heap) or POH (Pinned Object Heap), but it is not required to do so. -- There are runtimes/GCs that may not do this optimization and scenarios like collectible assemblies where RyuJIT might not either. C# currently emits an RVA static (backing data is embedded in the .rodata section of the PE or ELF file) for the ROSpan<byte> x = new byte[] { all constant data }; pattern. This, being directly embedded into the native image, is immovable.


Unexpected end of input stream

Again same old story repeats, for small volume and partitions it works. The same set up if used for heavy topic with 60 partitions, it fails. There is not message of regarding processed killed due to insufficient memory etc. This is the message accompanying the checksum error encountered in the issue "Checksum Exception #234". This is thrown by process running on different machine than the one which throws Checksum exception. This is very frustrating and I am not able to use secor in production. Can somebody help what is going wrong here ?
java.lang.RuntimeException: Failed to apply upload policy
at com.pinterest.secor.consumer.Consumer.checkUploadPolicy(Consumer.java:118)
at com.pinterest.secor.consumer.Consumer.run(Consumer.java:106)
Caused by: java.io.EOFException: Unexpected end of input stream
at org.apache.hadoop.io.compress.DecompressorStream.decompress(DecompressorStream.java:145)
at org.apache.hadoop.io.compress.DecompressorStream.read(DecompressorStream.java:85)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
at com.pinterest.secor.io.impl.DelimitedTextFileReaderWriterFactory$DelimitedTextFileReader.next(DelimitedTextFileReaderWriterFactory.java:84)
at com.pinterest.secor.uploader.Uploader.trim(Uploader.java:155)
at com.pinterest.secor.uploader.Uploader.trimFiles(Uploader.java:189)
at com.pinterest.secor.uploader.Uploader.checkTopicPartition(Uploader.java:218)
at com.pinterest.secor.uploader.Uploader.applyPolicy(Uploader.java:228)
at com.pinterest.secor.consumer.Consumer.checkUploadPolicy(Consumer.java:114)

I moved all secor processes to single machine and this error was gone. Not able to run secor in distributed environment.


Off-canvas - does not close on Escape key when a non-interactive element is focussed

What should happen?
In all situations when the focus is inside the Off-canvas, the Escape key should trigger close even if there is not content or only static content.
What happens instead?
If the Off-canvas has no content, or non-interactive content has been focussed via mouse/touchpad, the Escape key is ignored.
Test Case and/or Steps to Reproduce (for bugs)
Test Case:
https://get.foundation/sites/docs/off-canvas.html#off-canvas-directions
How to reproduce:

Open an empty Off-canvas instance, such as one of the documentation examples for Off-canvas Directions
Press Esc key
Click into the Off-canvas with mouse/touchpad
Attempt again to close via Esc key

Test Case:
https://get.foundation/sites/docs/off-canvas.html#multiple-panels
How to reproduce:

Click Open Right Menu button under the documentation example for Off-canvas Multiple Panels
Use the mouse/touchpad to click on the empty grey background inside the panel below the links
Press Esc key

Your Environment

Foundation version(s) used: 6.5.3
Browser(s) name and version(s): Chrome 86
Device, Operating System and version: Mac OS 10.15

Checklist

[x] I have read and follow the CONTRIBUTING.md document.
[x] There are no other issues similar to this one.
[x] The issue title and template are correctly filled.

I think this is expected when there is no element that can be focused.
https://github.com/foundation/foundation-sites/blob/develop/js/foundation.offcanvas.js#L451
Adding a close button should at least prevent this situation.

Hi, thank you for replying. As explained in the second test case, this also happens when there are elements that can be focussed but the user has clicked somewhere in the empty space.
Could you expand on why it's acceptable to penalise keyboard users based on what may or may not be in the Off-canvas?

Could you expand on why it's acceptable to penalise keyboard users based on what may or may not be in the Off-canvas?

There is an option for this: https://get.foundation/sites/docs/off-canvas.html#js-options

Name
Type
Default
Description

data-trap-focus
boolean
false
Triggers optional focus trapping when opening an OffCanvas.  Sets tabindex of [data-off-canvas-content] to -1 for accessibility  purposes.

https://codepen.io/DanielRuf/pen/VwabmrB
This is meant for keyboard users (which can not and will not click outside the offcanvas component).

Hi, thank you for replying. As explained in the second test case, this also happens when there are elements that can be focussed but the user has clicked somewhere in the empty space.

This is expected as far as I understand. We do not force trapping the focus in the element when you click somewhere else.
I think you see the issues because you mix different input methods like click / mouse and keypress / keyboard. The first one is not used by keyboard users.

Could you expand on why it's acceptable to penalise keyboard users based on what may or may not be in the Off-canvas?

Without having an element that can have focus (tabindex) we can not automatically focus the first element. I don't think we penalise them.
For mouse users the behavior is correct and for keyboard users it is also correct.

Sorry I haven't been able to explain the issue correctly.
The concern is for panels that have the content-overlay set true so they are acting similar to a modal. It makes sense to ensure that if a keyboard user triggers the Off-canvas, as soon as it opens they are able to use Esc to close the panel. Even if the panel content doesn't have focus.
We do have the trap-focus option set, but it doesn't impact the behaviour. So content-overlay is set, could it not behave like Reveal with respect to Esc key listener.
Thanks again.

Please provide a full codepen which reproduces this (with Foundation Sites 6.6.3). Thank you.

When it's in overlay mode, the Off-canvas could behave similar to Reveal/modal by adding a window event listener for Escape key.
Currently it only listens for the Escape key on interactive elements inside the Off-canvas container.
To test this out you can refer to the Off-canvas Transitions example in the docs:
https://get.foundation/sites/docs/off-canvas.html#off-canvas-transitions
When one of the Off-canvas examples with content-overlay are open:

Pressing Esc may not trigger close as it is possible to remove focus by clicking somewhere non-interactive inside the Off-canvas with mouse/touchpad and then Escape key has no effect.

But clicking anywhere outside the off-canvas element or on the overlay, triggers close.


[Move-prover] Add support for bitwise operation in the prover

Motivation
This PR adds preliminary supports for bitwise operations: &, | and ^ in the Move prover. Due to the limitation of the type inference, users need to explicitly specify which function arguments or struct fields will be used in bitwise computations. Here is an simple example:
    public fun foo_generic<T>(i: T): T {
      i
    }

    spec foo_generic {
     // The first parameter will be of bv type if T is instantiated as a number type
      pragma bv=b"0";
     // The first return value will be of bv type if T is instantiated as a number type
      pragma bv_ret=b"0";
    }

    public fun test(i: u8): u8 {
      let x1 = foo_generic(i);
      x1 ^ x1
    }

    spec test {
      // Explicit type cast is mandatory for generating correct boogie program
      ensures result == (0 as u8);
    }

The example for structs can be found in bitwise_operator.move.
Currently, values in non-constant vectors can be involved in bitwise operations. However, index of the vector cannot be involved in bitwise operations directly or indirectly. As a result, for the example below:
    fun contains(features: &vector<u8>, feature: u64): bool {
        let byte_index = feature / 8;
        let bit_mask = 1 << ((feature % 8) as u8);
        byte_index < vector::length(features) && (*vector::borrow(features, byte_index) & bit_mask) != 0
    }

Since feature is involved in both arithmetic and bitwise operation (indirectly by bit_mask) and byte_index is used as the index to access features, we cannot directly specify the property like this:
    spec fun is_ith_bit_set(x: u8, i: u8): bool {
        x & (1 << i) > 0
    }

    spec contains {
        aborts_if false;
        let byte_index = feature / 8;
        ensures result == (byte_index < len(features)) &&
          is_ith_bit_set(features[byte_index], ((feature % 8) as u8));
    }

First, the function needs to be rewritten as below:
    fun contains(features: &vector<u8>, feature: u64, feature_bv: u64): bool {
        let byte_index = feature / 8;
        let bit_mask = 1 << ((feature_bv % 8) as u8);
        byte_index < vector::length(features) && (*vector::borrow(features, byte_index) & bit_mask) != 0
    }

Then, spec fun cannot contain bitwise operations. As a result,  we need to write the whole formula in the spec and all expressions that involve the bitwise operations need to be explicitly annotated with types by using the as .. operator:
    spec contains {
        pragma bv=b"0,2";
        aborts_if false;
        ensures result == ((feature / 8) < vector::length(features) &&
(((((1 as u8) << ((feature_bv % (8 as u64)) as u64))) as u8)
           & vector::borrow(features, feature / 8) as u8) > (0 as u8));
    }

The upcoming PRs will lift these limitations and allow bitwise operations in general spec functions, tables, choose function, quantified formula and other expression syntax. Smarter type inference analysis will also be added.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
cargo test --release

Before digging deeper, one general comment below about putting this into the move model. Not saying that we change this now, but how difficult would it be to change direction a bit?

It is definitely possible to put this into the move model. I did this the current way because the backend code is easier to understand and change. We could discuss more on how to refactor it.


get the latest evaluation result from database if the newest_only is …

…true

What this PR does / why we need it:
Fix one issue on kubernetes webhook
Which issue this PR fixes (optional, in fixes #<issue number>)(, fixes #<issue_number, ...) format, will close the issue when PR is merged: fixes #:

https://github.com/anchore/anchore-engine/issues/81

Special notes:
The logic change part is to check the existing evaluation result first, then do evaluation if there're no evaluation records in the database.

@armstrongli Thanks for digging in and submitting this PR, we definitely appreciate the work and contribution, and we'll definitely work to solve the performance issue with you.
However, in this PR it looks like you're significantly changing the semantics of the 'newest_only' flag in the internal catalog API from it's original intent and in ways that have impacts to other parts of the API. The original intent was to control the number of results returned, not short-circuit the evaluation. I understand the desire to achieve that short-circuit, but implementing it there has implications on the rest of the system and the overall accuracy of the policy evaluation results.
Specifically, with the proposed change, any user call to 'anchore-cli evaluate check ' would only return the first policy evaluation ever done unless a user also has the policy_evaluation subscription active for the tag, and then only for the newest image mapped to that tag, so untagged images would never have their policy evaluations updated to reflect new CVEs, policy changes, or other external updates that impact the policy result.
There is definitely a bug in the 'newest_only' handling, and a fix for that will reduce some db traffic, but this PR is making a significant semantic change to how the engine behaves, so as-is I can't accept it, but I am happy to merge a PR for fixing the newest_only bug that does not change the semantics of the call:
Fix the invocation to pass the param -- https://github.com/anchore/anchore-engine/blob/master/anchore_engine/services/catalog/api/controllers/policy_evaluations.py#L31
Fix the lookup (add a 'limit 1' on the query itself in the db_policyeval.tsget_byfilter via a new parameter like 'limit=None' in function declaration) -- https://github.com/anchore/anchore-engine/blob/master/anchore_engine/services/catalog/api/controllers/policy_evaluations.py#L165
I definitely want to help fix your core issue: slow k8s webhook performance. Probably accomplished by introducing a proper cache with things like ttl control in the handler or as an external client, and I'm happy to follow up on this with you if you're interested in tackling it or helping. I'm going to be working on something here in the next few days to add support for Validating and Mutating webhooks from k8s as well.

@zhill
Agree with you that this PR is changing the meaning of the newest_only flag. The flag should be a flag to change the set of  queries from anchore eval list.

Probably accomplished by introducing a proper cache with things like ttl control in the handler or as an external client,

I think it's not the best option to set up a external cache for the evaluation result as the cache has no idea what is happening in the backend, and don't know when to refresh the cache. By anchore engine, the valuation result will never change if

there're no CVE changes
there're no image updates
there're no policy updates

And anchore engine itself has the full context on the image and know when to re-evaluate the image and when to refresh the result in the table.
There're subscriptions set up in anchore engine - vuln_update, analysis_update, tag_update, etc. - and it is available for anchore engine to detect which images should be re-evaluate and when to update the result.
A cache server is an extremely thin layer without any context on the backend service. and it is better to have a fast sync between cache layer and service layer.

@armstrongli fundamentally, your description of the update condition is correct (except that any feed update can cause a policy eval change, not just CVEs), but that is not currently implemented in the system and those existing subscriptions only cover the currently tagged image, which is not the same scope as the policy evaluation code, which can evaluate any image based on digest whether currently tagged or not. What you're describing is definitely what we'll get to, but only at that point is it safe for the rest of the system to change the semantics of the newest_only parameter. Before those other changes are made this change can lead to very stale evaluations that may never get updated in some cases.
The most direct solution to your issue, performance in the webhook, can be accomplished with a very simple cache that just remembers the (image digest, tag, bundle id, result) tuple for say 30 or 60 seconds and reduces hits to the policy engine. That should get you over the performance issue while we work to implement the more sophisticated update logic you described, which is certainly the better long-term solution and has been in our plans for a while.
I've also run into this with other webhook handlers (ValidatingWebhooks for anchore in other projects), so I'll prioritize the full state check work for the next release and will keep #82 updated. Once that is in place the newest_only flag shouldn't be necessary as the api call for getting a policy evaluation should work as efficiently as possible in any invocation. If you're interested in contributing this work that would be great and we can discuss where/how it should work (check for feed sync since last eval, bundle update, if any has changed, re-run the evaluation, else return the last eval).
If you want to fix the newest_only bug as I described in my initial response, or file a new PR to implement the design you and I discussed around checking image, policy, and feed sync state, I'm happy to review those as well.


[AIRFLOW-695] Retries do not execute because dagrun is in FAILED state

The scheduler checks the tasks instances without taking into account
if the executor already reported back. In this case the executor
reports back several iterations later, but the task is queued nevertheless.
Due to the fact tasks will not enter the queue when the task is considered
running, the task state will be "queued” indefinitely and in limbo
between the scheduler and the executor.

Current coverage is 66.57% (diff: 100%)

Merging #1948 into master will increase coverage by <.01%

@@             master      #1948   diff @@
==========================================
  Files           135        135
  Lines         10201      10204     +3
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           6791       6793     +2
- Misses         3410       3411     +1
  Partials          0          0

Powered by Codecov. Last update 51acc50...9f2fb30

@aoen @plypaul @mistercrunch I need your feedback on this. Should we extend base executor with has_task(key) that checks if the task isn't in either queued_tasks or running? What was the change that introduced this?

@vfoucault didn't you add 2 commits to this PR by mistake. @bolkedebruin as noted in my reply on Airflow 1.8 alpha 1 I do seem to have similar problems but not due to FAILED state...

@alexvanboxel the extra commits was due to GitHub not syncing with Apache. The extra commits are note really there actually.
It would be nice to understand what you are seeing.

I'll +1 this. But scheduling is still scary, so would get a +1 from somebody else as well.

So to clarify what I'm seeing:

Sensor starts at 0:00 UTC
Exactly one hour later it get's killed by the new duplicate process detection
I saw a refresh of the DAG's before the kill (so I'm think it restarts a task).
So I'm not sure it's related (still need more digging around)
Oh, and it happens with Celary, not Local

@alexvanboxel let me know if I can help out.


Fix broken links to formatting text document.

Links referring to "markdown support" are broken on the following page. This PR is a quick fix.
https://docs.mattermost.com/developer/webhooks-incoming.html

Awesome, thanks @Tethik!
It looks like the updated links will redirect the user to https://docs.mattermost.com/developer/help/messaging/formatting-text.rst instead, which

has an extra /developer in the URL due to the way the link was included
ends with .rst instead of .html, which causes issues building the page.

Both are completely  caused by us, so I'm really glad you noticed this!
If you changed ../help/messaging/formatting-text.md to https://docs.mattermost.com/help/messaging/formatting-text.html in the two lines you updated, the links should work properly on the docs.mattermost.com site.

Thanks once more @Tethik!
You'll appear on our Hackfest board once this is merged, and you'll be only three PRs away from winning an exclusive Mattermost shirt :)

Are you sure? I built it to double check before I submitted.
Here's what the page looks like for me. I uploaded the build/html directory to my vps.
http://tmp.blacknode.se/developer/webhooks-incoming.html

Ah, you're right, it does seem to work. Sorry for the confusion @Tethik.
Great work!!
@esethna can you help with second review?


[UI bug] Non-obvious link text in settings

Current link color not good for consistent UI. Also in some themes link text is not readable.
My suggestion is use system color of link.

Actual result

Expected result

Created PR #553


Please invite me to the GitHub Community Organization

Name
Abhay Kumar Mittal
Discord Username (if applicable)
MitAbhay
Additional Context
First time I get to know about Eddie by the project Linkfree, it's an amazing project where even beginner can contribute. I have also contributed in this project last week and the way the maintainers and Eddie help me was amazing, that what I love about this awesome community.

Welcome to EddieHub!


math/big: update to math/rand/v2

Go version
go version 1.23
Output of go env in your module/workspace:
N/A

What did you do?
I wanted to update robpike.io/ivy to math/rand/v2, but was inconvenienced by math/big/Int.Rand using the old random number generator. The type in the signature precludes using v2.
Compatibility of output aside, it should be easy to update, and also a good idea to keep the library consistent. math/rand/v2 is the right one to use.
What did you see happen?
Sadness and pain.
What did you expect to see?
Joy and clear skies.

math/rand.Rand and math/rand/v2.Rand are different types, so changing the signature of math/big.(*Int).Rand would be an incompatible change.
Is the idea here to add something like math/big.(*Int).RandV2 that takes a math/rand/v2.Rand?

You could use crypto/rand.Int instead, possibly. That would require packing up something from math/rand/v2 as a io.Reader. Chacha8 implements io.Reader, but rand.Rand doesn't? Not sure why that is.

I believe it was to discourage people from just calling rand.Read to generate poor quality passwords.

Using crypto/rand.Int with crypto/rand.Reader seems fine.

One detail I need from ivy, as well as any simulation tool, is that I can seed it, which crypto/rand will not allow.

In that case, passing a seeded math/rand/v2.NewChaCha8 to crypto/rand.Int is probably best.
ChaCha8 implements Reader because as long as the seed is unpredictable,
it is strong enough to read arbitrary amounts of bytes without any appreciable
patterns or reverse analysis.
The same is not true of PCG, so PCG does not implement Reader.

So the suggestion right now is:
bigRand, _ := crypto/rand.Int(math/rand/v2.NewChaCha8(seed), big.NewInt(maximum))


Close & re-open log files on (say) SIGUSR1 ?

Some systems (I'm using dnscrypt-proxy on FreeBSD atm) allow log file rotation using functionality such as 'newsyslog'.
Newsyslog provides the ability to send a configured signal such as SIGUSR1 to a program to tell it to close and re-open its logfile as part of the log trimming/rotating process. Failure to do this just leaves the program writing to the original file.
Could this functionality be implemented in dnscrypt-proxy? It would allow a more 'standard' log-trimming process to be implemented rather than the inbuilt log-pruning option that I have just seen in another request.
I'm pretty sure that dnsmasq already implements this feature :-)

lumberjack seems to support both built-in rotation and SIGUSR1.
So, probably something we can use.


Nf core template merge 2.13 (manual)

In this PR:

Resolve template merge conflicts
Switch some of the workflow structure to be more similar to newer nf-core/rnaseq
Switch to @adamrtalbot 's CI wizardry

PR checklist

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] If necessary, also make a PR on the nf-core/riboseq branch on the nf-core/test-datasets repository.
[ ] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

Thanks for reviews @maxulysse @adamrtalbot !


Cannot process the XML from the 'Output' stream of 'C:\WINDOWS\system32\wsl.exe': Name cannot begin with the '#' character

I am running Invoke-WslCommand -Command myscript.sh to execute a shell script and am getting the following error:
wsl : Cannot process the XML from the 'Output' stream of 'C:\WINDOWS\system32\wsl.exe': Name cannot begin with the '#' character, hexadecimal value 0x23. Line 1, position 6145.
At line:1 char:1
+ wsl pwsh -OutputFormat xml -EncodedCommand JABWAGUAcgBiAG8AcwBlAFAAcg ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : SyntaxError: (C:\WINDOWS\system32\wsl.exe:String) [], XmlException
+ FullyQualifiedErrorId : ProcessStreamReader_CliXmlError

wsl : Cannot process the XML from the 'Output' stream of 'C:\WINDOWS\system32\wsl.exe': Data at the root level is invalid. Line 1, position 256.
At line:1 char:1
+ wsl pwsh -OutputFormat xml -EncodedCommand JABWAGUAcgBiAG8AcwBlAFAAcg ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : SyntaxError: (C:\WINDOWS\system32\wsl.exe:String) [], XmlException
+ FullyQualifiedErrorId : ProcessStreamReader_CliXmlError

WSL PSVersionTable:
Name                           Value
----                           -----
PSVersion                      6.0.2
PSEdition                      Core
GitCommitId                    v6.0.2
OS                             Linux 4.4.0-17666-Microsoft #1000-Microsoft Fri May 04 15:01:00 PST 2018
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Windows PSVersionTable:
Name                           Value
----                           -----
PSVersion                      6.0.2
PSEdition                      Core
GitCommitId                    v6.0.2
OS                             Microsoft Windows 10.0.17666
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Well PowerShell was designed to be able to call native commands. I can see that the shell script is getting executed (some logs come through) but then the error occurs.

Maybe I can try to capture the output of the shell script into a file and cat that for a reproducible example. It doesn't happen when e.g. just executing -Command "echo hi".

yes PowerShell was designed to call native commands but a shell script isn't a native command in the same sense that ls, ps and grep are.

Calling a shell script is the same as calling bash and passing the script as a parameter, which is a native command, so I wouldn't expect it to behave any differently.

I'm curious... are you able to run the shell script in a normal instance of pwsh? (rather than going through PSWsl)

Yes, it works completely fine. I think something here must be wrong with the XML serialisation/deserialisation of the output that the script generates.


MissingPluginException

detectUSB() async {
    usbPlugin.stateUsbStream().listen((int data) async {
      print('The state of USB Connected: $data');
    });
  }

result
The following MissingPluginException was thrown while activating platform stream on channel usb_plugin/state_usb:
MissingPluginException(No implementation found for method listen on channel usb_plugin/state_usb)

When the exception was thrown, this was the stack:
#0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:320:7)
platform_channel.dart:320
<asynchronous suspension>
#1      EventChannel.receiveBroadcastStream.<anonymous closure> (package:flutter/src/services/platform_channel.dart:664:9)
platform_channel.dart:664
<asynchronous suspension>

 import 'dart:async';
+
    usbPlugin.stateUsbStream().listen((int data) async {
      print('The state of USB Connected: $data');
    });
  }```

  +
  ```void initState() async {
    detectUSB();
    super.initState();
  }```

Also, every audition should be closed this way
@override
  void dispose() {
    usbSubscription?.cancel();
    super.dispose();
  }

and
StreamSubscription? usbSubscription;
...
void detectUSB() async {
    usbSubscription = usbPlugin.stateUsbStream().listen((int data) async {
      print('The state of USB Connected: $data');
    });
  }

Thanks @beanomen4  @allasca . I will update it


Risk of violating the rate limit

From what I've gathered there exists a risk of violating the rate limit when using this module.
As of now RateLimitDecorator does not calculate a sliding time frame to track number of API calls within any given period of specified length. Instead we track some time periods of correct length, placed back-to-back almost arbitrarily (depending on the time of first API call).
Here is how it can bite us.
Let's say we must not make more than 5 calls within a minute. We make a call, then wait almost a minute, and make 9 more API calls consecutively. There are only 5 calls within the first minute and 5 calls within the second. RateLimitDecorator will allow such behavior while the API provider will definitely consider it to be a violation.
          |  time frame #1  |  time frame #2  |
API hits: -x---------x-x-x-x-x-x-x-x-x---------
                    |   VIOLATION!!!  |

Here is the code that demonstrates described violation. As in the picture above we have the limit of 5 calls per time frame (10 seconds for faster demo). But we make 9 calls within the last two seconds. API provider would not be happy with us :)
from ratelimit import limits
import time

period = 10
calls = 5
count = 0

@limits(calls=calls, period=period)
def demo():
    global count
    count += 1
    print(count, time.time())

demo()
time.sleep(period - 1)
for x in range(calls - 1):
    demo()
time.sleep(1)
for x in range(calls):
    demo()

To avoid this we need to track the time of each API call and adjust the decision making logic accordingly.
For my personal use I've written an alternative class altogether, but I do not plan on uploading it to PyPI and fragmenting the user base. You have done a great job of maintaining this package for a long time and I think it should remain the go-to place for rate limiter logic. Feel free to reuse my code though.

Did this functionality get merged in the release?

The most recent commit to master is older than this thread. That's definitely a no :-)

Another factor that can contribute to violating a rate limit is loosing the state of RateLimitDecorator between application restarts. During development this happens to me often, and there is currently no way to safely resume without waiting the full time limit after that last request.

test.py
from datetime import datetime
from functools import wraps
from ratelimit import limits, sleep_and_retry, RateLimitException

def log_and_pass(func):
    @wraps(func)
    def wrapper(*args, **kargs):
        try:
            return func(*args, **kargs)
        except RateLimitException as exception:
            print('{}\tmiss\t0'.format(datetime.now()))
            print('{}\twait\t{}'.format(datetime.now(), exception.period_remaining))
            raise exception
    return wrapper

@sleep_and_retry
@log_and_pass
@limits(calls=1, period=1)
@limits(calls=2, period=10)
def test():
    print('{}\tcall\t0'.format(datetime.now()))

test()
test()
test()

python test.py > log1.txt && python test.py > log2.txt

Running parallel processes illustrates this a little more clearly:
python test.py > log1.txt & python test.py > log2.txt &

If the call log was implemented as an sqlite database, the operations would be relatively simple queries and the state would not only be safe across restarts, but also be safe for parallel processes.
https://github.com/tomasbasham/ratelimit/compare/master...deckar01:31-db-log

test.py
from datetime import datetime
from functools import wraps
from ratelimit import limits, sleep_and_retry, RateLimitException

def log_and_pass(func):
    @wraps(func)
    def wrapper(*args, **kargs):
        try:
            return func(*args, **kargs)
        except RateLimitException as exception:
            print('{}\tmiss\t0'.format(datetime.now()))
            print('{}\twait\t{}'.format(datetime.now(), exception.period_remaining))
            raise exception
    return wrapper

@sleep_and_retry
@log_and_pass
@limits(calls=1, period=1, storage='test.db', name='limit_1')
@limits(calls=2, period=10, storage='test.db', name='limit_10')
def test():
    print('{}\tcall\t0'.format(datetime.now()))

test()
test()
test()

python test.py > log1.txt & python test.py > log2.txt &

I wish I had time to play at fixing this  but I know the tickets at work mean it wont happen.
Having a callback to store state in the db (or ideally in Redis) would sort this.

No worries. I went ahead and published my fork to make my proposal easier to test drive. If there is anything I can do to help resolve this issue, just let me know.
https://pypi.org/project/deckar01-ratelimit/

+1， use slidingwindow,  sqlite is not suit for multi-processing, use redis zadd and zremrangebyscore can be better

Question, wouldn't setting calls/period to the reduced fraction (in the OP example, 5 calls/10 s -> 1 call/2 s) alleviate this within a single thread/process?
I know some people are going to argue that means unnecessarily spreading out all api calls over the 10 seconds, but that's also the point of rate limits and kind of what the API host is asking you to do...

@mshafer1 APIs often specify multiple limits. They would use the reduced fraction if it mattered, but they support quick successive calls to minimize UX latency.


Documentation

Hello there!!

If you find any typo mistakes, grammatical error or you can improve the documentation much better then feel free to work on this issue.
You are free to use your own idea, just make changes and improve this repository documentation.
Remember create pull requests only after 1 October.
For getting assigned this issue just comment down below.

Happy Contribution👍

Hey @kishanrajput23 👋 👋
Can I contribute on this issue ? If yes please assigned it to me

Hii @Sambhav250703
You don't need to be assigned on this issue. Just go ahead and make contribution.

Hii @Sambhav250703 You don't need to be assigned on this issue. Just go ahead and make contribution.

Okkk 👍👍

Hey @kishanrajput23 👋 👋
Can I contribute on this issue ? If yes please assigned it to me

Hii @0xPratyush
You don't need to be assigned on this issue. Just go ahead and make contribution

Hey I want to contribute on this issue, can I contribute?


Update Feedback to increase /dev/shm

Jasmine tests were consistently crashing. Research led to increasing the size for /dev/shm fixes the issue.
See https://stackoverflow.com/questions/53902507/unknown-error-session-deleted-because-of-page-crash-from-unknown-error-cannot#comment125897307_68557764
Before
...
jasmine server started
rake aborted!
Selenium::WebDriver::Error::UnknownError: unknown error: session deleted because of page crash
from unknown error: cannot determine loading status
from tab crashed
  (Session info: headless chrome=99.0.4844.74)
#0 0x55c120c48c33 <unknown>
#1 0x55c12095f8b1 <unknown>
#2 0x55c12094952e <unknown>
#3 0x55c120948649 <unknown>
#4 0x55c120948c69 <unknown>
#5 0x55c12095c928 <unknown>
#6 0x55c12095d1c2 <unknown>
#7 0x55c12096797e <unknown>
#8 0x55c1209ce7c2 <unknown>
#9 0x55c1209bbd43 <unknown>
#10 0x55c12098b06b <unknown>
#11 0x55c12098c89e <unknown>
#12 0x55c120c745fd <unknown>
#13 0x55c120c86598 <unknown>
#14 0x55c120c862f6 <unknown>
#15 0x55c120c86b02 <unknown>
#16 0x55c120c75b1b <unknown>
#17 0x55c120c86d81 <unknown>
#18 0x55c120c6a619 <unknown>
#19 0x55c120c9d965 <unknown>
#20 0x55c120c9db03 <unknown>
#21 0x55c120cb7a41 <unknown>
#22 0x7fe6ae956ea7 <unknown>
/root/.rbenv/versions/2.7.5/bin/bundle:23:in `load'
/root/.rbenv/versions/2.7.5/bin/bundle:23:in `<main>'
Tasks: TOP => default => jasmine:ci
(See full trace by running task with --trace)
[305] ! Detected parent died, dying
[301] ! Detected parent died, dying

After
...
Waiting for server on localhost:44009...
jasmine server started
Waiting for suite to finish in browser ...
.......
7 specs, 0 failures
Randomized with seed 65348 (rake jasmine:ci[true,65348])
...

Closing - just needed to rebase Feedback itself it turns out 🤷


Standard user - profile update

Hi,
Bio update (only text, or text + avatar update) gives 401 error when tried with normal user.
Same functionality works for admin user.
Best regards
Gokhan

Just to give more details, It is SQL Server setup.
Freshly compiled and installed from today's copy.
I don't have anything on the site yet so created test users if you wish to observe.
http://www.sinesanat.com
testuser/testuser
testadmin/testadmin
as you would see BIO update on admin works fine but gives error on normal user.
I'll delete the accounts later.
BR
Gokhan

Should work with latest update


[bug]: Change in min_htlc_msat not reflected in getchannels output

Background
I wanted to adjust one of my channels that has been sending a lot of very small transactions every 20-30 seconds, exhausting the channel, putting it in an unusable state as described recently again in #7199 ...
Your environment
LND 0.15.4 on Windows 10
Steps to reproduce
Try to use the lncli command:
lncli updatechanpolicy --chan_point [funding_txid:output_index] --min_htlc_msat 10000000 --base_fee_msat 50 --fee_rate 0.000100 --time_lock_delta 40
The command reports no failed updates, base_fee and fee_rate changes…
It's not the issue with lncli... I also set up charge-lnd to set min_htlc_msat for that channel, and it doesn't work as well (through gRPC)...
I tried it with both local-initiated and remote-initiated channels…
Expected behaviour
Local policy min_htlc_msat value in getchannels output changes…
Actual behaviour
The value does not change…
UPDATE:
After I changed min_htlc_msat I couldn't send small payments through the channel, which is correct, but the getchannels command still showed min_htlc_msat 1... Routed payments, however, seemed to ignore the minimum limit...

If I understand your situation correctly:
You have a channel which was opened by the peer, the channel gets pushed in a state where local balance is high, remote balance is low and you run into the commitment fee issue that the peer would not be able to pay for onchain fees if an HTLC would be added. You are able to push micropayments to increase the remote balance, which makes the channel operational again. Now you would like to keep this state by changing minHTLCMsat to avoid the micropayments that lead to the stuck state. Because those HTLCs flow into your node, the policy that controls this is the one set by your peer, so you setting minHTLC won't affect the size of the incoming HTLCs. Currently I think the only way to prevent this would be to use the HTLC interceptor to cancel those forwardings.
Things I tested:

updatechanpolicy with minHTLCMsat: I can see the new policy with getchaninfo on the local and another node, LN explorers reflect this as well
listchannels seems to not to reflect min_htlc_msat in constraints (but this should be a different issue and needs more investigation)

If I understand your situation correctly:
Yes. Thank you for the detailed answer... That's exactly what my issue is...
So, in order to prevent routing micropayments through that channel I need to ask the counterparty to set the min_htlc limit, right?.. Or does the policy apply only to payments originated from the node that set the policy?..

Indeed, getchaninfo shows correct min_htlc value, but listchannels does not... (which also means that charge-lnd and Zeus mobile wallet use different ways of getting channel info)
So, we have two issues here:

possible bug in listchannels output
application of min/max htlc policy to routed transactions

So, in order to prevent routing micropayments through that channel I need to ask the counterparty to set the min_htlc limit, right?

Yes, that's right

application of min/max htlc policy to routed transactions

It works like designed, but what you would like to achieve represents a new feature and there's already related discussion going on around inbound fees (see https://github.com/lightning/blips/pull/18). Not sure about the current state, but minHTLCMsat could be added there.

The value in listchannels is a different minHTLCMsat, which is only set on channel opening but can't be changed afterwards (AFAIK) and it does what you'd like to have, but it's static. You can confligure this in your lnd.conf (for accepted channels).

The value in listchannels is a different minHTLCMsat, which is only set on channel opening but can't be changed afterwards (AFAIK) and it does what you'd like to have, but it's static. You can confligure this in your lnd.conf (for accepted channels).

This is very confusing and should probably be revised in the future to be less confusing...
In charge-lnd, for example, every time the script tries to adjust min_htlc_msat it says it's trying to change it from 1 to 10000000, even though it's already at 10000000, according to getchaninfo... It clearly gets the current value from listchannels for all channels in bulk, instead of each channel individually via getchaninfo... If I'm not lazy I'll re-check and report that to the author there later...

As a workaround you could also apply a minHTLCMsat on all channels, this way you would reject payments of that size entirely, including the incoming channel. The other options as mentioned would be to to ask your peer to set a value, decide a higher (static) minHTLCMsat value at channel opening time, or to use the HTLC interceptor to dynamically reject those forwardings. I close the issue, because we can't set minHTLCMsat size for our peer and this policy update actually gets reflected in getchannels output. Thank you for raising this.


feat: list projects in an organization

requires https://github.com/odpf/proton/pull/255

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

12 of 115 (10.43%)  changed or added relevant lines in 9 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.3%) to 53.781%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

internal/store/spicedb/schema_generator/relation.go
0
1
0.0%

internal/api/v1beta1/org.go
0
20
0.0%

internal/store/postgres/project_repository.go
0
40
0.0%

internal/store/postgres/organization_repository.go
0
42
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.3%

Covered Lines:
4687

Relevant Lines:
8715

💛  - Coveralls


Simplify interpreter hash usage

Codecov Report

Merging #15158 (20173de) into main (db6cd4b) will decrease coverage by 0%.
The diff coverage is 65%.

@@          Coverage Diff           @@
##            main   #15158   +/-   ##
======================================
- Coverage     65%      65%   -1%
======================================
  Files        561      560    -1
  Lines      26525    26501   -24
  Branches    3803     3804    +1
======================================
- Hits       17271    17240   -31
- Misses      8552     8557    +5
- Partials     702      704    +2

Impacted Files
Coverage Δ

src/client/interpreter/interpreterService.ts
61% <50%> (-3%)
:arrow_down:

src/client/interpreter/helpers.ts
50% <55%> (+1%)
:arrow_up:

src/client/pythonEnvironments/legacyIOC.ts
36% <81%> (+<1%)
:arrow_up:

src/client/interpreter/locators/types.ts
100% <100%> (ø)

...overy/locators/services/windowsStoreInterpreter.ts
86% <100%> (-6%)
:arrow_down:

Codecov Report

Merging #15158 (20173de) into main (db6cd4b) will decrease coverage by 0%.
The diff coverage is 65%.

@@          Coverage Diff           @@
##            main   #15158   +/-   ##
======================================
- Coverage     65%      65%   -1%
======================================
  Files        561      560    -1
  Lines      26525    26501   -24
  Branches    3803     3804    +1
======================================
- Hits       17271    17240   -31
- Misses      8552     8557    +5
- Partials     702      704    +2

Impacted Files
Coverage Δ

src/client/interpreter/interpreterService.ts
61% <50%> (-3%)
:arrow_down:

src/client/interpreter/helpers.ts
50% <55%> (+1%)
:arrow_up:

src/client/pythonEnvironments/legacyIOC.ts
36% <81%> (+<1%)
:arrow_up:

src/client/interpreter/locators/types.ts
100% <100%> (ø)

...overy/locators/services/windowsStoreInterpreter.ts
86% <100%> (-6%)
:arrow_down:

Re-requesting review because I made several changes to how we do hashing to address some issues.

Re-requesting review because I made several changes to how we do hashing to address some issues.

Failing test seems to be an unrelated npm issue.

Failing test seems to be an unrelated npm issue.


Question 145 does not exist on en-EN README.md

/master/en-EN/README.md:
###### 144. What do we need to add to the `person` object to get `["Lydia Hallie", 21]` as the output of `[...person]`?

```javascript
const person = {
  name: "Lydia Hallie",
  age: 21
}

[...person] // ["Lydia Hallie", 21]
```

- A: Nothing, object are iterable by default
- B: `*[Symbol.iterator]() { for (let x in this) yield* this[x] }`
- C: `*[Symbol.iterator]() { yield* Object.values(this) }`
- D: `*[Symbol.iterator]() { for (let x in this) yield this }`

Answer

#### Answer: C

Objects aren't iterable by default. An iterable is an iterable if the iterator protocol is present. We can add this manually by adding the iterator symbol `[Symbol.iterator]`, which has to return a generator object, for example by making it a generator function `*[Symbol.iterator]() {}`. This generator function has to yield the `Object.values` of the `person` object if we want it to return the array `["Lydia Hallie", 21]`: `yield* Object.values(this)`.

-----

###### 146. What's the output?

```javascript
let count = 0;
const nums = [0, 1, 2, 3];

nums.forEach(num => {
	if (num) count += 1
})

console.log(count)
```

- A: 1
- B: 2
- C: 3
- D: 4

Answer

#### Answer: C

The `if` condition within the `forEach` loop checks whether the value of `num` is truthy or falsy. Since the first number in the `nums` array is `0`, a falsy value, the `if` statement's code block won't be executed. `count` only gets incremented for the other 3 numbers in the `nums` array, `1`, `2` and `3`. Since `count` gets incremented by `1` 3 times, the value of `count` is `3`.

/master/README.md:
###### 145. What's the output?

```javascript
let count = 0;
const nums = [0, 1, 2, 3];

nums.forEach(num => {
	if (num) count += 1
})

console.log(count)
```

- A: 1
- B: 2
- C: 3
- D: 4

Answer

#### Answer: C

The `if` condition within the `forEach` loop checks whether the value of `num` is truthy or falsy. Since the first number in the `nums` array is `0`, a falsy value, the `if` statement's code block won't be executed. `count` only gets incremented for the other 3 numbers in the `nums` array, `1`, `2` and `3`. Since `count` gets incremented by `1` 3 times, the value of `count` is `3`.

as you see, There is no Question 145 on /master/en-EN/README.md and Question 146 on /master/en-EN/README.md is same as Question 145 on /master/README.md

This issue should be closed now


Feature request: use terminal for running command when possible.

The post install command could take some time to finish, for example when downloading a binary, it would be better to use terminal for external command instead of :!cmd

I prefer running them synchronously to clearly see if there were errors. Since you can pass a lambda expression as do option, you can customize the way they are run
function! RunWithTerminal(command)
  " Start the command in a new terminal buffer
endfunction

" Or maybe
function! RunWithTmux(command)
  " ...
endfunction

Plug 'foo/bar', { 'do': {-> RunWithTerminal('foo')} }

to clearly see if there were errors.

What does that mean? Does using terminal make trouble for user to see the errors?
The :!cmd has trouble with colored output from terminal command, which prevent the user get the errors.
I know I can use vim script for this purpose, but how could I tell the user to write vimscript like that.
I think that vim-plug could provide an option for running post install command in terminal, no need to change current behavior.

Terminal buffers are inherently asynchronous, and the commands will run after PlugUpdate is complete. The users then have to keep their eyes on the buffer to see if it finishes without an error. I agree that the current error reporting is poor, but at least vim-plug can tell you whether if the task has failed or not by looking at the exit status.
Fundamentally, I don't really see the point of making a subset of the installation process asynchronous, when you can't properly use the plugin until the asynchronous task completes. Don't want to expose incomplete installation to the users.

how could I tell the user to write vimscript like that

If you really want, your plugin can provide the implementation, and instruct users to use it.
Plug 'foo', { 'do': { -> foo#setup() } }


IdentifierFlattener does not generate unique IDs

Bug Report

Q
A

BC Break
no

Version
2.x & 3.x

Summary
When using composite identifier with CustomTypes the IdentitierFlatener does not generate correct ids.
It will use implicit to string conversion, which may result in identifier collision.
This is the same class of bug that https://github.com/doctrine/doctrine2/issues/7251
Current behavior
IdentitierFlatener generate ambiguous ids, which result in the wrong object being hydrated.
Expected behavior
The string representation of the identifier field must be the same that it's unique representation in database. Therefore IdentifierFlattener should use the convertToDatabaseValue method of the Type
https://github.com/doctrine/doctrine2/blob/master/lib/Doctrine/ORM/Utility/IdentifierFlattener.php#L89
//$flatId[$field] = $id[$field];
$fieldType = $class->fieldMappings[$field]['type'];
$reflect = new \ReflectionClass($this->unitOfWork);
$prop = $reflect->getProperty('em');
$prop->setAccessible(true);
$platform = $prop->getValue($this->unitOfWork)->getConnection()->getDatabasePlatform();
$prop->setAccessible(false);
$flatId[$field] = \Doctrine\DBAL\Types\Type::getType($fieldType)->convertToDatabaseValue($id[$field], $platform);

Another solution would be to disallow using non native types in discriminator columns, primary keys, etc. Because the ORM internal state does not safely handle the values.

Due to performance issues, this was a conscious decision, and we do indeed know about the possible collisions.
An alternative would be to use serialize() on the identifier values (if they are not associations).

So if one want to use Custom Types in identifier or discriminator column this is the responsability of the developper to make sure the type natural toString conversion is unique and unambiguous ?

Currently, yes.
As mentioned before, using serialize() would also work, but we need benchmarks, because this is at the very core of the ORM.

Thank you for the answer. I'll adapt my code to this constraint.

If you still want to try a patch, it is a welcome improvement to the
codebase for 3.x 👍
On Fri, 10 Aug 2018, 20:12 Nicolas Reynis<EMAIL_ADDRESS>wrote:

Thank you for the answer. I'll adapt my code to this constraint.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/doctrine/doctrine2/issues/7349#issuecomment-412146822,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJakKjemd3fhJ_IZMK2bkVh3i6h44wnks5uPb7_gaJpZM4V4fqP
.

I modified my code as suggested and managed to workaround the issue.
However the workaround does not solve the related issue: https://github.com/doctrine/doctrine2/issues/7251
The object can not be hydrated back without patching ObjectHydrator.
I close this issue but leave theother one opened.


can't input Tomcat name and version in Settings with IDEA community version 2018.1.3 on Win10

Dev Environment

IntelliJ IDEA 2018.1.3 (Community Edition)
Build #IC-181.4892.42, built on May 8, 2018
JRE: 1.8.0_152-release-1136-b38 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Window 10.0.15063, 64 bit.

Way of installation
the follow 2 ways have been tested both:

download Smart Tomcat 2.5 from https://plugins.jetbrains.com/plugin/9492-smart-tomcat, and install it from disk in IDEA.
install from IDEA plugin repository

Issue
Global Tomcat Configuration can't input Tomcat name and version in the Settings. The name in server list always shows "null" when a new Tomcat added. And the Settings Menu is also different from the https://plugins.jetbrains.com/plugin/9492-smart-tomcat page shows.
A NullPointerException throws after running project with the server above named "null".

Is there anything I can do to run the project successfully? Thanks.

@HowieChih could you try version 2.0 and see if it works?

the space between Program Files may cause an issue, i suspect.

I managed to reproduce the error on Mac OSX. It happens when there is space in the tomcat path.

Thanks for the help. After installing Tomcat into path without space, it works fine.

Hi guys. I'm having the same problem but my Tomcat path doesn't have any space.

@leopintos11 maybe intellij doesn't have permission to your C: directory. Try place your tomcat in Program files or your home directory

I have Tomcat 6 also in C drive and it's working fine. Anyway tryied your suggestion, not working. I think it's a plugin issue.

Please remove and try again.

From: Leandro Pintos<EMAIL_ADDRESS>Sent: Friday, October 26, 2018 10:08:34 PM
To: zengkid/SmartTomcat
Cc: Subscribed
Subject: Re: [zengkid/SmartTomcat] can't input Tomcat name and version in Settings with IDEA community version 2018.1.3 on Win10 (#12)
I have Tomcat 6 also in C drive and it's working fine. Anyway tryied your suggestion, not working. I think it's a plugin issue.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/zengkid/SmartTomcat/issues/12#issuecomment-433420305, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADOd0xp7zAYR_ndkv-Cowyta-7s1yK34ks5uoxdigaJpZM4UBIwg.

Still, the same problem exists on MacOS.(Mojave)

I don't have any space in my path.
I used brew to install the tomcat.
Any Help is appreciated.

@parthmakadiya12 please try to upgrade the latest version 3.5.0
if still get error, please try to execute below cmd in MacOS see if have any issue
'''sh
cd ${tomcat_home}
$[java_home}/bin/java -cp lib/catalina.jar org.apache.catalina.util.ServerInfo
'''

move to issue #33

Hi i have almost the similiar issue on my laptop windows 10, with intellij 2020.2.3, can anyone please help. What does it mean by space in path. Im really new on this and couldnt find anyone with same problems

@athaisyah Could you share your error log and screenshot?

The main problem I couldn't load tomcat apache in tomcat server configuration.
What I have done is uninstall in intellij and java jdk jre. and clean it.
then I begin from the first again to install java and intellij, have been doing this 2times.
My intelij version is 2020.2.3 (Community Edition), with java 8.
Anyone maybe could share other solution that I can try?
Thanks in advance!:)

@athaisyah  please try to click 'Configuration' and add tomcat server.

I have tried through tomcat server, however still couldn't load😔

In server setting. added successfully or fail?

I'm having the same issue trying to setup my Tomcat server with this plugin. I can choose the file location Settings > Tomcat Server > +

But Name and Version are not populating as the others have shown, making this unusable.
I downloaded the Core zip from Tomcat website and unzipped in this location. This is new to me as well, did I miss a step?
ASIDE: I can run mvn tomcat:run on my project and get my project to run, but I don't think it's configured appropriately. I wanted to use the full functionality of this plugin to make the server config more straight forward.
I've tried uninstalling the plugin, restarting the IDE and fiddling with folder location to no avail. Any help would be greatly appreciated.

@nickmcsimpson have you got any error?
select path should be c:\JavaDev\apache-tomcat-9.0.39\apache-tomcat-9.0.39

No error is thrown when trying to select the folder, but there is an error trying to start Tomcat if I attempt to use the no-name configuration. Doesn't matter if I select the sub folder, same behavior.

after select tomcat folder, does add tomcat successfully ? Are tomcat name and tomcat version correct?

No version or name appears and this is precisely the issue.

@nickmcsimpson
please try run below command in cmd:
cd c:\JavaDev\apache-tomcat-9.0.39\apache-tomcat-9.0.39
$[java_home}/bin/java -cp lib/catalina.jar org.apache.catalina.util.ServerInfo

@zengkid Do you have a Windows equivalent command?

@nickmcsimpson
window command, please make sure java is in your path.
cd c:\JavaDev\apache-tomcat-9.0.39\apache-tomcat-9.0.39
java -cp lib/catalina.jar org.apache.catalina.util.ServerInfo

No dice.

@nickmcsimpson please open a project and setup the project JDK first. and then add tomcat server.

Not quite sure what you're asking me to do. The project is setup in IntelliJ to use Java11. The SDK is chose in the Project Structure menu. I can use the 'Choose Runtime' plugin and also choose Java11. Can you explain what you mean by 'setup the project JDK?'

@nickmcsimpson I have try to load property file instead of executing java command to get tomcat info.
I have build a new version in GitHub, will publish the plugin soon.
could you try to download SmartTomcat-3.8.2 and install the plugin from disk?

@nickmcsimpson I have try to load property file instead of executing java command to get tomcat info.
I have build a new version in GitHub, will publish the plugin soon.
could you try to download SmartTomcat-3.8.2 and install the plugin from disk?

Thanksss!! it does working now. 👍 :)
I install the plugin using  SmartTomcat-3.8.2, as per your suggestion
thanks in advancee


refactor: Introduce LogAcceptDebug() which is LogAcceptCategory() with Debug level

Issue being fixed or feature implemented
#6399 introduced severity-based logging via b046e091c91c8b90f7f1370203d4f1d2f85c4537. We use LogAcceptCategory() in quite a few places and it's always BCLog::Level::Debug so  log level is kind of redundant for us and just makes it harder to read the code.
What was done?
~Set log level in LogAcceptCategory() to BCLog::Level::Debug by default~. Introduce LogAcceptDebug() which is LogAcceptCategory() with Debug level. Simplify corresponding Dash-specific code.
How Has This Been Tested?
Breaking Changes
n/a
Checklist:

[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have added or updated relevant unit/integration/functional/e2e tests
[ ] I have made corresponding changes to the documentation
[ ] I have assigned this pull request to a milestone (for repository code-owners and collaborators only)

NOTE: we should merge #6441 first to avoid backport conflicts (will rebase this PR later)

Marked as draft so I don't merge

Range diff looks good; gonna merge


bug fix

Closes #47

Okay, I tested this code on my bot and it logs the "Channel not found" message and does not crash the server.


Automated cherry pick of #1626: metadata permission

Cherry pick of #1626 on release/2.8.0.
#1626: metadata permission

/lgtm
/approve


provider hits "too many existing bids (20): unknown provider" with state-sync RPC node

akash v0.16.4.
Akash Provider hits too many existing bids (20): unknown provider errors when is using a state-sync RPC node, but is working fine when we've switched it back to the primary (archive RPC node):
I[2022-07-13|12:31:45.339] syncing sequence                             cmp=client/broadcaster local=511421 remote=511421
I[2022-07-13|12:31:48.706] order detected                               module=bidengine-service order=order/akash1h24fljt7p0nh82cq0za0uhsct3sfwsfu9w3c9h/6726306/1/1
I[2022-07-13|12:31:48.708] group fetched                                module=bidengine-order order=akash1h24fljt7p0nh82cq0za0uhsct3sfwsfu9w3c9h/6726306/1/1
I[2022-07-13|12:31:48.708] requesting reservation                       module=bidengine-order order=akash1h24fljt7p0nh82cq0za0uhsct3sfwsfu9w3c9h/6726306/1/1
D[2022-07-13|12:31:48.708] reservation requested                        module=provider-cluster cmp=service cmp=inventory-service order=akash1h24fljt7p0nh82cq0za0uhsct3sfwsfu9w3c9h/6726306/1/1 resources="group_id:<owner:\"akash1h24fljt7p0nh82cq0za0uhsct3sfwsfu9w3c9h\" dseq:6726306 gseq:1 > state:open group_spec:<name:\"akash\" requirements:<signed_by:<> > resources:<resources:<cpu:<units:<val:\"1000\" > > memory:<quantity:<val:\"1073741824\" > > storage:<name:\"default\" quantity:<val:\"1073741824\" > > endpoints:<> endpoints:<kind:RANDOM_PORT > > count:1 price:<denom:\"uakt\" amount:\"10000000000000000000000000\" > > > created_at:6726307 "
D[2022-07-13|12:31:48.709] reservation count                            module=provider-cluster cmp=service cmp=inventory-service cnt=-61
I[2022-07-13|12:31:48.709] Reservation fulfilled                        module=bidengine-order order=akash1h24fljt7p0nh82cq0za0uhsct3sfwsfu9w3c9h/6726306/1/1
D[2022-07-13|12:31:50.924] submitting fulfillment                       module=bidengine-order order=akash1h24fljt7p0nh82cq0za0uhsct3sfwsfu9w3c9h/6726306/1/1 price=55.000000000000000000uakt
I[2022-07-13|12:31:51.031] broadcast response                           cmp=client/broadcaster response="code: 0\ncodespace: \"\"\ndata: \"\"\nevents: []\ngas_used: \"0\"\ngas_wanted: \"0\"\nheight: \"0\"\ninfo: \"\"\nlogs: []\nraw_log: '[]'\ntimestamp: \"\"\ntx: null\ntxhash: CE5C3C45D85BC154918E3EBE8B6DFEF235B701485BFC2F3DCE6E4F04B0D35AB2\n" err=null
I[2022-07-13|12:31:51.031] bid complete                                 module=bidengine-order order=akash1h24fljt7p0nh82cq0za0uhsct3sfwsfu9w3c9h/6726306/1/1
2022/07/13 12:31:53 http: TLS handshake error from <IP_ADDRESS>:57546: EOF
I[2022-07-13|12:31:55.419] syncing sequence                             cmp=client/broadcaster local=511422 remote=511422

This transaction is failed to execute message; message index: 0: too many existing bids (20): unknown provider https://www.mintscan.io/akash/txs/CE5C3C45D85BC154918E3EBE8B6DFEF235B701485BFC2F3DCE6E4F04B0D35AB2
Haven't tried the non state-sync & non archive RPC node (i.e. the snapshot RPC node).
Seeing unknown lease for bid: invalid request in the logs, I think it could be somehow related to that the AMS1 host is running older deployments which state-sync RPC node doesn't have indexed, leading to this sort of issue.

Based on the above, it makes me think that too many existing bids (20): unknown provider message is misleading. As there is no such issue when running the akash-provider against the archive RPC node.

it is a network parameter that limits to 20 bids for one order
https://github.com/ovrclk/akash/blob/7fba1c7b05a37d7d043411a423e383e6c861d10f/x/market/handler/server.go#L42

Thanks for the context. It sounds like the provider should avoid trying to submit a transaction for a new bid in that scenario.

I've tried limiting deployment to the specific provider using placement group attributes, as well as running the state-sync RPC node, got the bid without issues.
  placement:
    akash:
      attributes:
        host: akash
        datacenter: equinix-metal-ams1

Have noticed lots of too many existing bids (20) on the other providers today.
I think it's time that we lift the OrderMaxBids from 20 to 40 or 100.
$ akash query params subspace market OrderMaxBids -o json | jq
{
  "subspace": "market",
  "key": "OrderMaxBids",
  "value": "20"
}

Related code paths:

https://github.com/ovrclk/akash/blob/v0.16.4/x/market/types/v1beta2/params.go#L13
https://github.com/ovrclk/akash/blob/v0.16.4/x/market/handler/server.go#L42-L44

I'll rename this issue to "provider should avoid submitting a transaction when it hits OrderMaxBids".

Additionally, the unknown provider message in the error too many existing bids (20): unknown provider needs to be changed.
Perhaps ErrUnknownProvider indicates an invalid chain parameter & ErrInvalidBid indicates an invalid chain parameter comments as well.
As per @tidrolpolelsef, looks to be a copy-paste error:
https://github.com/ovrclk/akash/blob/7fba1c7b05a37d7d043411a423e383e6c861d10f/x/market/types/v1beta2/errors.go#L106


Added major improvements to the User Interface of the EDS Custom Devi…

...Based on the feedback of "https://github.com/NIVeriStandAdd-Ons/SLSC-EDS-Plugin-Custom-Device/issues": Fixed "Allow Channel Values to be changed on their pages", "Need abilirty to change Custom Device Name", "Multiproperty Value Application", "Import/Export Capability", "Set Busy/Unbusy When loading EDS from Cap file" as Improving the load time of the custom device.

[x] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?
I fixed the UI experience of the EDS Custom Device (creating buttons and Runtime menus) that help you better control what the CD is supposed to do. Also I fixed several Issues of the custom device explained here:
https://github.com/NIVeriStandAdd-Ons/SLSC-EDS-Plugin-Custom-Device/issues

"Allow Channel Values to be changed on their pages": added UI for the channel pages (and incorporated several UI aspects of the main page into it.

"Need ability to change Custom Device Name": For version 2017 and up, I allow the CD to change the name (and customize as any other CD in VS). This was requested by Sales (Chris Bakker) and customer (Boing). In previous versions (2015/2016), this is not allowed and you can't change then. However, by default, the CD keep the same name and it won't cause back-compatibility problems.

-"Multiproperty Value Application": UI has multi-property support and better control of the columns used.

"Import/Export Capability": Added button to import capability files, bin files, full bin files and configuration files (from other cards). Added export of the configuration (with the capability file embedded). Also added Runtime menu support for it.

"Set Busy/Unbusy When loading EDS from Cap file": The busy/unbusy was requested because it would take a long time to load the page. I improved considerably the load time, in the way that this request is not necessary anymore. Also, made other options (like refresh) and allow the user to have a bigger timeout for access resources.
Why should this Pull Request be merged?
Because we have a lot of important changes that improve considerably the new Custom Device.
What testing has been done?
I did a lot of manual test to validate that the new UI features work as expected. After this code is approved, we will be happy to work with R&D and add "manual tests" for it, so we can reproduce the test done. Also, I tested in VS 2017 and VS 2015, to be sure it works in both versions. Also, I improve quite a lot of use-cases.

I will submit all the proposed changes above, except this one:

[ ]  The user interface glitches when I configure the module and the channel is "re-added" to the tree. This is distracting. Can you disable UI updates until the channel is completely updated?

This is related to how the SLSC Chassis behave in VS 2015/2016 and it doesn't require changes in the CD. However, in VS 2017, I could not see this behavior, so possibly this is not a problem for the latest versions of VS.

I'm only approving the changes for reverting unchanged files. Johann's review will gate this request.

@csjall , were you able to review my latest change? Or you are done and I did not see your review?

@Alexbarp I will get to it today


Fix compilation error and run-time error with VS2022-17.1 (v143) and c++std20

Hi,
please, don't take too serious this - you may have better solutions.
The first is a variation on #664 and #665 becouse of compilation error. You may want to use std::round or simmilar if needed.
The second is a fix for a run-error (crash) that invalidate the .end() after an .erase(). I don't know why, but it appear in release and debug mode. The debuger showed undefined end(), which coincide with the documentation. I used trivial index. Not very elegant but works.

For the compilation error, I think #665 is probably good if the behavior of ellipse was satisfactory already.
By explicitly converting to int, the behavior will remain the same while getting rid of the errors and also the warnings.
Unless rounding is desirable.

The code was introduced days ago. Is new. Where exactly in code the convertions from float to int are calculated may affect the quality of the ellipse and artifacts may arise. I have not checked that. I din't not run that code. It just compile.

Where exactly in code the convertions from float to int are calculated may affect the quality of the ellipse and artifacts may arise.

Yes, but the behavior would be exactly the same as Jinhao's code because all that's being done is making an implicit conversion into an explicit one, satisfying the compiler.
However, only @cnjinhao can say exactly if rounding would be desirable since he wrote it :laughing:
Hopefully he will shine a light on this.

Hi, the ellipse function is just a draft. I forgot to modify it before commit. After I check the #665 and #666(this).  I agree with @qPCR4vir 's fix, the implicit conversion is right behavior.
pixel(point(x - a, y), col);
//or
pixel({static_cast<int>(x - a), y}, col);

//for example.
//static_cast<int>(3 - 1.5) == 1
//3 - (int)1.5 == 2

Hi, the ellipse function is just a draft, I forget to check it before commit. I agree with @ventsin 's fix. The implicit conversion's problem in this issue is that int is implicitly converted to float. It causes following problem.
int x = 10;
float a = 1.5

int(x - a) = 8 //the distance from x is 2
int(x + a) = 11 // the distance from x is 1

The second issue, I think the call_safe_place is not a reentrant function, the after calling the function objects, the iterator i may be invalid.


02-load-data-with-power-query-in-power-bi-desktop.md

English:
select the LastName column.
Current Translation:
選取 [LastName] 資料行
Suggested Translation:
選取 LastName 資料行
Description:
Pls use consistent style. Global check. Or you can add [ ] for all

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Run bugfix tool and waiting for result.


Add startTop

Give a new param used to detect if the element is in view before startTop pixels.

what about offset.top ?

Ho, yes. I was trying to upgrade vue-mugen-scroll and was focused on that we can't specify offset, so I created a new parameter that isn't needed here... I'll make a new pull request on vue-mugen-scroll, nevermind this one... x)


feat: add background support on DIV and A elements.

Hi! Thanks for the contribution.
Once you are done (maybe already the case?), can you:

provide some context (what are you trying to do? Is there already a linked issue? Maybe we can make this a plugin or a recipe, should this be in core?)
document the API in the github issue (we will then see if it's a good fit, how do we make it to the readme)
remove the built file from the commit (I will build it when releasing if necessary)

I added a example for background lazyload feature.

@euskadi31 Thats very nice, can you just update the test according to my comment?

For this PR, we still need:

[ ] good documentatino
[ ] remove builds from commits

I can do that, no problem, if you want to do it that's good also. Thanks a lot for contribution


frequency_far_jump not work

Hi, I tried to use pligin frequency_far_jump, it run well, but nothing happend after
ws.send(JSON.stringify({
"type": "setfrequency", "params": { "frequency": f, "key": k }
}));
Can you help to check it?
Thanks.

@LZ2DMV Care to check this?

@Jinvis I see 2 things you can try to confirm if it's broken.

your magic key seems to be with utf8 chars, try with latin characters only and see if this helps
the plugin seems to be installed locally, are you sure it is not modified? you can try to load it remotely.

If @LZ2DMV have no time to inspect this, I will check it later.

@Jinvis Could you please share your entire console output or attach it as a text file here?

Hi,
I run openwebrxplus in docker, this is my setting and logs:

Hi @LZ2DMV
I can't find any useful log both in docker console and web console, is there any other debug flag for this issue?
Thanks.

@Jinvis I see 2 things you can try to confirm if it's broken.

your magic key seems to be with utf8 chars, try with latin characters only and see if this helps
EDIT: as it seems they just looked as UTF8 to me, but they are not.. so ignore this point.
the plugin seems to be installed locally, are you sure it is not modified? you can try to load it remotely.

If @LZ2DMV have no time to inspect this, I will check it later.

I tried to change  magic_key to xiaowei with "_", issue still exist.
the plugin file is form github, I only modified init.js.

2. the plugin file is form github, I only modified init.js.

Can you try to change this line in your init.js:
Plugins.load('frequency_far_jump');

with this line:
Plugins.load(rp_url + 'frequency_far_jump/frequency_far_jump.js');

This way the plugin will be loaded remotely, instead of your local plugin.
Just in case you have a problem with the local plugin.

Please also check if the plugin actually works, because from the error in your web console, it seems that you tried to change the frequency, before the WebSocket is fully established. I don't know how you do that, but my guess is that you can ignore this error and still be able to use the plugin without problems later.

Hi @0xAF ,
Because the network issue, I can't always access github, so I used local file replace network file, I double check all files, they loaded well, and it can run into Plugins.utils.wrap_func/ send data, but nothing happend after that, if there any way to get more detail debug info?

Your WebSocket is still in "CONNECTING" state. This is not normal. The plugin can be made to check if this is the case and wait until the WebSocket is CONNECTED, before sending the command to the server, but this will not fix your problem IMO. I will wait for @LZ2DMV to comment.

By the way, the example theme in plugin folder works well.

@Jinvis As far as i am concerned, this appears to be some kind of a network issue on your side - something is messing up with your websockets. The plugin is dead simple and there's not much to go wrong with it. Just to be sure, we tested it on the last OWRXP release last night and it is working without any problems.
If this is in your local network, is there some HIDS/HIPS on your network/computer that could block WS?
Also, i asked about your browser's web console output, not your Docker container logs.

@LZ2DMV  I agree with you, maybe something block the websocket in host pc, I will try to find the root cause, just close this issue, it is  not from plugin tool.
Thanks.

You might want to try with another browser and/or device (or may be in Private/Incognito mode). Just to be sure it is not some browser addon/extension.