"Failed to compile fragment shader: 0:2(1): error: No precision specified in this scope for type `vec2'" with Flutter 3.22

Steps to reproduce
Run a Flutter app on a Raspberry Pi arm64.
Expected results
Rendered app.
Actual results
The app is black and this is logged:
WARNING **: 13:47:43.682: Failed to compile fragment shader: 0:2(1): error: No precision specified in this scope for type `vec2'
WARNING **: 13:47:43.683: Failed to link program: error: linking with uncompiled/unspecialized shader

Code sample
Just the hello_world app

Also occurs on x64 ubuntu 22 / ubuntu core with snap packaging of the flutter app

@hlvs-apps FYI here's a workaround I've applied to one of our snaps:
https://github.com/canonical/ubuntu-frame/pull/191/commits/e149fa75c8e1b96ef4a0d3df82908150e5c18937
Using flutter-channel: master would work, too - as that's not using the shader path any more.

Steps to Reproduce

Set up your development environment:

Ensure you have a Raspberry Pi with an ARM64 architecture.
Install the necessary dependencies for Flutter on your Raspberry Pi.

Install Flutter:

Follow the official Flutter installation guide to set up Flutter on your Raspberry Pi.

Create a simple Flutter app:

Use the Flutter command to create a new Flutter project:flutter create hello_world

Run the Flutter app:

Navigate to the newly created project directory:cd hello_world

Run the Flutter app on your Raspberry Pi:flutter run

Expected Results

The Flutter app should render correctly, displaying the "Hello, World!" message.

Actual Results

The app screen is black, and the following warning is logged:WARNING **: 13:47:43.682: Failed to compile fragment shader: 0:2(1): error: No precision specified in this scope for type `vec2'
WARNING **: 13:47:43.683: Failed to link program: error: linking with uncompiled/unspecialized shader

Analysis and Solution
The warnings indicate that there is an issue with the shader compilation on the Raspberry Pi, specifically related to the precision qualifiers in GLSL (OpenGL Shading Language).
Solution Steps

Modify Shader Code:

Ensure that the fragment shaders include precision qualifiers for the vec2 type.
Locate the shader code within your Flutter project or Flutter engine source. This might be in the flutter/engine repository if you're building from source.

Patch the Shader Code:

Add the appropriate precision qualifier to the fragment shader code. For instance:
precision mediump float;

Example of how to modify a fragment shader:
#version 300 es
precision mediump float;
layout(location = 0) out vec4 fragColor;

in vec2 v_texCoord;

uniform sampler2D u_texture;

void main() {
  fragColor = texture(u_texture, v_texCoord);
}

Rebuild the Flutter Engine:

If you modified the shader code in the Flutter engine, you will need to rebuild the Flutter engine for ARM64.
Follow the official Flutter guide to build the engine from source for ARM64.

Deploy the Updated Engine:

Replace the existing Flutter engine on your Raspberry Pi with the newly built engine that includes the shader fixes.

Run the App Again:

Retry running your Flutter app to ensure the shader compilation issue is resolved.

Example Code
Here's a hypothetical example demonstrating how to specify the precision qualifier in a fragment shader. Ensure your shaders follow a similar pattern:
// Example fragment shader with precision qualifier
#version 300 es
precision mediump float;

in vec2 v_texCoord;
out vec4 fragColor;

uniform sampler2D u_texture;

void main() {
  fragColor = texture(u_texture, v_texCoord);
}

Conclusion
By adding the precision qualifiers to your GLSL fragment shaders and rebuilding the Flutter engine, you can resolve the shader compilation errors and successfully run Flutter apps on a Raspberry Pi ARM64. Ensure you thoroughly test the modified shaders on your target hardware to confirm the fix.

Also occurs with Flutter 3.24.0, blocking me from updating to the next flutter version since months...

So it works on master and not on flutter 3.24?

This is now fixed on Flutter master and 3.24.


Learning rate scheduling

I noticed particularly when training big nets that the default learning rate mechanism is pretty inefficient.  By and large, after the initial burn in and first rate drop, the system spends at most one fruitful epoch at each learning rate before having to backtrack.  The "newbob" rate schedule is probably more efficient than the default (which is typically flat until no improvement, then halves until no improvement, then stops).  One could have the same burn-in period as well.
I'm planning to implement a separate learning rate scheduler module that can be switched in, which will allow for different implementations.  I'll keep the current as a default, but we may want to consider switching to newbob at some point.
Plus I love the idea of "newbob" continuing to live on...

That would be great. Newbob came out of ICSI, right? Did you do it?

On Aug 23, 2018, at 8:21 AM, Eric Fosler-Lussier<EMAIL_ADDRESS>wrote:
I noticed particularly when training big nets that the default learning rate mechanism is pretty inefficient. By and large, after the initial burn in and first rate drop, the system spends at most one fruitful epoch at each learning rate before having to backtrack. The "newbob" rate schedule is probably more efficient than the default (which is typically flat until no improvement, then halves until no improvement, then stops).
I'm planning to implement a separate learning rate scheduler module that can be switched in, which will allow for different implementations. I'll keep the current as a default, but we may want to consider switching to newbob at some point.
Plus I love the idea of "newbob" continuing to live on...
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/srvk/eesen/issues/195, or mute the thread https://github.com/notifications/unsubscribe-auth/AEnA8WOY8k8nuTenjJc381zXqm8GsQJzks5uTp4wgaJpZM4WJaYi.

ICSI, yes, but It wasn't me - it was a programmer that Morgan had hired back when we had a NN trainer called BoB (Boxes of Boxes).  He discovered the same kind of trend and just made "newbob" the default since it was the second thing he tried.  The name carried over when Dave coded up quicknet.
I just finished the --roll deprecation; I'll code this up today and test it out, and then "roll" those two changes together once the other pull request gets sorted out.

Yep, that seems about right.  What is D?
How about this:

add --lrate_algorithm to specify which lrscheduler to use
we change --lrate to --lrate_spec (to allow older code to use the default flags)
the interpretation of --lrate_spec is particular to each lrscheduler (could be a config file, etc)

I'm about halfway through factorizing the code (called the old lrscheduler "Halvesies").

Created pull request #198 which implements the new lrscheduler objects.

awesome. Thank you very much again Eric. Will merge it now thanks.
There is one thing that keeps buzzing me. When restarting the training, should we not consider the previous TER? To know in which point are we in the ramping phase?

Heh.  What I did was tag the particular lrscheduler messages in the log file so you know what phase you're in - the log files are read at the same time as the TER is recalculated from the relevant log file.  For example (pulled from the output rather than the log file, using a rather odd set of parameters since I was making sure that stuff worked right):
[2018-08-24 15:39:32] Epoch 1 starting, learning rate: 0.06
[2018-08-24 15:39:57] Epoch 1 finished in 0 minutes
                Train    cost: 303.2, ter: 87.7%, #example: 297
                Validate cost: 182.0, ter: 88.9%, #example: 30
[2018-08-24 15:39:57] LRScheduler.Newbob: not updating learning rate for first 3 epochs
--------------------------------------------------------------------------------
[2018-08-24 15:39:57] Epoch 2 starting, learning rate: 0.06
[2018-08-24 15:40:21] Epoch 2 finished in 0 minutes
                Train    cost: 206.1, ter: 89.1%, #example: 297
                Validate cost: 117.2, ter: 92.8%, #example: 30
[2018-08-24 15:40:21] LRScheduler.Newbob: not updating learning rate for first 3 epochs
--------------------------------------------------------------------------------
[2018-08-24 15:40:21] Epoch 3 starting, learning rate: 0.06
[2018-08-24 15:40:45] Epoch 3 finished in 0 minutes
                Train    cost: 166.3, ter: 94.2%, #example: 297
                Validate cost: 140.0, ter: 97.3%, #example: 30
[2018-08-24 15:40:45] LRScheduler.Newbob: not updating learning rate for first 3 epochs
--------------------------------------------------------------------------------
[2018-08-24 15:40:45] Epoch 4 starting, learning rate: 0.06
[2018-08-24 15:41:10] Epoch 4 finished in 0 minutes
                Train    cost: 154.5, ter: 96.6%, #example: 297
                Validate cost: 108.3, ter: 96.4%, #example: 30
[2018-08-24 15:41:10] LRScheduler.Newbob: learning rate remaining constant 0.06, TER improved 0.9% from epoch 3
--------------------------------------------------------------------------------
[2018-08-24 15:41:10] Epoch 5 starting, learning rate: 0.06
[2018-08-24 15:41:34] Epoch 5 finished in 0 minutes
                Train    cost: 143.0, ter: 94.7%, #example: 297
                Validate cost: 97.5, ter: 98.3%, #example: 30
[2018-08-24 15:41:34] LRScheduler.Newbob: beginning ramping to learn rate 0.045, TER difference -1.9% under threshold 0.0% from epoch 4
restoring model from epoch 4
--------------------------------------------------------------------------------
[2018-08-24 15:41:35] Epoch 6 starting, learning rate: 0.045
[2018-08-24 15:41:59] Epoch 6 finished in 0 minutes
                Train    cost: 143.2, ter: 94.8%, #example: 297
                Validate cost: 107.6, ter: 96.2%, #example: 30
[2018-08-24 15:41:59] LRScheduler.Newbob: learning rate ramping to 0.03375, TER improved 0.3% from epoch 4
--------------------------------------------------------------------------------
[2018-08-24 15:41:59] Epoch 7 starting, learning rate: 0.03375
[2018-08-24 15:42:23] Epoch 7 finished in 0 minutes
                Train    cost: 140.8, ter: 95.6%, #example: 297
                Validate cost: 104.7, ter: 97.2%, #example: 30
[2018-08-24 15:42:23] LRScheduler.Newbob: stopping training, TER difference -1.0% under threshold 0.0% from epoch 6
restoring model from epoch 6

(Basically, the idea occurred to me when I saw the code looking for VALIDATE tags at restart to get the TER.)

Updated with a patch to the newbob scheduler (#202); closing the issue.


Vidloop: fix Windows compilation

Recently commit https://github.com/alfredh/baresip/commit/1e9152d8d9c004d2d55c543018135fcbfee04918 was added. As you know, there is no pthreads on Windows :) So this PR make compilation available.
Implementation was received from this gist

many thanks for the PR.
in commit  117e4e1bec0c53f21ff6e5cab5d9c8b327aa74b2 I have changed the vidloop
from using pthread mutex to a portable "struct lock" from libre.
I believe this is a better solution and will make it compile on all platforms.
Alfred

Thank you! This solution is much better


Migrate cli for Tendermint

With Tendermint integration some of the cli sub-commands have been rendered obsolete. It would be only appropriate to remove those sub-commands.

[x] Submit a proposal on how this problem will be handled.
[x] Implement the accepted proposal.(Core changes)
[x] Update the documentation.

Submit a proposal on how this problem will be handled. is taken care of by #1976

@muawiakh - Can this issue be closed? - "Migrate cli for Tendermint" -  #2087

Yes.


feat(#23): create pipeline dir

closes #23

PR-Codex overview
The focus of this PR is to add a test case for the PreFilter class in the objects/pre_filter.py file.
Detailed summary

Added a test case for PreFilter
Included license information
Imported necessary modules in the test file
Implemented setup and teardown methods
Added a test to check if pipeline directory is created

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

@rultor merge

@rultor merge

@h1alexbel Done! FYI, the full log is here (took me 8min)


Under "Set Prices for Sub-agent"  after click on the "Update Button" ,"Select sub-agent" Field still fill with existing data.(Agent Panel)

Description of the bug
Under "Set Prices for Sub-agent"  after click on the "Update Button" ,"Select sub-agent" Field still fill with existing data.
Steps to reproduce the behavior:

Go to 'https://www.pulseptt.com/agent.html'
Login with valid credential:- 1. User name: john 2. Password: 12345678
Navigate to Sub-agent Management.
Click on Set Prices for Sub-agents.
Select Sub-agent "Georgia"
Enter Prices in All Fields.
Click on Update Button.
See error.

Expected behavior
After click on the Update button the Field "select sub-agent" should show Blank.
Screenshots

Desktop (please complete the following information):
OS: Windows 10
Browser :Version 100.0.4896.60 (Official Build) (64-bit)
Version [0.1.1]

This bug is still same.


Compile Error: Undefined symbols:   "OBJC_CLASS$_FIRVisionObjectDetectorOptions"

Selecting Product > Archive in Xcode 10.2.1 in MacOS 10.14.4 produces an error. I followed all the direction in the GitHub Readme and did not modify the code at all. The purpose of the archiving action was to distribute via App Store Connect testflight.

Hi Glenn,
Can I know the device you are running against? This API only supports 64-bit devices, so if you are running against a 32-bit device, it will raise an issue.
https://firebase.google.com/docs/ml-kit/ios/detect-objects
Note: ML Kit's object detection and tracking API only runs on 64-bit devices. If you build your app with 32-bit support, check the device's architecture before using this API.

@miworking this is when I attempt to compile for archiving, to distribute via the iOS app store, so there is no device. To reproduce simply install the iOS app via the readme instructions, then click Product on the top menu bar, then click Archive.
My computer is a 2018 MacBook Pro.

Can you help to post a snapshot of the Info.plist you are using?
This field might needs to be taken extra care of:
UIRequiredDeviceCapabilities

arm64

@miworking here is GoogleService-Info.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CLIENT_ID</key>
	<string>429863830388-r0a9lk16lunvlnlcreefiag6quilr4oj.apps.googleusercontent.com</string>
	<key>REVERSED_CLIENT_ID</key>
	<string>com.googleusercontent.apps.429863830388-r0a9lk16lunvlnlcreefiag6quilr4oj</string>
	<key>API_KEY</key>
	<string>AIzaSyAQi3nytjbkEUKRfEN2oK3CDVrF-1yqMvo</string>
	<key>GCM_SENDER_ID</key>
	<string>429863830388</string>
	<key>PLIST_VERSION</key>
	<string>1</string>
	<key>BUNDLE_ID</key>
	<string>com.myfirstshowcaseapp.test</string>
	<key>PROJECT_ID</key>
	<string>wer-ios-odt</string>
	<key>STORAGE_BUCKET</key>
	<string>wer-ios-odt.appspot.com</string>
	<key>IS_ADS_ENABLED</key>
	<false></false>
	<key>IS_ANALYTICS_ENABLED</key>
	<false></false>
	<key>IS_APPINVITE_ENABLED</key>
	<true></true>
	<key>IS_GCM_ENABLED</key>
	<true></true>
	<key>IS_SIGNIN_ENABLED</key>
	<true></true>
	<key>GOOGLE_APP_ID</key>
	<string>1:429863830388:ios:4125775c19641dd8</string>
	<key>DATABASE_URL</key>
	<string>https://wer-ios-odt.firebaseio.com</string>
</dict>
</plist>

And here is the normal Info.plist (should this one be removed or replaced with the GoogleService-Info.plist?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>UIStatusBarHidden</key>
	<false/>
	<key>CFBundleDevelopmentRegion</key>
	<string>en</string>
	<key>CFBundleExecutable</key>
	<string>$(EXECUTABLE_NAME)</string>
	<key>CFBundleIdentifier</key>
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>$(PRODUCT_NAME)</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleShortVersionString</key>
	<string>1.0</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleVersion</key>
	<string>1</string>
	<key>LSRequiresIPhoneOS</key>
	<false/>
	<key>UILaunchStoryboardName</key>
	<string>LaunchScreen</string>
	<key>UIRequiredDeviceCapabilities</key>
	<array>
		<string>arm64</string>
	</array>
	<key>UISupportedInterfaceOrientations</key>
	<array>
		<string>UIInterfaceOrientationPortrait</string>
	</array>
	<key>NSCameraUsageDescription</key>
	<string>$(PRODUCT_NAME) showcase</string>
	<key>UIBackgroundModes</key>
	<array>
		<string>fetch</string>
	</array>
</dict>
</plist>

The directory structure of the two looks like this:

Hi Glenn,
I'm able to reproduce this error, and get around it by removing "armv7" from the list, can you have a try with this?

We will also check to see if we need to update this setting in the project.
Thanks a lot for reporting this!

Closing since this hasn't seen a new reply in a while.

Also reproduced on the ShowcaseApp (you could try to archive it to reproduce the bug). Solved only by removing armv7 architecture.

I am still facing this issue while archiving ipa in Xamarin solution. Though , I was able to fix these kind of errors by adding additional MTOUCH argument in build settings --registrar:dynamic
All such errors disappeared.
=== Visual Studio Professional 2019 for Mac ===
Version 8.5.4 (build 12)
Installation UUID: 3e9ee96a-5b8b-4cf4-9336-cd2507e01ce0
GTK+ 2.24.23 (Raleigh theme)
Xamarin.Mac <IP_ADDRESS> (d16-5 / 30e8706b4)
Package version: 608000123

=== Mono Framework MDK ===
Runtime:
Mono <IP_ADDRESS> (2019-10/1d0d939dc30) (64-bit)
Package version: 608000123
=== Roslyn (Language Service) ===
3.5.0-beta4-20125-04+1baa0b3063238ed752ad1f0368b1df6b6901373e
=== NuGet ===
Version: <IP_ADDRESS>15
=== .NET Core SDK ===
SDK: /usr/local/share/dotnet/sdk/3.1.200/Sdks
SDK Versions:
3.1.200
3.0.100
2.1.701
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/6.8.0/lib/mono/msbuild/Current/bin/Sdks
=== .NET Core Runtime ===
Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
3.1.2
3.0.0
2.1.16
2.1.13
2.1.12
=== Xamarin.Profiler ===
Version: <IP_ADDRESS>
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler
=== Updater ===
Version: 11
=== Xamarin Designer ===
Version: <IP_ADDRESS>1
Hash: 35aa4889d
Branch: remotes/origin/d16-5
Build date: 2020-02-25 00:52:08 UTC
=== Xamarin.Android ===
Version: <IP_ADDRESS> (Visual Studio Professional)
Commit: xamarin-android/d16-5/988c811
Android SDK: /Users/vahidahavaldar/Library/Android/sdk
Supported Android versions:
6.0 (API level 23)
8.0 (API level 26)
SDK Tools Version: 26.1.1
SDK Platform Tools Version: 30.0.0
SDK Build Tools Version: 29.0.3
Build Information:
Mono: c0c5c78
Java.Interop: xamarin/java.interop/d16-5@fc18c54
ProGuard: xamarin/proguard/master@905836d
SQLite: xamarin/sqlite/3.28.0@46204c4
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-5@9f4ed4b
=== Microsoft Mobile OpenJDK ===
Java SDK: /Users/vahidahavaldar/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_<IP_ADDRESS>
1.8.0-25
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL
=== Android SDK Manager ===
Version: <IP_ADDRESS>
Hash: 6fb4c79
Branch: remotes/origin/d16-5
Build date: 2020-04-15 20:49:08 UTC
=== Android Device Manager ===
Version: <IP_ADDRESS>
Hash: 49194e8
Branch: remotes/origin/d16-5~1
Build date: 2020-04-15 20:49:28 UTC
=== Apple Developer Tools ===
Xcode 11.4 (16134)
Build 11E146
=== Xamarin.Mac ===
Version: <IP_ADDRESS> (Visual Studio Professional)
Hash: b75deaf82
Branch: d16-5-xcode11.4
Build date: 2020-04-01 21:33:18-0400
=== Xamarin.iOS ===
Version: <IP_ADDRESS> (Visual Studio Professional)
Hash: b75deaf82
Branch: d16-5-xcode11.4
Build date: 2020-04-01 21:33:19-0400
=== Xamarin Inspector ===
Version: 1.4.3
Hash: db27525
Branch: 1.4-release
Build date: Mon, 09 Jul 2018 21:20:18 GMT
Client compatibility: 1
=== Build Information ===
Release ID: 805040012
Git revision:<PHONE_NUMBER>103e19b0b8d29ddc211abf2fd32607
Build date: 2020-04-16 08:55:15-04
Build branch: release-8.5
Xamarin extensions:<PHONE_NUMBER>103e19b0b8d29ddc211abf2fd32607
=== Operating System ===
Mac OS X 10.15.4
Darwin 19.4.0 Darwin Kernel Version 19.4.0
Wed Mar  4 22:28:40 PST 2020
root:xnu-6153.101.6~15/RELEASE_X86_64 x86_64

What effect does removing armv7 have? Is it safe to release an app without armv7 support?

What effect does removing armv7 have? Is it safe to release an app without armv7 support?

It affectively makes your app unavailable to devices running on armv7 , which are the 32 bit devices.
Has anyone any idea if we can optionally link mlkit so we won't have to assemble it for armv7?


Deprecate kind

There are no plan to deploy the service on anything else but OCP, using the OpenShift Pipelines operator.
The compatibility with standard kubernetes has not been maintained, therefore kind is not a valid target for deployment anymore.

/lgtm

/lgtm


validateDOMNesting(...):  cannot appear as a descendant of .

I'm trying to make whole Media clickable, but got the warning: index.js:2178 Warning: validateDOMNesting(...):  cannot appear as a descendant of .
import React from 'react';
import { Media } from 'reactstrap';

class someClass extends React.Component {
    render() {
        const item = this.props.item
        const url = item.url
        return (

                <Media className="mt-1 align media-block">
                    <Media left bottom>

                    </Media>
                    <Media body>
                        <Media heading>
                            {item.name}
                        </Media>
                        {item.description}
                    </Media>
                </Media>

        )
    }
}

export default someClass;

Hi @CruiseMan !
You should use onClick method instead of wrapping <Media/> component in  tag.
Demo:
https://stackblitz.com/edit/reactstrap-v5-media-click?file=Example.js

What @gergely-nagy said is correct, but I think this may also be a slight defect. reactstrap is defaulting <Media left/right ...> to an anchor tag () which causing the nested a within an a. We probably should only default that in the case there is an href prop (to indicate there should be a link)
https://github.com/reactstrap/reactstrap/blob/6eac0fd5719eb07a2350bcd41462bc4a2946c8b8/src/Media.js#L40-L50
I think we can do some better defaulting there. For instance, not only can we only make it an anchor tag (a) when there is an href, we probably should only make it an image tag (img) when there is a src

How do i make after click redirect to href url ?

<Media tag="a" href={url}>
  <Media className="mt-1 align media-block">
    <Media left bottom tag="div">

    </Media>
    <Media body>
      <Media heading>
        {item.name}
      </Media>
      {item.description}
    </Media>
   </Media>
</Media>

🤔warning still there

https://stackblitz.com/edit/reactstrap-v5-media-click-p3ufgg?file=Example.js
no warning for me
import React, { Component } from 'react';
import { Media } from 'reactstrap';

class Example extends Component {
  render() {
    return (
      <Media tag="a" href="something">
        <Media className="mt-1 align media-block">
          <Media left bottom tag="div" className="mr-2">

          </Media>
          <Media body>
            <Media heading>
              TheSharpiOne
            </Media>
            Front-end Developer
          </Media>
        </Media>
      </Media>
    )
  }
}

export default Example;

Works only if i remove left

Notice the tag prop on the Media which has left, it's needed for the workaround. The example I posted above has that and gets no errors or warnings.


Update confirm copy.

Factor confirm page into sub-templates
Add missing failure and invalid data copy
Add links to review page

Updated.

Thank you kindly


Added shapes, uv_grid, uv_rotate, fresnel, and fresnel_glow functions

Shapes

polygon
circle
square
square_stroke
square_rounded
swirl
line

UV

uv_grid_tiler
uv_rotate

Utility

fresnel
fresnel_glow

Thanks for this PR :D


Bad help url

In help message says: Report lolcat bugs to <http://www.github.org/busyloop/lolcat/issues> , but github.com not www.github.org.

That was fixed very long ago. Update your lolcat.
https://github.com/busyloop/lolcat/pull/23

But i use latest official package from apt:
whk@machine:~$ lolcat -v
lolcat 42.0.99 (c)2011<EMAIL_ADDRESS>whk@machine:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.3 LTS
Release:	20.04
Codename:	focal

Looks like the package hasn't been updated in a long time.
These package are not maintained by the lolcat foundation.
You can try installing with snap for a newer version.
But using older versions is of course also fine - it may just not have the latest bugfixes.


It should be possible to mark multiple lines.

Resolved within the following commit; https://github.com/earik87/vim-baan/commit/8317852736464f257984c4a65a53f4fde06b07af


add additional DC partner credits

Linking images to confirm they are uploaded correctly:
https://storage.googleapis.com/rewiring-america-incentives-assets/dc-mayor.png
https://storage.googleapis.com/rewiring-america-incentives-assets/dc-doee.png
I resized to 100 height, which is consistent with the authority logos but smaller than the other partner logos. Feedback/correction welcome!

Note: expecting fixtures to need updating, so expecting test to break. Will fix when I have another moment!

Images should be fixed now. I didn't see the error message when I did the upload, evidently I didn't wait long enough for the permission to take effect.


SearchOptions with noContent set as true returns array of empty objects.

SearchOptions with noContent set as true returns array of empty objects.
But as per redis documentation it should return list of document ids.
NOCONTENT : If it appears after the query, we only return the document ids and not the content. This is useful if RediSearch is only an index on an external document collection

LettuSearch now lives at https://github.com/redis-developer/lettucemod
The issue does not seem to happen in LettuceMod (added this testcase)


Add EventsPage similar to CommandsPage

With #20 being available I added an EventsPage that lists all events in categories (aggregate type or public events). It also supports deep linking like implemented in #21
Mobile Optimization
The PR also includes some minor mobile optimizations like word-warp: break-word for message names in panels and hiding side menu by default.
Automatic Schema Reload
Whenever the cockpit window gets focus, it triggers a schema refresh now. If refresh fails, the responsible saga performs some retries and notifies the user about it.
Both optimizations are very useful in combination with a new functionality in InspectIO that allows you to open specific elements on the event map in Cockpit.

Awesome stuff! 😄


Organization not mapped in Oauth.UserInfo.Account

We are using the ApiClient to create envelopes using admin consent to impersonate the user.  However, when I call
apiClient.getUserInfo(apiClient.getAccessToken())
I receive the following error:
`com.docusign.esign.client.ApiException: Error while fecthing user info: Unrecognized field "organization" (class com.docusign.esign.client.auth.OAuth$UserInfo$Account), not marked as ignorable (4 known properties: "is_default", "account_id", "base_uri", "account_name"])
at [Source: (sun.net.www.protocol.http.HttpURLConnection$HttpInputStream); line: 1, column: 356] (through reference chain: com.docusign.esign.client.auth.OAuth$UserInfo["accounts"]->java.util.ArrayList[0]->com.docusign.esign.client.auth.OAuth$UserInfo$Account["organization"])
at com.docusign.esign.client.ApiClient.getUserInfo(ApiClient.java:565)
at com.docusign.esign.client.ApiClient$getUserInfo$0.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)`

It appears that com.docusign.esign.client.auth.OAuth.UserInfo.Account does not have any mapping for the organization information included in the user info JSON response.

Yes, this is a known bug that we're working on. It has internal tracking number DCM-2570.
Please accept my apologies for the problem. We're working on an update to fix it.

The fix was released in v2.6.2. Please update to this version ASAP.


When adding an email template with an invalid name the message given should be modified

In $subject the error message contains a regex. Rather than the regex, please provide a wording on the expected pattern

Thank you for your contribution!
We are closing this issue since it has not been prioritized for a long time. Chances are that it has already been solved in more recent versions. If not, we will be re-evaluating this when it becomes a priority.


Adding documentation for minikube

This PR updates the kubernetes-installer documentation
and adds a minikube to the list, also supporting documentation
to deploy antrea in minikube is added.
Signed-off-by: Pulkit Jain<EMAIL_ADDRESS>

Codecov Report

Merging #3391 (1716693) into main (fc2e855) will decrease coverage by 18.34%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main    #3391       +/-   ##
===========================================
- Coverage   60.68%   42.34%   -18.35%
===========================================
  Files         268      200       -68
  Lines       26853    24278     -2575
===========================================
- Hits        16296    10280     -6016
- Misses       8751    12935     +4184
+ Partials     1806     1063      -743

Flag
Coverage Δ

kind-e2e-tests
?

unit-tests
42.34% <ø> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.


[Feature request] Redirect issue links for mirrored repositories without mirrored issues

Feature Description
It would be nice to be able to let issue references directly point to the upstream repository if a mirrored repository does not contain mirrored issues as well. (If there are no plans to allow for local issues, the "Issues" tab could then directly point to the upstream repository.)
EDIT: This can be enabled using Settings > Advanced Settings > [x] Use External Issue Tracker, but at the moment you need to manually edit up to three settings in a separate step; a single option when creating the mirror which "pre-fills" the associated fields depending on the defaults for the upstream hosting provider might be helpful.

Optimally, references to an external repository should optionally open a short dialogue (along the lines of "This issue link points to an upstream repository [open] [dismiss]") based on both a repository-specific setting ("Prompt before following external issue links") and a user-specific override ("Always follow external issue links without prompting").
(Note: In cases where both local and remote issues exist, maybe the references should differ (#Lnnnn? downstream:#nnnn?), but it might be challenging to come up with a "best practice"/uniform solution here. This should be addressed by a separate feature request once the above functionality is available.)

This should be the default for pull mirrors that does not sync issues and PRs. Thanks for showing the config option!


Adding a bunch of performance improvements

This commit adds a series of improvements, either by making the
code (slightly) smaller, or by storing function calls and lookups
as termporary variables.
I also removed the transition on the .spot element, since that
was making the overall look-and-feel of the shadow movement slower.
I made showIndicators default to falsey rather than truthy, since
it seemed more like a development-debug tool and not really something
desired with a finished product.
I changed several of the events that were onmousemove to
addEventListener, matching closer to the listeners load, resize,
and scroll.
I also changed the mousemove events, removing the anonymous function
wrapper (which is more costly) and replacing with the single initiateSpot
event function.
I also removed a bunch of unused variables.

Thank you for the effort! I'll check this out thoroughly when I get home from work. Yesterday I started a new branch on my computer and I'm actually re-designing the whole code to work like this:

User adds script to html file (without any options).
User can add effect-specific CSS classes to elements, such as spot-shadow, spot-rotate, or spot-area.

I'm thinking of a command pattern and dynamically creating objects for each element on the page that needs to be "spotted".
I think your commit will help me create the new structure too.

Hi again, I've just released v1.0 of my plugin. The code is completely new, in case you'd like to check it out :)

Cool, I'm looking at the updates now. The code is  pretty different, so rebasing feels like its going to be a nightmare. I still see a couple spots in the new code base that can use some improvements, so I'm going to close this and open a new pr.
Awesome rewrite 👍

That sounds great, thank you! And yes, the code is pretty much new. I wanted to apply more serious design patterns.


enable pipeline service metric exporter gap metric in dev/stage

one passing e2e
artifact gathering looks minimal these days ... interesting

/lgtm

/hold

actually going to redo the default vs. extra labelling used for the metric
closing


A question about the proof part in the paper FlashAttention1.

Hello, when I'm trying to understand the forward process of the flash attention1, I've found a small issue in the C Proofs part of the paper. In the O(j + 1) equation proof, should the second diag(l(j)) in the third equation be 1/diag(l(j))? I think it will lead to the fourth equation and match the P in the second equation.
Sorry for the format and I can't upload a screenshot due to some reason. Thanks for concerning.

Yeah, you've got the right idea.
$$diag(l^{(j)})^{-1}$$


dub copyFiles does not support directory and wildcards files!

some time it's necessory to copy directory,or some extension files.
but dub error: Failed to copy to  **\bin*.dll: Source file doesn not exist.

That's implemented now, see #471. You can get it with the beta, but I still need to write a changelog entry.


Remove Main action from Strange Copy

Duplicate of #19.

well, sure, it's a dupe if you do strange copy at the same time as sympathy pain :-D

Those aren't the same card?! 😱


Editing Allowed Domains Note Text

Just cleaning up this text and adding some clarity (I think 😅).

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks


Add Ubuntu Cinnamon logo

Please add the ascii of the logo for Ubuntu Cinnamon Remix.

The ASCII Gen I used: https://www.ascii-art-generator.org/ Took out:
MMMMMMMMWNX0OxddoollllooddxO0XNWMMMMMMMM
MMMMMWNKOxdoolllllllllllllloodxOKNWMMMMM
MMMWN0kdolllllllllllllllloodxdoodk0NWMMM
MMWKkoolllllllllooooooooox0XXkolllokKWMM
MN0dollllllllooxkOOOOOOOkkO00xollllod0NM
N0dlllllllodxxxOOOkkkkO00K0OxollllllldON
0dollllllox0KkdooolllllooxOKKkdllllllod0
xollllllokKKkollloodddolllox0KOollllllox
oolodxkxx0KkollloxOKKOddxxdox00xollllloo
llox0XXOkKKxolodOKXKOkOKNNKkdxkdolllllll
olodxOOxxKKkookKXKOOOKNWMMWNXK0xollllllo
dolllooooOKKO0XX0O0XWWMMMMMMWN0dolllllod
kollllllodOXNX0OOXWMMMMMMMMWN0dollllllok
KkollllllloxkkkKNMMMMMMMMWNKkdollllllokK
WKkollllllllooxOKXXXXXXK0OOOOxolllllokKW
MWXOdollllllllloooddddoodkKXXkolllodOXWM
MMWNKxoollllllllllllllllooxkOxoloox0NWMM
MMMMWNKkdollllllllllllllllllooodkKNWMMMM
MMMMMMWWX0Oxdoooolllllloooodxk0XWWMMMMMM
MMMMMMMMMWNXKOxdoolllloodxO0XWMMMMMMMMMM
But SVG's wouldnt work and thanks to GitHub format this bad-but it is annoying due to the corners which are transparent are covered with M's and it's hard to find the difference between them.

Just take this image and ASCII it
https://ubuntucinnamon.org/wp-content/uploads/2020/04/logo-e1586265765207.png

Closed in commit https://github.com/dylanaraps/neofetch/commit/3c63ac1d4a69cb032f112a1586907138e69475ce

Actually lubuntu and ubuntu-mate have the same issues... I'll open a bug report for it.

Further discussion regarding above should happen at #1509 . Close bug report.


Fix single item device list throwing an error

Fix single item device list throwing an error
I noticed that if I pass a list containing a single item as device to any model that derives from BaseModel it results in an AssertionError, which I think is erroneous.
AssertionError: The list of devices should have at least 1 device, but got 0.
I test if the device variable is one item long. If it is, I extract the object it contains and rerun self._setup_device recursively.
Before submitting

[ ] This PR is made to fix a typo or improve the docs (you can dismiss the other checks if this is the case).
[ ] Was this discussed/approved via a GitHub issue? Please add a link to it if that's the case.
[ ] I have commented my code, particularly in hard-to-understand areas.
[x] I have written necessary tests and already run them locally.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 3 (33.33%)  changed or added relevant lines in 1 file are covered.
6 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.01%) to 84.034%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pypots/base.py
1
3
33.33%

Files with Coverage Reduction
New Missed Lines
%

pypots/base.py
1
71.76%

pypots/data/base.py
1
79.8%

pypots/clustering/vader/model.py
4
86.49%

Totals

Change from base Build<PHONE_NUMBER>:
-0.01%

Covered Lines:
3100

Relevant Lines:
3689

💛  - Coveralls


[PE-D][Tester A] Typo in example delete command

The example delete command given is an invalid command, which may be confusing to new users who are trying out the functions.

Labels: type.DocumentationBug severity.Medium
original: fannyjian/ped#5

@normkoh update format to lower  case


Evaluation set could provide？

Hello! I noticed the evaluate function in run.py, which is shown as bellow.

Actually I don't know the format of labels.tsv. Could you provide the evaluation set? if not, is it possible to give a screenshot for labels.tsv
By the way, is the data.h5 same as train set, which is extracted by extract_feature.py ?
Thanks!

Hey there,
I don't have that evaluation set actually anymore ( at least for aurora and dihard).
However, my label format is the same as the one printed during forward.py.
An example for some dataset's labels.tsv:
filename\tlabel\tonset\toffset
1.wav\tSpeech\t0.0\t5.0

Note that for my evaluation I generally don't care about "noise", since I assume that everything that isn't speech is either noise or silence, both are equally unimportant when accessing the performance.

This is a good work for weakly-supervised data-driven VAD training. Thanks a lot!


Add Countdown

Closed:
This exists already native in OBS

Tools
Scripts
click "Plus Icon"
coutndown.lua
define "Text Source" e.g. "Countdown"
click Close
add source "Text (GDI+)" with name "Countdown"


Allow users to switch between simple and advanced interface.

Using the IOTA explorer might be too complex for the standard user. There are way too many infos when looking at a given transaction :
Like people are saying on Reddit : 'When I make a transaction, why do I have to decipher this endless information on this page to get the basic information every normal enduser needs to see? I don't need parent messages (1-4), I don't need nonce, I don't need an ED25519 address, I don't need two separate sections about input/output filled with information 99% of the users (me including) don't understand, I don't need indexation payload (ok cool), I don't need child messages, what are even messages? I send MIOTA not a text message (yeah just a joke).'
I think that by defaut, the Explorer should be on a basic mode only displaying essential infos (From, To, Amount, Status).
Want more? Put on the upper corner an 'Advanced mode' button allowing to switch between the 'Idiot proof' interface and a more complex interface (the one that we currently have).
Just my idea.
Cheers!

Simplified view is now implemented by default.

Great thanks!


Lua Language Server Notation

Lua Language Server Notation should very much be utilised in CoreScripts.
https://github.com/LuaLS/lua-language-server/wiki/Annotations
This provides automatic support for intellisense on VSCode (I'm pretty sure some other IDEs/editors that support Lua Language Server) and can be used to to provide additional context for reading files.
Example:
---@param seconds number
---@return boolean isWithinTime
local function isOnTime(seconds)
    return seconds < 5
end

Hi all,
I've added everyone to this one because I think it'll be a good idea if we all go through core scripts and take like a few files and annotate them properly. I know it's a bit boring, but this works with intellisense, and this would drastically reduce the barrier of entry for new developers. Along with improving debug-ability of the code as we have clearly documented types.

When creation annotations, please name your branch doc/annotations-FILENAME and request a pull into doc/annotations.
Tracking for completion and assignments per-file. Check them off and please leave a comment if you self-assign one.
scripts/:

[] animHelper.lua
[] clientVariableScopes.lua
[] color.lua
[] commandHandler.lua
[] config.lua
[] contentFixer.lua
[] customCommandHooks.lua
[] customEventHooks.lua
[] customScripts.lua
[] database.lua
[] dataTableBuilder.lua
[] defaultCommands.lua
[] enumerations.lua
[] eventHandler.lua
[] guiHelper.lua
[] inventoryHelper.lua
[] logicHandler.lua
[] menuHelper.lua
[] packetBuilder.lua
[] packetReader.lua
[] serverCore.lua
[] speechCollections.lua
[] speechHelper.lua
[] stateHelper.lua
[] vectors.lua
[] wrapper.lua

scripts/cell:

[] base.lua
[] json.lua
[] sql.lua

scripts/player:

[] base.lua
[] json.lua
[] sql.lua

scripts/menu:

[] advancedExample.lua
[] defaultCrafting.lua
[] help.lua

scripts/recordstore:

[] base.lua
[] json.lua
[] sql.lua

scripts/world:

[] base.lua
[] json.lua
[] sql.lua

lib/lua:

[] classy.lua
[] dkjson.lua
[] fileHelper.lua
[] irc.lua
[] jsonInterface.lua
[] lanes.lua
[] ltn12-lanes.lua
[] ltn12.lua
[] mime-lanes.lua
[] patterns.lua
[] socket-lanes.lua
[] tableHelper.lua
[] time.lua
[] utils.lua


Regression: Index containing class names that start with $ no longer have a consistent DotName.

CC @MikeEdgar
This appears to be a regression with the parsing of DotNames caused by https://github.com/wildfly/jandex/commit/3779e75f7369ad4849f271b378fa2370f3d0e0f3
Consider the following test condition for the org.jboss.cdi.tck.tests.definition.name.$Dollar class:
Class<?> targetClass = $Dollar.class;
Indexer indexer = new Indexer();
try (InputStream stream = targetClass.getClassLoader().getResourceAsStream(targetClass.getName().replace('.', '/') + ".class")) {
    indexer.index(stream);
    Index index = indexer.complete();
    DotName name = DotName.createSimple(targetClass.getName());
    Assert.assertNotNull(index.getClassByName(name));
}

This assertion passes in 2.3.1, but fails in 2.4.0.
If I revert the above commit, the above assertion succeeds.
This is somewhat critical, as it causes a regression in the Jakarta TCK for CDI running against WildFly + Jandex 2.4.0 for the following test:
https://github.com/eclipse-ee4j/cdi-tck/blob/3.0/impl/src/main/java/org/jboss/cdi/tck/tests/definition/name/NameDefinitionTest.java#L109
[ERROR] org.jboss.cdi.tck.tests.definition.name.NameDefinitionTest.testNameStartingWithDollarCharacter  Time elapsed: 0.049 s  <<< FAILURE!
jakarta.enterprise.inject.UnsatisfiedResolutionException: Unable to resolve any beans of class org.jboss.cdi.tck.tests.definition.name.$Dollar
	at deployment.9d9c1e656827b7ae88a4f45c576e6894daaaf63.war//org.jboss.cdi.tck.tests.definition.name.NameDefinitionTest.testNameStartingWithDollarCharacter(NameDefinitionTest.java:110)

... and thus prevents WildFly from upgrading any of the smallrye components that require Jandex 2.4.0 (e.g. smallrye-open-api).

While I think there is a way to fix this particular scenario (since it is not an inner class), I think ultimately the only way to solve this properly is with something like the solution @Ladicek mentioned in #97. I can put together a PR for this case -or- would it be better to revert #130 and reopen #97 until it can be solved properly?

PR #149 handles this particular scenario. Looking at this one also made me realize that $ in package (and maybe module) names should also be handled differently. As mentioned in #97, handling $ elsewhere within a nested class name may require looking at the InnerClasses attribute.

As mentioned in #97, handling $ elsewhere within a nested class name may require looking at the InnerClasses attribute.

So the purpose of DotName is to represent the same data of a String, but in a way that can support reuse of component parts in a radix tree fashion. It’s not a mini Class. The attributes for isInnerClass etc were supposed to be hints that say “this is the last part of the name to split on that looks like an inner class”, and not an introspection mechanism that would say it truly is . In hindsight these probably should not have been exposed. The big problem with using InnerClass data is that the same identical name string is no longer unique so it makes the concept much harder to reason about.

@n1hility, thanks for pointing this out. If I understand correctly, the better way to think about DotName (from a client perspective) is as a memory efficient CharSequence. I think both #130 and #149 preserve the original intent, only going so far as to avoid interpreting $ as a nested class delimiter where it is certain to be part of the class name.

The big problem with using InnerClass data is that the same identical name string is no longer unique so it makes the concept much harder to reason about.

I don't quite follow this. Do you mean that a DotName constructed using the information available in InnerClasses may fail the equals test with one constructed via createSimple?

Yea I think that's a good point. If we were to look at whether given class is truly nested or not, we'd be able to construct more "correct" DotNames in the componentized form, but the createSimple method can't infer the same information from anything. Using $ in class names is such a pain! :-)

I'll release 2.4.1.Final shortly.

Actually I wanted to take a look at #147 first :-) If I'm able to figure that one quickly, I'll include it in 2.4.1.Final. If not, I'll release 2.4.1.Final without a fix for that, tomorrow at latest.


[BEAM-7372] cleanup codes for py2 from apache_beam/transforms

Cleanup following codes from apache_beam/transforms. combiners.py which may have large effect for other codes will be fixed in another PR.

usage of future package
usage of past package
unnecessary builtin import
workarounds for py2
test files only for py3

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

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

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

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @tvalentyn

I overlooked conflict and now fixed at 36b77ec.

Thanks for your attention to details and drive-by fixes like itervalues() -> .values()!

Thanks @tvalentyn !


AttributeError: 'module' object has no attribute 'ops'

thanks for your code.
FYI
tl.ops.set_gpu_fraction(sess=sess, gpu_fraction=0.998)
AttributeError: 'module' object has no attribute 'ops'
Apparently ops was replaced with util and the first argument is no longer necessary.

you can try: "tl.utils.set_gpu_fraction(0.998) ".

Ah, thank you for the heads up, I'll correct it.


Fix validation on missing attributes in DynamicModel

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
✔ (not sure)

Fixed issues
#19811

See #19811 for an explanation.
DynamicModel is made for validating dynamic data. It doesn't make sense to expect that all the attributes are there, since that's exactly what we are trying to validate.

I like it. Tests require update though.
@yiisoft/reviewers what do you think?

I like it as well. Do you think this change of behavior may break things?
@rob006 you're good at detecting bad BC breaks. Do you see any in this case?

Technically, it could fail if you attach behavior or extend this class and rely on virtual attributes, but I'm not sure if someone is using it like that.
But I don't like breaking Component "contract", and I definitely don't like inconsistency between __get(), __set(), __isset() etc. This will also silently ignore any typo in attribute name in rule config. Personally I would rather adjust validators to deal with such cases (undefined attribute) instead of hacking DynamicModel.

FYI, for the "default" validator to work, I also had to modify the __set. I didn't do this in this PR yet, since I wanted to wait for the discussion first.

Maybe dynamically define missing attributes based on rules passed to validateData() (and maybe addRule())? It should fix case from https://github.com/yiisoft/yii2/issues/19811, but model still should behave consistently.

@michaelarnauts could you be so kind to check the @rob006 's solution?

@bizley and @rob006 I think this is what you are suggesting.
The original test now still fails (about the undefined attribute), and my added test passes (since the attribute is now defined with value null) when the validator is added.

Thank you!


Eager reshape implementation

The eager version would be a simple compiler call to mod and shift appropriately the input into the output.

dup of https://github.com/willow-ahrens/Finch.jl/issues/558


Show NWC wallet_pubkey

We need some section where we can show details like the wallet pubkey to the user.

wallet pubkey
relay / relay connection status

Do you publish a kind 0 for Alby's wallet pubkey? I couldn't find it. It'd be useful for apps that implement NWC to show some metadata about the connected wallet (basically name and icon/image) when get_info metadata is not available. Also useful if an app handles multiple NWC connections and wants to show some information about underlying wallet.

I don't think we do, and we will be incentivizing each user to run their own NWC instance rather than using Alby's one.
It would be nice to have an identifier - but currently we could use get_info when connected to get the node alias in that case, since each NWC instance should have its own node alias.

Partially fixed in https://github.com/getAlby/nostr-wallet-connect-next/issues/140


Do not send Proxy-Agent in CONNECT responses

Sending any headers at all in response to a CONNECT request breaks
proxying Android emulators on all non-80 ports.
Issue: #783

I'm just gonna trust you on this - thanks so much for digging into it and sending a fix - really appreciated! :smiley: :cake: :tada:

No problem, thanks for the speedy merge :)


Implement combination puzzle randomization algorithm

Due Date
Mar 24
Priority
Medium
Description
Algo to find set of instructions to create working combination
Associated Requirement*
N/A

Closed with 866cdcc0ddd99cc743f2dd3e59e953a93c1e6efc


Documentation should not be adhoc

Documentation should be in sync with the example, which is being used for creating custom visual. Which make lot of senses.
I feel this document is totally outdated and just written theories, whereas all examples are with the deprecated APIs.
How can someone who is new in developing custom visual can understand these logic and implement this.

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

ID: e2096cf9-d97d-4297-6146-e2e5b425e1f2
Version Independent ID: 80d6fa15-6082-ed8a-a549-0154700bd37f
Content: Introduction to use Data view utils in Power BI visual - Power BI
Content Source: powerbi-docs/developer/visuals/utils-dataview.md
Service: powerbi
Sub-service: powerbi-custom-visuals
GitHub Login: @mberdugo
Microsoft Alias: monaberdugo

Thanks for your comment, @rka05. I'll check with the engineers about updating the APIs.

Hi @rka05. After checking with the engineers, it seems the only deprecated API on this page is EnumerateObjectInstances which was replaced by FormattingModles API. I suggest doing the tutorials and if you still have questions, ask the Power BI Community.
Good luck!


Errors setting up the repository on Windows (for users developing on windows)

Related Feature
Feature request: issue number
Description
When trying to set up the open-ux-tools on a Windows machine I am getting errors when installing with pnpm i and building with pnpm run build.
Steps to Reproduce
Steps to reproduce the behavior:

Have a Windows computer.
Clone the open-ux-tools repository (start from the main branch).
Install packages with pnpm i. See error No. 1.
Run pnpm run build. See error No. 2.

Expected results
The packages are installed without errors. The building of the packages gives no errors and generates no changes in the git.
Actual results
Cannot install node_modules because of a problem with lock file.
Cannot build because of missing modules.
Every tsconfig.json gets updated with \\ instead of /.
Screenshots
Error No. 1.
When running pnpm i:

Error No. 2.
Which then leads to some modules not being found. Thus, cannot build all modules and fail:

Found a workaround to install and build the packages. First, delete the pnpm-lock file, pnpm i and finally build pnpm run build.
This way the packages are installed and build passes, but some files in the project get modified after the build has finished.

Version/Components/Environment
Add any other context about the problem here
pnpm -v : 8.1.0
OS:

[ ] Mac OS
[x] Windows
[ ] Other

Root Cause Analysis
Problem
{describe the problem}
Fix
{describe the fix}
Why was it missed
{Some explanation why this issue might have been missed during normal development/testing cycle}
How can we avoid this
{if we don’t want to see this type of issues anymore what we should do to prevent}

Hi @nikmace
Thanks for letting us know about these issues.
For Error no.2 I have created a PR with a fix.
I was not able to re-create error no.1. Can I check what version of pnpm are you using?

Hello, as I've stated under Version/Components/Environment my pnpm version is 8.1.0.

I've tested #1165 on my side and I see no tsconfigs change. But error No. 1 still persists and I have to delete the lock file before installing.

Hi @nikmace, what version of node are you using? To ensure a consistent pnpm version used in developer machines and the pipeline to prevent lockfile version mismatches, we added this setting to package.json. However, this check is only supported on node v16 onwards.
"packageManager"<EMAIL_ADDRESS>
You may have to upgrade your pnpm version to resolve error 1.

Thanks. I'll check why the check wasn't enforced.

I've upgraded pnpm to version 8.6.12 - the latest one. And the installation happens without errors now.  Then the problem here is with this "packageManager" property in package.json.

@devinea: Should we be more strict with the version - "pnpm": "8.6.0" since that is the version used in the pipeline? I couldn't find any documentation on the criteria that pnpm uses to update the lockfile version.


Update dependencies

This PR does not affect core directly. Update to the right version of the wasm wrapper

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/15008/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15008/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15008/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/15008/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/15008/merge
https://gui.babylonjs.com/?snapshot=refs/pull/15008/merge
https://nme.babylonjs.com/?snapshot=refs/pull/15008/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/15008/merge#BCU1XR#0

Visualization tests for WebGPU (Experimental)
Important - these might fail sporadically. This is an optional test.
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15008/merge/testResults/webgpuplaywright/index.html

WebGL2 visualization test reporter:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15008/merge/testResults/webgl2playwright/index.html


Correct the evaluation of the non-published collection filter

Currently, when a collection is being parsed by collection(), it checks the filters, and based on them determines the value of the $only_published variable, which is then passed as the second argument to evaluate(). However, the mentioned evaluate() recursively calls itself, without passing the value of $only_published.
Because of this, every collection (or at least, every of them that I've tested with collection()) ends up being parsed as if the non-published: false filter had been applied, which might not be the case, drastically affecting the result of the evaluation. I therefore believe that the issue, hopefully correctly resolved in this pull request, should be assigned a fairly high priority.

Looks like this has been fixed already in Grav 1.7. So no changes are needed in there.


Explain documentation structure in CONTRIBUTING.md

 Issue by fbiville
Thursday Mar 25, 2021 at 15:44 GMT
Originally opened as https://github.com/neo4j-contrib/neo4j-apoc-procedures/issues/1836

Contributing to documentation is not straightforward to newcomers, since the documentation is generated and versioned  in Asciidoc files, but the information comes most of the time from the Java source files.

Documentation is no longer generated and has its own repo :) same workflow as adding to the Cypher docs; https://github.com/neo4j/docs-apoc


Replacing lavaplayer with a maintained working fork

Kodehawa suggested me to use Devos LP fork, until sed updated LP, also used by Fred in Lavalink.
This pull request...

[x] Fixes a bug
[ ] Introduces a new feature
[ ] Improves an existing feature
[x] Boosts code quality or performance (maybe)

Description
Fixes several Lavaplayer bugs
Purpose
Bug fixing
Relevant Issue(s)
This PR closes issue #500, #493, maybe #442, maybe #364

I will switch Lavaplayer to sed's release as soon as Lavaplayer gets an update.

This has been done in tag 0.3.1.


Custom Validation for the whole form

Thanks for the excellent library!
Version

tcomb-form v0.9.7
react v0.14.8

Question
I would like to have a custom validation for my form that allows me to specify that at least one of two attributes must be specified. How can I do this? All I've found is that I can specify custom validation through subtypes, but this doesn't work in this (right?).
Example:
const type = t.struct({
    supplier_article_number: t.maybe(t.String),
    gtin: t.maybe(t.String)
)};

// I want to validate that *either* supplier_article_number *or* gtin must be specified.

All I've found is that I can specify custom validation through subtypes

Yep:
const atLeastOne = ({ supplier_article_number, gtin }) => !t.Nil.is(supplier_article_number) || !t.Nil.is(gtin)

const Type = t.refinement(t.struct({
  supplier_article_number: t.maybe(t.String),
  gtin: t.maybe(t.String)
}), atLeastOne)

const options = {
  error: 'At least one!'


Validation tests

Pull Request Test Coverage Report for Build 972

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 82.297%

Totals

Change from base Build 969:
0.1%

Covered Lines:
4435

Relevant Lines:
5389

💛  - Coveralls


Parsing of escaped characters in quoted strings and backslashes in unquoted strings

In the following code the escaped characters are ignored and parsed as a double backslash and a backslash followed by b, instead of a backslash and a backspace:
import org.virtuslab.yaml.*

val yaml = """
regexBoundary: "\\b"
backspace: "\b"
regexBoundaryUnquoted: \b
"""

case class Example(
    regexBoundary: String,
    backspace: String,
    regexBoundaryUnquoted: String,
) derives YamlCodec

val example = yaml.as[Example].toOption.get

println(example.regexBoundary)
println(example.backspace)
println(example.regexBoundaryUnquoted)

See also https://scastie.scala-lang.org/OndrejSpanel/jfavH3u2Sq29Gs5nQHmXKQ/92
The output is:
\\b
\b
\\b

None of this is correct. There should be no double backslashes and there should be a backspace, not \b in the second line.
Note: even the unquoted string is parsed wrong. The single backslash is converted to a double backslash in the case class value.

First of all, there's some interference from triplequote here:
scala> "\\b"
val res0: String = \b

scala> """\\b"""
val res1: String = \\b

scala> val yaml = """
     | regexBoundary: "\\b"
     | backspace: "\b"
     | regexBoundaryUnquoted: \b
     | """
val yaml: String = "
regexBoundary: "\\b"
backspace: "\b"
regexBoundaryUnquoted: \b
"

This can be fixed with:
scala> val yaml = s"""
     | regexBoundary: "${"\\b"}"
     | backspace: "${"\b"}"
     | regexBoundaryUnquoted: ${"\b"}
     | """
val yaml: String = "
regexBoundary: "\b"
backspace: "
regexBoundaryUnquoted:
"

When we try to parse that we get an error:
scala> val example = yaml.as[Example]
val example: Either[org.virtuslab.yaml.YamlError, Example] = Left(org.virtuslab.yaml.ConstructError: Could't construct java.lang.String from null (tag:yaml.org,2002:null)
regexBoundaryUnquoted:
                       ^
)

this is probably a mistake as there is a character (the \b) as a value of regexBoundaryUnquoted mapping.
If we drop the unquoted field we get:
scala> case class Example(
     |     regexBoundary: String,
     |     backspace: String,
     | ) derives YamlCodec
// defined case class Example

scala> val example = yaml.as[Example].right.get
val example: Example = Example(\b)

scala> example.regexBoundary
val res0: String = \b

scala> example.backspace
val res1: String =

scala> YamlEncoder.escapeSpecialCharacters(example.backspace)
val res2: String = \u0008

Which is what you'd expect, I guess. I think there are issues around escaping for Scalar nodes due to this code in ScalarStyle.scala:
sealed abstract class ScalarStyle(indicator: Char)
object ScalarStyle {
  case object Plain        extends ScalarStyle(' ')
  case object DoubleQuoted extends ScalarStyle('"')
  case object SingleQuoted extends ScalarStyle('\'')
  case object Folded       extends ScalarStyle('>')
  case object Literal      extends ScalarStyle('|')

  def escapeSpecialCharacter(scalar: String, scalarStyle: ScalarStyle): String =
    scalarStyle match {
      case ScalarStyle.DoubleQuoted => scalar
      case ScalarStyle.SingleQuoted => scalar
      case ScalarStyle.Literal      => scalar
      case _ =>
        scalar.flatMap { char =>
          char match {
            case '\\'  => "\\\\"
            case '\n'  => "\\n"
            case other => other.toString
          }
        }
    }

but those are limited to some escapes for unquoted strings which do make sense to be honest but I'm not sure if they are 100% correct as they were here before I started maintaining the lib.

interference from triplequote

Triplequotes prevent backslashes to be used as escapes, they are used as literals instead. This is expected, as triple quotes define raw string literals.

yeah, but it's not a problem with yaml parser, you get what you see

I think \b does get borked in the escaping of unquoted strings:
scala> val yaml = s"""
     | regexBoundary: "${"\\b"}"
     | backspace: "${"\b"}"
     | regexBoundaryUnquoted: some${"\b"}text${"\b"}
     | """
val yaml: String = "
regexBoundary: "\b"
backspace: "
regexBoundaryUnquoted: somtext
"

notice somtext due to backspace control char being correctly rendered by terminal here
scala> YamlEncoder.escapeSpecialCharacters(yaml)
val res6: String = "
regexBoundary: "\b"
backspace: "\u0008"
regexBoundaryUnquoted: some\u0008text\u0008
"

scala> val example = yaml.as[Example].right.get
val example: Example = Example(\b,somtext)

scala> YamlEncoder.escapeSpecialCharacters(example.regexBoundaryUnquoted)
val res8: String = some\u0008text

notice missing \u0008 after text here. It got trimmed. I have to go through the spec on parsing to understand what is the correct (or rather: spec-compliant) behavior here.

yeah, but it's not a problem with yaml parser, you get what you see

I am not sure I understand. Compare this with Circe behaviour in https://scastie.scala-lang.org/OndrejSpanel/cz1HDKc7RoaOgEnrg6YcQA/5.
Instead of triple quotes I could use an input from file. When there is a backslash in the quoted string, it should be processed as an escape by the YAML parser. When it is in an unquoted input, it should be process and a backslash character.
What I see instead is it is processed as a backslash character in a quoted string and as two backslashes in an unquoted string.

Note: it is not my intention to have backspace characters present in my input. I want \b escaped sequence to be present there, which is exactly what triple quotes will allow me to do - you can imagine you are reading the input from a file instead. The code using interpolation places a backspace character into the input, which is not what I am interested about and I have no idea how should this be handled by a parser.

From specs: https://yaml.org/spec/1.2.2/#57-escaped-characters

Note that escape sequences are only interpreted in double-quoted scalars. In all other scalar styles, the “\” character has no special meaning and non-printable characters are not available.

Ahhh, I misunderstood your intent. Ok, I get it now.

Another example which is related, but perhaps simpler: at the moment I cannot find a way to represent a backslash character in my input. Using \ in unquoted strings results in a double backslash. using double backslash in quoted strings results in a crash or strange behaviour:
Check:
import org.virtuslab.yaml.*

val yaml = """value: \"""
case class Example(value: String) derives YamlCodec
yaml.as[Example].toOption.get

Or even worse:
import org.virtuslab.yaml.*

val yaml = """
quoted: "\\"
unquoted: \
"""

case class Example(quoted: String) derives YamlCodec

yaml.as[Example].toOption.get

Which results in the strange:

Example(" unquoted: \ )


Specto Fork is not working, script error?

Suddenly Specto Fork is not working I get Error Script failed...!: Specto - ... Fork
Any idea how to fix this?

Try install  specto repository
Here you have more information about this change http://filmkodi.com/en/themes-for-specto/


Get filter box viz working for explore v2

Done:

Added containerId and getFilters

Todo:

get filters working in new formdata and control panel

After:

@ascott

We often point Airflow committers to this article bellow. Please take the time to read it as it's nice to have good commit messages (though no need to overdo it!), that makes for easier PR/project management, a good changelog and can even provide context while dealing with merge conflicts.
http://chris.beams.io/posts/git-commit/

LGTM

looks like the tests were passing before merging... what do you think happened? should the revert be merged?

Seems that master was broken when I merged


Issue with import modules

When validating Yara rules with imported modules, the validator appears to fail. Any ideas?
$ cat ~/test.yara

import "pe"

rule test
{
    meta:
    condition:
        pe.number_of_resources > 1
}

$ python yara_validator_cli.py -v ~/test.yara

Validating Rule file:                   /root/test.yara
🍩 Invalid Rule File:                   /root/test.yara
     - Errors:
       - test.yara:                     Error Compiling YARA file with yara:    'line 6: syntax error'

Thanks. Was certainly a yara issue. Fixed by uninstalling yara and building from source. Thanks!


Support multiple includes in analysis_options.yaml

According to the docs, we can include only one file into analysis_options.yaml and this might work fine with the current analyzer presets, but if we are talking about custom analyzer plugins that provide additional rules, it requires creating custom extend logic in order to provide presets for the users. It'd be more convenient for the users to include such presets instead.
What do you think about changing the include: entry to be multiline instead, like:
include: |
  package:lints/recommended.yaml
  package:dart_code_metrics/flutter_all.yaml

...

For example, eslint has multiple useful plugins and supports this use-case with the extends keyword.

Sorry for the delay.
The primary reason we don't support more than one included file is because we haven't taken the time to define the semantics of doing so. Your use case is definitely valid, but I don't know whether we'd be able to allocate the time required to work out the semantics.
@jacob314 for visibility

Thank you for the details and yeah, I can totally understand, why the priority for this feature is low comparing to others. I guess, we'll start with the custom extend logic then.

I'd like to offer a design as I think it's actually not terribly complicated, and there may be some obvious choices.
I think there are only two questions to answer, if we allow multiple include files:

What is the order of the traversal? Or... is an order even guaranteed? (Again, I think there are obvious answers)
Who wins in merges?

The order of traversal
Let's take an example:
# my_monorepo/packages/package_1/analysis_options.yaml (A)
include: ../../common_analysis_options.yaml (B)
include: package:best_lint_rules/best.yaml (C)
linter:
  # ...

# my_monorepo/common_analysis_options.yaml (B)
include: package:lints/recommended.yaml (D)
analyzer:
  # ...
linter:
  # ...

# package:best_lint_rules/best.yaml (C)
linter:
  # Enabling some great lint rules

We have a few choices: we can treat the set of include directives as unordered, such that there is no guaranteed order. I think this only brings pain. Bad choice 😛. We can traverse the include directives depth-first. And we can traverse the include directives breadth-first.
I think the choice is fairly obvious here, because the alternative choice just doesn't make sense to me: we do depth-first. This is because each analysis options file specifies a set of options which necessarily includes any included options. So when package_1's options (A) include the "common" options (B), it is not just including the narrow set of options directly declared in (B), holding off on any includes found in (D). No. It is including the collective set of the options specified by (B) which include options specified in (D), as (D) is included in (B).
To do a breadth-first traversal would mean the following in this example: To compute the collective options specified in (A), we would first include options directly declared in (B), then the options directly declared in (C), then go back and add the options directly declared in (B)'s included options, namely (D). This seems just non-sensical, as we are mincing apart the included options files into directly declared options and included options, which is not how any given options file is meant to be treated.
Who wins in merges
We already have a merge strategy for includes, since you can have conflicts between two files where one includes the other! If (A) includes (B), then step 1 is to start with a base set of options from (B). Step 2 is to go over the options directly declared in (A), and change any values that came from (B).
(There may be some details in where the merge takes place, which is namely with scalar YAML nodes. For example, if (B) specifies a set of linter options, and (A) specifies a different set of linter options, we do not wholesale replace the linter options from (B) with those from (A). We instead start with the linter options from (B), and then walk the linter options from (A), and replace any scalar values as we find them.)
So the existing algorithm is to walk include directives deep, to start with a base set of options, and then update values with those from the including options files.
Let's keep rolling with the example from above. (A) directly includes (B) and (C), and also (B) includes (D). And it specifies some options of it's own. It seems to only make sense to expand this algorithm by considering sibling include directives in the same order that children include directives are considered. That is, the algorithm first looks at (A)'s includes, starting with (B), then looks at (B)'s includes which is (D), and (D) becomes the base set of options. Backing out, we update any options that were specified in (D) and overridden in (B). Backing out again, we look at the next include in (A), which is (C), and we update any options that were specified in (D+B), which are overridden in (C). Backing out again, we are out of includes in (A), so we update any options specified in (D+B+C), which are overridden in (A), to arrive at the collective set of options specified by (A) and (A)'s includes.
None of this is surprising or innovative. It is reminiscent of OO type hierarchy, Cascading Style Sheets, or Dart's spread operator.
Syntax
YAML does not allow us to write a key in a map multiple times, like:
include: a.yaml
include: b.yaml

So what syntax? I propose we just allow for an incremental bump from a scalar include value to a list:
include:
  - a.yaml
  - b.yaml

This is similar to how we support both lists and maps in the linter section (which has it's downsides, but there it is). It means that only one list of includes is supported, which seems fine. It means that you cannot intersperse directly declared options with includes, which seems fine. Something like:
include: a.yaml
linter:
  prefer_double_quotes: true
include: b.yaml

It's a nice simple design. I don't think I've seen requests for anything more complex.

To round off suppot once the analyzer recognizes a list of includes, we'll have some polish to add:

[ ] https://github.com/dart-lang/site-www/issues/6174
[ ] ensure that autocomplete continues to work, if we have autocomplete for an included path.

Core support has landed, but I'm leaving this open to track the above issues.


data issue

Hello, I would like to know where should I put the wjs0-mix dataset in order to generate the RIR dataset？

Hello, the mixture signals are dynamically generated with rirs and speech signals. So, to generate the rirs, you don't need to put wsj0-mix somewhere. Acctually, to generate the dataset used in our papers, you need the wsj0 dataset (specify its path in datamodule, i.e. the 'data' in config file) and the generated rirs (also config it in the data item of config file).

Is the path of the final dataset wsj0-mix modified in files such as NB-BLSTM-fit.yaml?
clean_speech_dataset: wsj0-mix
clean_speech_dir: /dev/shm/quancs/
rir_dir: /dev/shm/quancs/rir_cfg_4
Is clean_speech_dir the wsj0-mix path?

clean speech path = clean_speech_dir + the path in  NBSS/configs/wsj0-mix/mix_2_spk_tr.txt or other txt.

Can I directly train the model by changing the clean speech path and generating RIR data?

Can I directly train the model by changing the clean speech path and generating RIR data?

yes. generate the rirs first. then change the pathes in config file. after that, you can directly train the model.

Thank you very much for your answer. Happy New Year to you in advance.

You are welcome. Happy New Year too. ^_^


Update Settings “general”

Automatically generated by Decap CMS

👷 Deploy Preview for legendary-empanada-86b18b processing.

Name
Link

🔨 Latest commit
8ae1e9b5e5064409255d1628f0edd6d77842477f

🔍 Latest deploy log
https://app.netlify.com/sites/legendary-empanada-86b18b/deploys/66dc810b37447800080ba077


Fake Verify bot

Hi AstraaDev can you pls fix the Fake verify bot.
It dosn´t show up the qr code.
I hope you will fix it.

i fixe this i sell correct code for 1 dollars :)


Gps timestamp

Your Environment

Plugin version: cordova-plugin-mauron85-background-geolocation spec="~2.2.0-alpha.3"
Platform: Android
OS version: 4.4.2
Device manufacturer and model: Huawei Y540
Cordova version (cordova -v): 6.3.0
Cordova platform version (cordova platform ls): android 5.2.1

Context
Gps time is one hour before others. I have compared Date.now(), result from cordova-plugin-geolocation timestamp, and this plugin location.time. See code.

Acording android docs:

Return the UTC time of this fix, in milliseconds since January 1, 1970.

Note that the UTC time on a device is not monotonic: it can jump forwards or backwards unpredictably. So always use getElapsedRealtimeNanos() when calculating time deltas.

On the other hand, getTime() is useful for presenting a human readable time to the user, or for carefully comparing location fixes across reboot or across devices.

All locations generated by the LocationManager are guaranteed to have a valid UTC time, however remember that the system time may have changed since the location was generated.

Thank you again for your reploy. I've just tested now but have the same problem as before. Log file below with timestamp.
[1470845760068] DistanceFilterLocationProvider:Destroying DistanceFilterLocationProvider
[1470845760064] LocationService:Destroying LocationService
[1470845760056] BackgroundGeolocationPlugin:Stopping bg service
[1470845760049] BackgroundGeolocationPlugin:Unbinding from bg service
[1470845756969] DistanceFilterLocationProvider:Entering stationary region
[1470845750034] BackgroundGeolocationPlugin:Sending location to webview
[1470845750031] LocationService:Persisted location: BGLocation[gps 49.******,5.****** id=1 acc=15 t=1470842149000 et=+2m9s686ms alt=100.0 vel=0.0 bear=0.0 {Bundle[mParcelledData.dataSize=40]} locprov=0]
[1470845749969] LocationService:New location BGLocation[gps 49.******,5.****** id=null acc=15 t=1470842149000 et=+2m9s686ms alt=100.0 vel=0.0 bear=0.0 {Bundle[mParcelledData.dataSize=40]} locprov=0]
[1470845749919] DistanceFilterLocationProvider:startMonitoringStationaryRegion: lat=49.************** lon=5.*************** acy=30.0
[1470845749904] DistanceFilterLocationProvider:Location change: Location[gps 49.******,5.****** acc=15 et=+2m9s686ms alt=100.0 vel=0.0 bear=0.0 {Bundle[mParcelledData.dataSize=40]}] isMoving=false
[1470845749856] DistanceFilterLocationProvider:Location change: Location[gps 49.******,5.****** acc=20 et=+2m8s685ms alt=57.9 vel=0.0 bear=0.0 {Bundle[mParcelledData.dataSize=420]}] isMoving=false
[1470845749603] DistanceFilterLocationProvider:Location change: Location[gps 49.******,5.****** acc=20 et=+2m8s685ms alt=57.9 vel=0.0 bear=0.0 {Bundle[mParcelledData.dataSize=40]}] isMoving=false
[1470845748145] DistanceFilterLocationProvider:Location change: Location[gps 49.******,5.****** acc=31 et=+2m7s685ms alt=52.4 vel=0.0 bear=0.0 {Bundle[mParcelledData.dataSize=420]}] isMoving=false
[1470845748084] DistanceFilterLocationProvider:Location change: Location[gps 49.******,5.****** acc=31 et=+2m7s685ms alt=52.4 vel=0.0 bear=0.0 {Bundle[mParcelledData.dataSize=40]}] isMoving=false
[1470845735488] DistanceFilterLocationProvider:Setting pace: false
[1470845735487] DistanceFilterLocationProvider:Start recording
[1470845735435] DistanceFilterLocationProvider:Creating DistanceFilterLocationProvider
[1470845735408] LocationService:Network condition changed hasConnectivity: true
[1470845735399] LocationService:Will start service with: Config[distanceFilter=1 stationaryRadius=30.0 desiredAccuracy=100 interval=10000 fastestInterval=120000 activitiesInterval=10000 isDebugging=true stopOnTerminate=false stopOnStillActivity=true startOnBoot=false startForeground=true locationProvider=0 nTitle=Background tracking nText=ENABLED nIconLarge=null nIconSmall=null nIconColor=null url= syncUrl= syncThreshold=100 httpHeaders={} maxLocations=10000]
[1470845735397] LocationService:Received start startId: 1 intent: Intent { flg=0x4 cmp=com.ionicframework.testapp721324/com.marianhello.bgloc.LocationService (has extras) }
[1470845735319] LocationService:Creating LocationService
[1470845735307] BackgroundGeolocationPlugin:Binding to bg service
[1470845735031] BackgroundGeolocationPlugin:Starting bg service
[1470845733945] BackgroundGeolocationPlugin:Location services enabled check
[1470845733934] BackgroundGeolocationPlugin:initializing plugin

You have tried 2.2-alpha.4 right? The GPS timestamp is reported directly by Android. There is nothing I can do about it. I've fixed the only location age comparison. So you should not see log messages like before:
 LocationService:Previous location: [network acc=38.0 time=1470776557324] is better than current

Ok, thanks.
Yes I've tried the last version (remove platform/plugins and re-run cordova prepare).
As on android callbacks are called even in background, I could override location.time by Date.now()? (and on ios, keep location.time).

Yes, feels bit hacky, but unfortunately it seems you have no other option. I wonder, if it's Huawei Y540 specific issue or something else?

Good question, perhaps... I'll test later on other devices. In doubt, I prefer keeping this hack for now. Thanks for all.


merge from konsum-frontend-svelte,template-arlac77-github,template-svelte-app

package-lock.json

add missing package-lock.json from template

:tada: This PR is included in version 1.32.0 :tada:
The release is available on:

npm package (@latest dist-tag)
v1.32.0
GitHub release

Your semantic-release bot :package::rocket:


Run with compiled binary

Hey guys!
I have successfully compiled and deployed on Ubuntu 20.04 image. I will open a PR after further test.
root@host:/data/oceanbase# cat /etc/issue
Ubuntu 20.04.2 LTS \n \l

root@host:/data/oceanbase# build_debug/src/observer/observer --version
build_debug/src/observer/observer --version
observer (OceanBase CE 3.1.0)

REVISION: -377fa3d62f0b4a7a20dd2e7ebaaa0ef38f190759
BUILD_BRANCH: master
BUILD_TIME: Jun  2 2021 16:39:57
BUILD_FLAGS: Debug
BUILD_INFO:

Copyright (c) 2021 Ant Group Co., Ltd.

After I compile and install the binary from source code,  then I find obd cluster deploy xx -c mini-local-example.yaml  still download the RPM from yum repo and totally ignored my local install.  how can I start the instance with my local binary?
Thank you
Originally posted by @zhihuiFan in https://github.com/oceanbase/oceanbase/issues/56#issuecomment-855217698

Please refer to the README in the root path.


What is the theme on readme?

Hey @oggy I've to say that this is a really nice plugin. Thank you :))
Can you tell me what is the color theme that you're using on the README.md?
Thanks!

Heh, thanks. It's a custom set of styles, which I wrote to match what I had made years ago for myself in Emacs. Feel free to steal it. :)


DHCPv6: static mapping with prefix tracking leads to wrong DNS AAAA entry

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:
[*] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[*] I have searched the existing issues and I'm convinced that mine is new.
Describe the bug
According to the DHCPv6 settings page a static mapping for a network with IPv6 prefix tracking can be entered in the format ::1:2:3.4.
The static record itself is working for DHCPv6, but the resulting AAAA-DNS records are wrong - the (tracked) IPv6 prefix is missing from them:
$ host test.lan
test.lan has address <IP_ADDRESS>
test.lan has IPv6 address ::1:2:3:4

This essentially breaks all communication with the host, as IPv6 is usually preferred.
To Reproduce
Steps to reproduce the behavior:

Enable IPv6 prefix tracking for an interface
Enable Unbound DNS (with option "register DHCP static mappings")
Add a static DHCPv6 entry for "test.lan", omitting the prefix (just as suggested by the documentation)
Apply changes
This results in a broken DNS AAAA record for "test.lan"

Expected behavior
The DNS-AAAA record for the static host should contain the current prefix and the suffix configured in the static DHCPv6 mapping.
Environment
Software version used and hardware type if relevant.
e.g.:
OPNsense OPNsense 19.7.2 (amd64, OpenSSL).
APU2C4
Network Intel® I210-AT

Hmm, this is an Unbound/Dnsmasq issue then. Problem is that prefix merging works in DHCPv6 service but there is no great way of knowing without creating external plumbing.

@fichtner Wouldn't a script which runs on each prefix change be enough? This script could generate a correct unbound/dnsmasq config containing the full IPv6 addresses of static host mappings.
This would also be an important step for proper IPv6 firewall rules in environments with dynamic prefixes, as then we could use DNS aliases for IPv6 hosts.

Interestingly the /var/dhcpd/etc/dhcpdv6.conf contains the full address, but the core/src/etc/inc/plugins.inc.d/unbound.inc reads the leases from $config['dhcpdv6'] which doesn't seem complete.
If there is information about the interface in the $config['dhcpdv6'] tree, than the address could be reconstructed from the interface.
Or of there is an prefix change the script will write the full IPv6 address somewhere in $config['dhcpdv6']
then there could be some code in https://github.com/opnsense/core/blob/6c4b88070508b52468ad6238bb087f490530f014/src/etc/inc/plugins.inc.d/unbound.inc#L675 like:
if (is_ipaddrv6($host['ipaddrv6'])) {
ipaddrv6 = $host['ipaddrv6']
} else {
ipaddrv6 = $host['ipaddrv6_temp']
}

The prefix is merged with the suffix on config write in DHCPv6. But this is only run time information and we are fairly certain that unbound rewrite for all and any address changes will not be the favourite solution for all users. Tracking is a huge issue because we passively listen on another interface which may lead to event pollution or a lot of cross-service logic which is suboptimal for service isolation and simplicity reasons, eventually also maintenance efforts.
In short, shifting prefixes really really suck in automated scenarios where people expect static and stable runtime configurations.

I can't really follow, but may be I missed something, so please correct me if I am wrong.
For non static DHCP leases I can't see any additional dependency:
If you are talking about "cross-service logic" do you mean the interaction between DHCP and DNS? I think this is a cross-service logic that is highly requested and common. Other tools/router/FW does the the same e.g. AD controller or FritzBox.
And I think there is a cross-service logic on DHCP client and DHCP Server, because the prefix delegation need to be propagated to the server.
If the DHCPv6 service updates the DNS for new leases this should be sufficient, because if the prefix is changing there will be new leases for every client.
For static DHCP release, i think this could work without additional dependencies too:
If DNS entries for static DHCP Leases should be available before the DHCP Server has offered the lease, than DNS needs a new config.
But even this update can be implemented as a DHCP -> DNS cross-service logic, e.g. if DHCP detects new prefix. send new leases to DNS.
Last but not least. IMHO If you run an environment with dynamic prefix changes, you don't expect a static runtime configuration, you expect adoption to the changes and make it feel static, because of DNS pointing to the right IP regardless of the prefix
If you have static prefixes you don't care so much about the functionality we are discussing here.

it looks like dhcpd.inc  is generating real ip for static mapping here at :
https://github.com/opnsense/core/blob/master/src/etc/inc/plugins.inc.d/dhcpd.inc#L1510-L1512
But unbound and dnsmasq don't do it.
So, I made a fix the following fix for unbound:
https://github.com/opnsense/core/blob/master/src/etc/inc/plugins.inc.d/unbound.inc#L674-L690
to:
                $_ifcfgipv6 = find_interface_ipv6(get_real_interface($dhcpif, 'inet6'), $ifconfig_details); // added by @bliss7
                foreach ($dhcpifconf['staticmap'] as $host) {
                    if (!$host['ipaddrv6'] || !$host['hostname']) {
                        continue;
                    }

                    $domain = $config['system']['domain'];
                    if ($host['domain']) {
                        $domain = $host['domain'];
                    } elseif ($dhcpifconf['domain']) {
                        $domain = $dhcpifconf['domain'];
                    }

                     // added by @bliss7
                    if (isset($config['interfaces'][$dhcpif]['dhcpd6track6allowoverride'])) {
                        $host['ipaddrv6'] = make_ipv6_64_address($_ifcfgipv6, $host['ipaddrv6']);
                    }

                    $unbound_entries .= "local-data-ptr: \"{$host['ipaddrv6']} {$host['hostname']}.{$domain}\"\n";
                    $unbound_entries .= "local-data: \"{$host['hostname']}.{$domain} IN AAAA {$host['ipaddrv6']}\"\n";
                    if (!empty($host['descr']) && $unboundcfg['txtsupport'] == 'on') {
                        $unbound_entries .= "local-data: '{$host['hostname']}.{$domain} TXT \"" . addslashes($host['descr']) . "\"'\n";
                    }
                }

it's exactly same way with the dhcpd.inc and I just added 4 lines

As I said we're not planning to add more cross-service (DHCP vs. Unbound) code at this point.

https://github.com/opnsense/core/issues/2544 this is the broader challenge and without a plan we just end up with a lot of unmaintainable code in the future which we spend some years to undo in OPNsense.

I  know this is a bigger thing, bit this all sounds like an event bus or similar would be useful. Plugins and other parts can publish or subscribe events.
This allows to handle dependencies more loosely.
Again nothing that can be implemented without some further design work, just as a design idea.

This issue has been automatically timed-out (after 180 days of inactivity).
For more information about the policies for this repository,
please read https://github.com/opnsense/core/blob/master/CONTRIBUTING.md for further details.
If someone wants to step up and work on this issue,
just let us know, so we can reopen the issue and assign an owner to it.

First of all thanks to everyone who has contributed to this amazing project, it has been a life saver.
@bliss7
Thank you for the patch it worked as intended.
@fichtner
I understand the philosophy of "not planning to add more cross-service (DHCP vs. Unbound) code", but it seems that until a broader plan is hashed out that the product shouldn't suffer from defects.
The patch provided by bliss is 4 lines, it is not like we are talking hundreds of lines of codes here.

Is it planned / on the roadmap to have this feature implemented in the future? I am a Deutsche Telekom customer and having also a dynamic IPv6 prefix. (Also a fan of a robust solution instead of the hack above :) )


Properly implement count-based environments

Currently there is just placeholder text.
https://github.com/hobbyfarm/admin-ui/blob/4a82d0923beebb85840c9c7b14dd5c16739b34c6/src/app/configuration/event/new-scheduled-event/new-scheduled-event.component.html#L122

This is resolved.


Support CNB Service Bindings

kpack should support CNB service bindings, so that images can be properly configured for services at build time.
This should be enabled by allowing images and builds to be configured with a list of bindings:
name: image
...
spec:
  ...
  bindings:
  - name: my-binding
    metadataRef:
      name: provider-binding-metadata
    secretRef:
      name: provider-binding-secret

MetadataRefs should reference a config map and secrets should reference a secret.

While I think this is something kpack needs to support, it also loosens the security posture of kpack. Since the build/image creator can specify a secret name that is mounted into the build, this exposes an enumeration attack against secrets that are in the same namespace as the build's pod. Consumers of kpack that host multi-tenant builds in the same namespace should stop doing that, or risk exposure of secrets.
This is no different than allowing the user to create a Pod. To date, kpack has limited the surface area of the PodSpec that is configurable.

That  is really good point @scothis. We have gone to great lengths to prevent user provided code from executing with access to registry credentials and this would allow any user to be able to read those credentials.

We settled on only allowing secrets to be bound that are not attached to any service account. This will protect secrets like K8s API service accounts, registry and source repository credentials, while still allowing access to other secrets.


MongoUpdateBatch in the new driver

Hi There,
How should I use the old MongoUpdateBatch class with the new driver.
I've tried finding some information but couldn't find.
When I tried to use the same class it throws and error that I should use the MongoCollection instance.
Exception:
PHP Fatal error:  Uncaught TypeError: Argument 1 passed to MongoUpdateBatch::__construct() must be an instance of MongoCollection, instance of MongoDB\Collection given, called
Thanks

This library is designed to work with the new mongodb driver and not the old mongo driver. It looks like you are trying to combine the two (new library with old driver?) which won't work.
If you are trying to do bulk updates, take a look at using bulkWrite() or updateMany() which are both functions of MongoDB\Collection.

I'm not trying to combine them both.
I want to know what is the equilivent for the old MongoUpdateBatch in the new driver.
In the old way I was creating new MongoUpdateBatch and gave him a MongoCollection and then add every time new update array.
How is it working in the new driver.
How do I execute Bulk Write, How I'm adding another update.
UpdateMany is not good for me as I need to have different query for each update.

You use the MongoDB\Collection::bulkWrite() function, just like @moderndeveloperllc suggested.
Here's an example
$batch = [];

foreach ($updatedDocuments as $document) {
    $batch[] = [
        'updateOne' => [
            ['_id' => $document['_id']], // filter
            ['$set' => ['newValue' => $document['newValue']]], // update
            [], // options
        ]
    ];
}

$bulkResult = $collection->bulkWrite($batch, ['writeConcern' => new MongoDB\Driver\WriteConcern(1)]);

Yep, this is exactly what I've did.
Thanks.

Just to cross-reference: #209 was previously opened to discuss possible improvements to the existing Collection::bulkWrite() method and PR #211 has been submitted as a proof-of-concept implementation of those suggestions.
In the current library, Collection::insertMany() is the only other method that executes a type of bulk write operation. The updateMany() and deleteMany() methods execute single write update and delete operations with options to affect multiple documents, respectively.


Error: illegal token '<' (/krpc.proto, line 1)

Hi, I'm having trouble getting started with this library. Whatever I do, I always get this error:

My current code is just the createClient function

Taking a guess, but I believe the issue to be that it can't find that file and is rendering a 404 page (which has HTML)


Subscribing to candles Drains my internet!

Hello
I see subscribing to candle intervals drains data at a hell of a rate. I would like to know if there is a way to cancel the the subscription and what is the max and min number of intervals you can subscribe to?
Stock.subscribe_to_candle_interval_sync(60)
I subscribe to 60 because in my program anything above 60 results in a null return. I tried re subscribing with 0 to see if it stops the sync but I'm uncertain if it really did anything at all
Any help would be greatly appreciated :)

There is no unsubscribe method implemented, I forgot to implement because I don't use IQOption anymore, but you can easily add unsubscribe if you can find the exact unsubscribe messages and use IQOption.send_unsubscribe_message_sync to send it.
To find the Unsubscribe message you can open the iqoption website and monitor their socket connection while removing the option from your dashboard.

Thanks. I added the following code to your file 'option.py'
_async def unsubscribe(self):
await self._parent.send_unsubscribe_message({"name":"quote-generated","params":{"routingFilters":{"active_id":self._id}}})
await self._parent.send_unsubscribe_message({"name":"expiration-top-computed","version":"1.0","params":{"routingFilters":{"instrument_type":self._type,"asset_id":str(self._id)}}})
return True
async def unsubscribe_to_candle_interval(self, interval):
if await self.is_valid_interval(interval):
await self._parent.send_unsubscribe_message({"name":"candle-generated","params":{"routingFilters":{"size":self._id,"size":interval}}})
def unsubscribe_sync(self):
return asyncio.run_coroutine_threadsafe(self.unsubscribe(),self._parent._async_loop).result()
def unsubscribe_to_candle_interval_sync(self, interval):
return asyncio.run_coroutine_threadsafe(self.unsubscribe_to_candle_interval(interval),self._parent._async_loop).result()
_


Remove Tuple2?

I'm not entirely sure why it's in here in the first place.

Deprecated in #255.  Will be removed very soon.

Tuple2 is still here even though Swift 2 support went in. Shall I do a PR to remove it?

Yes please!

Whoa, we fixed this a long time ago.


BC Example fails

@maghighi can you take a look at the example regarding setting boundary conditions and help undestand why it fails?  If you download this repo, run python run_tests you'll see that some odd error pops around line 128 regarding setting an array element with a sequence.  Any thoughts?

In the corresponding file, there is a line:

alg.set_boundary_conditions(bctype='Neumann_group', pores=BC3_pores, mode='remove')

Based on the way the method works, this means that the user wants to keep the 'Neumann_group' label and prop but with the False and nan values in the BC3_pores. In the same file, this feature has been used for removing a group of Dirichlet pores. But if someone wants to remove all traces of a BC, then the following should be used:

alg.set_boundary_conditions(bctype='Neumann_group', mode='remove')

With the above line, all tests will pass. But since the future users may make this mistake again, it seems an additional check for nans is required by the coefficient matrix. So, even if the user does not apply the 'remove' mode correctly, this error will not be shown. It will be easy to add. I'll make a pull request to OpenPNM.

Thanks @maghighi, the problem is solved