MyBatis Constructor Injection should support  as well?

I currently have the problem that it seems like MyBatis constructor injection does not support the <collection> in resultMaps and I don't seem to understand why. I have already read this previous issues related:
https://github.com/mybatis/old-google-code-issues/issues/15
https://github.com/mybatis/old-google-code-issues/issues/480
There also is no example in the docs using <collection> in constructor injection:
for example I should expect it here:
http://mybatis.github.io/mybatis-3/sqlmap-xml.html#Result_Maps --> Advanced Result Maps
Reasoning behind this issue:
We want Immutable objects without no-args constructors and setters, only final fields which are set in a constructor with all info needed to set those fields. Some of the fields are a Set so I expect the constructor injection to support  as this currently works without constructor injection (but we need a private constructor for this, and the fields cannot be made final now).
Let say we have the following table structure:
OBJA_ID | OBJA_NAME | OBJB_RELATED_NAME
---------------------------------------------------------------------------
1       | NAME1     | A
1       | NAME1     | B
1       | NAME1     | C
2       | NAME2     | D
2       | NAME2     | E

We have the following object structure and hierarchy:
public class ObjA {

private String name;

private Set<ObjB> objectBs;

private ObjA() {
// MyBatis only constructor
}

public ObjA(String name, Set<ObjB> objectBs) {
this.name = name;
this.objectBs = objectBs;
}

}

public class ObjB {

private String relatedName;

private ObjB() {
// MyBatis only constuctor
}

public ObjB(String relatedName) {
this.relatedName = relatedName;
}

}

I expect ObjA with ID 1 to have a Set { 1,2,3 } and ObjA with ID 2 to have a Set { 4,5 }.
We currently map it this way, but we need that private constructor and can't make the fields final:
<resultMap id="ObjAResult" type="ObjA" >
        <result property="name" column="OBJA_NAME"/>
         <collection property="objectBs" resultMap="ObjBResult"/>
    </resultMap>

    <resultMap id="ObjBResult" type="ObjB">
         <result property="relatedName" column="OBJB_RELATED_NAME"/>
    </resultMap>

We would prefer the following objects, by using constructor injection:
public class ObjA {

private final String name;

private final Set<ObjB> objectBs;

public ObjA(String name, Set<ObjB> objectBs) {
this.name = name;
this.objectBs = objectBs;
}

}

public class ObjB {

private final String relatedName;

public ObjB(String relatedName) {
this.relatedName = relatedName;
}

}

For this we would use something like the following resultmap:
<resultMap id="ObjAResult" type="ObjA" >
        <constructor>
              <arg column="OBJA_NAME" javaType="String">
              <arg resultMap="ObjBResult" javaType="java.util.Set">
        </constructor>
    </resultMap>

    <resultMap id="ObjBResult" type="ObjB">
        <constructor>
              <arg column="OBJB_RELATED_NAME" javaType="String">
        </constructor>
    </resultMap>

However, it seems impossible to use the right javaType here (java.util.Set<ObjB>) in the constructor, and the biggest issue is that there is no <collection> behaviour here, meaning that ObjA with ID 1 will never have a Set { 1,2,3 } and ObjA with ID 2 will never have a Set { 4,5 }, because it's the <collection>behaviour that does this, and this <collection>can not be used when using constructor injection.
Referring to the 2 other related issues in the past (Google Code links), it seems that I am not the only one with this problem, but it bothers me a lot, as I think the cleaner solution here (constructor injection everywhere) should just be possible, instead of private constructors for MyBatis only and Reflection.
I hope all is clear and look forward to any response,
Daniel

Is the fix for injecting collections via constructor available now ?

I'm jumping on this issue 5 years late but I don't see the difference in how we construct objects with collections now and how we could for constructor injection in terms of memory. We currently hold an object until it's fully populated already in MetaObjects. And we do not 'release' this until the ResultSet has been fully processed. So I'm unclear on why you think this would require double memory and time @emacarron

So the whole object tree should remain in memory using that meta-structure as a node and then travese the whole tree to build the result. Probably this means double memory and double time.

Hello,
Is there any plan to support this feature in a short term?

Hello,
Is there any plan to support this feature in a short term?

If I understand correctly the issue with implementing this is as follows:

A primary use case for constructor injection is the creation of immutable objects (this is in fact my use case).
Collections are not fully populated when injected into beans, so are not immutable.
Collections cannot be easily, fully constructed before injection, because MyBatis places no requirements on the order of data in a ResultSet and MyBatis also allows Collections to be populated by queries that return multiple ResultSets.

I love MyBatis, but I think that the documentation around mapping files needs to be expanded to provide more depth.

If I understand correctly the issue with implementing this is as follows:

A primary use case for constructor injection is the creation of immutable objects (this is in fact my use case).
Collections are not fully populated when injected into beans, so are not immutable.
Collections cannot be easily, fully constructed before injection, because MyBatis places no requirements on the order of data in a ResultSet and MyBatis also allows Collections to be populated by queries that return multiple ResultSets.

I love MyBatis, but I think that the documentation around mapping files needs to be expanded to provide more depth.

Hello,
Is there any plan to support this feature in a short term?

It's been 8 years soon. Wouldn't count on it.

My UseCase is combining http://immutables.github.io/ with MyBatis.
I generate my entities using @Modifiable and @Immutable. That way the generated modifiable classes have a toImmutable method.
My workaround to getting immutables out of my Mappers while also using collections and associations is to use to following simple interceptor which converts to Modifiables to Immutables after they have been fully constructed.
`
@Intercepts({ @Signature(type = ResultSetHandler.class, method = "handleResultSets", args = { Statement.class }) })
public class ModifiableToImmutablePlugin implements Interceptor
{
private Properties properties = new Properties();
@Override
public Object intercept(Invocation invocation) throws Throwable
{
    Object returnObject = invocation.proceed();

    if (returnObject instanceof List)
    {
        List list = (List) returnObject;
        list.replaceAll(this::convertToImmutableIfModifiable);
    }
    return convertToImmutableIfModifiable(returnObject);
}

private Object convertToImmutableIfModifiable(Object returnObject)
{
    Class<? extends Object> returnObjectClass = returnObject.getClass();
    if (isModifiableClass(returnObjectClass))
    {
        Optional<Method> toImmutableMethod = getToImmutableMethod(returnObjectClass);

        if (toImmutableMethod.isPresent())
        {
            try
            {
                return toImmutableMethod.get()
                                        .invoke(returnObject);
            }
            catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e)
            {
                throw new RuntimeException(e);
            }
        }
        else
        {
            return returnObject;
        }
    }

    return returnObject;
}

private Optional<Method> getToImmutableMethod(Class<? extends Object> returnObjectClass)
{
    return Stream.of(returnObjectClass.getMethods())
                 .filter(m -> m.getName()
                               .equals("toImmutable"))
                 .findAny();
}

private boolean isModifiableClass(Class<? extends Object> returnObjectClass)
{
    return returnObjectClass.getSimpleName()
                            .startsWith("Modifiable");
}

@Override
public void setProperties(Properties properties)
{
    this.properties = properties;
}

}
`
I use only Modifiable classes in my XML-Definitions and only Immutable classes in my Interfaces and for now it seems to work.
Maybe this helps someone.

How its going, any plans to sole this issue ?

Have some other solution to pass collection as constructor parameter -> select tag

To deal with composite keys, you can specify multiple column names to pass to the nested select statement by using the syntax column="{prop1=col1,prop2=col2}".
Reference doc: https://mybatis.org/mybatis-3/sqlmap-xml.html

I have been experimenting with a solution for this (based on all above comments) in MyBatis itself, will post an MR soon, however it is reaaaly experimental and probably not really production ready, so I hid everything behind a configuration flag.
But if it is viable, will probably need some help from maintainers to polish it.

Have some other solution to pass collection as constructor parameter -> select attribute. I have already checked it and its working.
To deal with composite keys, you can specify multiple column names to pass to the nested select statement by using the syntax column="{prop1=col1,prop2=col2}".
Reference doc: https://mybatis.org/mybatis-3/sqlmap-xml.html

This will definitely work, however it requires a separate query and cannot utilise current JOIN results.


Prepare migration for Dafny 4

This PR adds a feedback mechanism is users using "Latest Stable" or "Latest Nightly" one day encounter a major version bump.
If so, it displays a dialog box like this:

The 'https://dafny.org/TODO' is still in there so I can't approve. Do we even need to provide a migration instructions link?

Yes we need to provide a migration instructions link. Consider a usual Dafny user who hasn't heard about all the things that will be different in Dafny 4. Some error messages will just make no sense to them "Hey this is a ghost function, why are you complaining Dafny? Uh oh, Dafny is broken with the last version, let me cut an issue.".


Setup should stop if user clicks to Cancel

Expected behavior
The setup wizard should be stopped if the user clicks to Cancel button in the left button corner of the screen.
Actual behavior
After clicking it, the setup wizard continues.
Steps to reproduce

Start to setup an account
Click one of IMAP or POP3
Cancel "Checking outgoing server settings" or "Checking incoming server settings"

Environment
K-9 Mail version: 5.115
Android version: all
Account type (IMAP, POP3, WebDAV/Exchange): POP3, IMAP
Screenshots
Screenflow in case of checking incoming settings:

Screenflow in case of checking outgoing settings:

I would like to work on it.


Add a ext_authz fuzzer for the http client

Commit Message: Add a ext_authz fuzzer for the http client
Additional Description: This PR creates a new fuzzer under the ext_authz directory that uses the ext_authz http client. It moves shared code between the new http fuzzer and the existing grpc fuzzer into a fuzzer utils library.
I also "smuggled in" some tiny improvements to the ext_authz code where I found some redundant copies of shared_ptr variables.
Risk Level: n/a
Testing: test-only PR
Docs Changes: none
Release Notes: none
Platform Specific Features: none
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

Half the commits in this PR are already merged into main. This is because I started working on this PR before #32859 was finished. I tried to remove them, but I don't know how nor do I know if it matters.

/retest

/retest

@yanjunxiang-google can you take a first pass? @ggreenway can provide senior maintainer coverage and owner.

Half the commits in this PR are already merged into main. This is because I started working on this PR before #32859 was finished. I tried to remove them, but I don't know how nor do I know if it matters.

It's hard to review a PR with changes already merged into main.  Maybe you can create a fresh git workspace and a fresh child branch, and just have your new changes there then send out a PR for it?  That will help us to understand what's changed.

Attempting to clean up commit history with another PR as Yanjun said.


Chevron Breadcrumbs

Fixes Issue🛠

Closes #1112
Description👨💻

I added Chevron-Breadcrumb
Type of Change📄

[ ] Bug fix (non-breaking change which fixes a bug)
[x] New feature (non-breaking change which adds functionality)
[ ] Style (non-breaking change which improves website style or formatting)
[ ] Documentation (non-breaking change which updates or adds documentation)
[ ] Responsiveness (non-breaking change which improves UI/UX on different screen sizes)

Checklist✅

[x] I am an Open Source contributor
[x] I have performed a self-review of my code
[x] My code follows the style guidelines of this project
[x] I have commented on my code, particularly in hard-to-understand areas

Screenshots/GIF📷

@Rakesh9100 Sorry for the inconvenience in naming the issue . I mistakenly named it as chevron dropdown , but its chevron breadcrumb .


javascript-and-typescript-resources

Please use the form below, leaving the prefilled data to help us. Thank you.
Page link: javascript-and-typescript-resources
Document link: javascript-typescript-resources.md
My Issue/Suggestion
Hello, at heading 4 the youtube video is not available, because it's private.

Thanks @winfried-van-loon-goudse - I removed the video, which was implemented before 2017.


Add version targets to changelog

This PR:

Makes use of daml-ctl-2.4.1
Updates the target versions in the changelog

This will require updating if we release D.F.Holding out of a release branch from main-2.8

This will require updating if we release D.F.Holding out of a release branch from main-2.8, so probably it makes sense to merge it after the patch release is done

yes, agree


Improve the UI/UX of the login page

📝 Description
To improve the UI of the login page, I would like to add the following enhancements:
A toggle feature to show/hide the password for better user experience.
A toggle option to switch between the login and signup pages directly from the login page.
Correct the alignment of elements on the login page to ensure a more polished look.
📷 Screenshot or Visual Reference (optional)

🐛 Bug Report (if applicable)

Steps to Reproduce:

Open the login page.
Add toggle for visibility and the login/signup
Improve the overall UI

**Expected behavior:**The user should be able to toggle password visibility.A clear option to switch between the login and signup pages should be present.

Actual behavior: No password visibility toggle is present.

💡 Enhancement / Feature Request (if applicable)
Adding a password visibility toggle will make it easier for users to avoid input errors. A toggle between the login and signup pages will streamline navigation, and correcting the alignment will ensure a more user-friendly interface.

@KhushiParekh
I have assigned it to you
Kindly attach screenshot on opening a pull request

@KhushiParekh open pr


Add Flatiron Apprenticeship

Insert description of PR here

✅ By submitting this PR, I have verified the following

[x] Checked to see if a similar PR has already been opened 🤔
[x] Reviewed the contributing guidelines 🔍
[x] Added my name to the bottom of the list under the Credits section in the README.md with a link to my website or GitHub profile 👥

Hey Ben,
Just made those changes, let me know if there is anything else that I might have missed!

Hey Ben,
Just made those changes, let me know if there is anything else that I might have missed!

Looks good. Sorry for the late reply @changangus

Looks good. Sorry for the late reply @changangus


Opcache

Yo FYI you should really consider install opcache  docker-php-ext-install opcache and setting up a ini file https://gist.github.com/rohankhudedev/1a9c0a3c7fb375f295f9fc11aeb116fe. You will get some serious performance improvements.

Opcache has been installed, thank you!

Integrated


Move Cannon stuff from Bedrock wiki

The specs repo wiki has a bunch of Cannon-related stuff that should be moved here.
Don't delete the pages over at the specs wiki however, but make sure they instead contain a link to their new locations. The sidebar is custom, and so they can be removed from there.

done


Add support for longintmap

Adds support for LongIntMap

@sarveswaran-m please add tests :)

@mchernyakov  Have added tests. Pls have a look

somehow we missed that there is already a PR about longint map https://github.com/trivago/fastutil-concurrent-wrapper/pull/6

somehow we missed that there is already a PR about longint map https://github.com/trivago/fastutil-concurrent-wrapper/pull/6

Noticed it a bit too late :(

somehow we missed that there is already a PR about longint map https://github.com/trivago/fastutil-concurrent-wrapper/pull/6

Noticed it a bit too late :(

ok, then you should close the old PR.
Also, do not forget to update the version if you plan to release.

@sarveswaran-m @erdoganf the version should be 0.3.0!
The minor one corresponds to quick fixes. see https://semver.org/


highlight problem

Issue Type: Bug
doesn't matter what programming language i use the highlitter is broken.For example when i use c# and write a word it instantly turn green and can't be change
VS Code version: Code 1.44.2 (ff915844119ce9485abfe8aa9076ec76b5300ddd, 2020-04-16T16:36:23.138Z)
OS version: Windows_NT x64 6.1.7601

System Info

Item
Value

CPUs
Intel(R) Atom(TM) CPU D2500   @ 1.86GHz (2 x 1866)

GPU Status
2d_canvas: unavailable_softwareflash_3d: disabled_softwareflash_stage3d: disabled_softwareflash_stage3d_baseline: disabled_softwaregpu_compositing: disabled_softwaremultiple_raster_threads: disabled_offoop_rasterization: disabled_offprotected_video_decode: disabled_offrasterization: disabled_softwareskia_renderer: disabled_off_okvideo_decode: disabled_softwareviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: unavailable_softwarewebgl2: unavailable_software

Load (avg)
undefined

Memory (System)
1.98GB (0.19GB free)

Process Argv
C:\Users\clone\Documents\Unsatisfied Start -g C:\Users\clone\Documents\Unsatisfied Start\Assets\CharacterController2D.cs:1

Screen Reader
no

VM
0%

Extensions (3)

Extension
Author (truncated)
Version

csharp
ms-
1.21.17

unity-tools
Tob
1.2.3

unity-debug
Uni
2.7.5

Are you using Quick Heal antivirus? If so, see #94858

Sorry for the late response.Also i don't think that i have Quick Heal antivirus and this what the output gave out Starting OmniSharp server at 4/22/2020, 12:26:30 PM
Target: c:\Users\clone\Documents\Unsatisfied Start\Unsatisfied Start.sln
OmniSharp server started.
Path: C:\Users\clone.vscode\extensions\ms-dotnettools.csharp-1.21.17.omnisharp\1.35.0\OmniSharp.exe
PID: 4416
    Starting OmniSharp on Windows 6.1.7601.65536 (x64)

    DotNetPath set to dotnet

    Located 1 MSBuild instance(s)
        1: StandAlone 16.4 - "C:\Users\clone\.vscode\extensions\ms-dotnettools.csharp-1.21.17\.omnisharp\1.35.0\.msbuild\Current\Bin"

    MSBUILD_EXE_PATH environment variable set to 'C:\Users\clone\.vscode\extensions\ms-dotnettools.csharp-1.21.17\.omnisharp\1.35.0\.msbuild\Current\Bin\MSBuild.exe'

    Registered MSBuild instance: StandAlone 16.4 - "C:\Users\clone\.vscode\extensions\ms-dotnettools.csharp-1.21.17\.omnisharp\1.35.0\.msbuild\Current\Bin"
        CscToolExe = csc.exe
        CscToolPath = C:\Users\clone\.vscode\extensions\ms-dotnettools.csharp-1.21.17\.omnisharp\1.35.0\.msbuild\Current\Bin\Roslyn
        MSBuildExtensionsPath = C:\Users\clone\.vscode\extensions\ms-dotnettools.csharp-1.21.17\.omnisharp\1.35.0\.msbuild
        MSBuildToolsPath = C:\Users\clone\.vscode\extensions\ms-dotnettools.csharp-1.21.17\.omnisharp\1.35.0\.msbuild\Current\Bin

    Detecting Cake files in 'c:\Users\clone\Documents\Unsatisfied Start'.

    Could not find any Cake files

    Detecting projects in 'c:\Users\clone\Documents\Unsatisfied Start\Unsatisfied Start.sln'.

    Queue project update for 'c:\Users\clone\Documents\Unsatisfied Start\Assembly-CSharp.csproj'

    Detecting CSX files in 'c:\Users\clone\Documents\Unsatisfied Start'.

    Loading project: c:\Users\clone\Documents\Unsatisfied Start\Assembly-CSharp.csproj

    Could not find any CSX files

    Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpFormattingWorkspaceOptionsProvider, Order: 0

    Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.RenameWorkspaceOptionsProvider, Order: 100

    Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.ImplementTypeWorkspaceOptionsProvider, Order: 110

    Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.BlockStructureWorkspaceOptionsProvider, Order: 140

    Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.EditorConfigWorkspaceOptionsProvider, Order: 200

    Configuration finished.

    Omnisharp server running using Stdio at location 'c:\Users\clone\Documents\Unsatisfied Start' on host 3564.

    The reference assemblies for .NETFramework,Version=v4.7.1 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks

    Failed to load project file 'c:\Users\clone\Documents\Unsatisfied Start\Assembly-CSharp.csproj'.

c:\Users\clone\Documents\Unsatisfied Start\Assembly-CSharp.csproj
C:\Users\clone.vscode\extensions\ms-dotnettools.csharp-1.21.17.omnisharp\1.35.0.msbuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(1177,5): Error: The reference assemblies for .NETFramework,Version=v4.7.1 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks
    Attempted to update project that is not loaded: c:\Users\clone\Documents\Unsatisfied Start\Assembly-CSharp.csproj

is the quick heal antivirus necessary?

Also I unable to disable my C# extensions because the notifications :  Cannot disable extension 'C#'. Extension 'Debugger for Unity' depends on this.

when i disable all the extensions and reload them they disappeared so i have to find each of them and enable them all.Then it gave me a notification :Some projects have trouble loading. Please review the output for more details. Source: C# extensions

/causedByExtension
This is caused by the C# extension. Please file a new issue for it: https://github.com/OmniSharp/omnisharp-vscode/issues


Expose rasterization option and query

Add MSL compiler option disable_rasterization
Add is_rasterization_disabled query
Update SPIRV-Cross

Thanks for the review!
bors r=kvark


Accept tab or any whitespace in resolv.conf nameserver statements.

Credit to @dwradcliffe for encountering this issue.

Hey Mike, I've had 3 or 4 people run into and report this problem (and probably more who encountered it and didn't ask). Papertrail's users are a pretty typical set of ops engineers - if anything, probably skewed towards newer distros and more automated configs than the general population of engineers - so that makes me think tabs in resolv.conf is pretty common. Would you mind doing a release of em-resolv-replace with this change? Thanks either way,
Troy

Done, thanks for your patience and the reminder.


Allow for space-separated LDFLAGS

Prevented errors caused by a space between -L and the path by not creating a directory if the arg is -L
The base case of the switch statement will be called with either -L/path/ or /path/.
mkdir will then be called with that argument after the -L has been removed.
Fixes https://github.com/sstephenson/ruby-build/issues/829
P.s. this is my first pull request to an open source repo :-)

Congrats on your first pull request! I've left an inline comment about my concerns about argument flag matching. I had an idea how to handle this better, and I've pushed that and an automated test for it.
Sorry that your PR didn't make it in this time, but I promise to assist you more with your next one. :wink:


Add required 'labels' property to FakeProvider

Without this, following CONTRIBUTING.md for setup
without a kubernetes cluster fails with the following
error message:
  File "/Users/yuvipanda/code/binderhub/binderhub/templates/index.html", line 42, in block 'form'
    <label for="repository">{{(repo_providers.values() | list | first).labels.text}}</label>
  File "/Users/yuvipanda/.local/share/virtualenvs/binderhub/lib/python3.9/site-packages/jinja2/environment.py", line 474, in getattr
    return getattr(obj, attribute)
jinja2.exceptions.UndefinedError: 'traitlets.traitlets.MetaHasTraits object' has no attribute 'labels'

So a template is assuming there are labels it can list and we add them to the FakeProvider class, LGTM.


Setting sortByKey to false still reorders section

Although strictly speaking "sections" are not "keys", I'd expect that setting sortByKey to false leaves the formatting of my whole gradle/libs.versions.toml alone, including the order of the [versions], [plugins], [libraries] and [bundles] sections, and any custom blank lines added for formatting in between.
What happens instead is that blank lines seem to be stripped, and sections being reordered.

Yes, the tables are always rewritten in this order and white space like blank lines are not recorded during parsing. Would this prevent you from using the plugin or could you just accept the format like for example a code formatter like ktlint does? The benefit in my opinion that this prevents bike shedding conversations around the catalog toml file format, like other code formatting tools do (so in I'd consider this a feature myself 😁)

Would this prevent you from using the plugin

No, it wouldn't, I just took it into use 😁

this prevents bike shedding conversations around the catalog toml file format

Well, I'd argue an even better way to avoid bike shedding here is not not touch the formatting at all 😉
Anyway, if it's just to inconvenient to avoid sorting the section, feel free to close. Personally, I'm anyway committing each version update separately to be able to link the library's changelog in the commit message, so I can as well omit diff hunks that just touch the formatting.


Implement control gates in Qiskit

In addition to Implement control gates in Qiskit, I refreshed converter and created test.
There are three remaining task, which will be implemented in future pull requests.

An appropriate error should be happen when converter gets unknown gates.
Since I used qiskit.operator to change/add tests for checking gates, all the test files for gates contain qiskit. Adopting to your convension to divide directories for devide qiskit and un-qiskit, I should have created new test files for the part using qiskit.
There remains many gates to be implemented.(See all_gates_in_qiskit.xlsx in Slack.)

@mitz1012

It seems that the new tests do not run on Github actions...

@mitz1012
What about updating test files testing the converter?
It looks a bit wired that you enhance the test files testing the state vector simulator, despite that the main contribution in this PR is to update the converter quantestpy/converter/sdk/qiskit.py...

@mitz1012
Please check my previous comment https://github.com/QuantestPy/quantestpy/pull/203#issuecomment-1415082231

https://github.com/QuantestPy/quantestpy/pull/203#issuecomment-1415082231 is resolved. Check it again please. Thanks in advance!


Add release tag - after merge cyclic class

update license (2021)
update version nr .h, .cpp json, prop
check if readme is still up to date.

fix #6 first

fix #6 first

1.3.2 released

1.3.2 released


[ORM] Hierarchy extension error

Code bellow will return SQL error when Children() will be required cuz method will try to get ParentID field of ModalObject table.
class ModalObject extends DataObject {
   private static $db = [....];
}

class ServiceType extends ModalObject {
  private static $db = [....];
  private static $extensions = [
     'Hierarchy',
  ];
}

@a2nt which version?

OK - seen it in 3.4.x-dev
The problem is Hierarchy is specifically querying against the base table (not sure why). - https://github.com/silverstripe/silverstripe-framework/blob/3.4/model/Hierarchy.php#L656
The error goes away when you just use the class of the current owner. more thorough testing is needed, though.

Looks like where still querying the base class instead of querying the owner class. So this is probably still a problem in SS4.
https://github.com/silverstripe/silverstripe-framework/blob/4b5d2c3cc292a690b5de9c5dec6ac9afe52abe69/src/ORM/Hierarchy/Hierarchy.php#L422-L432

Attempted a fix — https://github.com/silverstripe/silverstripe-framework/pull/10077. Need to wait until the tests are running/passing again.

Resolved by #10077 and #10107.


Adds m1 changes

A few notes for this commit:

These build scripts are being posted for historical and knowledge value, so that people looking to build lavadsp natives for mac M1 devices can use this commit for the toolchain.gradle and do so, but these changes are not fully compatible with the entire lavaplayer/lavadsp ecosystem at the moment, nor is this an all in one build script solution for every possible architecture that lavadsp could support.

The change from Ubuntu 20 to Ubuntu 18 on the build workflow is to use glibc 2.27 instead of 2.29 for compatibility with OSes still in use that come with glibc 2.28 or lesser, like Ubuntu 18 or Raspbian OS 64-bit

The native-loader dep change to a fork on @Stonedestroyer 's repo is to handle a folder split from darwin to darwin-x86-64 and darwin-aarch64 which is not currently supported on Lavalink, lavaplayer, nor lavadsp

The TimecaleNativeLibLoader.java change is to make sure M1 devices don't try to load the intel AVX2 extension as aarch64 doesn't use that instruction set


WIP Introduce functional approach

This pull request introduces breaking changes, since it essentially re-writes the form-fields communication interface and validation logic - two pillars of the form solution.

Overview
What
This pull request introduces changes that refine the existing architecture to use a more functional approach. By the latter I mean a preference for small pure functions, which can be easily swapped or reused.
Why

Simplifies the architecture.
Makes the architecture more extendable, potentially allowing such features as Formelss fields
Makes individual pieces of functionality easier to test and type annotate
Potentially increases the performance of the library

How
First, by using custom written utility functions. Later, probably, by using something like Ramda.
Roadmap
Architecture

[x] Add a few functions defining relation between given functions (parallel, seq)
[x] Add a collection of pure functions responsible for field record operations
[x] Use Immutable.Record to handle field record instead of manual composition in createField
[ ] Consider high function composites from the recordUtils to complexly handle field interactions (i.e. handleFieldChange), to be used by the formless fields
[ ] Refine existing field handlers on Form level (simplify)

Validation

[x] Add a unified interface for creating a validation result
[x] Add a unified interface for creating a validator (resolver) arguments
[x] Add a unified interface to get the rules relative to the field from the given schema
[x] Add a unified interface to create a rejected rule entity
[x] Add pure independent interface for field validation
[x] Get rid of ValidationType class
[x] Add a function to determine the necessity of the validation of a certain type (replacement for ValidationType.shouldValidate()

Misc

[ ] Refine validation messages logic to use pure functions
[x] Reactive props: Adjust getRxProps according to the updated field Record

29.04

[x] Propagate rejected rules for rejected applyFormRules to the top-level validation result
[x] Consider making the logic around shouldValidate smarted:

[x] Make types argument optional for validateByType function. When it's not provided, call getNecessaryValidationTypes on the given fieldProps, and build a validators sequence based on the received validation types array.
[x] Adjust Form logic not to pass any types when using Form.validateField() by default, so that the changes above get place (automatic determining of the necessary validation types)

05.05

[ ] Add unit tests for existing utility functions.

[x] camelize
[x] createSeq
[x] debounce
[x] dispatch
[x] enforceArray
[x] getComponentName
[x] flushFieldRefs
[x] flattenDeep
[x] isset
[x] recordUtils
[x] makeCancellable
[ ] warning

[ ] recordUtils.createField figure out how initialValue is set. Whether on usage level, or class level.
[ ] Integration tests

[ ] Fix async validation tests
[ ] Fix reactive props tests

07.05

[ ] Provide better validation types propagation to reflectValidationResult. I do not like how validate returns both validation result and types being applied.

08.05

[ ] Reactive props require to re-validate the field with the force parameter. Need to add force logic support to validation algorithm.
[ ] Still unclear how to properly handle async functions in seq and mapToSingleResult. Regardless of async/await it returns Promise instances at some point.

Relates to #216

Update
I am currently working on validation types. Trying to unify them, make their declaration more clear.
Changelog

Created a dedicated validationTypes file to contain the collection of the available validation types.
Each validation type has the following properties:

shouldValidate(fieldRecord, schema) function determines whether the current validation type is needed for the given field/schema.
validator(resolverArgs) executes the validation itself, returns TValidationResult.

Currently still experiencing that unnecessary validation issue. May be related to wrong handling of expected: true returned by the validate function when no validation is needed (which is correct, no validation needed - the field is still expected, but its validity must not change).

Roadmap

[ ] Add unit tests for existing utility functions.
[ ] Add unit tests for recordUtils.
[ ] recordUtils.createField figure out how initialValue is set. Whether on usage level, or class level.
[ ] Integration tests

[ ] Fix async validation tests
[ ] Fix Reactive props tests

[ ] Create composite validate and reflectValidation method
[ ] Bundle Ramda properly
[ ] Check integration tests for sync validation
[ ] Add explicit validation types as a parameter to validate function
[ ] Check what is returned from the validator function when no validation is needed

Update 26.05
Currently working on adjusting RxProps feature to work properly with the re-written validation. Two tests fail, the reason is related to the force: true parameter on reactive prop observable. That means that even empty optional fields are forced to be validated, when in fact they should not.

Update 27.05
There is an important update on how "force" behaves now as opposed to the previous implementation.
Previously, "force" controlled the necessity to call the validator function. That means that the call to validateSync would be unquestionable, but within the validator it could still return "null" as unnecessary validation. Now "force" is a part of "shouldValidate", which determines the necessity of the validation. So empty optional field with "rule" prop and "force" validation VALIDATES to unexpected.

In the end, it looks like making reduceResults asynchronous is the optimal option.
I do not value the split for sync and async validations as their core is very same.

Update (2.06)
I've decided to rollback fieldRecord term in favor of the future major release.
Introducing new terminology not only creates a misalignment in the code, but requires a certain migration process when using the new version. That essentially means a major release. I find the current state of the library to be fine without new terminology, and consider a few functionalities to be implemented prior to the next major release.

Update (8.06)
Fixed the "debounceTime" integration test by always debouncing the validation unless clearing the field (handleFieldChange).

I'm investigating the issue with non-persistent (reset) validity state when blurring from the validated field.
Reason
That happens because of this line in handleFieldBlur: https://github.com/kettanaito/react-advanced-form/blob/functional-approach/src/utils/composites/handleFieldBlur.js#L6
Solution

Investigate how this wasn't reseting the validity state before.
Conduct proper measures to prevent from validity reset.

Finally brought asynchronous nature down to each step of the validation chain! 🎉

Update
The issue with validateAsync being the last entry in the validators chain producing falsy positive validation result is as follows:

Taking Single target RxProps scenario, the validation of createPropsSubscription is forced. This means that a necessity check for validators will be omitted and both sync and asyn validators are going to be listed in the validators chain.
Calling validateSync will indeed return null as "no validation necessary".
Calling forced validateAsync, however, stops at if (!asyncRule || !value) {} since there is no asyncRule associated with the reactive field. That condition resolves into createValidationResult(true). So that unnecessary async validation doesn't return "unexpeced" as its result.

The solution here would be to enhance the validator results merging algorithm in reduceWhile to handle three scenarios:

P - P. Next positive expected is glued with the previous positive expected.
E - ?. Once encountered unexpected, no further functions are called.
P - E. Once next is unexpected, glue it to the accumulated value, making the whole validation result unexpected.
P - U. Once next is unnecessary, omit it and use the previous expected value (whether expected or unexpected, doesn't matter).

Status update

Async validation cannot fire because fieldProps.validSync will be "false" for field which do not need any sync validation.

I would like to make a validation chain to pass the next state of fieldProps as their main purpose, returning that Record as-is in case no validation is needed. This doesn't solve the aforementioned problem, but is reasonable to do so that different validator functions know the result of the preceding validation function.

Update
Investigating on the combined validation scenario, and the issue that async validation is triggering after sync invalid field, which results into distorted validation result.
To understand the issue, it's important to understand the chain of actions affecting the validation:

Field value change. Upon the change, sync validation is triggering and resulting into proper validation result.
Field blur. This is the part that breaks the validation combination. The thing is, when the field has been already validated sync upon value change, validation call that triggers onBlur computes shouldValidateSync to false, that returns explicit null from validateSync. Explicit null is not treated as falsy value during the validation chain, so it bubbles to async validation.
Async validation. There is nothing really wrong with it, so far.

The reason for combined validation not working is unnecessary sync validation triggered by onBlur.

Okay, I am experiencing a weird issue with Cypress typing into inputs again. Sometimes it types everything except the first letter. That, obviously, fails the test, which expects the value match. At the moment this randomly fails "Combined validations" scenario.
When that scenario is run alone, it passes always. That makes me thinking that it may be an issue with accumulation of scenario calls. Maybe some load or something. Possible on both form and Cypress levels. I usually play with timeouts to eliminate overload issues, so that may be a good place to start.

Update on AJAX pre-filling scenario
I have analyzed the issue and conclude that the reason was due to concurrent state updates. There are two fields which get the same controlled value upon some async operation. Each value change fires:
fieldChange (e) -> listener -> form.handleFieldChange -> onUpdateValue (uFW) -> validateField/debouncedValidate -> uFW

Concurrency comes in onUpdateValue and its updateFieldWith. Each field bubbles with form state update when the value of other fields in the this.state.fields at the update point of time is empty. This results than once the update for second field comes in, it bears an empty value of the first field, and reset its value upon fields update. Of course, validating an empty field renders it invalid, which was the unexpected behavior of that test case.
That was caused due to the following dispatch of appropriateValidate:
appropriateValidate({
  chain: [validateSync],
  fieldProps: updatedFieldProps,
  form
})

The issue with this, is that in case of debounced validation appropriateValidate references to fieldProps.debouncedValidate, which calls form.validateField under the hood. The latter method has an implicit logic built in where unless you specify forceProps: true, it would try to grab the actual field record from the fields state at the call time by fieldProps.fieldPath. After that it would pass a field record with an empty (reset due to concurrency uFW) value to validation function.
At the moment, I haven't touched this concurrency issue, but have changed the logic of shouldDebounce.  Only debounced validation referenced to form.validateField(), which bears the concurrency. Now pre-filling will fall into logic of plain validateField function, without debouncing, thus eliminating this issue.
I do understand that concurrent state updates must be dealt with, but haven't come up with a stable solution for that.

I will try to fix unstable typing issue in Cypress by doing the following:

Set global typing delay to some reasonable amount (~30ms)
Set cy.wait() before the problematic tests to ensure everything is bootstrapped and works properly.

Update
validateField from field change (debounced) was dispatched without fields and caused an exception during the validation execution. fields reference is omitted explicitly during debounced validate calls due to debounced nature of the validation. Supplying fields there would mean that their reference may be out of date. Therefore, the following change has been implemented on the createRuleResolverArgs level:
const fields = args.fields || args.form.state.fields

I will see how that would affect the tests, since it, essentially, is the same as specifying the fields directly in the appropriateValidate() call.


Virtual IPs and Service Proxies page images replacement

Virtual IPs and Service Proxies page images replacement
link: #38165

/lgtm

@divya-mohan0209

You can refer to this PR as an example of how to include it.

Thanks for the sample.
i have not used mermaid instead used https://www.diagrams.net/
you can directly upload *.svg from github and can edit it.

@tamilselvan1102: We usually use mermaid diagrams on the Kubernetes docs as a standard. Please can you use it and redraw the diagram since this has also been requested on the issue.? Here's a guide on how to use Mermaid. Do let us know if any concerns.

Personally I wouldn't insist on Mermaid, but I would prefer source that is editable with open source tools (Diagrams.net can embed an editable version, for example).

@sftim While deferring to your good judgment, I'm also of the opinion that the more we encourage different sources when it comes to drawing diagrams, the more we will have non-standardization & discrepancies while reviewing. For example, the way links can be included in the config for mermaid diagrams but not for the ones from diagram.net. That's a topic for a broader discussion, probably.

I updated https://github.com/kubernetes/website/issues/38165 to make it clear that for me, Mermaid is a preference.

@tamilselvan1102, please rebase

@reylejano
i am not familiar with Mermaid, i will try it as well.


Missed slash in section 3-chroot/013a-zlib-ng

Stage 3-chroot/013a-zlib-ng: seems mises "/" symbol

Section 3-chroot/013a-zlib-ng
Move pkconfig to correct location:
mv lib/pkgconfig/ /usr/lib/pkgconfig/*
Actual: mv lib/..... But we still INSIDE zlib-ng folder, so need set start from root  and seems missed slash - /
Expected: *  mv /lib/pkgconfig/ /usr/lib/pkgconfig/*  *
And smth wrong with pkgconfig...Before stage 3-chroot/013a-zlib-ng it was as file, but should be as directory with .pc files inside. I'll recheck where it fall and report later.
BTW, Derek - why there so huge amount of bugs occur? They ALL are critical because it is cross-process, each wrong symbol  can broke whole system. Did You tested this manual? I going step by step and will report more. Idea is super good - I'd like to complete with live Cinnamon Desktop + Firefox + Thunderbirg and LUKS for whole disk. Alot of work need to do ) Will report more

...Move pkconfig to correct location:
** mv lib/pkgconfig/* /usr/lib/pkgconfig/ **

This can be fixed by running the configure script like this:
./configure  --prefix=/usr \
             --libdir=/usr/lib \
             --zlib-compat \
             --sharedlibdir=/usr/lib

This should put the pkgconfig files in the correct directory

BTW, Derek - why there so huge amount of bugs occur? They ALL are critical because it is cross-process, each wrong symbol can broke whole system. Did You tested this manual?

Correction: Derrick, not Derek ... You can also just use @dslm4515 instead
I did not document every command during my last build of CMLFS because I was in a hurry to see what issues would zlib-ng would cause [when building more packages outside of CMLFS]. I know for sure, Perl does not support zlib-ng. Workaround is to compile perl with its bundled source copy of zlib.
Additionally, I need to go through another build of CMLFS as I will changing a few things:

Drop use of obsolete bin user and group
Unify /bin, /sbin, and /lib with counterparts in /usr via symbolic links
Replacing ncurses with netbsd-curses. So far htop does not build with it

This is a hobby, not a job. The "manual' for building LFS is managed by 6 people. I am one person updating 4 other repositories like this one. So there will be typos. Some repos may not have the updates from the other repo(s) yet. I work full time and work on these repos during my breaks at work.
CMLFS was very difficult  to get started and took many many attempts to the point I stopped documenting to save on time.

I'd like to complete with live Cinnamon Desktop + Firefox + Thunderbirg and LUKS for whole disk

As a heads up. I do not use Cinnamon Desktop, Thunderbird and LUKS... therefore, I have no experience in building those or troubleshooting those.
I haven't built Firefox from source for quite some time for two reasons:

Rust keeps failing to build on musl. Errors fall into two categories: Syntax errors (even when compiling rust with the same rust version pre-compiled from Alpine Linux) and cryptic build errors that have little or no documentation.
I cannot find reliable patches to remove dependencies on Xorg. Firefox source still expects GTK3+ to be built with Xorg support. Yes, technically, Firefox (pre-compiled from Alpine Linux) can run in wayland, but still checks for unused dependencies on Xorg libraries. I am trying to avoid building Xorg because of the high number of packages built AND its old, carrying a lot of deprecated code I will never use

Thank You for clarification, I am totally agree. I tried to compile Rust 1.57 under some "stage3 ready  clang without GCC at all" image, seems it working, but some problems with Spidermonkey was occur. Anyway, Firefox not a point, I can use Palemoon also (just better choice IMO): GTK 2.24 or GTK 3.22+ (Not GTK 4) ; GLib 2.22 or higher ; Pango 1.14 or higher ; libstdc++ 4.6.1 or higher ( more info - https://developer.palemoon.org/build/linux/ )

I can use Palemoon also (just better choice IMO)

I have built Palemoon years ago on i686 when I couldn't build rust or use rust from Alpine (mismatched LLVM version, missing symbols)... I forgot why I don't use it... unless it's because Palemoon requires GTK+2 which requires X11 libraries.

closing ... typo has been fixed.


tubectl with completion?

One can use kubectl completion bash to have kubectl do auto completion. Can this be done with tubectl as well? I tried to do source <(tubectl completion bash) but it doesn't work. Maybe this can be supported?
Thanks,

Hi, I think you can just source original completion and then define compdef like as following:
source <(tubectl completion bash)
compdef tubectl=kubectl

Although, I'd recommend using workflow with aliases instead of tab-tab-completion, for example:
alias kp='tubectl get pods'

and then just go like that for listing pods in dev cluster in kube-system namespace
kp @dev +sys

Hi,
I tried your suggestion but it's not working. I know the alias option but that's not what I'm looking for.
The reason is with kubectl completion I can do kubectl get pod [TAB] and it'll show all the pods and I can tab to the one I want and continue without having to use the mouse to select the pod name and paste.
I really like tubectl that's why I'm asking for this feature. It does slow down productivity quite a bit when having to use the mouse.
Thanks,

Unfortunately, there is no improved completion right now.
But I know that feeling when you need to use your mouse to enter a name of pod, you can try to use tmux-autocomplete, it helps me in such cases: https://tmux.reconquest.io/ (I'm co-maintainer of it, licenses are free)
You're right, completion should be provided out of the box.


I need help to install

Hi, I'm trying to download sub7 but Idk what to do

I will compile the server and release it asap.
Regards

Service source code has been released, you can now compile everything yourself then create your own setup for installation ;)


ARROW-9051: [GLib] Refer Array related objects from Array

It's for preventing from freeing needed data.

Sorry. This will be big to for review.

It's interesting. I didn't think about the idea.
But we can't use this approach because we also need to refer not only GLib's buffers but also Ruby's buffers.
Arrow::Buffer.new("...") uses a Ruby's string for buffer data. It means that the Ruby's string needs to live while the GLib's buffer lives. A Ruby's buffer refers the Ruby's string for the buffer data. To prevent Ruby's buffers from Ruby's GC, we need to refer related GLib objects from living GLib objects. Ruby's GC can refer corresponding Ruby's objects with the situation.
If we refer GLib's buffers only from C++'s buffers, Ruby's GC can't refer Ruby's buffers for these GLib's buffers. It means that Ruby's strings  for buffer data may be freed while GLib's buffers live.

+1


How to get the keyboard height

I was able to add and move notification related to keyboard show/hide cycle. But when I tried to override keyboardWillShowWithFrame, it shows an error overriding non-open instance method of its defining module.
So I tried to change the source code keyboardWillShowWithFrame from public to open to be able to override it. But yet it still complains the same error. Can you let me know the proper way to use this extension?

@rx2130 I think extension should also be marked open?

The bug itself mentioned in #205

The bug itself mentioned in #205


Preview stream freezes when switching aspect ratio via quick settings

Setting the aspect ratio via the quick settings (drop-down arrow at the top of the screen) causes the preview stream to freeze.
This is 100% reproducible on the Pixel 7 Pro.
This seems to have been caused by PR#64. Reverting that change causes the issue to go away.

Looking into the issue.

The root cause is surfaceProvider is not set when updating usecases.
The issue will be fixed in: https://github.com/google/jetpack-camera-app/pull/68


evcc fails to start with charger template "hardybarth-salia" if grid_current_limit is set to non-integer value

Describe the bug
If the grid_current_limit value of a charger using template "hardybarth-salia" (in my case I have the "eCHARGE cPµ2 - PRO Wallbox" connected) is set to a non-integer value, e. g. "9.2", evcc fails to start with the error message:
"cannot unmarshal number 9.2 into Go struct field Port.Secc.Port0.grid_current_limit of type int"
Steps to reproduce

Configure charger using template "hardybarth-salia"
Set grid_current_limit to "9.2", e. g. using MQTT topic "port0/grid_current_limit"
start evcc

Configuration details
chargers:
  - name: wallbert
    type: template
    template: hardybarth-salia
    host: <IP_ADDRESS>

Log details
Using config file: /config/evcc.yaml
starting evcc: 'EVCC_DATABASE_DSN=/data/evcc.db evcc --config /config/evcc.yaml'
[main  ] INFO 2023/12/12 10:03:17 evcc 0.122.1
[main  ] INFO 2023/12/12 10:03:17 using config file: /config/evcc.yaml
[main  ] INFO 2023/12/12 10:03:17 starting ui and api at :7070
[main  ] FATAL 2023/12/12 10:03:18 cannot create charger 'wallbert': cannot create charger 'template': cannot create charger 'hardybarth-salia': json: cannot unmarshal number 9.2 into Go struct field Port.Secc.Port0.grid_current_limit of type int
[main  ] FATAL 2023/12/12 10:03:18 will attempt restart in: 5m0s

What type of operating system are you running?
HomeAssistant Add-on
Version
0.122.1

Did you try setting the grid-current-limit via web-ui..? I think it will not work, because I think a float-value is not supported.. therefor the template expected an int-value.

Closed in https://github.com/evcc-io/evcc/commit/3499d99e5893ce65f4c3b60b9aedfb402bb877d6. This should accept float limits when unmarshaling, but we would still only set integer limits. If setting float limits is supported please let us know.

Did you try setting the grid-current-limit via web-ui..? I think it will not work, because I think a float-value is not supported.. therefor the template expects an int-value.

Maybe you are right, anyway, trying to start evcc after setting a non-integer value via MQTT is still a valid use case IMO. So this scenario should be supported.


Try creating a multi-platform ci

No doubt, will not work out of the box

Will use nrupprecht-ci-update branch instead


PaLI Checkpoint or Training Script

Is there a way to replicate the PaLI results? Either a training script, or ideally a checkpoint would be awesome. I'm hoping to use it as a component in a research project.

Thanks for your interest. Sadly we won't be able to share the PaLI checkpoint as this is internal model. However, we do plan to publish the training dataset soon, and this way you can reproduce the VNLI training with BLIP2 or any more updated VLM available.
Updated the BLIP2 fine-tuning instructions here: https://github.com/yonatanbitton/wysiwyr/blob/main/README.md#reproducing-results-for-the-end-to-end-vnli-method

Hi, Hi, the dataset is updated in the project website, sorry for the delay, please ask if anything is unclear
CSV: https://seetrue.s3.amazonaws.com/wysiwyr_train.csv
Images: https://drive.google.com/file/d/1M1CKmYkIdpFYjCOc9JwXHP5Z7E91CJl3/view?usp=drive_link


diarization

I have been experimenting with diarization of two-party phone calls.  I am using real phonecall recordings and ones "assembled" from various publicly available speech corpus data. These are fast paced phone-calls without significant silence between the speakers.
The diarization code almost always get the number of segments right.  However, it consistently gets the segment boarders between 0.5 and 1.5 seconds earlier then the ground truth.
Is this expected?  What parameters can be adjusted which would impact the segment boarders?

I'm working on a similar feature, could you share you code ?

I, too, have noticed that, with a small enough mtSize and mtStep, it's doing a pretty good job of finding segments, but the boundaries are where it suffers; it seems to regularly declare a transition one word or so earlier than it should.)  The current speakerDiarization() method has no parameters for changing models; the  knnSpeakerAll and knnSpeakerFemaleMale models are hard-coded into the function.  Is there any way to, possibly through training, build a better segmenter using ground-truth files, and if so, can someone write up a recipe for how to do this?


Support notifications under Windows ≤ 7 (probably through Electron ≥ 1.6.7 support through brightray)

Description
Just wondering if there is a way to modify the output to include the notification shim so this can support notifications on Windows 7? As at the moment Electron does not appear to support Notifications on Windows <= 7, despite them working in Chrome/Firefox :(
Sadly i'm brand new to Electron and have no idea how to do the necessary steps from the notifications shim page, but i would assume that i need to add the requires to a step before creating the output to include it?
Hopefully you have some ideas or pointers on doing this.
Steps to Reproduce Issue
Create a native webpage and try to create a notification, easiest way i found was to just manually try and create a Notification:
new Notification("hi")

Specifications

Version of Nativefier: v7.0.1
Version of Node.js (run $ node --version): v4.3.0
OS: Windows 7
Architecture 64Bit

@LupusUmbrae thanks for the report. The electron docs say:

On Windows 7, notifications are not supported. You can however send "balloon notifications" using the Tray API.

If someone want to start working on this, maybe these balloon notifications could do the trick too.

Good news! Electron 1.6.7 beta "added support for notifications on Windows 7: https://github.com/electron/electron/pull/9168 , https://github.com/electron/electron/issues/8384", obviating the need for a third-party module. Worth looking at!

@LupusUmbrae it looks like this is a pretty old issue, and since then Electron's support of Windows 7 notifications have improved. Can you confirm if this is still an issue?

Closing as I have not heard a response back. We can reopen if anyone is still experiencing this.


node-pre-gyp ERR! Completion callback never invoked!

<EMAIL_ADDRESS>install myproject/node_modules/fsevents
node install

node-pre-gyp ERR! Completion callback never invoked!
node-pre-gyp ERR! System Darwin 17.7.0
node-pre-gyp ERR! command "~/.nvm/versions/node/v9.4.0/bin/node" "myproject/node_modules/fsevents/node_modules/node-pre-gyp/bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd myproject/node_modules/fsevents
node-pre-gyp ERR! node -v v9.4.0
node-pre-gyp ERR! node-pre-gyp -v v0.10.0
node-pre-gyp ERR! This is a bug in node-pre-gyp.
node-pre-gyp ERR! Try to update node-pre-gyp and file an issue if it does not help:
node-pre-gyp ERR!     https://github.com/mapbox/node-pre-gyp/issues
NOTE: I ran npm install node-pre-gyp which installed node-pre-gyp 0.11, but the error message including the node-pre-gyp version in the error message stayed the same.

reinstall node to LTS version

^ That's the best advice I can give you too.  If it still doesn't work after that, holler and I'll reopen.

reinstall node to LTS version

novice in node.js, could you please share the reason behind?

Node.js v9.4.0 is a version that's out of support (both by upstream and by us.)
It's also not the latest v9.x release by a long shot, not even at the time of the original report. When reporting issues always use the latest version, otherwise it might be a bug that's already fixed.


5.0 branch and Qt5 cmake compatibility

Hi,
I am trying to build the 5.0 branch with Qt5 and the line
https://github.com/Dax89/QHexView/blob/48b0e6c817d8f88189454d991ca8c4509dddb5e0/CMakeLists.txt#L5
fails in cmake with
CMake Warning at source/frontends/qt/QHexView/CMakeLists.txt:5 (find_package):
[cmake]   By not providing "FindQt6.cmake" in CMAKE_MODULE_PATH this project has
[cmake]   asked CMake to find a package configuration file provided by "Qt6", but
[cmake]   CMake did not find one.
[cmake]
[cmake]   Could not find a package configuration file provided by "Qt6" with any of
[cmake]   the following names:
[cmake]
[cmake]     Qt6Config.cmake
[cmake]     qt6-config.cmake

But if I remove all the lines https://github.com/Dax89/QHexView/blob/48b0e6c817d8f88189454d991ca8c4509dddb5e0/CMakeLists.txt#L5-L9
then everything works correctly as it is my application to find Qt5. I think this is the case since the source files are in the INTERFACE section, so they are complied as part of my lib, not this lib (???)
It is the case that since this is not the "main" cmake file, it should leave it to something else to find the right Qt things?
Imagine I have both Qt5 and Qt6 and I want to use Qt5, this library will instead find Qt6 first?

uhmm, it is only a cmake warning, it still works.
but I still think that since QT is not used in this cmake file, it should not be requested.

Yeah it can be removed, so it uses the correct Qt version from the main project.
I will push a fix tomorrow.


Empty comment in j.tmLanguage.yaml#L110

Hi!
I've found an issue related with commit 93f9a883743c5861a9f6b820bceaff42bea9f83c
In: https://github.com/tikkanz/j-vscode/blob/b5c0e9a56595d468cd8859069639cfaaae6ff8f8/syntaxes/j.tmLanguage.yaml#L110 there's a comment entry with no value.
This is causing another issue in: https://github.com/tikkanz/JSyntax/blob/15126700d11205fa38f7a41c3f41504d0aedbe42/J.tmLanguage#L314 where we get a <key>comment</key> with no value which is not valid according Plist DTD (you can validate the generated xml at https://www.truugo.com/xml_validator/).
Providing a value for the comment or removing the comment entry would solve this issue.

Comment added and J.tmLanguage now validates.


keepalived segfault, keepalived runs regardless of protocol ?

Describe the bug
We were experiencing constant segfaults in keepalived in our deployment, which was causing the MASTER to frequently bounce between nodes and services to be inconsistently reachable (frequent dropped connections).
Since there was no apparent cause, we decided to switch to layer2 mode, I switched the cluster to IPVS mode, and re-deployed openelb via helm chart.  However I have a new problem;
On startup, it still deploys keepalived and when it does, all services go unreachable and even openelb-manager now has trouble reaching the k8s apiservice.  There is a log entry that it is "cleaning ipvs configuration" which doesn't sound very good in a k8s IPVS environment.
A quick glance at the code looks to me like all the Speakers start up no matter the deployed config, but I'm only quickly reading the code.
I chose to kill the daemonset as I don't want it to segfault and cause problems with the LB services.
My question is why does keepalived daemonset get started if there are no eips with protocol "vip" ?
Other than that, services seem more reliable in Layer2 with the simple Speaker setup. the services work fine, the ARPs are being sent out, etc.
** Keepalived Startup Log **
I0305 21:20:04.413733       7 main.go:196] Creating API server client for https://<IP_ADDRESS>:443
I0305 21:20:04.414209       7 main.go:136] starting LVS configuration
I0305 21:20:05.519985       7 main.go:388] No interface was provided, proceeding with the node's default: eth0
I0305 21:20:05.522272       7 main.go:242] cleaning ipvs configuration
E0305 21:20:05.524371       7 reflector.go:126] github.com/aledbf/kube-keepalived-vip/pkg/controller/main.go:293: Failed to list
 *v1.Service: Get https://<IP_ADDRESS>:443/api/v1/services?limit=500&resourceVersion=0: write tcp <IP_ADDRESS>:55816-><IP_ADDRESS>:443
: write: broken pipe

Output
[Tue Mar  5 18:52:54 2024] keepalived[2493485]: segfault at 8 ip 000055d3de676afc sp 00007ffcb05763b0 error 4 in keepalived[55d3de65a000+5d000]
[Tue Mar  5 18:52:54 2024] Code: 00 00 01 41 89 86 88 00 00 00 48 8b 4b 08 48 8b 55 08 48 c7 84 24 f0 00 00 00 00 00 00 00 48 c7 84 24 10 01 00 00 00 00 00 00 <48> 8b 41 08 4c 8b 59 10 48 8b 4a 08 48 8b 52 10 48 89 84 24 e0 00
[Tue Mar  5 18:53:10 2024] keepalived[2494237]: segfault at 8 ip 000055d3de676afc sp 00007ffcb0576460 error 4 in keepalived[55d3de65a000+5d000]
[Tue Mar  5 18:53:10 2024] Code: 00 00 01 41 89 86 88 00 00 00 48 8b 4b 08 48 8b 55 08 48 c7 84 24 f0 00 00 00 00 00 00 00 48 c7 84 24 10 01 00 00 00 00 00 00 <48> 8b 41 08 4c 8b 59 10 48 8b 4a 08 48 8b 52 10 48 89 84 24 e0 00
[Tue Mar  5 18:53:30 2024] keepalived[2494347]: segfault at 8 ip 000055d3de676afc sp 00007ffcb0576460 error 4 in keepalived[55d3de65a000+5d000]

Version Info

Version of Kubernetes:  v1.28.4
Version of OpenELB: v0.5.0

As I dig a little deeper, I realize that the dependent container https://github.com/aledbf/kube-keepalived-vip is an archived project that hasn't been updated in 5 years.  That's a lifetime in k8s ecosystem years.
v2.0.19 of keepalived (circa 2022; 2.2.8 is May 2023).
What are the plans around this?  There should definitely be an option to not be forced to run keepalived-vip containers if they are not supported/maintained.

Related #370 #285

We are still updating. In the future, a parameter will be used to control whether to start the speaker of the relevant protocol.

https://github.com/openelb/openelb/pull/338
https://github.com/openelb/openelb/pull/338/files#diff-4c8cf05b3aa06d3d4af5ac77cfc5bdf87a3612292b7e9c547530f632497710e4

kube-keepalived-vip will also continue to be updated, please pay attention to https://github.com/openelb/kube-keepalived-vip

fwiw, for anyone who desires not to have the keepalived pods running if you are not using VIP mode, I simply applied an empty nodeSelector to the openelb-keepalived-vip daemonset:
      nodeSelector:
        disabled: Manually-disabled-not-needed-for-layer2-mode


[CAS-717] InfoCard Support

Determine how and implement InfoCard support into CAS
Reported by: Scott Battaglia, id: battags
Created: Fri, 17 Oct 2008 10:40:25 -0700
Updated: Fri, 17 Oct 2008 10:40:25 -0700
JIRA: https://issues.jasig.org/browse/CAS-717

Windows CardSpace (codenamed InfoCard), is Microsoft's now-canceled client software for the Identity Metasystem


feat: update AnnouncementBanner with Blocktorch acquisition details

PR-Codex overview
The focus of this PR is to update the AnnouncementBanner component with new content and links related to the acquisition of Blocktorch by thirdweb.
Detailed summary

Updated useLocalStorage key to "dismissed-blocktorch-announcement"
Changed announcement link to "https://blog.thirdweb.com/welcoming-blocktorch/"
Updated label to "blocktorch"
Added isExternal to TrackedLink
Modified announcement content to reflect Blocktorch acquisition by thirdweb

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

#2684  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @jnsdls and the rest of your teammates on  Graphite


file used instead of open

open should be used because that works in Python3.

This is from: https://hpcgitlab.inl.gov/idaholab/raven/issues/786

@joshua-cogliati-inl I do not get this  . Can you explain a bit better?

I can comment.
file('my_output.csv','r')

works in Python 2, but not in 3.
open('my_output.csv','r')

works in both.

Ah ok....got it.
Thanks

Closure checklist passed...


feat: Added the experimental-require-strict-events rule

Closes #345

Hi @ota-meshi, there are some lint issues but I think they're unrelated to the PR...

there are some lint issues but I think they're unrelated to the PR...

I think merging or rebasing the current main branch will probably solve it. Could you try it?

I think merging or rebasing the current main branch will probably solve it. Could you try it?

No luck :(

Great, I'll get #368 ready :)


⚠ Bofrost.lu has degraded performance

In 8f150f9, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1116 ms

Resolved: Bofrost.lu performance has improved in d3638f4 after 1 hour, 17 minutes.


Option to start detached

I tried docker run's --detach but it doesn't detach
x11docker --hostdisplay -- "--detach --cap-add=SYS_PTRACE" my_image my-command.sh

Or tricks like adding & at the end of command, disown, nohup should work fine?

Not needed anymore.

I have a script that does the following:

Build the image if it doesn't exist

Start IDE via x11docker

Add container IP in /etc/hosts to be able to access it in browser.
Port mapping is not a solution because I already have a container mapped to the same port.

I wanted the step 2. to not stop the script so it will continue to step 3: get container IP and add it to /etc/hosts.
But I resolved that by switching step 3. and 2. and by providing a static IP to container.
Here is the script:
#!/bin/bash

[ -n "$(which x11docker)" ] \
    || { echo "x11docker is required"; exit 1; }

SCRIPT_DIR=$(dirname $(readlink -f "$0")) # /home/project/docker
PROJECT_DIR=$(dirname ${SCRIPT_DIR}) # /home/project

CMD=${@}
[ -n "${CMD}" ] \
    || { echo "Command is required"; exit 1; }

[ -n "$(docker images -q --filter=reference='my_image')" ] \
    || docker build -t my_image ${SCRIPT_DIR}

IP='<IP_ADDRESS>'
HOST='project.dev'

if grep -q "${HOST}" /etc/hosts; then
    if [ "${IP}" != "$(grep '${HOST}' /etc/hosts | grep -o --regexp='^[0-9\.]\+')" ]; then
        echo "Updating ${HOST} in /etc/hosts"
        sudo sed -i "s/^.*\t\(${HOST}\)/${IP}\t\1/g" /etc/hosts
    fi
else
    echo "Adding ${HOST} in /etc/hosts"
    echo "${IP}	${HOST}" | sudo tee -a /etc/hosts
fi

x11docker --hostdisplay --homedir ${HOME} --clipboard \
    --cap-default --no-entrypoint \
    -- "--cap-add=SYS_PTRACE \
        --sysctl net.ipv4.ip_unprivileged_port_start=0 \
        --workdir ${PROJECT_DIR} \
        --hostname ${HOST} \
        --ip ${IP}" \
    my_image \
    ${CMD}

I tried docker run's --detach but it doesn't detach

x11docker already runs docker in detached mode. Alternativly, you can run x11docker in background with &.

But I resolved that by switching step 3. and 2. and by providing a static IP to container.

You can parse --verbose output for x11docker: container IP: <IP_ADDRESS>
But even better,  x11docker should show the container ID on stdout like docker does in detached mode. I'll make an update in the next minutes. Get ID with e.g.:
read containerid < <(x11docker [...])

This syntax has also the effect to run x11docker in background like with &.

--workdir ${PROJECT_DIR}

This does not take effect as x11docker always executes cd $HOME.
Use sh -c "cd /my/workdir ; command" as image command instead.

--workdir ${PROJECT_DIR}

This does not take effect as x11docker always executes cd $HOME

Actually it works (event after this latest update)
$ docker exec x11docker_... pwd shows /home/user/project instead of /home/user
Also docker inspect x11docker_... shows
[
    {
        "Config": {
            "WorkingDir": "/home/user/project",
            ...
        },
        ...

Image commands executed by x11docker will be in HOME.
E.g. x11docker -- "--workdir=/etc" x11docker/lxde pcmanfm will show HOME instead of /etc in pcmanfm.


Convert all column metadata to either String or Symbol (where possible)

When I load Stata files, I get an odd mix of Strings and Symbols for column metadata, which means the metadata dictionary has Any as the value type. Converting all strings to symbols should help with this.

@ParadaCarleton Thank you for reporting the issue! Could you produce a small Stata file (something artificial with just a couple of rows) that allows reproducing what you observed?

Unfortunately I don't have something small, since I pulled the .dta file that had this problem off the internet :sweat_smile:
But the file I tried to load is here. The main problem is just that the dictionaries don't convert all values into strings. (Keys can be either strings or symbols without issue.)


Google.MobileAds v7.38

Hello,
I am trying to use Google.MobileAds v7.32 from nuget for reward videos. But so far haven't been successful in rendering ad on real device with test ad unit Id. But on simulator it's working fine. So my question over here is that would I need to update Google.MobileAd version from 7.32 to 7.38 in order to resolve this issue and when are we expecting this version to be made live from beta.

@mitian The new nuget is available in the feed.

Just letting you know that the update has been released to NuGet.
Best!
Israel Soto.


[bug] ZwaveJS server crashing/not responding after container restart

Version
Build/Run method

[x] Docker
[ ] PKG
[ ] Manually built (git clone - npm install - npm run build )

zwavejs2mqtt version: 2.1.0 (master tag)
zwavejs version: 6.6.0
zwavejs server version: 1.1.0
Describe the bug
When zw2m container is restarted (stop/start, computer reboot...), it often happens that the zwavejs server (websocket) is not available. As a result, the zwavejs integration in HASS stops working correctly (no response when triggering switches, no value from sensors...).
Please note that triggering switches from zw2m works fine and using the MQTT integration in HASS works fine as well. This is why I'm suspecting the zwavejs server not to be correctly started or to be crashing.
The workaround I found is to disable/re-enable the zwavejs server in the zw2m config panel.
To Reproduce
Steps to reproduce the behavior:

Completely stop zwavejs2mqtt container
Start it again
In HASS, using the zwavejs integration, try to activate a light
Nothing happens and the switch in HASS should toggle to its original position

Expected behavior
zwavejs server should be available, responding to HASS requests.
Additional context
Using HA with a Docker container on the same physical machine. zwavejs integration is configured to reach ws://localhost:3000

I need some logs

I know, I needed some time to get them :wink:
Here you go.
zwavejs2mqtt.log.gz
zwavejs_1.log.gz

I stopped my containers as described and started them over, and noted the issue

@lolautruche Are you sure the server is enabled in settings? I cannot see anything that says the server is started in logs

Yes I'm sure, it's a must in my installation.
I had to disable/enable it to make it work (I ensured to have the logs enabled when I did it)

When zwavejs server is started a log like this should be shown:
INFO ZWAVE-SERVER: ZwaveJS server listening on port
Now I dunno what could prevent it to start, it's the first user that reports this problem

That's weird, indeed. But I can confirm from within my settings.json.
{"mqtt":{"name":"zwavejs2mqtt","host":"mosquitto","port":1883,"qos":1,"prefix":"zwave","reconnectPeriod":3000,"retain":true,"clean":true,"auth":false,"username":"","_ca":"","ca":"","_cert":"","cert":"","_key":"","key":""},"gateway":{"type":0,"plugins":[],"authEnabled":false,"payloadType":0,"nodeNames":true,"hassDiscovery":true,"discoveryPrefix":"homeassistant","logEnabled":true,"logLevel":"info","logToFile":false,"values":[]},"zwave":{"port":"/dev/ttyACM0","commandsTimeout":30,"networkKey":"my_network_key","logLevel":"info","logToFile":false,"serverEnabled":true,"serverPort":3000,"logEnabled":true}}

Is there a way to check if it's started from within the container somehow?
Could you point me in the code where this is handled? I might be able to help here :)

https://github.com/zwave-js/zwavejs2mqtt/blob/master/lib/ZwaveClient.js#L1754
https://github.com/zwave-js/zwavejs2mqtt/blob/master/lib/ZwaveClient.js#L187

I might be wrong, but as I understand it, ZWaveJSServer is instantiated using a different log channel (Zwave-Server), not the same than zw2m or zwavejs. However I cannot control where the corresponding logs are dumped (log file, stdout...), nor the verbosity.
AFAIU, the zwavejs log doesn't show the server logs.
Furthermore, something I didn't mention in the description, this issue occurs since I started using the master tag (for solving #782). That was a big jump (from zw2m 1.0.5 to 2.1.0 / zwavejs 6.0 to 6.6, don't know the server version I had).

On my instance the server is logging correctly when starts listening and also when I close it, I really dunno why this isn't happening on your side BTW

Hello @robertsLando
It seems that my last update fixed the problem. I don't have any issue any more.

Good! Thanks for reporting :)


[NL Interface] Removing all "ML" classifiers and training etc

This is being done as part of the NL Tasks. Here are some reasons:

Several of the ML classifiers are not being used and use up time to run through training at startup. No need for that.
The only ML classifier that was actively being used was the "contained in" classifier but even in that case the specific type of classification was being narrowed down using some string matching heuristics. Therefore, the classifier wasn't adding much value and it was thought to simplify things (discussed with @pradh ).
Just to simplify things--if we need to bring back ML classifiers/attribute labelers later, we can do so easily without the existing burden of the ML classifiers.

Tested locally, all unit tests pass and the demo script works fine. If testing this locally, please remember to delete your local cache first.

could you provide more context here please? why are we removing these...

Updated the PR description with reasons for why this is being done.

please wait for prashanth and bo's ack too


[DS-7992][feat] Alert module judging strategy

Purpose of the pull request
Save the alert strategy when triggered & Change the login to match strategy

Brief change log
Pleas view the design #7992
close  #7992

Thank you for your pr @liqingwang , This is a good job.

I will update the document about the new feature later.


can't run runners

Hello, thank you for sharing this project.
I can't run the runner and I have this output after following all the instructions:
Plotting ROC for completed classes up to 0...
Traceback (most recent call last):
File "runners/run_custom.py", line 37, in
runner.run()
File "..\fcdd-master\venv\lib\site-packages\fcdd\runners\bases.py", line 203, in run
self.run_classes(**vars(self.args))
File "..\fcdd-master\venv\lib\site-packages\fcdd\runners\bases.py", line 222, in run_classes
it, **kwargs
File "..\fcdd-master\venv\lib\site-packages\fcdd\runners\bases.py", line 182, in run_seeds
this_viz_ids, **kwargs
File "..\fcdd-master\venv\lib\site-packages\fcdd\runners\bases.py", line 101, in run_one
**kwargs
File "..\fcdd-master\venv\lib\site-packages\fcdd\training\setup.py", line 106, in trainer_setup
noise_mode, online_supervision, nominal_label, oe_limit, logger=logger
File "..\fcdd-master\venv\lib\site-packages\fcdd\datasets_init_.py", line 62, in load_dataset
oe_limit=oe_limit, logger=logger, nominal_label=nominal_label
File "..\fcdd-master\venv\lib\site-packages\fcdd\datasets\image_folder.py", line 90, in init
mean, std = self.extract_mean_std(trainpath, normal_class)
File "..\fcdd-master\venv\lib\site-packages\fcdd\datasets\image_folder.py", line 188, in extract_mean_std
for x, _ in loader:
File "..\fcdd-master\venv\lib\site-packages\torch\utils\data\dataloader.py", line 279, in iter
return _MultiProcessingDataLoaderIter(self)
File "..\fcdd-master\venv\lib\site-packages\torch\utils\data\dataloader.py", line 719, in init
w.start()
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\multiprocessing\process.py", line 105, in start
self._popen = self._Popen(self)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\multiprocessing\context.py", line 223, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\multiprocessing\context.py", line 322, in _Popen
return Popen(process_obj)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\multiprocessing\popen_spawn_win32.py", line 65, in _init
_
reduction.dump(process_obj, to_child)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\multiprocessing\reduction.py", line 60, in dump
ForkingPickler(file, protocol).dump(obj)
AttributeError: Can't pickle local object 'ADImageFolderDataset.extract_mean_std..'
(venv) ..\fcdd-master\python\fcdd>Traceback (most recent call last):
File "", line 1, in
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\multiprocessing\spawn.py", line 105, in spawn_main
exitcode = _main(fd)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\multiprocessing\spawn.py", line 115, in _main
self = reduction.pickle.load(from_parent)
EOFError: Ran out of input
Could you help me, please?
Thank you

Hey. Thanks for your report. This seems to be a similar issue as in #2 and is due to windows having problems with pickling certain functions. We fixed such problems in the windows branch; however, the custom runner is not available there yet. I will implement a solution and merge the two branches in a couple of weeks, which should fix your problem. Meanwhile, you can either use Linux or try to move the ADImageFolderDataset.extract_mean_std function out of the class.

oh thank you, i didn't find it before. on linux I don't have this issue.
thank you


Add CI/CD with GitHub action

Add automation for check, testing (unit, integration functional), documentation for the CI.
Add automation for deployment to maven central for the CD.

[ ] CI
[ ] CD

hey I would like to work on this issue if its open for contribution

Yes, the project is open for contributions, and I’d really appreciate any help.
I think I’ll open a discussion for this issue so we can share about it.


Add more control methods to controller

Hello,
I'm connecting the Code text field to a virtual keyboard (provided here : https://pub.dev/packages/new_virtual_keyboard/install)
It works fine calling the insertStr of the controller to insert characters.
But, if I receive a backspace from virtual keyboard, I would need to have a method to remove a character, or selection.
Thanks for your work

I tried with this method in the controller, it works fine.
  void removeCharOrSelection()
  {
    final sel = selection;
    if(sel.start == sel.end) {
      if(sel.start > 0)  {
        text = text.replaceRange(sel.start - 1, sel.end, "");
        selection = sel.copyWith(
          baseOffset: sel.start - 1,
          extentOffset: sel.start - 1,
        );
      }
    } else {
      text = text.replaceRange(selection.start, selection.end, "");
      selection = sel.copyWith(
        baseOffset: sel.start,
        extentOffset: sel.start,
      );
    }

Sure, I added those in 65695ca2


Perf improvement by manual expansion of shared opcodes

this like
  case OpCode.ADD:
                case OpCode.SUBTRACT:
                case OpCode.MULTIPLY:
                case OpCode.DIVIDE:
                case OpCode.MODULUS:
                    DoMathOp(opCode);
                    break;

then use another switch internally, is it meaningfully faster to flatten them all here.

Before:

After:

Not much to speak of here.

Unity bouncing balls:
Before:

After:

Retest this on top of the packet changes


feat: add tag as tuples through setter

This PR addresses #477.
From now on, the property LogfireSpan.tags  returns a tuple, and can be modified using common tuple operations.
Trying to use list methods will raise errors from now on.
This is a first atempt. I'm happy to improve adn receive feedback.

Please revert the formatting changes and ensure that pre-commit and your IDE are using the correct version of ruff-format and that it's using pyproject.toml for configuration.

Please revert the formatting changes and ensure that pre-commit and your IDE are using the correct version of ruff-format and that it's using pyproject.toml for configuration.

My bad! I had my a problem with my local configuration. Fixing ASAP. Thanks!


Is it OK to wrap apko?

Is it considered a valid use case to integrate apko into a higher-level tool or toolchain? Or is it your preference that end-users always interact with apko directly (either in the terminal or by bespoke scripts).
Early on, docker wrapped lxc. But we later discovered that the developers of lxc did not consider this a valid use case: it was important to them that lxc never be hidden from the end user. As a result interfaces broke often, unaddressed issues piled up, and generally everyone grew frustrated. Eventually we had to ditch lxc altogether and implement libcontainer, and later runc.
What is your perspective on this? I think both answers are valid, it's just good to know in advance.
Thanks!

We are trying to keep the apko CLI stable, but it may break in the future.  In such case, we would try to announce any planned breakage ahead of time in NEWS.md.

We are trying to keep the apko CLI stable

Follow up question, what about importing the Go code here as a library to be used by other tools? Should external users expect any stability in that regard?
To give a little more context, I'm looking into Dagger+apko integration using some new features I recently added to Buildkit (which Dagger is built on top of) that were coincidentally designed to support use cases pretty much exactly like this (some docs here if interested).
Dagger/Buildkit already has the machinery for managing layers and exporting container images, it more just needs help with some of the apk-specific stuff such as "turn this list of alpine packages into a DAG including transitive dependencies" and possibly some of the stuff you're doing with the supervision tree. So that makes me think that the apko CLI could end up being too high level.
I guess the possibilities (which aren't mutually exclusive) would be:

Shell out to apko
Shell out to apk directly (similar to what apko does, would probably end up rewriting a lot of code that's here)
Import apko code as a library, use that
Import libapk-go, which I saw referenced in a comment in the code but didn't find during a brief google

Much more investigation is needed to determine the tradeoffs here of course, so I'm just wondering if any of those options immediately sound like a bad idea that I should rule out or if you have any extra thoughts 🙏

I'm down to merge any refactoring patches you want to do to drive apko programatically as a library, but it's not a direct interest area of mine (as the maintainer of apko).

Awesome, appreciate it!

I think we can close this, please open a new ticket if there's something that needs done or isn't clear.


Review before release

Review app before first release (check layout, typos, ...). The up-to-date version is on stratigraphicpaleobiology.shinyapps.io/shellbed_condensator

Corrected minor typos in text, re-deployed app to shinyapps.io


cut a release, please

the current version works pretty well for us and i'd like to use an official release in my build

@fralken 0.0.9?

Version 0.0.9 released and published.
Thanks for all the contributions!


4.x released drops support for Oracle EL

:ghost: Brief Description
yum-epel 4.x fails on Oracle Enterprise Linux
:pancakes: Cookbook version
4.0.0
:woman_cook:  Chef-Infra Version
Cinc 15, Chef 14
:tophat: Platform details
Oracle Platform (specifically 7.4)
Steps To Reproduce
Steps to reproduce the behavior:

Have an Oracle EL host running < 4.0.0
Update environment pin

:heavy_plus_sign: Additional context
We've been running yum-epel against OEL 7.4 images for a few years supporting Oracle DB intallations.  These are our only Oracle Linux installs so we don't really do much with them, but the epel sources work fine since it's really just RH7 rebranded.
3.x had this stanza in attributed/default
default['yum-epel']['repos'] = %w(   epel   epel-debuginfo   epel-source   epel-testing   epel-testing-debuginfo   epel-testing-source )
Which basically works for everything - if you apply the recipe, it works.
4.x has, instead:
 value_for_platform(     %w(redhat centos) => { ....     'amazon' => {
Chef defines OEL as:
chef_version=15.14.0 platform=oracle platform_version=7.4
It is probably sufficient just to add 'oracle' to the first platform set.

Ah yes, sorry for missing that. We just got this cookbook imported into Sous Chefs so please give us a few days or a week to get it properly adopted so we can make this change.

Ah yes, sorry for missing that. We just got this cookbook imported into Sous Chefs so please give us a few days or a week to get it properly adopted so we can make this change.

No problem!  Thanks for jumping on it.

No problem!  Thanks for jumping on it.

@wdeviers can you please confirm my PR fixes the issue for you?

@wdeviers can you please confirm my PR fixes the issue for you?


Form URL Encoded requests do not expand variables to their value

Similar to #148
Query:

Timeline output:

Hey @RInverid, are you still having the same issue? Also, could you let me know the version of Bruno you were using when the issue occurred?

Hi @sanjai0py , I can't reproduce this issue, but I'm sure I was on the latest version, I only just started using Bruno. Very odd, I will close this ticket and hopefully this issue will not return. thank you

Update: I managed to reproduce it! my secret variable has the character " in it, which causes this issue @sanjai0py .
bru file:
repro.bru.txt

I'm seeing this bug on latest Bruno (v1.31, released yesterday).
Hovering shows the value that should be interpolated, see screenshot.

I did some local debugging of this and found that the problem was that I used my own Content-Type header (set in the headers tab) and not relying on the one provided by Bruno.
In interpolate-vars.js the vars are only expanded properly if the header is an exact match of application/x-www-form-urlencoded.
In my case I had set the header to be application/x-www-form-urlencoded; charset=utf-8; which did not match.
Now that I know why it happened, it's no longer an issue for me. But I wonder if a more robust solution would be to match against the internal request.mode instead of the content type to allow for custom headers.
@sanjai0py


CBL-1768: Apply API changes to create index API

Applied API changes to create index API.
Made N1QL expression used for creating indexes unsupported for now.

Cancel Windows Test as Dev branch needs to pickup a fix in fleece.
One of the replicator tests was failed on Mac (https://issues.couchbase.com/browse/CBL-1784) and it's not related to this PR.

Windows test hang is fixed in https://github.com/couchbaselabs/couchbase-lite-C/pull/108.


add osx-arm64 conda build

It seems that the current 0.1.0 release is a noarch, so should work across all platforms.
If platform builds will be generated, It'd be great if osx-arm64 conda builds could be added, see https://conda-forge.org/blog/posts/2020-10-29-macos-arm64/#how-to-add-a-osx-arm64-build-to-a-feedstock

This should be handled by the latest release #321.


Add Lokomotive concepts documentation

Organizing the configuring lokomotive document in concepts.
moving the document from docs location to docs/concepts location.
why Flatcar Container Linux ?
Securing Lokomotive clusters.
What is a Lokomotive component ?

Signed-off-by: Imran Pochi<EMAIL_ADDRESS>

@iaguis @invidian
I am have been looking up on existing documentation and trying to gather whatever that feels applicable so that nothing important is missed out from the existing documentation.
Also I am not comfortable yet with the cluster life cycle document , that I originally planned to cover.
Hence I have not included in this PR.
Please review and provide feedback.

@iaguis Addressed all but one of your review comments.

is this good to merge ?


Use issues here for error reports during audit period

What is the problem you are seeing? Please describe.
Error reports during the audit period are not transparent. Error reports are mainly reported by developers that inspect their own app scores.
How is this problem misaligned with goals of app mining?
Error reports should detect errors in the algorithms and human errors that apply to all apps in the same way.
What is the explicit recommendation you’re looking to propose?
Add a template for error reports and only accept error report through github issues.
Describe your long term considerations in proposing this change. Please include the ways you can predict this recommendation could go wrong and possible ways mitigate.
Error reports reported as issues can be used to clarify weaknesses in the process.
Additional context
An app was retested through TMUI with a different audience setting after the testing period. Other developers voiced concerns that this retest should not be accepted as an error report.

100% support for this. About the retest, it was even worse than changing audience, he developed almost everything during the middle of the  month.
We need clear rules on retests.

We have updated the app mining audit period criteria, and people are no longer able to have their apps re-tested based on audience preferences. Operationally, it's best to have an email record of requests for the audit period as information can't be edited. Going to close this for now and let us know if we should re-open.


Test output is hard to read

The compact reporter isn't really compact if you have errors, info messages, or skips in your test run.
I have started work on addressing this: https://github.com/flutter/flutter/compare/master...dnfield:test_reporter but want to solicit feedback.  Some things I can think of that we want to acheive:

Any invocation of the test package use the new reporter (whether for packags/flutter, packages/flutter_tools, or wherever else in our repo).  My WIP change is only handling flutter test at the moment.
Right now I'm just wrapping the json reporter.  We could write our own reporter, but ultimately I'd like to see us able to use the data from our test runs in a more structured manner for analytics, which will probably require wrapping the JSON reporter anyway.

/cc @jonahwilliams

I'm starting to think that it might not be entirely reasonable to solve this in a single way.
It would probably be easier to just make a new reporter for test (compact-summary?) to solve this issue, and just wrap the json reporter using similar logic to what's posted here.  We could look at using the JSON reporter for CI - although there's something in the flutter test logic where we disallow using botht hat and --coverage, which may not work.

Compared to pytest (python test runner) the flutter test command is quite painful/limited and using it does not inspire joy with our team.
Eg no ability to add custom arguments to add new behaviour or halt on first test failure for example.
 flutter test | grep -E "\[E]";

This is our sad solution to run our test suite and only report on errors, when you have a large test suite you really do not care to see passing tests (a dot "." is sufficient) it just becomes a chore everytime to scroll up and hunt for when "-1" first occurred to get to the first fail.

halt on first test failure

Latest versions have a --fail-fast argument.

only report on errors

I'll add a --report=failures-only for this. Tracking at https://github.com/dart-lang/test/issues/829

It looks like --reporter failures-only has landed in package:test — thanks @natebosch!
I've sent #148739 to accept the same argument in flutter test and pass it through. (Also --reporter silent, which it looks like we didn't have either.)
Once that's in, @dnfield would you like to enable that option in CI? Are there other changes you'd want to see, either as blockers for using failures-only in CI or as part of considering this issue solved?

And #148739 is now merged, so --reporter failures-only is now an option in flutter test.
@andrewkolos has already filed #149611 to consider using it in CI for tests of the flutter tool itself. We could also use it in other tests in CI.


Add new MQTT exporter

Thanks for your pull request.
We try not to split the community and we already have listed:

MQTT blackbox exporter
MQTT2Prometheus

Is there a reasonable reason to get another MQTT-exporter ? If the existing ones don't meed your needs, did you try to contact their communities?
Thanks.

Thanks for your pull request.
We try not to split the community and we already have listed:

MQTT blackbox exporter
MQTT2Prometheus

Is there a reasonable reason to get another MQTT-exporter ? If the existing ones don't meed your needs, did you try to contact their communities?
Thanks.

Hi @roidelapluie, you're right that there are some other exporters related to MQTT. But as I get through both of them I've found mqtt_blackbox_exporter is just for testing purposes and mqtt2prometheus is just for single purpose and looks like for hobby use (not production ready). On the other hand mqtt-prometheus-exporter is fully configurable, is docker-ready on multiple platforms, is production ready (contains healthchecking, tests, ...). In the near future it will also support multiple formats of message.
I think for everybody it is always better to know about all the options and choose the project that fits.

This sounds like a duplicate of mqtt2prometheus, as both subscribe to mqtt and generate metrics from the messages. If you feel there's features missing from it please work with the existing listing, to avoid splitting the community and/or continuously reinventing the wheel.

As the author of mqtt2prometheus, I can add that mqtt2prometheus started as a hobby project, but my intention is to support production use as well. If you have a look at the closed issues, I will answer those in a timely manner and have already implemented some feature requests from people who want to use the exporter in production. If there are any missing production features I happily accept pull requests and issues.


KAFKA-17121: junit-platform.properties files in published artifacts pollute the test classpath of consumers

Exclude the junit-platform.properties file from testJar task
Committer Checklist (excluded from commit message)

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

@xijiu thanks for this quick fix. Could you please check the test jar manually?

Sure, I will check it

Run the testJar task with current trunk branch, the jar contains junit-platform.properties file

Add code exclude 'junit-platform.properties' and rerun  it, the junit-platform.properties file has disappeared

LGTM, @chia7712.


Research Python and SQL

Get familiar with python and get to a baseline understanding

here is some useful links:
https://pythonprinciples.com/
https://www.geeksforgeeks.org/python-exercises-practice-questions-and-solutions/


Add all the sounds

Entity, boss, airlock, player, deconstructor, music, and rocket sounds need to be ported

I've just done this, I think all the music is in it
Let me check before this is closed

Yep, all music is included. When I get back to a desktop computer I will change galacticraft to galacticraft-fabric in sounds.json, but I want to verify that's valid first.

We have new sounds for mobs and possibly more.