xwayland: split server

Split the server part of wlr_xwayland into wlr_xwayland_server. This
allows compositors to implement their own XWM when wlroots' isn't a good
fit.

Breaking change: compositors now need to call wlr_xwayland_display_name instead of accessing wlr_xwayland.display_name directly.
Sway PR: https://github.com/swaywm/sway/pull/5314

This is now ready for review.
Question: should we keep wlr_xwayland.display_name and copy the value from wlr_xwayland_server.display_name instead of adding wlr_xwayland_display_name?

Actually, changed my mind and made wlr_xwayland.display a const char *.

Thanks!


Add fix to abort unnecessary connection attempts

Currently, the client library is attempting to connect to all available servers in the client configuration. This is correct behavior e.g. in case of a technical issue.
In case of an authentication error however, the client library should not be required to retry a connection to another server as the authentication is going to fail again.

The current behavior is intentional.


Adding Microsoft.NET.Test.Sdk to a .NET Core prevents it to be packed as a NuGet-Package

Not sure if this belongs here or to dotnet/core...
Description
Adding Microsoft.NET.Test.Sdk to a .NET Core or .NET5 project prevents it to be packed as a NuGet-Package.
Steps to reproduce
dotnet new console
dotnet pack
dotnet add bugreport.csproj package Microsoft.NET.Test.Sdk
dotnet pack

The first dotnet pack works as expected, the second one dotnet pack doesn't do anything, it doesn't fail but it doesn't produce a NuGet-Package either.
Same behavior with Visual Studio and msbuild.
Expected behavior
dotnet pack produces a package even when Microsoft.NET.Test.Sdk is referenced
Environment
Runtime:
 OS Name:     Windows
 OS Version:  10.0.18363
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\5.0.100\

Host (useful for support):
  Version: 5.0.0
  Commit:  cf258a14b7

Projects referencing Microsoft.NET.Test.Sdk are not packageable by-design. If you would like to override this behavior, please set the IsPackable property to true in your .csproj file. An example is below:
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
    <RootNamespace>_2656</RootNamespace>
    <IsPackable>true</IsPackable>
    <GenerateProgramFile>false</GenerateProgramFile>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.0" />
  </ItemGroup>

</Project>

Note: You might get a warning about multiple entry-points. To fix this, please add another property named GenerateProgramFile and set it to false as shown above.

Thank you for the quick response, setting the property fixed my problem.


Consider Adding New Geospatial Startup: Galileo

Galileo - Geospatial data discovery and management platform. Search over 1,890+ data sources spatially, with advanced filters, previews and data downloads to 5 file types
Size: Startup 5 Individuals
Categories: GIS/Geospatial
Based out of Orlando, UCF Incubator

Added


merge: dev to stage

:tada: This PR is included in version 0.52.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Update maximum number of SSH sessions and fs notifiers

Without these changes the host will not be able to run more than
10-ish containers.  The default value for MaxSessions is only 10,
defualt value for fs.inotify.max_user_instances also allows to
start only 10-12 containers on the host:
ovn-scale-59: Failed to create control group inotify object: Too many open files
ovn-scale-59: Failed to allocate manager object: Too many open files
ovn-scale-59: [!!!!!!] Failed to allocate manager object.
Issues can be easily triggered by attempting to run 20 or 60
node tests on localhost.
Chosen values should allow to run any reasonable number of fake
nodes per physical machine.
Signed-off-by: Ilya Maximets<EMAIL_ADDRESS>

I can confirm that on a Fedora 36 machine, this patch allowed me to have more than 20 containers running at once on a server.


fileno

The following error occurs when importing warp.
in Maya
Error: AttributeError: file C:\Users\mingn\AppData\Roaming\Python\Python37\site-packages\warp_init_.py line 9: 'maya.Output' object has no attribute 'fileno'
in Blender
Traceback (most recent call last):
File "<blender_console>", line 1, in
File "C:\Program Files\Blender Foundation\Blender 3.5\3.5\python\lib\site-packages\warp_init_.py", line 9, in
faulthandler.enable()
io.UnsupportedOperation: fileno

Hmm, thanks @mingno - this could be due to the recent addition of the faulthandler. I will look to disable this or at least handle these exceptions.
Best,
Miles

Thanks @mingno for reporting this! Could you give https://github.com/NVIDIA/warp/pull/92 a try?

We have disabled the faulthandler on init so I will close this for now.


⚠ Bofrost.fr has degraded performance

In 8ba90ef, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1200 ms

Resolved: Bofrost.fr performance has improved in 97bad09 after 6 minutes.


transloco pipe fails with async if strict mode is enabled

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request
[ ] Other... Please describe:

Current behavior
Using transloco pipe after async pipe throws an exception if ts' strict mode is enabled cause transloco pipe expecting only string as input and async returns T | null
https://github.com/ngneat/transloco/blob/153682a4c4f3268ee20146c5f94f1baaa965008b/projects/ngneat/transloco/src/lib/transloco.pipe.ts#L34
Argument of type 'string | null' is not assignable to parameter of type 'string'.
Type 'null' is not assignable to type 'string'.

Set "strict": false in tsconfig.json and it works well.
Expected behavior
transloco pipe works well after async pipe when strict mode is enabled
Minimal reproduction of the problem with instructions
https://stackblitz.com/edit/transloco-async-strict
What is the motivation / use case for changing the behavior?

Environment

Angular version: 10.0.1
Transloco; 2.17.5

Browser:
- [x] Chrome (desktop) version 83.0.4103.116
- [ ] Chrome (Android) version XX
- [ ] Chrome (iOS) version XX
- [ ] Firefox version XX
- [ ] Safari (desktop) version XX
- [ ] Safari (iOS) version XX
- [ ] IE version XX
- [ ] Edge version XX

Others:

@artaommahe Hi! would you like to create a PR for it?

@shaharkazaz just faced that undefined key value cannot be passed to transloco pipe with strictTemplates: true.


Support for /messages

This adds support for https://spec.matrix.org/v1.6/client-server-api/#get_matrixclientv3roomsroomidmessages
Checklist

[x] Tests written for all new code
[x] Linter has been satisfied
[x] Sign-off given on the changes (see CONTRIBUTING.md)

Signed off by: Will Hunt <githubhalf-shot.uk>

Sorry for the noise, I'll go fix the prior branch.


I can't login to copay wallet

I'm using the copay wallet in my iphone.
The app automatically upgrade to version 9.0.5 and ever since the number 0 has disappeared on the PIN password page. Therefore I can't login.
Please help me with it.
Thank you

we have developed our own hardware for cracking BITCOIN wallet PASSWORDS with superfast speed
and if you still has problem I can help you run it. you can find my contact details on my profile
or you can send me message in telegram: @johnjames333


mime package is deprecated

https://github.com/broofa/node-mime
Will be great to migrate on other solution.

Yes, there us already a migration planned for the 1.0 release of send. Currently mime works fine as it is, even though it was archived recently. If you have further concerns than just that it is archived, we can always act sooner, otherwise we will swap it out as part of the 1.0 effort underway soon.

I've also been unsure if it is truly deprecated or not. The repo is archived, but the readme does not seem related, so to me it makes me question if it was on accident or not, as I haven't seen anything outside of that so far, but if you have additional information that would be great!

Yes, there us already a migration planned for the 1.0 release of send.

Great, It's enough :smile:


possibly intended behaviour ? back exits chat from notif

when you open a chat from a notification, and then press the back arrow ( either the system one or the one in the top left ) the app exits instead of returning to the chatlist .
i would prefer the latter behaviour, so maybe this could be an option, as i could see this behaviour being wanted by some

:+1:  completely agree, pressing the back arrow should navigate "up" to the parent screen, which like you suggested would be the chat list

just wanted to thank you for responding and fixing all these issues so quickly, this client is super promising

( i would note that whilst the back arrow navigates correctly, system back still does not )


Moto Racing Game

PR Description 📜
Please include summary related to the issue you have fixed and describe your PR in brief over here by specifying the issue number on which you were working below
Fixes # 565

Single player game using html css and js.
Game points

simple player.
user friendly

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[x] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @anandpiyush1521 ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

@anandpiyush1521 Plz mention * in place of number in main README file.

Done

make sure you are making changes in the folder you are working only !!

Thank you  @anandpiyush1521 , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Add consistency to events that are associated with secondary JSON files

Handle the journal event telling us that a new navroute has been written to NavRoute.json
Ideally internally consume the journalevent and then parse the json file and trhow/fire a new event based on the contents.

I've renamed the issue there are several events which nowhave associated secondary json files NavRoute,Shipyard,ModuleInfo,Cargo and MarketData.
I have added internal event handlers for these events on the journalWatcher which for 'live' events will read the secondary json file and then raise another event with the full data. I have also added a series of public methods to the journalWatcher to allow access to the secondary json data.
I found the additional methods added to the MarketData event only after I was almost done, I have left them in place. However I personally feel that the Event/EventArgs classes should where possible remain data/property only. So I have not extended the other events likewise.

This PR should be associated with Issue#19


FreeRADIUS secrets not properly escaped in clients.conf

FreeRADIUS would not start after I added a client with a particular RADIUS secret. I tried to run the daemon from the shell with debugging info turned on and it pointed to an error parsing the clients.conf file because of the secret in that file.
It should be acknowledged that the FreeRADIUS does not document this limitation, however enclosing the secret in double quotes within the clients.conf file fixed the issue for me.
Note that the shared secret in the code below is no longer used so I have no need to keep it private.
root@opnsense:~ # /usr/local/sbin/radiusd -X FreeRADIUS Version 3.0.20 Copyright (C) 1999-2019 The FreeRADIUS server project and contributors There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE You may redistribute copies of FreeRADIUS under the terms of the GNU General Public License For more information about these matters, see the file named COPYRIGHT Starting - reading configuration files ... including dictionary file /usr/local/share/freeradius/dictionary including dictionary file /usr/local/share/freeradius/dictionary.dhcp including dictionary file /usr/local/share/freeradius/dictionary.vqp including dictionary file /usr/local/etc/raddb/dictionary including configuration file /usr/local/etc/raddb/radiusd.conf including configuration file /usr/local/etc/raddb/proxy.conf including configuration file /usr/local/etc/raddb/clients.conf /usr/local/etc/raddb/clients.conf[3]: Parse error after "~": unexpected token "(" Errors reading or parsing /usr/local/etc/raddb/radiusd.conf
`root@opnsense:~ # cat /usr/local/etc/raddb/clients.conf
client "localvpn" {
secret    = zml*)<yZ_UAQCnW.;,~(G?]f
shortname = "localvpn"
ipaddr    = <IP_ADDRESS>
}`

You have to escape them on your own:
https://networkradius.com/doc/3.0.10/raddb/clients.html
I cannot add a validation anymore since it would break current setups already using escaping.


Add PodMonitors to deployment

Deploying the PodMonitors that relate to MetalLB
when a MetalLB CR is created while Prometheus
Operator is used in the cluster. This serves as a
base for scraping speaker/controller metrics.
Signed-off-by: Ori Braunshtein<EMAIL_ADDRESS>

can we have test case in e2e with prometheus ?

LGTM


ImuTracker uses conjugate.

Normalized quaternions can be inverted with conjugate, which is faster.
The motivation for optimizing ImuTracker::Advance is that
per-point unwarping will call this for every point.

@wally-the-cartographer merge

Merge requested by authorized user gaschler. Merge queue now has a length of 2.


When granted to and granted on have the same name but different types, only one node is visible.

Potentially consider adding the object type to the end of the object name to identify correctly


Added the  Hopcroft-Karp algorithm

🛠 Issue (794)

Closes the issue number #794
👨💻 Changes proposed
Tha Hopcroft-Karp algorithm is added in all assigned languages  python, C, C++ and java.

✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

Please check the PR @Kumar-laxmi
thanks

@Kumar-laxmi  ??

Please review @Arun9739 & @072arushi

In C language

In python language

In C++ language

Review now please added the screenshots too @Arun9739 @072arushi

@072arushi please review this asap thanks

@Kumar-laxmi please merge this now
thanks

Added java program @Kumar-laxmi

@Kumar-laxmi please check now its updated

@Arun9739 @072arushi @zugzwang03 please put label of ready to merge ;)


At least 5 commit/push operations from several project members in the repository.

[Task reference in wiki.] (https://github.com/olunet/SuperCap/wiki/_Collaboration Infrastructure - VCS)

Work includes: making oneself familiar with the project code and add already little value to the project.
Estimated: 3 man-hours


presto build failing

I'm trying to set myself up a Docker environment in order to contribute more effectively to Presto when possible. e.g. I was a bit stymied here by relying on cla-bot to check commits:
https://github.com/prestosql/presto/pull/765
However, building Presto from source is not working for me with this Dockerfile:
FROM ubuntu:18.04

ARG PRESTO_GIT=https://github.com/prestosql/presto.git
ENV PRESTO_GIT=${PRESTO_GIT:-https://github.com/prestosql/presto.git}

ARG PRESTO_BRANCH=master
ENV PRESTO_BRANCH=${PRESTO_BRANCH:-master}

RUN apt-get update && \
    apt-get install -y \
      openjdk-11-jdk \
      git

RUN git clone $PRESTO_GIT presto && cd presto && \
    git config --global user.email<EMAIL_ADDRESS>&& \
    git config --global user.name "Michael Chirico" && \
    git checkout -B $PRESTO_BRANCH && \
    git pull origin $PRESTO_BRANCH

RUN cd /presto && ./mvnw clean install

Have run it a few times and it dies in different places, e.g.
[INFO] ------------------------------------------------------------------------
[INFO] Building presto-geospatial-toolkit 319-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ presto-geospatial-toolkit ---
[INFO] Deleting /presto/presto-geospatial-toolkit/target
[INFO]
[INFO] --- maven-enforcer-plugin:3.0.0-M2:enforce (default) @ presto-geospatial-toolkit ---
[INFO]
[INFO] --- dependency-scope-maven-plugin:0.8:check (default) @ presto-geospatial-toolkit ---
[INFO] No test dependency scope issues found
[INFO]
[INFO] --- license-maven-plugin:2.3:check (default) @ presto-geospatial-toolkit ---
[INFO] Checking licenses...
[INFO]
[INFO] --- maven-checkstyle-plugin:3.0.0:check (checkstyle) @ presto-geospatial-toolkit ---
[INFO]
[INFO] --- jacoco-maven-plugin:0.8.2:prepare-agent (default) @ presto-geospatial-toolkit ---
[INFO] Skipping JaCoCo execution because property jacoco.skip is set.
[INFO] argLine set to empty
[INFO]
[INFO] --- git-commit-id-plugin:2.1.13:revision (default) @ presto-geospatial-toolkit ---
Killed

or
[INFO] ------------------------------------------------------------------------
[INFO] Building presto-main 319-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ presto-main ---
[INFO] Deleting /presto/presto-main/target
[INFO]
[INFO] --- maven-enforcer-plugin:3.0.0-M2:enforce (default) @ presto-main ---
[INFO] Ignoring requireUpperBoundDeps in org.codehaus.plexus:plexus-utils
[WARNING] Invalid bytecodeVersion for module-info.class: expected 52, but was 53
[WARNING] Invalid bytecodeVersion for module-info.class: expected 52, but was 53
[WARNING] Invalid bytecodeVersion for module-info.class: expected 52, but was 53
[WARNING] Invalid bytecodeVersion for module-info.class: expected 52, but was 53
[WARNING] Invalid bytecodeVersion for module-info.class: expected 52, but was 53
[INFO]
[INFO] --- dependency-scope-maven-plugin:0.8:check (default) @ presto-main ---
[INFO] No test dependency scope issues found
[INFO]
[INFO] --- license-maven-plugin:2.3:check (default) @ presto-main ---
[INFO] Checking licenses...
[INFO]
[INFO] --- maven-checkstyle-plugin:3.0.0:check (checkstyle) @ presto-main ---
[INFO]
[INFO] --- jacoco-maven-plugin:0.8.2:prepare-agent (default) @ presto-main ---
[INFO] Skipping JaCoCo execution because property jacoco.skip is set.
[INFO] argLine set to empty
[INFO]
[INFO] --- git-commit-id-plugin:2.1.13:revision (default) @ presto-main ---
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ presto-main ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 85 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ presto-main ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1679 source files to /presto/presto-main/target/classes
[WARNING] bootstrap class path not set in conjunction with -source 8
[WARNING] /presto/presto-main/src/main/java/io/prestosql/execution/buffer/PagesSerde.java:[39,23] sun.misc.Unsafe is internal proprietary API and may be removed in a future release
[INFO] /presto/presto-main/src/main/java/io/prestosql/metadata/TableHandle.java: Some input files use or override a deprecated API.
[INFO] /presto/presto-main/src/main/java/io/prestosql/metadata/TableHandle.java: Recompile with -Xlint:deprecation for details.
[INFO] /presto/presto-main/src/main/java/io/prestosql/cost/ComposableStatsCalculator.java: Some input files use unchecked or unsafe operations.
[INFO] /presto/presto-main/src/main/java/io/prestosql/cost/ComposableStatsCalculator.java: Recompile with -Xlint:unchecked for details.
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ presto-main ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 11 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.0:testCompile (default-testCompile) @ presto-main ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 811 source files to /presto/presto-main/target/test-classes
Killed

Unfortunately Killed isn't very helpful for debugging... is there something wrong with my image setup?
I had the same trouble with Piotr's suggested command:
./mvnw -pl '!presto-server-rpm,!presto-docs,!presto-proxy,!presto-testing-server-launcher' clean install -TC2 -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Dair.check.skip-all=true

Just noticed there's some ambiguity on the README re:Java depenency:

Java 8 Update 161 or higher (8u161+), 64-bit.

Does this mean any java version >= Java 8 u 161? Or does it mean Java 8 specifically, with any version of Java 8 above Update 161?
Anyway, using openjdk-8-jdk instead of 11 had a similar failure.

Unfortunately Killed isn't very helpful for debugging... is there something wrong with my image setup?

Are you on Win/Mac/Linux?

Presto likely requires JDK 8 to build. Running Maven with a newer JDK means that all the plugins need to be compatible. I did a bunch of work previously to get it working with JDK 9, but it may have regressed, and there might be issues with newer JDKs. So use the latest version of JDK 8.
However, you can and should run the Presto server on JDK 11. There were substantial improvements to the G1 garbage collector since JDK 8.
The "Killed" from the compiler plugin is not a compatibility issue (you'd see a stack trace or other specific failure). This likely means the JVM is getting killed by the OS for running out of memory.
Rather than trying to do a full Presto build as part of a Docker image build, I'd just run a Docker instance interactively, and run the build from there. It should be much easier to debug, tweak, etc. Basically, treat the Docker instance as you would any other virtual machine used for development.

Rather than trying to do a full Presto build as part of a Docker image build, I'd just run a Docker instance interactively, and run the build from there.

Well, that's exactly what I am doing in practice at the moment, in order to test the Dockerfile is working correctly.
Earlier, I was doing some other stuff in the background, but after clearing almost everything on my machine, the same error obtains.

Are you on Win/Mac/Linux?

My machine is Mac and the Docker is built on minimal Ubuntu ubuntu:18.04 image

Almost all of the Presto developers use Mac. You can run the build natively on Mac, no need to use Docker (except for product tests which use Docker internally). You’ll also want to setup the code in IntelliJ.

My Mac is using Java 11... not comfortable enough with Java to go messing with that. Docker serves to isolate my machine's setup from that used to build+test Presto

You can install both. It’s designed to allow that. Each JDK lives in a single directory so you can haven any number of them without conflict.
By default it will use the latest version, but set the older version to be first in your PATH for the terminal used for Presto development.

My machine is Mac and the Docker is built on minimal Ubuntu ubuntu:18.04 image

I too would recommend building directly, without Docker.
Besides reason already mentioned, it should be waaay faster, because of the docker overlay filesystem performance hit. (mileage vary)
If you still want to go docker route, make sure you give the Docker host enough memory (Docker > Preferences ...)  and reduce swap to minimum.
My Docker on Mac has 8g memory limit, but I'm running product tests, not a build.
For build 2-3g should be sufficient, but you may need to manually tell maven JVM not to use more (eg 3g docker limit and -Xmx2g may work).
(Latest Java 8 is smart enough to autoconfigure -Xmx based on available memory, but I don't know if you have recent enough Java version for this to work.)

Thanks both. I'm quite apprehensive to mess around with my local Java installation since the last times I've done so it's taken a full day to recover but I guess if I'm serious about contributing to a Java project I'll have to figure it out sooner or later.


🐛 move the rebootstrap logic to registration agent

When the initial bootstrap hub kubeconfig is invalid, for example with wrong proxy settings, the bootstrap will not succeed and no hub kubeconfig will be created. Once a new bootstrap hub kubeconfig is provided by updating the bootstrap-kubeconfig-secret, the rebootstrapping will not be triggered because the klusterlet operator does not know if the bootstrap hub kubeconfig has changed.
By adding a new health checker, the agent will restart once bootstrap hub kubeconfig secret changes. That fix the issue described above. Another health checker is added as well to restart agent when the client certificate become expired.

Summary
Related issue(s)
Fixes #

/hold

/approve
/lgtm

/unhold


break upgrade test into individual test cases in v2.2

This change allows the report of a pipeline run to show each small test case.
The drawback is in the worst scenario where we enable the ingress check in the cluster whose ingress is unavailable, it will take about 30 mins to finish a run (each ingress waits for 300s, and we have 5 ingress-related tests).

LGTM


Enable creation of standalone agent pools

What this PR does / why we need it:
This PR enables creation of standalone agent pools using ACS Engine.

This change is

@jackfrancis, The ginkgo-k8s-e2e https://circleci.com/gh/Azure/acs-engine/1102 is failing (failed twice). This test was added a day ago. pr-kubernetes-e2e is passing. Any idea if this test is passing consistently in other PRs?
The failure is:

2017/08/18 06:54:50 Cluster name:k8s-westus2-34521
2017/08/18 06:55:00 Creating deployment this make take a few minutes...
2017/08/18 07:01:54 Waiting on nodes to go into ready state...
2017/08/18 07:02:24 Error trying to run 'kubectl get nodes':Unable to connect to the server: dial tcp <IP_ADDRESS>:443: i/o timeout
2017/08/18 07:03:04 Error trying to run 'kubectl get nodes':Unable to connect to the server: dial tcp <IP_ADDRESS>:443: i/o timeout
2017/08/18 07:03:44 Error trying to run 'kubectl get nodes':Unable to connect to the server: dial tcp <IP_ADDRESS>:443: i/o timeout
••••••2017/08/18 07:04:04 Error trying to run 'kubectl get svc':Error from server (NotFound): services "kubernetes-dashboard" not found

The ginkgo-k8s-e2e (https://circleci.com/gh/Azure/acs-engine/1076) is failing with the same error for this PR as well: https://github.com/Azure/acs-engine/pull/1285
cc: @jackfrancis


Remove Hard Coded Strings to allow translation

Screenshots https://plus.google.com/115610928059890728494/posts/egPEeCY4e8k

Only saw this now. This and the previous PR should be joined.

See comment on #213


Slider doesn't work with ngModel

The slider works only with [value] but not with [(ngModel)] .

+1 this same problem hit me too. How to do two way bindings??

Closing this in favor of #99


Change NSUInteger to NSInteger in public API

This makes interop w/ Swift tricky. Let's audit and swap all NSUInteger to NSInteger in the public headers.
e.g. https://github.com/Instagram/IGListKit/blob/master/Source/IGListAdapter.h#L160

fixed in e2fbb6867056cbaab07acd076a995ad95c5b1dbc


Port segment store to flatbuffers

This PR is a followup to #727 and ports the segment to store to use flatbuffers. Since the change involved actually changing the segment flatbuffer schema, the store is now completely stateless and initializes runtime state on startup.

I've rebased the integration branch to master and then this topic branch onto the integration branch.


[$1000] Pressing enter/return key calls the API even when the Send validation button is disabled - reported by @adeel0202

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

Action Performed:

Go to settings > Profile
Click on Add Phone number
Enter some invalid value in the Phone number field
Enter some random password
Press enter key

Expected Result:
Pressing the enter should do nothing since the entered value is invalid and the button is disabled
Actual Result:
Pressing the enter key works and calls the API even when the entered value is invalid and the button is disabled
Workaround:
unknown
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number: 1.1.49-0
Reproducible in staging?: Y
Reproducible in production?: Y
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/43995119/161470720-0a439eec-81c5-43ae-878c-6383c0b4ad2a.mov
Expensify/Expensify Issue URL:
Issue reported by: @adeel0202
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1647875692560349
View all open jobs on GitHub

Proposal
Need to remove this line
https://github.com/Expensify/App/blob/9a8291ba97c381b651b5344d6fa471c51ae70336/src/pages/settings/AddSecondaryLoginPage.js#L140

Proposal (If External)
(Early as I reported the issue)
We can validate the form before submitting on line 140
https://github.com/Expensify/App/blob/9a8291ba97c381b651b5344d6fa471c51ae70336/src/pages/settings/AddSecondaryLoginPage.js#L140
like this
onSubmitEditing={!this.validateForm() ? this.submitForm : null}
OR
We can add the validation check inside submitForm method, like this
submitForm() {

        if(this.validateForm()) return;

        const login = this.formType === CONST.LOGIN_TYPE.PHONE
            ? LoginUtils.getPhoneNumberWithoutSpecialChars(this.state.login)
            : this.state.login;
        User.setSecondaryLoginAndNavigate(login, this.state.password);
    }

Nice catch @adeel0202, labelling Eng

Confirmed the issue, Adeel's second proposal to return from submit() looks good to me

https://www.upwork.com/jobs/~010a911b711f27a57e

@adeel0202 can you please apply so we can pay out for reporting?

Two points that a proposal should consider.

Submit buttons shall not be disabled or blocked from being pressed in most cases. We will allow the user to submit a form and point them in the right direction if anything needs their attention. source: FORMS.md

Also, we need better errors, that are also translated. So please list out all the possible errors so that we can help get a copy for them.

cc: @adeel0202 @Puneet-here

Also, we need better errors, that are also translated. So please list out all the possible errors so that we can help get a copy for them.

@Luke9389 User.setSecondaryLoginAndNavigate() could use a slight refactor, and localization of the error messages.
Do you think we need to create a new issue for it? This issue kinda brushes it, so might as well fix it here?
https://github.com/Expensify/App/blob/fd230734f5341faff08df79cb2a8d6e26d16b0e7/src/libs/actions/User.js#L185

If we were to create a new ticket to change this form's submission behavior, we'd solve this issue simultaneously, right? So either way this is going to be a single issue.

If we were to create a new ticket to change this form's submission behavior, we'd solve this issue simultaneously, right? So either way this is going to be a single issue.

I agree as well.

Proposal
We can make the submit button always enabled by removing this line
isDisabled={this.validateForm()}
We can add these new methods to get proper errors
    getPhoneNumberError() {
        const phoneNumber = LoginUtils.getPhoneNumberWithoutSpecialChars(this.state.login);
        if (_.isEmpty(this.state.login.trim()) || !Str.isValidPhone(phoneNumber)) {
            return this.props.translate('messages.errorMessageInvalidPhone');
        }
        return '';
    }

    getEmailAddressError() {
        if (_.isEmpty(this.state.login.trim()) || !Str.isValidEmail(this.state.login)) {
            return 'Please enter a valid email address'; // will update when translation is provided
        }
        return '';
    }

    getPasswordError() {
        if (_.isEmpty(this.state.password.trim())) {
            return 'Password is required; // will update when translation is provided
        }
        return '';
    }

Note: We will need translation for Please enter a valid email address and Password is required to add in translation files.
We can add the following methods to set the errors
    validateLoginInput() {
        this.setState({
            loginError: this.formType === CONST.LOGIN_TYPE.PHONE
                ? this.getPhoneNumberError() : this.getEmailAddressError(),
        });
    }

    validatePasswordInput() {
        this.setState({passwordError: this.getPasswordError()});
    }

At the end of the email/password TextInput field
errorText={this.state.loginError}
onBlur={this.validateLoginInput}

At the end of the password TextInput field
errorText={this.state.passwordError}
onBlur={this.validatePasswordInput}

We can update validateForm method to this
validateForm() {
        const loginError = this.formType === CONST.LOGIN_TYPE.PHONE ? this.getPhoneNumberError() : this.getEmailAddressError();
        const passwordError = this.getPasswordError();

        this.setState({loginError, passwordError});
        return _.isEmpty(loginError) && _.isEmpty(passwordError);
    }

And finally, use it at the beginning of submitForm method like this
if (!this.validateForm()) {
            return;
        }

Output:
https://user-images.githubusercontent.com/13783842/164091331-657486d8-3a71-4530-8a65-6c4cd0c34bc0.mov
https://user-images.githubusercontent.com/13783842/164091372-d2c0a722-3de5-4d59-ba59-9ee98ec15fc4.mov

@adeel0202 that seems cool. Could you please also address https://github.com/Expensify/App/issues/8455#issuecomment-1098607821 in your proposal? Thanks!

In User.js, we can replace
let error = lodashGet(response, 'message', 'Unable to add secondary login. Please try again.');
with
let error = lodashGet(response, 'message', Localize.translateLocal('addSecondaryLoginPage.errors.defaultError'));
and
error = 'This login already belongs to an existing Expensify account.';
with
error = Localize.translateLocal('addSecondaryLoginPage.errors.loginAlreadyExistsError');
In en.js, inside addSecondaryLoginPage, we can add
errors: {
            defaultError: 'Unable to add secondary login. Please try again.',
            loginAlreadyExistsError: 'This login already belongs to an existing Expensify account.',
        }

Note: We will need translations for above two messages to add in es.js

Other than the refactor part, all is good.
@Luke9389 I'm unassigning myself, I have school stuff going on !!

Ok @rushatgabhane, I'll take it from here. @adeel0202 I'll be looping back to this when I have some time to catch up and get context on this PR. Shouldn't be more than a day or two.

Price doubled

Need to come back to this soon.

@Luke9389 what is the latest on this?

I think we should close this because we're going to refactor this flow in the next few weeks.

@Luke9389, I think I'm eligible for the reporting bonus.

@adeel0202 , to be eligible for the reporting bonus, the fix needs to be deployed to production.
@Luke9389, how does the refactor affect this specific bug? ie. is the bug report going to be addressed when refactoring?

Thanks for the clarification @mallenexpensify. But shouldn't this remain open and on hold until the issue is fixed?

hmm.... if there's potential for payment in the future (which it sounds like it is for this and others) I think a better option is to only leave the Contributor Manager assigned, and bump to Monthly, then we can 'kick the can down the road` until the refactor is done, then double check these before closing.
Otherwise we risk a situation where

An issue like this is reported then closed
Refactor is done
Issue isn't fixed and we don't immediately reopen this
Another contributor reports the bug in a new issue and that one has to now be managed then additional payments would be needed (since the issue is double-reported and, for the second reporter, since there isn't an open issue, it's a valid 'bug')

Make sense/think that's right @Luke9389 , if so, I can address in #expensify-open-source

Coming form other issue which will be closed by API refactoring. Following the consequences, I am 👍 to keep it open and bumped to Monthly.

Thanks @MonilBhavsar , I took over as CM (since we don't have a defined process yet), reopening and added the monthly label

Issue not reproducible during KI retests. (First week)

Bit lost with this issue @MonilBhavsar , if you think @adeel0202 should be compensated for reporting, can you (or @Luke9389 ) add a comment?   And/or... I can go down 🐰🕳 a bit more to review too.  Below are the relevant links, I think
https://github.com/Expensify/Expensify/issues/215184
https://github.com/Expensify/App/issues/8035

I think we resolved that:

@adeel0202 is unfortunately not eligible for a reporting bonus here because we aren't acting on this issue as a result of the report (i.e. we were fixing it with the refactor regardless).
We'll keep this open until we can verify that the issue is no longer reproducible.

So we just need wait for a few more of these messages before fully closing it out.

Thanks @Luke9389 .  We should update CONTRIBUTING.md and drop a comment in #expensify-open-source about how we deal with bugs reported before and during refactors.  (I'm off next week, I'll try to remember to address once back)

Issue not reproducible during KI retests. (Second week)

@mvtglobally can you test one more time to see if it's reproducible and close the issue if it's not? Thanks

This bug is reproducible to me from the time I reported it. It never got fixed 👀

@mallenexpensify we were able to repro 1 out of 2. Doesn't seem to be consistent
https://utest-dl.s3.amazonaws.com/testRunStepMinAttachmentsResult/24567905/Web_8455-1709.JPG?AWSAccessKeyId=AKIAJ2UIWMJ2OMC3UCQQ&Expires=1695187304&Signature=0p%2FDIrwqQt%2FXAxF%2FtGoRYy4rJzY%3D

Sounds like we're back to @Luke9389 's recommendation

So we just need wait for a few more of https://github.com/Expensify/App/issues/8455#issuecomment-1208911456 before fully closing it out.

@mallenexpensify this is still reproducible consistently by following the steps mentioned in the bug report, and also if you put nothing in the input fields and press the enter key when the focus is on the password field. This is also discussed here.

Hey @adeel0202, thanks for pointing this out. I'll give it a try right now.

Hey @adeel0202 I wasn't actually able to reproduce this. Can you post a video?

Wasn't able to get a network request with bogus values in both fields (I also tried no values at all-also no network)

Hi @Luke9389. I'm able to reproduce this consistently on staging and prod too. On prod, I'm getting 402 Missing newEmail; and on staging, I used to get the same error but today, I'm getting No secondary login provided. error. I have attached both videos.
Prod
https://user-images.githubusercontent.com/13783842/192500006-cee10aa1-f8de-4f6f-8cd8-2aa9f81296a5.mov
Staging
https://user-images.githubusercontent.com/13783842/192500116-eb72d11a-e024-465d-a758-aa3a21f382a8.mov

Interesting. Are you hitting Tab to cycle between the inputs?

No, I'm just clicking on the password field to set focus on it. But I don't think it matters. I get this error when I press enter/return key when the focus is on the password field.

fwiw. this is what I'm getting when I follow the repro steps

Just experienced this bug. At password TextInput we are using onSubmitEditing={this.submitForm} that's why on pressing enter the form gets submitted even when the button is disabled.
I think we should fix this bug and also refactor this page to use the Form since it's a good opportunity?
P.S. I am not seeing a C+ on this issue, I am interested to review this one.

First... I'm a bit at a loss for where we're at here.

I think we were hoping a previous refactor would fix this issue and apparently it hasn't
If it hasn't, we should fix this bug
@thesahindia suggests we refactor the page. Sahil, can you expand on this, I'm not the most well-versed on refactors.
@thesahindia , I assigned to you as C+ for now
Once I hear back I'll assign an engineer for more 👀

cc @MonilBhavsar , when removing yourself from assignment of an issue, do it before adding any labels, otherwise shit gets weird.

I think we were hoping a previous refactor would fix this issue and apparently it hasn't

Correct.

If it hasn't, we should fix this bug
@thesahindia suggests we refactor the page. Sahil, can you expand on this, I'm not the most well-versed on refactors.

I am suggesting that we should refactor this page to use our Form component. We have refactored most of the pages to use Form.
The issue at OP was that we submit the form on pressing enter at password field even when the button is disabled. But according to the guidelines we shouldn't disable the button, so I believe we should refactor this page and add some validation

Aha.. @stitesExpensify you're the lucky one?  Can you review @thesahindia 's comment above and provide feedback and suggest/confirm the best path forward?
https://github.com/Expensify/App/issues/8455#:~:text=commented-,7 hours ago,-I think we

I agree with refactoring the page to use form. We need a more concrete proposal to move forward though

Price Doubled to $1000 and created a new Upwork job
https://www.upwork.com/jobs/~01afaeeedebd8a3239

Oh.. should we update the title or OP to reflect the deliverable is a refactor?

Yeah, I think we should update it.

Proposal

I have also added the validation for password (we had a function but we weren't using it)
I have kept the validation function clean
Using onSubmit and validate function as the guidelines suggests

At AddSecondaryLoginPage.js I will make these changes -

@@ -46,59 +46,55 @@ class AddSecondaryLoginPage extends Component {
     constructor(props) {
         super(props);

-        this.state = {
-            login: '',
-            password: '',
-        };
         this.formType = props.route.params.type;
-        this.submitForm = this.submitForm.bind(this);
-        this.onSecondaryLoginChange = this.onSecondaryLoginChange.bind(this);
-        this.validateForm = this.validateForm.bind(this);
+        this.onSubmit = this.onSubmit.bind(this);
+        this.validate = this.validate.bind(this);
     }

     componentWillUnmount() {
         User.clearUserErrorMessage();
     }

-    onSecondaryLoginChange(login) {
-        this.setState({login});
-    }
-
     /**
      * Add a secondary login to a user's account
+     * @param {Object} values - form input values passed by the Form component
      */
-    submitForm() {
+    onSubmit(values) {
         const login = this.formType === CONST.LOGIN_TYPE.PHONE
-            ? LoginUtils.getPhoneNumberWithoutSpecialChars(this.state.login)
-            : this.state.login;
-        User.setSecondaryLoginAndNavigate(login, this.state.password);
+            ? LoginUtils.getPhoneNumberWithoutSpecialChars(values.emailOrPhone)
+            : values.emailOrPhone;
+
+        User.setSecondaryLoginAndNavigate(login, values.password);
     }

     /**
-     * Determine whether the form is valid
-     *
+     * @param {Object} values - form input values passed by the Form component
      * @returns {Boolean}
-    validateForm() {
-        const login = this.formType === CONST.LOGIN_TYPE.PHONE
-            ? LoginUtils.getPhoneNumberWithoutSpecialChars(this.state.login)
-            : this.state.login;
+    validate(values) {
+        const errors = {};
+
+        const login = values.emailOrPhone && this.formType === CONST.LOGIN_TYPE.PHONE
+            ? LoginUtils.getPhoneNumberWithoutSpecialChars(values.emailOrPhone)
+            : values.emailOrPhone;

         const validationMethod = this.formType === CONST.LOGIN_TYPE.PHONE ? Str.isValidPhone : Str.isValidEmail;
-        return !this.state.password || !validationMethod(login);
+
+        if (!validationMethod(login)) {
+            errors.emailOrPhone = this.props.translate(this.formType === CONST.LOGIN_TYPE.PHONE
+                ? 'bankAccount.error.phoneNumber'
+                : 'addSecondaryLoginPage.enterValidEmail');
+        }
+
+        if (!values.password || !ValidationUtils.isValidPassword(values.password)) {
+            errors.password = this.props.translate('addSecondaryLoginPage.enterValidPassword');
+        }
+        return errors;
     }

     render() {
         return (
-            <ScreenWrapper
-                onTransitionEnd={() => {
-                    if (!this.phoneNumberInputRef) {
-                        return;
-                    }
-
-                    this.phoneNumberInputRef.focus();
-                }}
-            >
+            <ScreenWrapper>
                 <HeaderWithCloseButton
                     title={this.props.translate(this.formType === CONST.LOGIN_TYPE.PHONE
                         ? 'addSecondaryLoginPage.addPhoneNumber'
@@ -107,7 +103,13 @@ class AddSecondaryLoginPage extends Component {
                     onBackButtonPress={() => Navigation.navigate(ROUTES.SETTINGS_PROFILE)}
                     onCloseButtonPress={() => Navigation.dismissModal()}
                 />
-                <ScrollView style={styles.flex1} contentContainerStyle={styles.p5}>
+                <Form
+                    formID={ONYXKEYS.FORMS.SECONDARY_LOGIN_FORM}
+                    validate={this.validate}
+                    onSubmit={this.onSubmit}
+                    submitButtonText={this.props.translate('addSecondaryLoginPage.sendValidation')}
+                    style={[styles.flexGrow1, styles.mh5]}
+                >
                     <Text style={[styles.mb6]}>
                         {this.props.translate(this.formType === CONST.LOGIN_TYPE.PHONE
                             ? 'addSecondaryLoginPage.enterPreferredPhoneNumberToSendValidationLink'
@@ -119,8 +121,7 @@ class AddSecondaryLoginPage extends Component {
                                 ? 'common.phoneNumber'
                                 : 'profilePage.emailAddress')}
                             ref={el => this.phoneNumberInputRef = el}
-                            value={this.state.login}
-                            onChangeText={this.onSecondaryLoginChange}
+                            inputID="emailOrPhone"
                             keyboardType={this.formType === CONST.LOGIN_TYPE.PHONE
                                 ? CONST.KEYBOARD_TYPE.PHONE_PAD : CONST.KEYBOARD_TYPE.EMAIL_ADDRESS}
                             returnKeyType="done"
@@ -129,12 +130,11 @@ class AddSecondaryLoginPage extends Component {
                     <View style={styles.mb6}>
                         <TextInput
                             label={this.props.translate('common.password')}
-                            value={this.state.password}
-                            onChangeText={password => this.setState({password})}
+                            inputID="password"
                             secureTextEntry
                             autoCompleteType="password"
                             textContentType="password"
-                            onSubmitEditing={this.submitForm}
+                            onSubmitEditing={this.onSubmit}
                         />
                     </View>
                     {!_.isEmpty(this.props.user.error) && (
@@ -142,17 +142,7 @@ class AddSecondaryLoginPage extends Component {
                             {this.props.user.error}
                         </Text>
                     )}
-                </ScrollView>
-                <FixedFooter style={[styles.flexGrow0]}>
-                    <Button
-                        success
-                        isDisabled={this.validateForm()}
-                        isLoading={this.props.user.loading}
-                        text={this.props.translate('addSecondaryLoginPage.sendValidation')}
-                        onPress={this.submitForm}
-                        pressOnEnter
-                    />
-                </FixedFooter>
+                </Form>
             </ScreenWrapper>
         );
     }

I will add  SECONDARY_LOGIN_FORM: 'secondaryLoginForm', here
https://github.com/Expensify/App/blob/1a20841b6577b42147b4d48ba1a8748e3cdbcc60/src/ONYXKEYS.js#L171
I will need translations for Please enter a valid email and Please enter a valid password
We can also use two different inputID based on this.formType then we can use change the validation like this -
validate(values) {
        const errors = {};

        if (this.formType === CONST.LOGIN_TYPE.PHONE) {
            if (!values.phone || !Str.isValidPhone(LoginUtils.getPhoneNumberWithoutSpecialChars(values.phone))) {
                errors.phone = this.props.translate('addSecondaryLoginPage.enterValidPhone');
            }
        } else if (!Str.isValidEmail(values.email)) {
            errors.email = this.props.translate('addSecondaryLoginPage.enterValidEmail');
        }

        if (!values.password || !ValidationUtils.isValidPassword(values.password)) {
            errors.password = this.props.translate('addSecondaryLoginPage.enterValidPassword');
        }
        return errors;
    }

@Puneet-here's proposal looks good to me. It doesn't add additional code and validation looks good.
C+ reviewed 🎀👀🎀
cc: @stitesExpensify

@dhairyasenjaliya, We wanna use front-end validation wherever we can.

Hm not aware of that

It's good to use validate at the front-end so that we don't have to rely on the API response.

I think other than proposal looks identical like i posted above

@dhairyasenjaliya, your proposal doesn't handle the validation for email and phone number
It doesn't use isValidPassword to check if the password is valid

The contributors can take help by looking at other Form refactored pages, so I expect the proposal to be complete.

Agreed, @Puneet-here proposal looks good to me!

Hired @Puneet-here, @thesahindia for C+ and @adeel0202 for reporting bonus in Upwork, please accept.
Thanks @dhairyasenjaliya and @adeel0202 for the proposals.

Coming from this thread in slack we have decided to not continue with this issue/PR because this section of the app will be getting a different refactor in the near future.
I have closed the PR, but can we please pay out @Puneet-here @thesahindia and @adeel0202?
Additionally, we should be vigilant to not to open/work on any more bugs relating to this page until we are fully passwordless!

Thanks @stitesExpensify , all are paid!!


'Unable to cast COM object of type 'System.__ComObject' to interface type 'NAudio.MediaFoundation.IMFSourceReader'.

Hello,
in my GUI app I am implementing audio player using NAudio. The way it is working now is that I am creating AudioFileReader, which I then pass into VolumeSampleProvider constructor as a source ISampleProvider. Then I initialize WaveOut, using this VolumeSampleProvider as an argument to the WaveOut constructor.
The reason I do this is that I need the functionality to change volume during the playback, sometimes to values larger than 1 (if, for example, the maximum peak of the input audio file is not normalized to the max value, so I basically normalize the samples in real time..)
In my app, I have a simple progressbar, and when user clicks or drags it to some position during the playback, it first calls WaveOut.Stop, then change AudioFileReader.Position accordingly and then call WaveOut.Play() again.
However, while during this, I keep getting this error - sometimes less, sometimes more often. What is also odd is that this error never occurs while dragging the progressbar while playback is paused or stopped (for which I am using the same WaveOut.Pause() and WaveOut.Stop() methods, similar as in the Position changing method..)
What can be causing this issue?
System.InvalidCastException
  HResult=0x80004002
  Message=Unable to cast COM object of type 'System.__ComObject' to interface type 'NAudio.MediaFoundation.IMFSourceReader'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{70AE66F2-C809-4E4F-8915-BDCB406B7993}' failed due to the following error: Neznámé rozhraní (0x80004002 (E_NOINTERFACE)).
  Source=System.Private.CoreLib
  StackTrace:
   at System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget, Boolean& pfNeedsRelease)
   at NAudio.MediaFoundation.IMFSourceReader.SetCurrentPosition(Guid guidTimeFormat, IntPtr varPosition)
   at NAudio.Wave.MediaFoundationReader.Reposition(Int64 desiredPosition) in NAudio.Wave\MediaFoundationReader.cs:line 264
   at NAudio.Wave.MediaFoundationReader.Read(Byte[] buffer, Int32 offset, Int32 count) in NAudio.Wave\MediaFoundationReader.cs:line 208
   at NAudio.Wave.SampleProviders.Pcm16BitToSampleProvider.Read(Single[] buffer, Int32 offset, Int32 count) in NAudio.Wave.SampleProviders\Pcm16BitToSampleProvider.cs:line 16
   at NAudio.Wave.SampleProviders.MeteringSampleProvider.Read(Single[] buffer, Int32 offset, Int32 count) in NAudio.Wave.SampleProviders\MeteringSampleProvider.cs:line 42
   at NAudio.Wave.SampleProviders.VolumeSampleProvider.Read(Single[] buffer, Int32 offset, Int32 sampleCount) in NAudio.Wave.SampleProviders\VolumeSampleProvider.cs:line 19
   at NAudio.Wave.AudioFileReader.Read(Single[] buffer, Int32 offset, Int32 count) in NAudio.Wave\AudioFileReader.cs:line 107
   at NAudio.Wave.AudioFileReader.Read(Byte[] buffer, Int32 offset, Int32 count) in NAudio.Wave\AudioFileReader.cs:line 99
   at NAudio.Wave.SampleProviders.WaveToSampleProvider.Read(Single[] buffer, Int32 offset, Int32 count) in NAudio.Wave.SampleProviders\WaveToSampleProvider.cs:line 21
   at NAudio.Wave.SampleProviders.VolumeSampleProvider.Read(Single[] buffer, Int32 offset, Int32 sampleCount) in NAudio.Wave.SampleProviders\VolumeSampleProvider.cs:line 19
   at NAudio.Wave.SampleProviders.SampleToWaveProvider.Read(Byte[] buffer, Int32 offset, Int32 count) in NAudio.Wave.SampleProviders\SampleToWaveProvider.cs:line 24
   at NAudio.Wave.WaveOutBuffer.OnDone() in NAudio.Wave\WaveOutBuffer.cs:line 91
   at NAudio.Wave.WaveOut.EnqueueBuffers() in NAudio.Wave\WaveOut.cs:line 122
   at NAudio.Wave.WaveOut.Play() in NAudio.Wave\WaveOut.cs:line 111
   at DropNormalizer.AudioPlayer.set_PositionInPercentage(Single value) in C:\CSharp\DropNormalizer\DropNormalizer\AudioPlayer\AudioPlayer.cs:line 184
   at DropNormalizerGUI_Avalonia.Views.MainWindow.PlayerProgressBar_PointerPressed(Object sender, PointerPressedEventArgs e) in C:\CSharp\DropNormalizer\DropNormalizerGUI_Avalonia\Views\MainWindow.axaml.cs:line 253
   at Avalonia.Interactivity.EventRoute.RaiseEventImpl(RoutedEventArgs e) in /_/src/Avalonia.Interactivity/EventRoute.cs:line 152
   at Avalonia.Interactivity.EventRoute.RaiseEvent(IInteractive source, RoutedEventArgs e) in /_/src/Avalonia.Interactivity/EventRoute.cs:line 102
   at Avalonia.Interactivity.Interactive.RaiseEvent(RoutedEventArgs e) in /_/src/Avalonia.Interactivity/Interactive.cs:line 122
   at Avalonia.Input.MouseDevice.MouseDown(IMouseDevice device, UInt64 timestamp, IInputElement root, Point p, PointerPointProperties properties, KeyModifiers inputModifiers) in /_/src/Avalonia.Input/MouseDevice.cs:line 263
   at Avalonia.Input.MouseDevice.ProcessRawEvent(RawPointerEventArgs e) in /_/src/Avalonia.Input/MouseDevice.cs:line 157
   at Avalonia.Input.InputManager.ProcessInput(RawInputEventArgs e) in /_/src/Avalonia.Input/InputManager.cs:line 36
   at Avalonia.Win32.WindowImpl.AppWndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in /_/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs:line 526
   at Avalonia.Win32.WindowImpl.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in /_/src/Windows/Avalonia.Win32/WindowImpl.WndProc.cs:line 33
   at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG& lpmsg)
   at Avalonia.Win32.Win32Platform.RunLoop(CancellationToken cancellationToken) in /_/src/Windows/Avalonia.Win32/Win32Platform.cs:line 206
   at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in /_/src/Avalonia.Base/Threading/Dispatcher.cs:line 66
   at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 121
   at DropNormalizerGUI_Avalonia.Program.Main(String[] args) in C:\CSharp\DropNormalizer\DropNormalizerGUI_Avalonia\Program.cs:line 15

Often casting issues are to do with creating a COM object on one thread, and then trying to access it from a different thread. Try to keep access to a single thread if possible and see if that helps.


chore: remove lodash and emojione

Small experiment of removal of lodash and emojione, our biggest culprits in terms of bundle size.
Regarding lodash, it is a no brainer. It removes almost 600Kb and it doesn't affect readability that much, if at all.
Regarding emojione, I'm a bit torn, because we would be relying on the OS render of the emojis, which means that emojis will look different depending on where it is running. Which reduces consistency (?)
Before

After

On the other hand, maybe OS emojis will make it feel more natural in that environment? Hard to say.
We could try it. Easy to roll back :)


Add functions to create bins for histogram

I have merged #48 . You can port the tests from this to the new code.


Move everything into toplevel site

We do not need the scipy-poster sub directory any more. Removed the old poster directory as well.

@diptorupd Why so many new files added? Most of them are Node modules, it appears.

I think the overwriting of README.md from specific one we had to the one from Docsy example is a mistake.

I think the overwriting of README.md from specific one we had to the one from Docsy example is a mistake.

FIXED that.

@diptorupd Why so many new files added? Most of them are Node modules, it appears.

Yes, let me see.

@oleksandr-pavlyk check it now

Overall it looks good, but I am not entirely sure we need CONTRIBUTING.md and docker-compose.yaml.


Date.now() fallback to new Date() for < IE9 support

Ah, thanks. I though this was already in the code. Approved!


QCNX Plug plug bk7231n

Hello, a dump from this device, this time not directly from me, but from our user:
https://aliexpress.com/item/1005004192614430.html
BK7231N_QIO_2023-27-3--18-28-23.zip
Please add support and if possible determine the pins, thanks!

This one already exists as QNCX 16A Smart Plug


Model file export

TBD

this is interesting. I cannot use it as is. We cannot use iostream.  The complex path is to implement gzip reading/writing in the File interface, which is a pain.

this is interesting. I cannot use it as is. We cannot use iostream. The complex path is to implement gzip reading/writing in the File interface, which is a pain.

Thanks @lperron . My first attempt was to not use iostream. I had to duplicate ExportModelAsLpFormat, AppendComments and AppendConstraint functions to directly write to gz files. I guess that would also not be OK, because of too much duplication.
Did you mean something similar?

So, the best way to integrate it to add a field in the File class (ortools/base/file.h) that indicates if the file is a gzip one.
In that case, in the relevant methods, we need to duplicate the code to use gzip method instead of the C FILE* methods.
For instance, the MPS reader uses the FileLine class, which is turns call File::Read() raw API.
On the MPS writer, I would make sure that we flush the output string to file regularly, and that this flush is done by the File API, which internally would use the gzip API.
Am I clear ?

So, the best way to integrate it to add a field in the File class (ortools/base/file.h) that indicates if the file is a gzip one. In that case, in the relevant methods, we need to duplicate the code to use gzip method instead of the C FILE* methods.
For instance, the MPS reader uses the FileLine class, which is turns call File::Read() raw API.
On the MPS writer, I would make sure that we flush the output string to file regularly, and that this flush is done by the File API, which internally would use the gzip API.
Am I clear ?

Yes, thanks again! I'll try my best to work on those parts.

Please sync with main. You will have a conflict.
I have implemented MoModelProtoExporter::WriteModelToMpsFile() and hooked it with model_builder (python, java, .NET).
The implementation is not that robust to very large models, but better than before.
The only missing is gzip support in File (and hooking to linear_solver C# if you want it).

Please sync with main. You will have a conflict. I have implemented MpModelProtoExporter::WriteModelToMpsFile() and hooked it with model_builder (python, java, .NET). The implementation is not that robust to very large models, but better than before.
The only missing is gzip support in File (and hooking to linear_solver C# if you want it).

@lperron Thank you so much. I resolved the conflicts and called your function from linear_solver. Made it optional to export to gzip with a bool parameter.
I had a difficult time adding compression part. Your method can write a 13GB(1.2GB compressed) model file I used in my tests in a single call, but it was not possible with the new gzip write (gzwrite). The compressed output files were cut off and usually not decompressable. Multiple write operations to work with chunks solved this problem. Is this an OK approach? If yes, I'd like to get your opinion on chunk size and compression level (1=fastest now) that I chose.

I'll resolve the conflicts

Thank you @Mizux for including this in the next release candidate list.
Thank you @lperron  for including file write operations for other language wrappers. File write is already huge for us, being able to compress will be a real nice to have too. I updated my branch and it only has gzip file compression now.
I had tested the previous version of my PR and if you approve of these changes I can test this last changeset again.


Update to new docker release - DO NOT MERGE

And remove old references to consul

@robbrockbank can you take a look so we can merge and do a final retest tomorrow.

LGTM...


added new method

Added a new Method to be able to outputs the Cluster Credential at the runtime so we can use it on the same pipeline to deploy a new app

Replaced by a better organized PR


add functionality of checking the user permission

this will allow you to check permission like that
Auth::hasPermission('trumobile-api', 'drivers#driver-index');
as mentioned in the keylock documentation link
https://www.keycloak.org/docs/latest/authorization_services/index.html#_service_obtaining_permissions
through curl request, we make an HTTP call to the keylock server
curl -X POST
http://${host}:${port}/realms/${realm}/protocol/openid-connect/token
-H "Authorization: Bearer ${access_token}"
--data "grant_type=urn:ietf:params:oauth:grant-type:uma-ticket"
--data "audience={resource_server_client_id}"
--data "permission=Resource A#Scope A"
--data "permission=Resource B#Scope B"

Hi!
Thanks for your effort. But, there is two issues:

You have hardcoded keycloak urls.
By design this package is intended to be passive. It must not call external resources.


And with Dagger ?

Hi, why you didn't use Dagger ?

Indeed I'm using it.
http://fernandocejas.com/2015/04/11/tasting-dagger-2-on-android/


Update Docker slides

Hi,
I updated Docker slides to fit them to the new templates. I added also new content to introduce Docker and the commands
Bérénice

Do we really need the pngs if we have the SVGs?


problem with form toggle on rtl...

have problem on toggle class when dir="rtl"
in the class is
.toggle~.toggle-mark {
    justify-content: flex-start;
}

but in rtl need to be
.toggle~.toggle-mark {
    justify-content: flex-end;
}

how can i change this?

@TgMrP Fixed on latest version (0.22.0)
Thanks.


Push Notifications

Added pre permission capability for push notifications.

Closing this because the request for push notifications was a bit more robust, although it is still not possible to merge (handling push notification permissions is a lot more complicated as you guys know, and you really need to be injected into the UIApplicationDelegate's methods when push notification registration works or fails. More details here: https://github.com/clusterinc/ClusterPrePermissions/pull/15#commitcomment-9289810


Unsafe use of $ in jquery.payment.js

Original issue in woocommerce. I don't know if you can do something about it:
https://github.com/woothemes/woocommerce/issues/8191
I don't know coffee script, so please excuse me.
In resulting js file in line 7 you have such code
$ = jQuery;
It is unsafe use of it, as later call of jQuery.noConflict();, that can occur in theme or plugin script, breaks this.
You should put your code in
( function( $ ){
//your code
}( jQuery ) );

Is that possible?

I had the same problem and was able to wrap /lib/jquery.payment.js like this:
( function( $ ){

...

}(jQuery)).call(this);

In previous versions of this library, the $ variable was local and it used the value as a reference of the current jQuery. What happened? It resolved the problem. Nevertheless, @websiteduck's proposal will be cleaner.

Apologies; fixed in 2c2f99b897b1d724b0b5d2353fe3d45eac917121.


Issue Deploying Secrets via avp-helm Plugin in Helm Chart

Description:
The avp plugin is working correctly when syncing secrets from Vault. However, when attempting to deploy the manifest using the avp-helm plugin within a Helm chart, the chart is not being created. When the avp-helm plugin is removed, the Helm chart deploys, but the secret placeholders (e.g., <AWS_ACCESS_KEY>) are deployed without syncing with Vault, resulting in the secrets not being injected.
Additionally, I tried using the avp-helm plugin without arguments following the official AVP Helm guide, but the issue persists.
Application 1: Using avp-helm Plugin (Chart does not deploy)
Application Manifest:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: test
spec:
  destination:
    name: ''
    namespace: default
    server: 'https://kubernetes.default.svc'
  source:
    path: charts/fe-app-main
    repoURL: 'https://github.com/myrepo.git'
    targetRevision: ori
    plugin:
      name: avp-helm
      env:
        - name: HELM_ARGS
          value: '-f values.yaml'
  project: default
  syncPolicy:
    automated:
      prune: true
      selfHeal: true

Issue:

With the avp-helm plugin enabled, the Helm chart does not get deployed at all. ArgoCD shows the application as synced and healthy, but no resources are created.

Image:

Application 2: Without avp-helm Plugin (Chart deploys, but secrets don't sync with Vault)
Application Manifest:
project: default
source:
  repoURL: 'https://github.com/myrepo.git'
  path: charts/fe-app-main
  targetRevision: ori
  helm:
    valueFiles:
      - values.yaml
destination:
  server: 'https://kubernetes.default.svc'
  namespace: default
syncPolicy:
  automated:
    prune: true
    selfHeal: true

Issue:

Without the avp-helm plugin, the chart successfully deploys, but the secrets are not synced with Vault. The placeholders (<AWS_ACCESS_KEY>, <AWS_SECRET_ACCESS_KEY>) are deployed as-is without the expected Vault values.

Secret Manifest:
apiVersion: v1
kind: Secret
metadata:
  name: aws-keys
  annotations:
    avp.kubernetes.io/path: "path/to/secret"
type: Opaque
stringData:
  AWS_ACCESS_KEY: <AWS_ACCESS_KEY>
  AWS_SECRET_ACCESS_KEY: <AWS_SECRET_ACCESS_KEY>

Configuration:
CMP Plugin Configuration:
avp:
  allowConcurrency: true
  discover:
    find:
      command:
        - sh
        - "-c"
        - "find . -name '*.yaml' | xargs -I {} grep \"<path\\|avp\\.kubernetes\\.io\" {} | grep ."
  generate:
    command:
      - argocd-vault-plugin
      - generate
      - "."
      - "-s"
      - "avp-conf"
  lockRepo: false

avp-helm:
  allowConcurrency: true
  discover:
    find:
      command:
        - sh
        - "-c"
        - "find . -name 'Chart.yaml' && find . -name 'values.yaml'"
  generate:
    command:
      - sh
      - "-c"
      - |
        helm template $ARGOCD_APP_NAME --include-crds -n $ARGOCD_APP_NAMESPACE ${ARGOCD_ENV_HELM_ARGS} . |
        argocd-vault-plugin generate -s avp-conf -
  lockRepo: false

Extra Containers Configuration:
- name: avp
  command: [/var/run/argocd/argocd-cmp-server]
  image: registry.access.redhat.com/ubi8
  securityContext:
    runAsNonRoot: true
    runAsUser: 999
  volumeMounts:
    - mountPath: /var/run/argocd
      name: var-files
    - mountPath: /home/argocd/cmp-server/plugins
      name: plugins
    - mountPath: /tmp
      name: cmp-tmp
    - mountPath: /home/argocd/cmp-server/config/plugin.yaml
      subPath: avp.yaml
      name: argocd-cmp-cm
    - name: custom-tools
      subPath: argocd-vault-plugin
      mountPath: /usr/local/bin/argocd-vault-plugin

- name: avp-helm
  command: [/var/run/argocd/argocd-cmp-server]
  image: registry.access.redhat.com/ubi8
  securityContext:
    runAsNonRoot: true
    runAsUser: 999
  volumeMounts:
    - mountPath: /var/run/argocd
      name: var-files
    - mountPath: /home/argocd/cmp-server/plugins
      name: plugins
    - mountPath: /tmp
      name: cmp-tmp
    - mountPath: /home/argocd/cmp-server/config/plugin.yaml
      subPath: avp-helm.yaml
      name: argocd-cmp-cm
    - name: custom-tools
      subPath: argocd-vault-plugin
      mountPath: /usr/local/bin/argocd-vault-plugin

Init Container Configuration:
- name: download-tools
  image: alpine:3.8
  command: [sh, -c]
  env:
    - name: AVP_VERSION
      value: "1.18.1"
  args:
    - >-
      wget -O argocd-vault-plugin
      https://github.com/argoproj-labs/argocd-vault-plugin/releases/download/v${AVP_VERSION}/argocd-vault-plugin_${AVP_VERSION}_linux_amd64 &&
      chmod +x argocd-vault-plugin &&
      mv argocd-vault-plugin /custom-tools/
  volumeMounts:
    - mountPath: /custom-tools
      name: custom-tools

Volumes:
# -- Additional volumeMounts to the repo server main container
volumeMounts:
  - name: custom-tools
    mountPath: /usr/local/bin/argocd-vault-plugin
    subPath: argocd-vault-plugin

# -- Additional volumes to the repo server pod
volumes:
  - name: custom-tools
    emptyDir: {}
  - name: argocd-cmp-cm
    configMap:
      name: argocd-cmp-cm
  - name: cmp-tmp
    emptyDir: {}

Thanks in advance for your help!

I’ve resolved the problem. The issue was with the image suggested in the documentation, it doesn’t include the Helm binary. After switching to an image that includes Helm, the problem was resolved.

i am getting the exact issue. can you share which image are you referring here


actions/init: add a new rule capable of initializing a wit workspace

This makes checking out a wit workspace a one-liner:
  - uses<EMAIL_ADDRESS>
If you want to run wake on the workspace, you can also specify an environment package like this:
 jobs:
   test:
     name: Scala compile
     runs-on: ubuntu-latest

     steps:
     - name: Wit Init
       uses<EMAIL_ADDRESS>       with:
         environment: git@github.com:sifive/environment-blockci-sifive.git::0.7.0

     - name: Run wake scala compile
       uses<EMAIL_ADDRESS>       with:
         command: -x 'compileScalaModule myScalaModule | getPathResult'

Once this is merged, I would greatly appreciate a new tag (v0.13.2) be assigned to the merge commit.

I've created a different PR for the v0.13.x branch, to take the tag off of.


add support for structured metadata

Update log_builder.ts
Added support for for structured metadata https://grafana.com/docs/loki/latest/reference/loki-http-api/#ingest-logs
Now its possible to pass structured metadata as simple as adding object meta, e.g.:
logger.info({ foo: 'bar', meta: { id: "123456" }}, "hello world");

Hey, thanks for the PR
I think it's going to be a breaking change, don't you? Maybe some people use a meta key today without specifically wanting it to be a structured metadata?
Maybe this feature should be opt-in? For example enableStructuredMetadata in the options? or a structuredMetadataKey to specify the key that would be used for structured metadata? What do you think?

not breaking  changes in general, but yeah, may impact in same cases. Probably you are right and its better to make an option of transport, e.g. like:
const transport = pino.transport<LokiOptions>({
  target: "pino-loki",
  options: {
    batching: true,
    interval: 5,
    meta: 'metaProp',
    host: 'https://my-loki-instance:3100',
    basicAuth: {
      username: "username",
      password: "password",
    },
  },
});

and later to use that option.
Can you do it? I decided to switch for pull in model and use promtail, so not sure I will use/need it now.


[FEATURE REQUEST] Epicli schema documentation

Is your feature request related to a problem? Please describe.
Currently there is NO schema documentation inside Epicli using jsonschema version 7.
Describe the solution you'd like
Add documentation inside the schema in the following folders: https://github.com/epiphany-platform/epiphany/tree/develop/schema
Describe alternatives you've considered
None
Additional context
We probably want to break this down into smaller stories because of the amount of documents and fields to cover stories.

DoD checklist

Changelog

[ ] updated
[ ] not needed

COMPONENTS.md

[ ] updated
[ ] not needed

Schema

[ ] updated
[ ] not needed

Backport tasks

[ ] created
[ ] not needed

Documentation

[ ] added
[ ] updated
[ ] not needed

[ ] Feature has automated tests
[ ] Automated tests passed (QA pipelines)

[ ] apply
[ ] upgrade
[ ] backup/restore

[ ] Idempotency tested
[ ] All conversations in PR resolved
[ ] Solution meets requirements and is done according to design doc
[ ] Usage compliant with license

Not going todo this anymore for Epiphany.


Video on landing page

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/dotnet-sdk-azure-virtual-machine-samples.md
:white_check_mark:Succeeded
View

docs-ref-conceptual/index.yml
:white_check_mark:Succeeded
View

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


fix for cartopy/wmts examples, solves #619

lot of examples out there making use of NASA's service (https://map1c.vis.earthdata.nasa.gov/wmts-geo/wmts.cgi) are broken. Based on chronology, I think it's related to changes in the WMTS service.
The problem OWSLib code is 5 years old and examples broke a few month ago.
Replacing the error by a warning solved the problem and gives the expected results.

@raphaeldussin @tomkralidis I'm not familiar with wmts ... but I would at least accept this as a workaround.

test failures are not related to this PR.

@raphaeldussin thanks :)


fix assignment mismatch

I didn't see an issue for it, so maybe it's just some weird dependency state that I have but this fixes:
lint/lint.go:1432: assignment count mismatch: 2 = 3

Your golang.org/x/tools/go/types is out of date.
Solution: go get -u golang.org/x/tools
This was reported before. Duplicates 105 103 99 97 93 92

ah weird I tried -u on golint itself, thanks!


Fixes #754: Allow redis+cluster prefix to valid cache store prefixes

I added the unit test to validate in an existing prefix test but I could see it becoming it's own test if there was a want to test all the valid prefixes.

I'm not convinced this allows redis clusters to even work as the docs lead me to believe were supported.  This is the initial fix for the config not allowing it though.

Looks like this was actually removed in 0.5.0


afFieldValueIs and AutoForm.getFieldValue not reactive with checkboxes

The helper returns true when the checkbox is initially checked, but doesn't return false when the checkbox is subsequently unchecked. Same behavior with AutoForm.getFieldValue.
<head>
  <title>test-checkbox</title>
</head>

<body>
  {{> hello}}
</body>

<template name="hello">
  {{#autoForm collection="FieldValueIs" type="insert" id="FieldValueIsForm"}}
    {{> afQuickField name="a"}}
    {{#if afFieldValueIs name="a" value=true}}
      {{> afQuickField name="b"}}
    {{/if}}
  {{/autoForm}}
</template>

FieldValueIs = new Mongo.Collection("FieldValueIs");
FieldValueIs.attachSchema(new SimpleSchema({
  a: {
    type: Boolean
  },
  b: {
    type: String
  }
}));

Hello!
I have also stumbled upon this buggy behavior in autoform.
The only workaround I have found so far is set a Session variable on click event if I want to dynamically change properties in the schema:

//hello.js

Template.hello.events({
  "click #a": function() {
    Session.set('form_a_Option', AutoForm.getFieldValue('a', 'FieldValueIsForm'));
  }
});

//colleciton.js

FieldValueIs = new Mongo.Collection("FieldValueIs");
FieldValueIs.attachSchema(new SimpleSchema({
  a: {
    type: Boolean
  },
  b: {
    type: String,
    autoform: {
      type: function() {
        if(!Session.get('form_a_Option'))
          return "hidden";

        return "";
      }
    }
  }
}));

or write a custom helper for hello template

Template.hello.helpers({
  is_a_OptionYes: function() {
    return AutoForm.getFieldValue('a');
  }
});

The examples here assume an id "a" is assigned to the appropriate field i "hello" template:
{{#if afFieldValueIs name="a" id="a" value=true}}

Confirmed, I'll see if I can diagnose and PR a fix.

This is fixed in #889, monitor that pull request to see when the package is updated.

Faced with the same problem.
Am I right that we're waiting until @aldeed will accept pull request?

ditto - getting the same issue.

ditto

+1

ditto

Why is it so awfully quite on this package. I saw a couple of pull requests with bug fixes but nothing is happening. I rely heavily on this package. Is everything ok with Aldeed.... Does anybody know.

Waiting for PR to pull through as well.

or write a custom helper for hello template
//hello.js
Template.hello.helpers({
is_a_OptionYes: function() {
return AutoForm.getFieldValue('a');
}
});

This approach doesn't work in a same way template helper doesn't. It triggers just once.

Just felt this bite me too!  Why is there no response on this package to pull requests? -- so many people depend on it now...

I have been struggling with this as well. marktomm's  first work around is what I am doing for now, when the form #id is clicked, I set a Session variable with the AutoForm getFieldValue for the boolean, and then use this for a template #if helper. It works, just a little clunky.

I also have an issue with afFieldValueIs and AutoForm.getFieldValue. Don't know if it is really related to checkboxes. It seems that afFieldValueIs is not picking up the data in an update-form. I am too much of a noob to understand this has something to do with reactivity. Probably. I tried to trace it, for what it is worth, and described the thing in #877.
Since I have over 200 input fields, a very complicated form and a lot of conditional questions this work-around will cost me more time than downgrading to 4.2.2. So that's what I did. All is fine now.
Apparently Aldeed is busy on his meteor-rest package. I sympathise with the rant in #877. Meteor-autoform is widely used by a lot of people. Right now it has 12 pull requests and nothing significant has been done for a while. I don't completely understand how all of this works. So maybe this is bullshit, but it would sure be nice if more people could help out on this and accept pull requests. It looks like we are waiting for a person who's workload is over level asian.

I am keeping my fork up to date for now until @aldeed steps back into the ring. I will accept PR's at my fork (https://github.com/abecks/meteor-autoform/) and hopefully merge back when he returns.

:+1:

+1


[R] Error on Table Merging in arrow for R

Describe the bug, including details regarding any error messages, version, and platform.
Hi developers.
I'm having an issue where I'm trying to use full_join() on two tables (subset from the same data but filtered and operated on and appended to save memory), but it keeps throwing the following error:
Error: NotImplemented: Function 'coalesce' has no kernel matching input types (numeric(0)
attr(,"class")
[1] NA, numeric(0)
attr(,"class")

Specifically, it looks something like the following:
library(arrow)
library(tidyverse)
library(fastDummies)

  temp <- open_csv_dataset(sources = cohort_csvs) %>% compute()

  Subs <- data.frame(temp %>% distinct(key) %>% collect())

  for (Subnum in 1:dim(Subs)[1]) {
    out <-
      data.frame(temp %>% filter(key == Subs[Subnum, ]) %>% collect())
      out[is.na(out)] <- 'NA'
      out$tags <- 'NA'
      out <-
        dummy_cols(
          out,
          select_columns = "terms",
          remove_selected_columns = FALSE,
          omit_colname_prefix = TRUE
        )
      out <-
        dummy_cols(
          out,
          select_columns = "tags",
          remove_selected_columns = FALSE,
          omit_colname_prefix = TRUE
        )
      if (Subnum == 1){
        Out_table <- arrow_table(out)
      } else {
        Out_table <-Out_table %>% full_join(out)
        }

However, when it reaches past the first part of the loop to the full join, it throws the error regardless of the call used to make the full_join():
Out_table %>% full_join(out)
Error: NotImplemented: Function 'coalesce' has no kernel matching input types (numeric(0)
attr(,"class")
[1] NA, numeric(0)
attr(,"class")
[1] NA)

full_join(Out_table,arrow_table(out))
Error: NotImplemented: Function 'coalesce' has no kernel matching input types (numeric(0)
attr(,"class")
[1] NA, numeric(0)
attr(,"class")
[1] NA)

full_join(Out_table,out)
Error: NotImplemented: Function 'coalesce' has no kernel matching input types (numeric(0)
attr(,"class")
[1] NA, numeric(0)
attr(,"class")
[1] NA)

It will not however, throw any error or display issues with left, right, inner, semi, or anti join.
I kind of need all columns to be retained during the joining, even if as NAs.
Any idea what might be causing the issue?
Version info:
OS:
NAME="Red Hat Enterprise Linux Server"
VERSION="7.9 (Maipo)"
R Version:
R version 4.2.1 (2022-06-23) -- "Funny-Looking Kid"
RStudio Version:
RStudio Server 2022.07.0 Build 548
Session Info:
sessionInfo()
R version 4.2.1 (2022-06-23)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Red Hat Enterprise Linux

Matrix products: default
BLAS/LAPACK: /usr/lib64/libopenblasp-r0.3.3.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8    LC_PAPER=en_US.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices datasets  utils     methods   base

other attached packages:
 [1] lubridate_1.9.0   timechange_0.1.1  rmarkdown_2.18    here_1.0.1        fastDummies_1.7.3 arrow_<IP_ADDRESS>
 [7] data.table_1.14.6 toolbox_0.1.0     janitor_2.2.0     forcats_0.5.2     stringr_1.4.1     dplyr_1.0.10
[13] purrr_0.3.5       readr_2.1.3       tidyr_1.2.1       tibble_3.1.8      ggplot2_3.4.0     tidyverse_1.3.2

loaded via a namespace (and not attached):
 [1] httr_1.4.4          vroom_1.6.0         bit64_4.0.5         jsonlite_1.8.3      viridisLite_0.4.1   splines_4.2.1
 [7] modelr_0.1.10       assertthat_0.2.1    pander_0.6.5        renv_0.16.0         googlesheets4_1.0.1 cellranger_1.1.0
[13] yaml_2.3.6          pillar_1.8.1        backports_1.4.1     lattice_0.20-45     glue_1.6.2          digest_0.6.30
[19] rvest_1.0.3         snakecase_0.11.1    colorspace_2.0-3    htmltools_0.5.5     Matrix_1.5-3        survey_4.1-1
[25] pkgconfig_2.0.3     broom_1.0.1         haven_2.5.1         scales_1.2.1        webshot_0.5.4       svglite_2.1.0
[31] tzdb_0.3.0          googledrive_2.0.0   generics_0.1.3      tictoc_1.1          ellipsis_0.3.2      DT_0.26
[37] withr_2.5.0         cli_3.4.1           survival_3.3-1      magrittr_2.0.3      crayon_1.5.2        readxl_1.4.1
[43] evaluate_0.18       fs_1.5.2            fansi_1.0.3         xml2_1.3.3          tableone_0.13.2     tools_4.2.1
[49] mitools_2.4         hms_1.1.2           gargle_1.2.1        lifecycle_1.0.3     munsell_0.5.0       reprex_2.0.2
[55] kableExtra_1.3.4    compiler_4.2.1      systemfonts_1.0.4   rlang_1.1.2         grid_4.2.1          rstudioapi_0.14
[61] htmlwidgets_1.6.0   gtable_0.3.1        DBI_1.1.3           R6_2.5.1            knitr_1.41          bit_4.0.5
[67] fastmap_1.1.0       utf8_1.2.2          rprojroot_2.0.3     stringi_1.7.8       parallel_4.2.1      Rcpp_1.0.9
[73] vctrs_0.6.4         dbplyr_2.2.1        tidyselect_1.2.0    xfun_0.35

Component(s)
R

Hi @TPDeramus as was asked in your StackOverflow post, a way for us to reproduce this would be best. The error message you're getting is very strange. Normally it looks like this:

NotImplemented: Function 'coalesce' has no kernel matching input types (int32, string)

If you aren't able to provide a reproducible example, adding a browser() statement before the line of code with the full_join and taking a close look at the arguments might give us some clues as to what's going on here.

Apologies but I am not well versed in the implementations of browser().
And it's doubly problematic because this is not always thrown as a typical error.
Occasionally (but not always), if passed to a variable, its saved as a list item containing the error:
> Out_table
Error: NotImplemented: Function 'coalesce' has no kernel matching input types (numeric(0)
attr(,"class")
[1] NA, numeric(0)
attr(,"class")
[1] NA)
> typeof(Out_table)
[1] "list"

But the example I have that works is also a list:
> Dummytable
Table (query)
ID: string (coalesce(ID.x, ID.y))
String: string (coalesce(String.x, String.y))
Value_A: int32
Value_F: int32
Value_G: int32
Value_K: int32
Value_B: int32
Value_C: int32
Value_L: int32
Value_H: int32
Value_M: int32
Value_D: int32
Value_I: int32
Value_N: int32 (coalesce(Value_N.x, Value_N.y))
Value_E: int32
Value_J: int32

See $.data for the source Arrow object
> typeof(Dummytable)
[1] "list"

As such, it's hard to debug via rlang::last_trace() and the like because it is not read as something that can be traced in the terminal, and in browser() it will frequently not report as an error and simply continue or exit the browser() session as if it proceeded without an error.
However, from what I was able to gather within at least one session of browser() from a call to Out_table %>% full_join(out), this was the order of the commands:
Error: NotImplemented: Function 'coalesce' has no kernel matching input types (numeric(0)
attr(,"class")
[1] NA, numeric(0)
attr(,"class")
[1] NA)
10. compute___expr__type(self, schema)
9. .$type(old_schm)
8. .f(.x[[i]], ...)
7. map(.data$selected_columns, ~.$type(old_schm))
6. implicit_schema(x)
5. collapse.arrow_dplyr_query(x)
4. do_join(x, y, by, copy, suffix, ..., keep = keep, join_type = "FULL_OUTER")
3. full_join.arrow_dplyr_query(., out)
2. full_join(., out)
1. Out_table %>% full_join(out)

Interestingly enough, when I made the following changes to the code:
library(arrow)
library(tidyverse)
library(fastDummies)

  temp <- open_csv_dataset(sources = cohort_csvs) %>% compute()

  Subs <- data.frame(temp %>% distinct(key) %>% collect())

  for (Subnum in 1:dim(Subs)[1]) {
    out <-
      data.frame(temp %>% filter(key == Subs[Subnum, ]) %>% collect())
      out[is.na(out)] <- 'NA'
      out$tags <- 'NA'
      out <-
        dummy_cols(
          out,
          select_columns = "terms",
          remove_selected_columns = FALSE,
          omit_colname_prefix = TRUE
        )
      out <-
        dummy_cols(
          out,
          select_columns = "tags",
          remove_selected_columns = FALSE,
          omit_colname_prefix = TRUE
        )
      if (Subnum == 1){
        Out_table <- arrow_table(out)
      } else {
        #Out_table <-Out_table %>% full_join(out)
        Out_table %>% full_join(out)
        }

And just didn't assign it to a variable at all, it ran just fine.
This seems to happen when Subnum hits a value of 3, giving me the impression it's not quite sure what to do with the NA values once it hits the third table to be joined.
Do you think this can be addressed with some call to fill.null or similar?
https://arrow.apache.org/docs/python/generated/pyarrow.compute.fill_null.html

Okay scratch that.
The error will happen as soon as the second iteration. Probably just a typo from troubleshooting on my part.

I think a reprex is needed here. Even if you can't share your input files, finding a minimal sample of your data.frames that reproduces the issue and sharing them some way (attachments, dput, etc) would be good. And maybe others will chime in here with ideas for figuring out what's going on here.

Had a discussion with the parties involved and the general consensus is that sharing the data is not an option and that due to the size, making sure everything is adequately removed is likely not feasible.
However, I was given the okay to set up an interactive meeting for troubleshooting if that's something anyone on the team would be open to.

Interesting.
Anyway I could explore this via debugging?

Hi @TPDeramus, to try out @paleolimbot's idea, you should be able to use debug() which will let you give us some more diagnostic information. Since you're working with sensitive data, I'll leave it to you to anonymize or censor what you need.
If you could do these steps and report back that'd be helpful:

After loading packages but prior to running your for loop or whatever code calls full_join, run debug(arrow:::post_join_projection). The prompt should return with no output.
Run your code that executes the troublesome full_join
Instead of the normal output, your prompt should change from > to Browse[2]>  and, at least in RStudio, you'll see a new editor tab open with the body of post_join_projection.
In the Browse[2] prompt, execute these statements and share their output here:

left_names
right_names
by
suffix
data.frame(left_index = match(by, left_names), right_index = match(by, right_names))

I'll look into that and provide an update when I have a moment.
That said, if the object is something preventing joining, do you think there's a relatively straightforward way to edit the schema to fix this?
Thanks so much @paleolimbot!


Please verify that if you'd use the code as the following if (uniform_location) which conversion it'd use, the bool one or the s32 one

          Please verify that if you'd use the code as the following if (uniform_location) which conversion it'd use, the bool one or the s32 one

Originally posted by @RisingLiberty in https://github.com/Dyronix/Rex/pull/19#discussion_r1110117820

The following function is use =>
//-------------------------------------------------------------------------
explicit operator bool() const
{
  return m_location != -1;
}


feat: bump release level to production/stable

Fixes #6 🦕
Release-As: 1.0.0

Wait until November 30th due to holiday release freeze.


Allow WARTHOG_DB_URL config option that sets all DB config

Added in v3 beta branch: https://github.com/goldcaddy77/warthog/pull/419


chore: update more deps

SSIA
Only deps bumps no other changes unless a code change is needed by a failing test.

I just wonder why this pulled so many new libraries. Not a blocker, but certainly a bit annoying.

I did nothing but go get -u of the particular packages. I could not do ./... because there are at least two incompatible upstream dependencies which already require Go 1.21, prometheus to name one. Not sure what you mean by new dependencies, only transitive deps were added you cannot do anything with this, directs stay the same:
require (
	github.com/BurntSushi/toml v1.3.2
	github.com/aws/aws-sdk-go v1.50.36
	github.com/deepmap/oapi-codegen v1.16.2
	github.com/getkin/kin-openapi v0.123.0
	github.com/getsentry/sentry-go v0.27.0
	github.com/google/uuid v1.6.0
	github.com/jackc/pgx/v5 v5.5.5
	github.com/joho/godotenv v1.5.1
	github.com/labstack/echo/v4 v4.11.4
	github.com/labstack/gommon v0.4.2
	github.com/oapi-codegen/runtime v1.1.1
	github.com/osbuild/community-gateway/oidc-authorizer v0.0.0-20240117171535-401ddadefd40
	github.com/osbuild/osbuild-composer/pkg/splunk_logger v0.0.0-20231117174845-e969a9dc3cd1
	github.com/prometheus/client_golang v1.15.1
	github.com/redhatinsights/app-common-go v1.6.7
	github.com/redhatinsights/identity v0.0.0-20220719174832-36a7b1cbeff1
	github.com/redhatinsights/platform-go-middlewares v1.0.0
	github.com/sirupsen/logrus v1.9.3
	github.com/stretchr/testify v1.9.0
)

I just rebased a upgrade of openapi generator to v2, they broke the main package into many smaller packages so this is expected, it brought quite a lot of new ones.

Additional change - I have broken the "build" make target into individual binaries so during "DB check" GHA only relevant binary can be built. Then I moved building of all artifacts into more appropriate "tests" GHA where it will be cached together with the linter = faster build times.

All done.
Re: "so many libraries" - do you mean this?
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=

I was updating on a one-by-one basis and since go.sum is "add-only" file, the tools never remove lines from this file AFAIK, more than one version was likely added.
Anyways, this is ready for review now.

I just wonder why this pulled so many new libraries. Not a blocker, but certainly a bit annoying.

I also don't feel it's that much, just couple of additions.


What to do with new_world branch

There is an unmerged branch here:
https://github.com/ImmobilienScout24/yamlreader/tree/new_world
@schlomo @snordhausen @mriehl

Seems like it is at least partially a conversion to pybuilder?

Also, it seems like the target directory has been checked in..

I say trash it - the project is very simple and code is mostly frozen due to feature-completeness. There's too much work required to make the branch usable and it's just not worth it.

I see a value in a yamlreader CLI tool that just pretty prints the merged
YAML.
So far I use python -Myamlreader ...to check my YAML configs.
Having yamlreader as Pypi installable would solve both problems: Have
yamlreader as library and simple way to install the CLI tool.
On 8 July 2015 at 15:41, Maximilien Riehl<EMAIL_ADDRESS>wrote:

I say trash it - the project is very simple and code is mostly frozen due
to feature-completeness. There's too much work required to make the branch
usable and it's just not worth it.
—
Reply to this email directly or view it on GitHub
https://github.com/ImmobilienScout24/yamlreader/issues/2#issuecomment-119582528
.

To clarify: I meant trash the branch (new_world), not the tool. I also see value in the yamlreader project being on PyPi as a standalone.

Is there nothing in the new_world branch worth keeping, it seems to have a different implementation of the yamlreader.

Afaik it's just the old implementation.

and 'old' implementation in a 'new_world' branch?!

Well it's old... and the new_world wording was about the build process (setup.py -> build.py) not the functionality

hrmpf

Hi Guys!
Just trash it, it was totally unfinished.

Hi!
I just deleted the branch.


👓 suggested changes for guides review

some changes to the guides after initial walkthrough and review. Some typos corrected but also some additional links and content. We use tutorial and guide interchangeably which is a little confusing a first -- that motivated some of the earlier changes.

Thanks @stevejpurves, I have taken the commit from here and moved it over to a branch: #152
I will take these and make some improvements directly rather than through a fork (I think you have edit rights on this repo?!). There are a couple other inconsistencies that I noticed as well!