Improve extracting production data + converting to json

Fix generated IDs also.
Improve extracting all data from db and convert to json
The idea is do this extractions a few times per month.
We need to let it more automatic.

Download: OK
Convert to JSON: Pending
Merge same files: Pending (like items from mergeShop and items from itemShop + quests and towns)

pending: houseShop + houseItemShop


How to remove tabs menu Without broken app -- Ionic V1

I'm submitting a ...  (check one with "x")
[x ] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:

When i remove tabs, app stop to work
Expected behavior:

Steps to reproduce:

Related code:
insert any relevant code here

menu.module
.config(function($stateProvider) {
		$stateProvider
			.state('app', {
				url: '/app',
				abstract: true,
				templateUrl: 'scripts/menu/menu.html',
				controller: 'MenuController as vm',
				resolve: {
					loggedUser: ['loginSignUpService', function(loginSignUpService) {
						return loginSignUpService.getUser().isSignedIn;
					}]
				}
			})
			.state('app.tabs', {
				url: '/tab',
				templateUrl: 'scripts/menu/tabs.html',
				resolve: {
					data: function(dataService) {
						return dataService.init();
					}
				}
			});
	});

Other information:

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
insert the output from ionic info here

Thanks for the issue! I'm going to close this as it is not an issue with the conference app. Please visit our forum or slack channel for questions about the framework. :smile:


Updated html report colour contrast for WCAG 2.1 accessibility standards

The previous colour choices did not have enough contrast for them to conform to WCAG 2.1 . This could cause issues for people who are colour-blind or visually impaired in other ways.

Thank you @danielperez660, could you please get the latest output file from branch 2.5 instead of master? There are some conflicts. Thanks!


Standardize how we display "learning intentions" across chapters

Done. They will all resemble chapter 4. Adam to edit all chapters.


Switch to podman and podman-compose

Issue summary

Due to this bug https://github.com/docker/compose/issues/6975 we are considering a switch to podman* technology.
Some challenges one may encounter:

watchtower does not support podman (but it has its update mechanism) https://github.com/containrrr/watchtower/issues/1060,
spawning containers from within containers should work, but I have never done it myself, so it may not work out of the box,
Ruby docker API may not be happy with it (using aliases by installing dnf install podman-docker should fix it, hopefully).

Other information and links

Not really needed at the moment.


The title of the dialog 'Propagate Access Control Lists' is replaced by the title of the dialog which is opened previously

Storage Explorer Version: 1.20.0-dev
Build Number: 202100623.3
Branch: rel/1.20.0
Platform/OS: Windows 10/ Linux Ubuntu 16.04/ MacOS Big Sur 11.4
Architecture: ia32/x64
How Found: Exploratory testing
Regression From: Previous release (1.19.1)
Steps to Reproduce

Launch Storage Explorer.
Expand one ADLS Gen2 storage account -> Blob Containers.
Select one blob container -> Right click it.
Click 'Propagate Access Control Lists...' -> Observe the title of the dialog -> Close the dialog.
Right click the blob container -> Click 'Properties...' -> Close the 'Properties' dialog.
Then open the 'Propagate Access Control Lists' dialog again.
Check whether the title of the dialog is replaced or not.

Expected Experience
The title of the dialog is not replaced.
Actual Experience
The title of the dialog is replaced.

Additional Context
According to the title of other dialog, it would be better to update the title of dialog from 'StorageExplorer' to 'Propagate Access Control Lists'.

Ah, so the Propagate dialog doesn't declare a view model, so the preload script doesn't run a particular block of code. The code block in question is responsible for setting the window title.


chore(ci): use specific npm version

References #2925.

This didn't turn out to be needed. Let's just upgrade our node version and leave npm alone.


add back minLeafCount, since some feature may have very few samples, …

…just control by relative value is not enough.
@deerzq @saurfang

LGTM


Live reload still not working

I have the exact same issue described here on Hugo v0.55.0-DEV.

You need to be more specific about what's not working, as it certainly works for me.

You need to be more specific about what's not working, as it certainly works for me.

Editing and adding posts does not reload the web page.
Editing JS and HTML files does not reload the web page.
Looking at the requests and responses within my browser, I see that they are using my baseURL with the port used by Hugo. I specifically disabled that by using --appendPort="false", because Nginx takes care of correct redirection.
Requests/responses regarding livereload-js should be made with example.com and not with example.com:1313.

You can do something ala:
hugo server --liveReloadPort=443 --baseURL=https://9774fc3f.ngrok.io --appendPort=false

But note that live reload is primary built for the built-in dev server.

You can do something ala:
hugo server --liveReloadPort=443 --baseURL=https://9774fc3f.ngrok.io --appendPort=false

But note that live reload is primary built for the built-in dev server.

I don't see any requests anymore but the livereload still is not working. I still have to refresh the page. Port 443 should be correct though, as I am indeed connecting over HTTPS.

Having similar issue while trying to run hugo in kubernetes cluster accessed via ingress from browser.
https://github.com/gohugoio/hugo/issues/1187#issuecomment-490602574


Draft: Extract src/websockets from Polykey to js-ws

Description
This PR moves src/websockets from https://github.com/MatrixAI/Polykey to this repository.
It also implements backpressure and stream multiplexing according to the spec in #2.
Issues Fixed

Fixes #1
Fixed #2

Tasks

[x] 1. Move source from src/websockets
[x] 2. Separate WebSocketConnection and WebSocketStream out of WebSocketConnection
[x] 3. StreamMessage Parser

[x] parseVarInt
[x] parseStreamId
[x] parseStreamMessageType
[x] parseStreamMessageAckPayload
[x] parseStreamMessageClosePayload
[x] parseStreamMessageErrorPayload
[x] parseStreamMessage

[x] StreamMessage Generator

[x] generateVarInt
[x] generateStreamId
[x] generateStreamMessageType
[x] generateStreamMessageAckPayload
[x] generateStreamMessageClosePayload
[x] generateStreamMessageErrorPayload
[x] generateStreamMessage

[x] 5. WebSocketStreamQueue to buffer generated StreamMessages
[x] 6. Benchmarks

[x] Over net.Socket (TCP)
[x] Over ws.WebSocket
[x] Over WebSocketConnection
[x] Over WebSocketStream
[x] iPerf3

Final checklist

[x] Domain specific tests
[x] Full tests
[x] Updated inline-comment documentation
[x] Lint fixed
[ ] Squash and rebased
[ ] Sanity check the final build

Can this fix #2 and #4 at the same time?

We shouldn't kitchen sink PRs, Try do do them in a new PR if they're not required by changes in this one.

When we are in a node environment, we are using the ws library. In these cases, the user is able to provide a verifyCallback to verify that the server-supplied peerCert is as expected. This is done by adding an event listener to the upgrade event on a ws.WebSocket event target. This facilitates connecting the PKE backend to PolyKey nodes (using self-signed certs).
However, this event is not exposed in the window.WebSocket object that exists within browsers. There is no way to allow a self-signed certificate without user intervention within browsers, hence we should throw an error is a verifyCallback is provided in a browser environment. This facilitates connecting the PKE frontend to the PKE backend (using certs issued by a valid CA).

Yea the browser will be considered a deficient environment. The API should look the same but we should be strict on creation where we throw errors for unimplemented features because of browser limitations.

There will need to be new classes created, I'm in the process of doing so at the moment.
Mostly WSSocket and WSConnection.
The reason for the first being that in QUIC, a QUICSocket has a one to many relationship with QUICConnection. Meanwhile, a WebSocketConnection has a one to one relationship with a ws.WebSocket or window.WebSocket.
Hence, a WSSocket class needs to be created to wrap and group ws.WebSockets, emulating how a QUICSocket can have multiple connections.
This will mean that the interfaces for WSServer and WSClient need to change. These classes originally contained WebSocketStream instances, which were one-to-one with ws.WebSocket. Essentially WebSocketStream is what really the WSConnection should be, barring the ReadableWritablePair, which should be sectioned off to WSStream instead.
WSConnection will have a one-to-many relationship with WSStream by implementing muxing.

WSSocket will be simply a container for WSConnections and ws.WebSockets.
Furthermore, the creation of WSServer should no longer be asynchronous. The start should be the real binding of the https.Server instead. Instead of creating a WebSocketStream on connectionHandler, it should be now WSConnection instead. WSConnection should parse the the ws.WebSocket received messages for the creation of WSStreams

Feel free to ask me any questions about how the WebSockets and WebStreams work, I've worked with them a fair bit.

Only the server should be pinging, and the client responds with pongs. We do this as ping/ponging is not available on the window.WebSocket instance. However, browsers will automatically respond with pongs to server-sent pings, rather than exposing the feature to the user. Since we cannot control this behaviour, we have to implement similar behaviour on our WebSocketClient in a nodejs context. Or we can implement application-level ping/ponging.

Ignore the browser environment for a moment.
The websocket spec already defines how ping/pong works. I'm not actually sure which side is supposed to be sending the pings. Can you find out? Either way, keep alive mechanism must exist on both sides so that if the other side stops sending activity, we end up timing out.
According to a quick search, browser websockets might actually be doing the keep alive internally already, so when using browser websockets, you just throw an exception when the parameter is set. Similar to what we talked about already about configuration not available on the browser.

@amydevs update the spec above with all the changes that is required. Including the spec on how the ping will work between client and server as drawn on the whiteboard.

for client - server ping-pong keep alive here's what should happen:
client and server both start pinging initially
if the client receives a ping, stop pinging
if the server receives a ping, keep pinging
if the server receives two pings, stop pinging

Regarding benchmarking:

Do this on your local system to test your localhost. Use the -l 1024 to use a message buffer size of 1024 bytes or 1 KiB. (We always use KiB, MiB, GiB, never KB, MB, GB).
On the Linux OS, the kernel will set the underlying TCP buffer size. We don't need to change this.
Get a baseline for just regular TCP doing the same thing, you can compare against iperf3. That gives you the overhead of JS.
Then use ws in binary mode and do the same thing with 1024 bytes, now you know the overhead of ws.
Then use js-ws and benchmark only the connection, not the stream. Now you now the overhead of js-ws's connection.
Then use js-ws and benchmark a single stream on single connection. Now you know the overhead over the muxing/demuxing.

my iperf3 results performed with
iperf3 -s # server side
iperf3 -c <IP_ADDRESS> -l 1024 # client side

Browser support in a different PR. Until that is done, it won't be useful in PKE frontend. however PKE backend and PK can make use of this.
Make sure to go through this with @addievo so you 2 get the same architecture.

So on the your laptop it's roughly 10 MiB/s throughput using 1 KiB message sizes for a websocketstream.
Further optimisation can definite close the gap between websocket stream to websocket connection which is roughly 20 MiB/s for ws (which is something we cannot change atm).
So max theoretical performance will be 20 MiB/s for your laptop.

This PR will require some review regarding the usage of events just so we are aligned here.

Had to update some benchmark running code to incorporate this fix https://github.com/MatrixAI/Polykey/commit/8dd41f72ad377c90a6c2dab2b1371f9eb39a461d @amydevs

Please change to using generateTLSConfig instead: https://github.com/MatrixAI/js-quic/pull/53#issuecomment-1721343197.

Reason for why I couldn't import testsUtils: https://github.com/MatrixAI/js-quic/pull/53#issuecomment-1721340830
Basically use fast-check in tests/utils.ts. Not @fast-check/jest. But use @fast-check/jest in the actual tests.

Please finish with TLS tests:

Important to ensure that the TLS system is the same as js-quic. Make sure you can supply client certificates and server certificates optionally. Note that unlike js-quic, server certs is not mandatory. Make sure the verifyPeer option works the same way as js-quic though!!

If server doesn't use certs, it runs on HTTP.
If server does use certs, it runs on HTTPS.
If client doesn't use certs, it runs on HTTP - Note this can be a problem.
If client doesn't use certs, it runs on HTTPS.
The verifyPeer option is independent of whether certs/keys is being used. Make sure you're getting the same kind of failures along with the usage of verifyCallback as in js-quic.

Some challenges:

If the server runs on HTTP, the client cannot connect if it is connecting on HTTPs. So there's no situation where the client has certs but the server doesn't.
If the client doesn't supply certs, it technically should be able to connect to both HTTPS or HTTP. However how does it know which one to use? Perhaps it should always default on HTTPS as a client. If it does this, will this auto-downgrade to HTTP if it turns out, it's actually HTTP and not HTTPS? I'm not sure.

If we cannot get auto-downgrade working, then defaulting to HTTP on client without certs is a bad idea. Therefore... one could instead always use HTTPS. But I believe if this is the case, then it is mandatory for certs on server side. Which would match js-quic behaviour.

You don't have unidirectional streams so your stream id can just increment by the bidi rules? I think only client and server distinguished.

You don't have unidirectional streams so your stream id can just increment by the bidi rules? I think only client and server distinguished.

yeah, i've changed it so that ids only increment at a rate of 2 rather than 4 since uni directional doesn't exist

You only need 1 bit then? Not 2 bits like in QUIC?

3.2.0 of js-events will default to undefined not null for the detail property if not specified. It's being built and released by the CI/CD atm.

You only need 1 bit then? Not 2 bits like in QUIC?

1 bit for?

So wss is prepended automatically inside WebSocketClient, so that way we are always defaulting to HTTPS. Going to drop HTTP support anyway.

Standardise TLS between WS and QUIC: https://github.com/MatrixAI/Polykey/issues/551#issuecomment-1730732555

@amydevs can you write final set of tasks above? And squash and merge!

Good idea to document how your TLS behaves btw with all the potential failure scenarios.

Good idea to document how your TLS behaves btw with all the potential failure scenarios.

i think i'm going to have to change how the TLS errors to be more specific rather than just internal, though the problem is that i can't really tell a socket error is because of a peer TLS failure in the case where verifyCallback is null, because ws simply errors that the server has dropped the socket

i'll probably standardize the TLS errors like QUIC first and then document them

Some things to port over from js-quic:

https://github.com/MatrixAI/js-quic/pull/53#issuecomment-1731104572 - generateCertificate and generateTLSConfig
https://github.com/MatrixAI/js-quic/pull/53#issuecomment-1732333886 and https://github.com/MatrixAI/js-quic/pull/53#issuecomment-1731563622 - bring in validateTarget if it is relevant to you. (Note that I believe some of my transforms is actually relevant).

I've added inline documentation to WebSocketConnection:
/**
 * Note that on TLS verification failure, {@link events.EventWebSocketConnectionError} is emitted with the following `event.detail`:
 * - If we failed to verify the peer, the `event.detail` will be an instance of {@link errors.ErrorWebSocketConnectionLocalTLS}.
 * - If the peer failed to verify us, the `event.detail` will be an instance of {@link errors.ErrorWebSocketConnectionPeer} with an error code of {@link utils.ConnectionErrorCode.AbnormalClosure}.
 *
 * The reason for this is that when the peer fails to verify us, Node only tells us that the TCP socket has been reset, but not why.
 */

Hooray!


Encrypted Message

I have a mate on chatsecure(also chatsecure & android device). But often I got the following message tho' we both set up ORT:
[You Received an unreadable encrypted message]
The problem, my mate don't know if the message is sucessfully DE-CRYPTED on my device and thinks I read it.
Please make maybe a double-checked icon in addition.
1 check -> Received on device
2 checks-> Sucessful de-crypted
So he would know that something went wrong..
Is it normal that this happens often? It's really disturbing that ORT with it's de-cryption fails and I can't read the messages from my friends. I selected im my settings "Chat encryption 'automatic' "
Any tipps of possible fixes?

We do some sort of automatic retry if there isn't a valid OTR session in place. We also show delivery confirmations for messages. I will check and make sure that we only show a delivery confirmatino if the message was successfully decrypted.


How can sort from a custom columns that refers directly to a two or more differents field on DB?

How can sort from a custom columns that refers directly to a two or more differents field on DB?
I have a custom column that came from 2 fields on model
->addColumn('z_custom', static function ($m) {
   return $m->x * $m->y;
})

I would like sort for these two field example: $query->orderBy('x', 'asc')->orderBy('y', $order_direction) where $order_direction came from datatable.html and is reffered to z_custom.
in pseudo
->whenOrderRequestFor('z_custom', () => $query->orderBy('x', 'asc')->orderBy('y', getOrderDirection('z_custom'))

table.DataTable({
   ...
   columns: [
      { data: 'z_custom', orderable: true, searchable: false }
   ]
  ...
})

Linux
PHP 7.x
Laravel 6.x
Laravel-Datatables v9.9.0

I think what you need is orderColumn. See https://yajrabox.com/docs/laravel-datatables/master/order-column.

thankyou @yajra that seem exactly what im looking for


Prevent Data Table from overflowing its container

The Data Table can overflow its container when selecting a dataset with a very long name, e.g., bc/7-day-and-cumulative-cases-by-hsda.

Adding table-layout: fixed to the CSS of the table seems to fix the overflow issue, but makes both the table and any expanded child rows very ugly and squashed. Perhaps allowing horizontal scrolling for the table is acceptable. In this case, should modify the boostrap class of the containing div to accommodate this.


Update senec to 1.6.12

Please update my adapter ioBroker.senec to version 1.6.12.
This pull request was created by https://www.iobroker.dev c0726ff.

RE-CHECK!


Does this work with Rc?

Hey, this is really cool! Shouldn't this technically also (be possible to made to) work with Rc<dyn Trait>? (I'm aware of the caveats of serialising Rc<>).

Yes it works out of the box with Rc<dyn Trait>.

Awesome! Thanks for getting back to be so quick, I'll close this issue then.


App doesn't close after closing window

In Gentoo GNU/Linux, running the app from a terminal reveals that after closing the app window the process is still running.
System properties

Kernel: pf-sources v4.4_p8
Linux 4.4.0-pf8 #3 SMP PREEMPT Wed Sep 14 03:54:56 ART 2016 x86_64 AuthenticAMD GNU/Linux
Desktop environment: KDE5 with plasma-desktop.
kde-apps/kdebase-runtime-meta (15.12.3(5)@02/05/16

Edit
Pressing Alt key in the keyboard raises a hidden application menu. The Quit option under the File menu does close the application.

Same on stock Ubuntu 16.04, using killall -9 Trello for now :smile:

same on archlinux, dwm.

This is also the case in Windows: the processes are still running even after closing the application's window.

@danielchatfield can we make a release?

That works for me. Thank you.

fixed guys!!!


Looking for New Maintainers

Is there anyone who would be interested in becoming a maintainer of slack archive bot?
I'm not using Slack anymore in my personal life, so I'm looking to roll back the amount of time I devote to this. I can keep fielding pull requests, but don't have as much time for new feature requests.

Hi Jeremy, love your project, my friend @dummyx and I are willing to help out maintaining this.

@MarkHershey @dummyx Great!
Are you interested in working on any of the open feature requests in the issue tracker?
Otherwise, just happy to have some help reviewing any incoming bugs or PRs. I figure we can pair on the next few things that come up if that sounds good to you.


Add missing steps

Purpose

Fixes: https://github.com/wso2/docs-apim/issues/6664

@Mariangela committed the suggested changes.

@Tharsanan1 , please send these changes to the 4.2.0 branch as well.


Fixed some typos and non-breaking space issue

Thanks a lot!

 Thanks very much for your awesome library!

 :)


Breaks Smart Knobs

I'm using storybook-addon-smart-knobs, but when I wrap my component with withState, the smart knobs don't appear anymore. Any idea why?

@fabb I can't think of anything off hand. Do you have any errors, in the console or otherwise? Do you have some example code?

+1. I guess Smart Knobs is not being able to see the component and its declared props anymore, because the state is wrapping it as a HOC.

That's what I suspected as well.
Here's a full example:
import React from 'react'
import PropTypes from 'prop-types'
import { storiesOf } from '@storybook/react'
import { withInfo } from '@storybook/addon-info'
import { action, decorate } from '@storybook/addon-actions'
import { withKnobs } from '@storybook/addon-knobs/react'
import { withSmartKnobs } from 'storybook-addon-smart-knobs'
import { withState } from '@dump247/storybook-state'

const MyButton = ({ onClick, n }) => <button onClick={onClick}>Pressed {n} times</button>
MyButton.propTypes = {
    /** function that will be called when the button has been pressed */
    onClick: PropTypes.func.isRequired,
    /** number of times the button has been clicked */
    n: PropTypes.number.isRequired,
}
MyButton.defaultProps = {
    n: 0,
}

storiesOf('Button', module)
    .addDecorator(withSmartKnobs)
    .addDecorator(withKnobs)
    .add(
        'Button with working smart knobs',
        withInfo()(() => <MyButton onClick={action('onClick')} />)
    )
    .add(
        'Button with broken smart knobs',
        withState({
            n: 0,
        })(
            withInfo()(({ store }) => (
                <MyButton
                    onClick={decorate([
                        changeEventArray => {
                            store.set({
                                n: store.state.n + 1,
                            })
                            return changeEventArray
                        },
                    ]).action('onClick')}
                    {...store.state}
                />
            ))
        )
    )

It breaks pretty much any addon that examines the component. For example, addon-info is also broken.


Migrated file shares to new generator

/azp run java - storage - tests

/azp run java - storage - tests

/azp run java - storage - tests

/azp run java - storage - tests

/azp run java - storage - tests

/azp run java - storage - tests

/azp run java - storage - tests


Text being currently edited gets properties of previously edited text

Bug
Let's say we have 2 texts on the whiteboard:
text1 - very large, hand drawn
text2 - small, code
click on 'text1' and modify it to 'text1edited'
now, double click on 'text2' and modify it to 'text2edited' and after clicking outside, you will see that text2modified will have taken the properties that text1 had, i.e. it will now be very large, hand drawn instead of small, code.

This was fixed yesterday in https://github.com/excalidraw/excalidraw/issues/1281. Is it possible you're on older version? Can you still reproduce?

Yes. Seems to have gotten fixed now. Thanks :)


GCC wrapper messes up glibc build

Issue description
The hardening part of the GCC wrapper script prevents glibc being built (outside of nix, just garb the source tarball and try to build it). One problem is that the wrapper injects -D_FORTIFY_SOURCE into the command line, which glibc does not like. This is already worked around here:

https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/glibc/default.nix#L34

Please note that the gcc invocation issued by the glibc build system has an -U_FORTIFY_SOURCE argument, so it's very explicit that this is not wanted and feels like an error for the wrapper to force fortification here.
One solution would be to detect the presence of -U_FORTIFY_SOURCE and then let the wrapper refer from adding it back in.
A simpler solution might be to move the hardeningCFlags here:

https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/cc-wrapper/cc-wrapper.sh#L130

from extraAfter to extraBefore, so command line arguments (where specified)  "win" over what the wrapper wants. Either solution might make the hardeningDisable here:

https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/glibc/default.nix#L34

and potentially in many other places (didn't check that) obsolete, which seems like a good thing.
Steps to reproduce
Try to compile glibc with the nixos-provided GCC.
Technical details
(i skip those because the issue is very general)

Looks like another instance of https://github.com/NixOS/nixpkgs/issues/18995

@joachifm It is, thanks for the pointer.


执行 flutter pub run build_runner build 后，未生成.js文件

问题
执行 flutter pub run build_runner build 后，未生成.js文件
环境信息
[✓] Flutter (Channel stable, 3.10.0, on macOS 13.4 22F66 darwin-arm64 (Rosetta),
locale zh-Hans-CN)
• Flutter version 3.10.0 on channel stable at /Users/xxx/Library/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 84a1e904f4 (4 months ago), 2023-05-09 07:41:44 -0700
• Engine revision d44b5a94c9
• Dart version 3.0.0
• DevTools version 2.23.1
• Pub download mirror https://pub.flutter-io.cn
• Flutter download mirror https://storage.flutter-io.cn
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
• Android SDK at /Users/xxx/Library/Android/sdk
• Platform android-34, build-tools 34.0.0
• ANDROID_HOME = /Users/xxx/Library
• Java binary at: /Applications/Android
Studio.app/Contents/jbr/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build
17.0.6+0-17.0.6b802.4-9586694)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 14E300c
• CocoaPods version 1.12.1
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2022.2)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build
17.0.6+0-17.0.6b802.4-9586694)
[✓] Connected device (3 available)
• BNE AL00 (mobile) • 9CR9K22C06024924 • android-arm64  • Android 12 (API 31)
• macOS (desktop)   • macos            • darwin-arm64   • macOS 13.4 22F66 darwin-arm64 (Rosetta)
• Chrome (web)      • chrome           • web-javascript • Google Chrome 116.0.5845.179
[✓] Network resources
• All expected network resources are available.
Fair版本号
dependencies:
fair: ^3.3.0
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^2.0.0
build_runner: ^2.0.0
fair_compiler: ^1.7.0
dependency_overrides:
fair_version: 3.10.0

在工程pubspec.yaml中添加如下配置：
dependency_overrides:   analyzer: 5.6.0   dart_style: 2.2.5


Increase block ID range from 8-bit to 16-bit

The blocks array is 8-bit, supporting up to 256 block types:
// src/item.c
const int blocks[256][6] = {

// src/item.h
extern const int blocks[256][6];

Consider increasing this to 16-bit (for a total of 65536 block types), and testing to ensure elsewhere in the game (save file format, sqlite?) works well with it. Having this many block types may not be necessary yet, but it would be a good idea to plan ahead for future expansion e.g. to support variants of blocks in different orientations https://github.com/fogleman/Craft/issues/116.

Have you finished it?
I find many places in the code w is regarded as a signed char. Such as light_fill(), map_set and etc.
MapEntry.w is char:
typedef union {
    unsigned int value;
    struct {
        unsigned char x;
        unsigned char y;
        unsigned char z;
	char w;
    } e;
} MapEntry;

It seems a lot of code and algorithms need to be modified to increase block ID range from 8-bit to 16-bit.


feat(UI): network selector update [GTN-346]

wider menu
new colors for development networks

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


Night CI 2023-06-05: Failed

action url: https://github.com/spidernet-io/egressgateway/actions/runs/5181341066

dup


unable to use NetworkManager to manage eth0 in container

Issue description
After installing NetworkManager inside lxd container, NetworkManager shows eth0 as unmanaged and cannot bring up the interface. Which is required to manage connections on top of the interface. E.g. openvpn
I tried with centos/7/amd4 and ubuntu/xenial/amd64
I tried various "solutions" I could find on the internet. None of it helped.
Is there a way to let NetworkManager inside a container manage the main interface eth0?
Steps to reproduce

Install NetworkManager inside a container. yum install NetworkManager-tui on centos, apt install network-manager on ubuntu
reboot
nmcli device show

root@test2:~# nmcli device
DEVICE  TYPE      STATE      CONNECTION
eth0    ethernet  unmanaged  --
lo      loopback  unmanaged  --
root@test2:~# nmcli device show
GENERAL.DEVICE:                         eth0
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:16:3E:E0:8B:07
GENERAL.MTU:                            1500
GENERAL.STATE:                          10 (unmanaged)
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
WIRED-PROPERTIES.CARRIER:               on
IP4.GATEWAY:
IP6.ADDRESS[1]:                         fe80::216:3eff:fee0:8b07/64
IP6.GATEWAY:

GENERAL.DEVICE:                         lo
GENERAL.TYPE:                           loopback
GENERAL.HWADDR:                         00:00:00:00:00:00
GENERAL.MTU:                            65536
GENERAL.STATE:                          10 (unmanaged)
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
IP4.ADDRESS[1]:                         <IP_ADDRESS>/8
IP4.GATEWAY:
IP6.ADDRESS[1]:                         ::1/128
IP6.GATEWAY:

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
18: eth0@if19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:16:3e:e0:8b:07 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::216:3eff:fee0:8b07/64 scope link
       valid_lft forever preferred_lft forever

Required information

Distribution: Ubuntu 16.04 Xenial
lxc info:

apicompat: 0
auth: trusted
environment:
  addresses: []
  architectures:
  - x86_64
  - i686
  certificate: |
  driver: lxc
  driverversion: 2.0.1
  kernel: Linux
  kernelarchitecture: x86_64
  kernelversion: 4.4.0-23-generic
  server: lxd
  serverpid: 1126
  serverversion: 2.0.1
  storage: btrfs
  storageversion: "4.4"
config: {}
public: false

I seem to remember reading that NetworkManager refuses to use veth interfaces at least in some versions. Current Network Manager (1.2) may solve that.

A search on NetworkManager and veth reveales your own message on a Mailinglist with a patch to add veth support to networkmanager 0.9.4.
On CentOS 7, it's NetworkManager-1.0.6-29.el7_2.x86_64
It does recognize the veth device, but complains about udev. see log extract below.
[root@nmcli-test ~]# nmcli --version
nmcli tool, version 1.0.6-29.el7_2
[root@nmcli-test ~]# rpm -qa NetworkManager
NetworkManager-1.0.6-29.el7_2.x86_64

[root@nmcli-test ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2016-05-26 20:10:09 UTC; 5s ago
 Main PID: 471 (NetworkManager)
   CGroup: /system.slice/NetworkManager.service
           └─471 /usr/sbin/NetworkManager --no-daemon

May 26 20:10:09 nmcli-test NetworkManager[471]: <info>  WWAN enabled by radio killswitch; enabled by state file
May 26 20:10:09 nmcli-test NetworkManager[471]: <info>  WiMAX enabled by radio killswitch; enabled by state file
May 26 20:10:09 nmcli-test NetworkManager[471]: <info>  Networking is enabled by state file
May 26 20:10:09 nmcli-test NetworkManager[471]: <info>  (lo): link connected
May 26 20:10:09 nmcli-test NetworkManager[471]: <info>  (lo): new Generic device (carrier: ON, driver: 'unknown', ifindex: 1)
May 26 20:10:09 nmcli-test NetworkManager[471]: <warn>  (eth0): failed to find device 32 'eth0' with udev
May 26 20:10:09 nmcli-test NetworkManager[471]: <info>  (eth0): link connected
May 26 20:10:09 nmcli-test NetworkManager[471]: <info>  (eth0): new Veth device (carrier: ON, driver: 'veth', ifindex: 32)
May 26 20:10:09 nmcli-test NetworkManager[471]: <info>  startup complete
May 26 20:10:09 nmcli-test NetworkManager[471]: <info>  wpa_supplicant running
[root@nmcli-test ~]# nmcli dev status
DEVICE  TYPE      STATE      CONNECTION
eth0    ethernet  unmanaged  --
lo      loopback  unmanaged  --

Interface config:
[root@nmcli-test ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
HOSTNAME=LXC_NAME
NM_CONTROLLED=yes
TYPE=Ethernet
MTU=
DHCP_HOSTNAME=`hostname`

NetworkManager log:
[root@nmcli-test ~]# journalctl -t NetworkManager
-- Logs begin at Thu 2016-05-26 20:31:32 UTC, end at Thu 2016-05-26 20:31:33 UTC. --
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  NetworkManager (version 1.0.6-29.el7_2) is starting...
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  Read config: /etc/NetworkManager/NetworkManager.conf and conf.d: 10-ibft-plugin.conf
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  Loaded settings plugin ifcfg-rh: (c) 2007 - 2015 Red Hat, Inc.  To report bugs please use the NetworkManager mailing list. (/usr/lib64/NetworkManager/libnm-settings-plug
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  Loaded settings plugin iBFT: (c) 2014 Red Hat, Inc.  To report bugs please use the NetworkManager mailing list. (/usr/lib64/NetworkManager/libnm-settings-plugin-ibft.so)
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  Loaded settings plugin keyfile: (c) 2007 - 2015 Red Hat, Inc.  To report bugs please use the NetworkManager mailing list.
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  ifcfg-rh: new connection /etc/sysconfig/network-scripts/ifcfg-eth0 (5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03,"System eth0")
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  monitoring kernel firmware directory '/lib/firmware'.
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  Loaded device plugin: NMVxlanFactory (internal)
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  Loaded device plugin: NMVlanFactory (internal)
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  Loaded device plugin: NMVethFactory (internal)
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  Loaded device plugin: NMTunFactory (internal)
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  Loaded device plugin: NMMacvlanFactory (internal)
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  Loaded device plugin: NMInfinibandFactory (internal)
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  Loaded device plugin: NMGreFactory (internal)
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  Loaded device plugin: NMEthernetFactory (internal)
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  Loaded device plugin: NMBridgeFactory (internal)
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  Loaded device plugin: NMBondFactory (internal)
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  WiFi enabled by radio killswitch; enabled by state file
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  WWAN enabled by radio killswitch; enabled by state file
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  WiMAX enabled by radio killswitch; enabled by state file
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  Networking is enabled by state file
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  (lo): link connected
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  (lo): new Generic device (carrier: ON, driver: 'unknown', ifindex: 1)
May 26 20:31:32 nmcli-test NetworkManager[49]: <warn>  (eth0): failed to find device 34 'eth0' with udev
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  (eth0): link connected
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  (eth0): new Veth device (carrier: ON, driver: 'veth', ifindex: 34)
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  startup complete
May 26 20:31:32 nmcli-test NetworkManager[49]: <info>  wpa_supplicant running

Is there some workaround to make NM manage eth0 in lxc?

I'm getting the same result you are with NM 1.2 on Ubuntu 16.04.
Looks like someone regressed veth support in container in NM upstream (not that it ever was that great).
I'd recommend you file a bug against Network Manager, stating that you're trying to run Network Manager inside a container where eth0 is the slave end of a veth pair attached to a bridge on the host and that you'd expect it to be treated as a physical ethernet device in such a case.

I will file a bug upstream.
Is there an alternative to veth that could work with NetworkManager inside a lxd container?

Well, the udev error is a bit odd and it may apply to all devices...
In the past, passing a physical network device would work fine.

Closing this bug as there's nothing we can do on LXD's end.


Fix incorrect message ordering when maxConcurrentSessions > 1

Description
Resolved https://github.com/Azure/azure-sdk-for-java/issues/27336
Rather than use Flux.merge() to merge all sessions, here we add new method to return the Flux of each session and subscribe inside processor client. Thus, we can process multiple session messages in parallel and independently.
WIP: UT, stress tests.
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.


Fog/Orchestration Docs

Fleshed out Fog/Orchestration sample code

:+1:

@smashwilson can you give this a quick look and merge when you get a chance?

Updated with @rdodev && @smashwilson's recommendations.

:+1: :shipit:


Add kprobe and uprobe example programs

Added example programs for kprobes and uprobes along with support for deploying them in a Kubernetes cluster.  To provide a reliable target for uprobes in Kubernetes, this pr also includes a simple program called go-target that can be deployed in a pod on Kubernetes.
I also refactored the Makefile so that the instructions that were repeated for each program are shared by common deploy_prog and undeploy_prog targets.
Fixes: #1020 #1021

@astoycos thanks for the review!  Let me know what you think about the Makefile changes and if you have a better way to do it.  It was really irritating me that we had a whole bunch of instructions repeated for every target, and I was going to have to add several more lines to every target to check whether a given TAG was supported for that target.  I think it's a lot cleaner this way and a lot easier to add new program types.


GearVR TouchPad MotionEvent.AXIS always start in center.

I'm having a hard time getting the absolute touch position on GearVR TouchPad, the value of X and Y always start with 0 even if I'm not touching on the center of touch pad.
To get position x and y, I'm using :
public class MainActivity extends GVRActivity{
...
    @Override
    public boolean onTouchEvent(MotionEvent event) {
         float x = event.getAxisValue(MotionEvent.AXIS_X);
         float y = event.getAxisValue(MotionEvent.AXIS_Y);
        return super.onTouchEvent(event);
    }
 ...
}

That is how the touchpad works on the GearVR works.  No matter where you touch down on the pad, it reports the initial position as 0 and then gives relative coordinates from there.  It's configured that way in the firmware of the touchpad.  The touchpad is really only good for taps and swipes.

Thank you for the clarification. We'll represent just tap, long press, and swipes in Controls sample. This issue can be closed.


Missing Standard_M832ixs and Standard_M832ixs_v2

Based on this blog article this SKU should be located here as it is hard to find unless you know about it.

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

ID: 23b2ed6e-e1d3-6d8b-e6ef-6ccc87712d17
Version Independent ID: 829f4a0c-4d1d-d204-5532-3e8e04d461fe
Content: Isolation for VMs in Azure - Azure Virtual Machines
Content Source: articles/virtual-machines/isolation.md
Service: virtual-machines
GitHub Login: @mimckitt
Microsoft Alias: mimckitt

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

@FallenHoot
As per Authors comments that M832ixs(_v2) VM SKU is not visible for customers in their subscriptions. To have these VMs as a choice to deploy, customers need to be allowlisted and Microsoft is managing the customers that they allowlist very closely. Due to this reason, Microsoft has decided not to put M832ixs(_v2) into several different public-facing documents. This is to avoid leaving the impression in the documentation that these SKUs are available as any other VM type to customers.


KAN for multi outputs?

Hello, I read all examples and find that the output is single variable(univariate regression), can KAN solve multivariate regression?

well, I find the example in https://github.com/KindXiaoming/pykan/blob/master/tutorials/physics_informed_kan.ipynb

KAN can take any width which is a list of positive integers, and the last dimension is the output dimension. E.g, KAN(width=[2,10,10,3]) has 3 output dimensions.


Thoughts about Moving to Gitlab

Just an thread for people who want to discuss the pros and cons of moving away from github.
This is not an endorsement of staying or leaving, it's just an open discussion space.

I don't think we should move the repro unless github starts doing shady things, but I think setting up a mirror of ripme at gitlab would be a good idea

I agree with @cyian-1756. I don't see a reason to move away from GitHub. It satisfies the needs of this project.

I think it's far too early to consider migrating to another service. Microsoft have explicitly said they will run GitHub independently and some of their previous acquisitions suggest they won't go back on that statement (Mojan, SwiftKey, etc.). That being said I like the idea of mirroring the repository on GitLab, just in case GitHub 365 comes out :wink:

I feel that the only solution will be to import this repository to Gitlab and push it back to Github


export going up to 280% or more

v 1.9.4
Error probably to faulty DB size estimation, and wrong export status presentation, due to compressed leveldb database.
For me it is a bug - the database should present the proper export %, or it should have an option to export the content in the compressed form (then the % would be correct)
The export is running for about 280%
I did give up when the exported file was ~120GB size, 220% (the DB size was about 56GB).
What is going wrong?
ssdb <IP_ADDRESS>:8888> export -i /data/ssdb.20170122.ssdbexport
input KV range[start, end]:
  start(inclusive, default none):
    end(inclusive, default none):
input HASH range:
  start(inclusive, default none):
    end(inclusive, default none):
input ZSET range:
  start(inclusive, default none):
    end(inclusive, default none):
input QUEUE range:
  start(inclusive, default none):
    end(inclusive, default none):

 5%
10%
15%
20%
25%
30%
35%
40%
45%
50%
55%
60%
65%
70%
75%
80%
85%
90%
95%
100%
105%
110%
115%
120%
...
220% << I'm aborting here

It may be just counting error, but still - if the exported data takes 2-3x the DB size (probably compressed), then it is not so good.
The other time I did export in the past (the DB was about 2GB, the export file about 7GB)
ssdb <IP_ADDRESS>:8888> export -i /home/ubuntu/ssdb.dump.20161223.00.09
input KV range[start, end]:
  start(inclusive, default none):
    end(inclusive, default none):
input HASH range:
  start(inclusive, default none):
    end(inclusive, default none):
input ZSET range:
  start(inclusive, default none):
    end(inclusive, default none):
input QUEUE range:
  start(inclusive, default none):
    end(inclusive, default none):
 5%
10%
15%
20%
25%
30%
35%
40%
45%
50%
55%
60%
65%
70%
75%
80%
85%
90%
95%
100%
105%
110%
115%
(..)
225%
230%
235%
240%
245%
250%
255%
260%
265%
270%
275%
280% << I'm aborting here

Similar bug
https://github.com/ideawu/ssdb/issues/930

Hi.. I can also easily replicate this behavior.

I started with a fresh and clean ssdb-server:

ssdb <IP_ADDRESS>:8888> info
version
        1.9.4
links
        1
total_calls
        1
dbsize
        0
binlogs
            capacity : 20000000
            min_seq  : 0
            max_seq  : 0
serv_key_range
            kv  : "" - ""
            hash: "" - ""
            zset: "" - ""
            list: "" - ""
data_key_range
            kv  : "" - ""
            hash: "" - ""
            zset: "" - ""
            list: "" - ""
leveldb.stats
                                       Compactions
        Level  Files Size(MB) Time(sec) Read(MB) Write(MB)
        --------------------------------------------------

17 result(s) (0.000 sec)
(0.000 sec)

then I inserted some data

ssdb <IP_ADDRESS>:8888> info
version
        1.9.4
links
        1
total_calls
        669954
dbsize
        12313499
binlogs
            capacity : 20000000
            min_seq  : 0
            max_seq  : 669952
serv_key_range
            kv  : "" - ""
            hash: "" - ""
            zset: "" - ""
            list: "" - ""
data_key_range
            kv  : "" - ""
            hash: "envio:111:1" - "envio:9:9"
            zset: "envios:1" - "envios:9"
            list: "" - ""
leveldb.stats
                                       Compactions
        Level  Files Size(MB) Time(sec) Read(MB) Write(MB)
        --------------------------------------------------
          1        0        0         0        0        12
          2        1       20         2       24        33

17 result(s) (0.001 sec)
(0.001 sec)

then I exported

ssdb <IP_ADDRESS>:8888> export /tmp/1.ssdb
 5%
10%
15%
20%
25%
30%
35%
40%
45%
50%
55%
60%
65%
70%
75%
80%
85%
90%
95%
100%
105%
110%
115%
120%
125%
130%
135%
140%
145%
150%
155%
160%
165%
^C << I aborted here

What's going on?  Is ssdb production-ready?
Thank you!

@henpa
I guess you have compression: yes  set in the config. Then it might be difficult to estimate the size of the DB. @ideawu I'd consider a change in % presentation for the compressed DB.
Additionally, it would be nice to warn a user, that his DB dump might be 3-5x the size of the DB presented in the info. In my case, I had 56GB DB, with 190GB disk space at this time - so I had to abort because 220% of the export happened to ~120GB - getting close to the dangerous 100% of this utilisation...
Since the process took a long time, I did actually give up on adding more disk space and repeating the process...
It would be great to give some estimation on how long the export could take (120GB ~ 3-4 hours)...
leveldb:
        # in MB
        cache_size: 2500
        # in KB
        block_size: 32
        # in MB
        write_buffer_size: 128
        # in MB
        compaction_speed: 1000
        # yes|no
        compression: yes

@henpa

What's going on? Is ssdb production-ready?

Well, it is the best choice for a redis replacement, that can store the DB on the disk (redis is server-memory limited). You may find other tools like ssdb, but only ssdb is having an ongoing development (as I browse the github commits), and I'd not install a product that's development is discontinued.
It would work for you, unless you have a heavy writes (see https://github.com/ideawu/ssdb/issues/1045) In our case we are going to replace 1 out of 3 SSDB clusters that we have, and switch back to redis, since SSDB can not cope with bulk writes, and is getting OUT_OF_SYNC, that requires manual, few-hours work to fix. @ideawu it really should fix itself...
So is this production ready... Heh - we do use this on production for about 8-10 months, it is working, but maintenance is way higher (due to out_of_sync) that we did expect.

see(#613)This progress is only a reference, the impact of compression is relatively large, even if not compressed, but also  affected by the impact of the organization of the data
wait for a long time it will be done


async_create_task warning in logs

Describe the bug

Detected that custom integration 'dynamic_energy_cost' calls async_create_task from a thread at custom_components/dynamic_energy_cost/energy_based_sensors.py, line 147: self.hass.async_create_task(self.async_update()), please report it to the author of the 'dynamic_energy_cost' custom integration

Fixed in latest release: https://github.com/martinarva/dynamic_energy_cost/releases/tag/v0.2.5
Please verify and close

Warning gone after update. 😁


Remove 'yarn cache clean' workaround

yarn 1.19.1 fixed the issue that we needed this workaround for.


added leetcode 297

Add leetcode 297 solution

Codecov Report

Merging #105 (e10eaa9) into master (427b25d) will increase coverage by 0.05%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #105      +/-   ##
==========================================
+ Coverage   72.28%   72.34%   +0.05%
==========================================
  Files         650      651       +1
  Lines       11512    11533      +21
==========================================
+ Hits         8322     8343      +21
  Misses       2881     2881
  Partials      309      309

Impacted Files
Coverage Δ

...-Tree/297.Serialize and Deserialize Binary Tree.go
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 427b25d...e10eaa9. Read the comment docs.


Parent blocks do not allow other partials in blocks

Parent blocks e.g. {{< someparent}} do not allow partials (parent or regular) inside blocks {{$block}}{{> somepartial}}{{/blocks}}
I accidentally pre-merged #68 (sorry @dsyer ).

FWIW I worked around it using a lambda that explicitly rendered its context. It would be nice to have this working though.

Could you find some time to help me OOB maybe? I don't understand why some things don't work still.

Sure. Today might be tough as my son still has school vacation but next week I should be available.

Drop me a line with an email address or something.

dev a_t_ adamgent _ com
Replace the a_t_ with at symbol and other underscore with dot.
This coming Monday works better for me.

@dsyer Fixed. Damn I really need to rewrite the compiler. The single pass push nature is painful to make changes with.
The good news is now jstachio is fully compliant with non optional parts of the mustache spec.
@jgonggrijp wontache playground was quite helpful in making sure I got the spacing right on the inheritance.


Format all files

Applying clang format to all source and header files.

I thought we only run it in our hooks and then bit by bit do this?

Ya, but it's creating problems when merging, its hard to tell what's been changed, when half the files have been formatted. This is better. The only thing that I had to change was I had to remove
#include <votca/csg/potentialfunctions/potentialfunctioncbspl.h>
from
src/libcsg/potentialfunctions/potentialfunctioncbspl.cc

Now if we format everything on our branches before we merge it will be obvious what things have been updated.


Added facet values aren't used to filter results

While using Examine.Facets.MultiFacets, I noticed the values added to a facet aren't used to filter the results and the TotalItemCount reflects the cumulative facet hits, not the amount of returned results.
I've added/configured the FacetSearcher in a component using:
if (this.examineManager.TryGetIndex("ExternalIndex", out var index) &&
    index is LuceneIndex luceneIndex)
{
    var searcher = new MultiFacetSearcher("FacetSearcher", luceneIndex.GetIndexWriter(), luceneIndex.DefaultAnalyzer, luceneIndex.FieldValueTypeCollection);
    this.examineManager.AddSearcher(searcher);

    luceneIndex.FieldDefinitionCollection.AddOrUpdate(new FieldDefinition("creatorName", FieldDefinitionTypes.Raw));
}

if (this.examineManager.TryGetSearcher(Constants.ExternalFacetSearcher, out var searcher))
{
    var query = searcher.CreateQuery(IndexTypes.Content).Facet("creatorName").And().NodeTypeAlias("newsMessage");
    var results = query.Execute();
    var sameResultsCount = results.Count() == results.TotalItemCount; // False, although this should be True
    var sameHitsCount = results.GetFacet("creatorName").Sum(f => f.Hits) == results.TotalItemCount; // True, although this doesn't have to be the case
}

Hey @ronaldbarendse,
Thanks for using Examine Facets!
By default both BoboBrowse and MultiFacets return all facets for a given search - this is because MinHits is 0, so even facets without a match in the given result set are returned. If you wish to only return matching facets you must set MinHits to an appropriate level, like so:
query.Facet("field", "value").MinHits(1);

However, an issue in v1.0.0 means the MinHits() method hasn't been working... 🤪 This is fixed in v1.1.0!
Cheers,
Callum


MSW with supertest get request is trying to listen as socket request.

supertest .get request with .send({}) was causing the msw to think its a socket request as I think we can only send data in get request if its a socket request.
And we dont have any handler for socket request only https.

Hi, @Ajitprai. Do you have a reproduction repo for this, please? I must admit, I don't understand what you mean by a "socket request". Any request in Node.js will tap into net.Socket, so I presume you mean something else.
Please share a repo and then we can discuss the problem.


Ledger: Move FeeManager / UTXOCache instantiation in the Ledger

The instantiation happening in the node is a leftover of the time
where dependency injection was done at the class level.
Now that we just pass a ManagedDatabase, there is no need for it.
If tests want to implement a specific behavior for one of those
classes, they can re-introduce the dependency injection in the Ledger.

Rebased


Galaxy watch 6

Unfortunately, the current version (v1.2) can not be installed on GW6, probably due to a different os version (WearOS 4) and if that is the case, the app will stop working on previous models after os update.
I was wondering if the app can be updated to work with the newer version.
Edit: My mistake. Samsung Wallet is pre-installed in my region, but it is not accessible by the watch (app list, app drawer, or back button long press) so GW4Remap for example can not be used.

Does your watch have Samsung Pay preinstalled? If so, that's why.
If not, let me know the exact error you get when trying to install it.

Hmm, weird. Any chance you could try directly with ADB in order to get the detailed error message?
It might be that the app simply needs to target a later API level. I can try that later.

To be honest, I'm very new to watch world, and I'm not very familiar with adb
if you can kindly let me know how I'll try.

Give this APK a try:
https://www.mediafire.com/file/7avfmeah72dp0ja/SPayToGPay-v1.3-test.apk/file
If it doesn't work, check this guide for enabling ADB debugging on your watch and connecting to it from your PC:
https://droidwin.com/how-to-set-up-and-enable-adb-debugging-in-galaxy-watch-4/

Thank you very much for the effort, but unfortunately it did not work.
I'll try to use adb with my PC later today and I'll let you know if it works.

Ok. Thanks for testing it.
Once you have ADB set up, the command to install an APK is:
adb install filename.apk

Hi again!
I tried installing using ADB on my PC, but it failed again.
here is the error message:
adb: failed to install SPayToGPay-v1.3-test.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Existing package com.samsung.android.samsungpay.gear signatures do not match newer version; ignoring!]
I was shocked as I knew Samsung Pay is not available in my country
so I Bugjaeger tool and found out there is a Samsung wallet installed on my watch, yet it is not accessible.
is it safe to remove that and install your file?

Ok, so it had the app preinstalled after all. It doesn't surprise me as only a few regions shipped without it when it comes to the Watch 4 and 5 series.
No, it's a system app (the system partition is read-only) so even though you can "uninstall" it,  that simply disables it. You can never install another app with the same package name but a different signature. Instead, you will have to use SPayRemap or GW4Remap instead.

I'm really sorry you had to go through all the hassle just because of my lack of knowledge. I had tried GW4Remap but it did not work as Samsung pay will not open. let me try the other one and I'll let you know if it works.
Thanks again for all your help.

No worries. 🙂
I see. In that case, I think there is a version of GW4Remap that works by reading the system log to look for attempts to launch Samsung Pay, instead of the original method of using the Accessibility API to get callbacks when Samsung Pay is launched. That one might work even in cases like yours.

I tried that with no luck :(
I really wanted to make it work, but none of the apps seem to work in my case :((
Since SPay is pre-installed, your app will not work.
Since it will not launch, SPayRemap and GW4Remap v1 will not work.
Since I can not assign the Power button long press to Bixby after disabling it, GW4Remap v2 alpha will not work
Anything else I may be missing?

Then don't disable the Bixby app. Just don't use it

I tried, did not work. long pressing the power button would open Bixby, not the app I assigned
Long pressing the back button does not do anything. :(

Hi again,
Sorry to bother you with this again.
I know it does not have anything to do with your app, but unfortunately it looks like gw4repam app in abandoned by the creator and I can not get any help there.
I was wondering maybe you can help me.
I am looking forward to your kind reply.

You could try to enable the Samsung Pay app using ADB:

adb shell

pm enable com.samsung.android.samsungpay.gear

Thanks.
It says package enabled, but it won't run.
Can you send me your Samsung pay apk? maybe I can replace it with mine and then maybe it would work?!

GW4 Remap still works fine for me on Wear OS 4.0. Are you sure you actually enabled the accessibility service in settings?


Area merge to create polygon with hole leaves extra area=yes tag

Draw an area and give it some tag (e.g. leisure=park)
Draw another inside
Select both and merge

The inner area still has an area=yes tag
Expected: There is no area=yes tag
Workaround: Draw the inner area with the line tool

I think this is working as expected, though maybe unintuitive.
Areas will have an area=yes tag until you retag them with something else..

iD differentiates between a mulipolygon with an area outer and area inner (not a hole) - or an area outer and line inner (a hole).

I think this is working as expected, though maybe unintuitive.

Assuming way A is inside way B if you have

way A and way B untagged, a MP with both as members and leisure=park, this represents a park polygon with a hole

way A untagged, way B with area=yes, a MP with both members and leisure=park, this represents a polygon with a hole and a polygon with no tags coincident with the hole, which is also a data error, similar to a stray untagged node or way

Here’s an area I drew specifically to knock a hole out of a building area. I had to manually remove the area=yes tag after merging it with the building area into a multipolygon relation. I would’ve expected iD to remove this tag upon merging.

Here’s an area I drew specifically to knock a hole out of a building area. I had to manually remove the area=yes tag after merging it with the building area into a multipolygon relation. I would’ve expected iD to remove this tag upon merging.

But

if you had drawn a closed line instead of an area, then performed the merge, you would have gotten and empty space like what you were expecting
if you actually wanted an area feature inside the building (like grass or water) you could pick that preset and still get what you were expecting

I still think this is an example of iD doing exactly what you tell it to, even if it is not necessarily what you want.
I did fill in the area icon with some shade (see #3109), as a hint that areas are filled with something.  But I'm open to more ideas that might make the area/closed-line distinction more clear?

if you had drawn a closed line instead of an area, then performed the merge, you would have gotten an empty space like what you were expecting

Interesting, that’s something I had never even considered. When I learned you could merge something with an area to create a hole, I intuitively expected the area tool to be used for that operation, even if I didn’t want there to be a separate area after merging. I thought of the inner way as a sort of “negative area” rather than a wall that happened to form a ring.

if you actually wanted an area feature inside the building (like grass or water) you could pick that preset and still get what you were expecting

Absolutely. Although at this point, after merging to create a multipolygon, I would’ve expected to have to draw a coincident area to represent the grass or water (or in the example I linked to above, the pavement in the courtyard).

I did fill in the area icon with some shade (see #3109), as a hint that areas are filled with something.

That change has been helpful. Before it, I was blissfully unaware of the area=yes tag being added. To my knowledge, that tag’s presence on a multipolygon’s inner way doesn’t mess up any data consumers, but the shading irks my inner clean freak. 😉

Closing.. This is working as expected.

In a presentation about OSM editing with the iD editor on 34C3 @nakaner demoed the creation of multipolygons and considered this behavior a bug: https://media.ccc.de/v/34c3-ChaosWest-21-einfa1_4hrung_in_den_openstreetmap_online_editor_id#t=1800 (around the 30 minute mark, talk is in German though).
Btw: there is some related discussion and possible solution to this (IMHO not very intuitive behavior of iD) in #2259.


[BUG]An Exception has occurred | Incorrect padding

Hey guys
I recently updated to mov-cli==1.4.6.
It works well until the point where I am supposed to get the link playing on mpv.
As mentioned I use mpv as my player.
Python version 3.11.3
Desktop Arch Linux
kernel version 6.4.5-arch1-1
[18:53 ~_$] mov-cli
[!] What would you like to watch: modern family
https://sflix.se/search/modern-family
https://sflix.se/ajax/v2/tv/seasons/39507
https://sflix.se/ajax/v2/season/episodes/374
https://sflix.se/ajax/v2/episode/servers/6786/#servers-list
https://sflix.se/ajax/sources/4858219
https://dokicloud.one/embed-4/4risnNJVPYQI?z=
https://dokicloud.one/ajax/embed-4/getSources?id=4risnNJVPYQI
https://raw.githubusercontent.com/enimax-anime/key/e4/key.txt
[!] An Exception has occurred | Incorrect padding
I have no clue what causes this error of Incorrect padding

already a open issue: #158


Bug: Configuration settings are not being used consistently

Expected behavior
We expect that the settings in Newtonsoft.Json-for-Unity.Converters.asset should be applied at all times.
Actual behavior
Often (~25% repro) when switching branches Newtonsoft.Json-for-Unity.Converters.asset will stop being used the next time you open the Unity Editor.
Steps to reproduce
Setup:
Create a branch using version 1.5.1
Create a second branch upgraded to version 1.6.3
Create a json converter that throws NotImplementedExceptions for all functions in both branches
Exclude the NotImplemented json converter in both branches
Steps:
close unity
switch branches
open unity
Details
Closing and reopening the editor does not resolve this issue. Each time the issue is reproduced the user must open the settings, notice that they have all been reset to the default values in the Unity UI, and re-apply the correct settings.
Checklist

[x] Shutdown Unity, deleted the /Library folder, opened project again in Unity, and problem still remains.
[x] Checked to be using latest version of the package.

@msamora-supernatural thanks for such a detailed repro!
Does it still happen if you use the same version?

@msamora-supernatural thanks for such a detailed repro!
Does it still happen if you use the same version?

This issue does not happen with version 1.5.1
We rolled back to this stable version, but we would like to upgrade so that we can take advantage of the startup time improvement that comes from disabling "auto type scanning" in version 1.6+

@msamora-supernatural if I get this right, then while staying at the same version the config is left untouched. But only when jumping back and forth between v1.5 and v1.6 it fails.
So workaround is to upgrade all branches to v1.5.1.
However, as you are creating this issue I assume that that's perhaps not a valid solution for you? I guess maybe the branch with v1.5.1 is under code freeze?
I do not really have time to dig deeper into this one right now and debug it in Unity. If you'd like to give it a go then please feel welcome to.
The way types are looked up was changed, as it now also uses the assembly name. Maybe related to that? I have a vague memory that we at least tried to not make it backwards incompatible. For reference, here's the diff: https://github.com/applejag/Newtonsoft.Json-for-Unity.Converters/compare/1.5.1...1.6.3

@msamora-supernatural if I get this right, then while staying at the same version the config is left untouched. But only when jumping back and forth between v1.5 and v1.6 it fails.
So workaround is to upgrade all branches to v1.5.1.
However, as you are creating this issue I assume that that's perhaps not a valid solution for you? I guess maybe the branch with v1.5.1 is under code freeze?
I do not really have time to dig deeper into this one right now and debug it in Unity. If you'd like to give it a go then please feel welcome to.
The way types are looked up was changed, as it now also uses the assembly name. Maybe related to that? I have a vague memory that we at least tried to not make it backwards incompatible. For reference, here's the diff: 1.5.1...1.6.3

@applejag Thank you for the suggestion, but It isn't possible for me to update all of our branches at the same time.
The issue seems to be related to https://github.com/applejag/Newtonsoft.Json-for-Unity.Converters/issues/82


Add checks for Unfoldable

What's the law for this one?

I'm not sure why I opened this actually, I think like Foldable it's probably lawless.

Closest thing I've found:
http://citeseer.ist.psu.edu/viewdoc/summary?doi=<IP_ADDRESS>.1735
It states that h  = unfold p f g is equivalent to h x = if p x then [] else f x :  h  (g x), but I'm not sure that adds anything to the table.


fix(Search): Added opportunity for providing default options

@doctorssm could you please update the usage doc? And also demo (stories) if applicable.

@doctorssm I wonder what's your reason of using an injected token instead of an input with default value. Input seems to need minimum update, unless there are more configurable params to be provided.

@doctorssm I wonder what's your reason of using an injected token instead of an input with default value. Input seems to need minimum update, unless there are more configurable params to be provided.

@atlwendy we need this configuration for all controls in our application. So we are going to create a wrapper for search module in our app and set this default parameters in one place instead of 15

And also demo (stories) if applicable.

@doctorssm could you please update the usage doc?

usage doc is updated


Incorrect FrontdoorCreate example uses location that's not 'global'

This example of creating a Frontdoor specifies "location": "westus" in the request payload. However, in practice this results in an error "Frontdoor location must be global" from the service.
The example should be fixed to remove the location or set it to global, whichever is correct.
Note that I have not checked the example for other API versions - they might have the same issue.

@thomas11 Apologies for the late reply. Thanks for reaching out to us and reporting this issue. We are looking into this issue and we will provide an update.

@thomas11 Could you please confirm if you are referring to the Creating a new profile for Azure Front Door Standard or Azure Front Door Premium ? Awaiting your reply.

@thomas11 Thanks for your reply. I tried to invoke this classic Front Door Rest API. It worked just fine.
I used location WestUS. Please find below the PUT Request Body details:
PUT https://management.azure.com/subscriptions/XXXXXX/resourceGroups/navbafddel/providers/Microsoft.Network/frontDoors/test?api-version=2022-05-01
Authorization: Bearer eyJ0eXXXXXXXXXXXX
Content-type: application/json

Request Body:
{
  "location": "westus",
  "tags": {
    "tag1": "value1",
    "tag2": "value2"
  },
  "properties": {
    "routingRules": [
      {
        "name": "routingRule1",
        "properties": {
          "frontendEndpoints": [
            {
              "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
            },
            {
              "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
            }
          ],
          "acceptedProtocols": [
            "Http"
          ],
          "patternsToMatch": [
            "/*"
          ],
          "routeConfiguration": {
<EMAIL_ADDRESS>"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
            "backendPool": {
              "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
            }
          },
          "enabledState": "Enabled"
        }
      }
    ],
    "healthProbeSettings": [
      {
        "name": "healthProbeSettings1",
        "properties": {
          "path": "/",
          "protocol": "Http",
          "intervalInSeconds": 120,
          "enabledState": "Enabled",
          "healthProbeMethod": "HEAD"
        }
      }
    ],
    "loadBalancingSettings": [
      {
        "name": "loadBalancingSettings1",
        "properties": {
          "sampleSize": 4,
          "successfulSamplesRequired": 2
        }
      }
    ],
    "backendPools": [
      {
        "name": "backendPool1",
        "properties": {
          "backends": [
            {
              "address": "w3.contoso.com",
              "httpPort": 80,
              "httpsPort": 443,
              "weight": 1,
              "priority": 2
            },
            {
              "address": "contoso.com.website-us-west-2.othercloud.net",
              "httpPort": 80,
              "httpsPort": 443,
              "weight": 2,
              "priority": 1
            },
            {
              "address": "contoso1.azurewebsites.net",
              "httpPort": 80,
              "httpsPort": 443,
              "weight": 1,
              "priority": 1
            }
          ],
          "loadBalancingSettings": {
            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
          },
          "healthProbeSettings": {
            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
          }
        }
      }
    ],
    "frontendEndpoints": [
      {
        "name": "frontendEndpoint1",
        "properties": {
          "hostName": "www.contoso.com",
          "sessionAffinityEnabledState": "Enabled",
          "sessionAffinityTtlSeconds": 60,
          "webApplicationFirewallPolicyLink": {
            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
          }
        }
      },
      {
        "name": "default",
        "properties": {
          "hostName": "frontDoor1.azurefd.net"
        }
      }
    ],
    "backendPoolsSettings": {
      "enforceCertificateNameCheck": "Enabled",
      "sendRecvTimeoutSeconds": 60
    },
    "enabledState": "Enabled"
  }
}

So the example provided in your issue description for location westus is correct.
List of available regions for this resource type are : 'global,centralus,eastus,eastus2,northcentralus,southcentralus,westus,northeurope,westeurope,eastasia,southeastasia,japaneast,japanwest,brazilsouth,australiaeast,australiasoutheast'."
Hope this helps.

@thomas11 I wanted to do quick follow-up to check if you had a chance to look at my above comment. Please let us know if you had any updates on this. Awaiting your reply.


Outline: support for //#region fold regions

in conjunction with hierarchical support in outlines.
Here's how Xcode is doing it:

Each language support defines what document symbols it returns and these are shown in the outline.
What language do you want the feature for?

Typescript, but any way of exposing a "section" symbol from a document would work, I guess.

@jrieken @aeschli I don't think this should be language specific. With folding providers and symbol providers, we already have both regions and which symbols they contain. If we want to support this feature, we should use these to construct the outline

The purpose of document symbols is very spcifically to provide the symbols for the quick outline as well as the new outline. Why trying to be smart on our side and merge in the two providers with very specific purposes. This just asks for trouble.
The language provider knows much better what document symbols are meaningful to the user.
Also, the folding provider doesn't define a name that could be used as a symbol name, has a separate lifecycle...

Why trying to be smart on our side and merge in the two providers with very specific purposes. This just asks for trouble.

Well, you don't need to merge but you can simply add your own tree. Similar to the unit-test-navigator https://marketplace.visualstudio.com/items?itemName=roblourens.unittest-navigate. However, that should and easily can be done as extension. It's the combination of an API command and the registration of a document symbol provider. That will give you two separate trees and one flat view in the quick outline.

If you want regions/pragmas be intermixed with document symbols you need to do this per language brain/extension.
@julien-c What is it you are looking for?

Giving this back to you @mjbvz. I think this should come from language extension themselves because on then the hierarchy looks nice, e.g. not multiple root nodes per extensions/scope.

Is there any extension support showing Typescript region in Outline?

Most of the discussion here is probably outdated. Regions is a cross-language thing now AFAIK, so the data is available?

Hi, what is the progress of feature request? I find WebStorm also supports this nicely while all the extensions for region on marketplace look quite shabby.

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!

Here it is then: please reconsider.

Yes please, vscode team, consider, long code files need regions to organise groups of functions/methods

For anyone else still looking for this feature, the Region Viewer Extension is good if you use regions primarily to navigate and fold large files and you're not really bothered about having the rest of the Outline contents inside the region:
https://github.com/berabue/vscode-region-viewer

Any news on this? This is - imho - a very important feature for usability.


custom_module/async/test/example.mlir is flaky on macos_arm64

I'm not sure if this is an infrastructure issue or a code issue, but it seems extremely unlikely that this PR editing android benchmarking scripting caused the failure
https://github.com/openxla/iree/actions/runs/4878143115/jobs/8703513609

-- Testing: 1 tests, 1 workers --
FAIL: IREE :: custom_module/async/test/example.mlir (1 of 1)
******************** TEST 'IREE :: custom_module/async/test/example.mlir' FAILED ********************
Script:
: 'RUN: at line 1';   iree-compile /Users/antiagainst/actions-runner/_work/iree/iree/samples/custom_module/async/test/example.mlir --iree-execution-model=async-external --iree-hal-target-backends=llvm-cpu | custom-module-async-run - example.main | FileCheck /Users/antiagainst/actions-runner/_work/iree/iree/samples/custom_module/async/test/example.mlir
Exit Code: 1
Command Output (stderr):
libc++abi: terminating with uncaught exception of type std::__1::system_error: thread::detach failed: Invalid argument
/Users/antiagainst/actions-runner/_work/iree/iree/samples/custom_module/async/test/example.mlir:58:12: error: CHECK: expected string not found in input
// CHECK: VM INVOKE END
^
:3:29: note: scanning from here
VM INVOKE BEGIN example.main
^
Input file:
Check file: /Users/antiagainst/actions-runner/_work/iree/iree/samples/custom_module/async/test/example.mlir
-dump-input=help explains the following input dump.
Input was:
<<<<<<
1: INITIALIZE T=0
2: SIGNALED T=1
3: VM INVOKE BEGIN example.main
check:58                                 X error: no match found

--

Failed Tests (1):
IREE :: custom_module/async/test/example.mlir

Happened again here: https://github.com/openxla/iree/actions/runs/4884407293/jobs/8717113402

@antiagainst Have you had a chance to look at this?

No I don't think this is a high priority right now. I've updated status and priority accordingly.

Closing this given #13501 is used to track this after disabling the test.


Discussion GSoC 2019 -  Enhance statistical inference using linear regression in MNE.

Dear MNE-community, during the last couple of months, I've been working together with my mentors (@dengemann and @jona-sassenhagen) on the GSoC-project for enhancing statistical inference using linear regression in MNE-Python. As the GSoC period comes to and end, we would like to present you with some of the major achievements and trigger the discussion concerning remaining issues, considerations, and possible strategies for future work.
This a 2-3 min read, sorry for the long post.
Quick recap:
The primary goal of the GSoC project was to broaden the capabilities of MNE in terms of how the fitting of linear regression models is done, putting a particular focus on statistical inference measures and the support of more complex statistical models, which might be of common interest for the MNE-community.
Summary of major achievements:
We though the best way to address this issues would be to set up a „gallery of examples“, which allows users to browse through common research questions, providing auxiliary code for setting up and fitting linear models, as well as inspecting and visualizing results with tools currently available in NumPy, SciPy and MNE.
For this purpose we have put up a sandbox repository, which contains all the work carried our during the GSoC period. The code replicates and extends some of the main analysis and tools integrated in LIMO MEEG a MATLAB toolbox originally designed to interface with EEGLAB. The corresponding website contains examples for typical single-subject and group-level analysis pipelines.
In the following I provide a quick overview of such an analysis pipeline and the corresponding features developed during GSoC.

During the project, we've adopted a multi-level (or hierarchical) modeling  approach, allowing the combination of predictors at different levels of the experimental design (trials, subjects, etc.) and testing effects in a mass-univariate analyis fashion, i.e., not only focusing on average data for a few sensors, but rather taking the full data space into account (all electrodes/sensors and at all time points of an analysis time window; see here).

Of particular importance, the analysis pipelines allow users to deal with within-subjects variance (i.e., 1st-level analysis), as well as between-subjects variance (i.e., 2nd-level analysis), by modeling the co-variation of subject-level parameter estimates and inter-subject variability in some possible moderator variable (see here).

This hierarchical approach consist in estimating linear model parameters for each subject in a data set (this is done at each time-point and sensor independently). At the second-level beta coefficients obtained from each subject are integrated across subjects to test for statistical significance.

The implemented methods correspond to tests performed using bootstrap under H1 to derive confidence intervals (i.e., providing a measure of consistency of the observed effects on a group level) and "studentized bootstrap" (or bootstrap-t) to provide an approximation of H0,
and control for multiple testing (e.g., via spatiotemporal clustering techniques).

Open questions:

One of the main issues concerns the integration of the fitting tools to MNE's API.

So far, we've been using scikit-learn's linear regression module to fit the models.
The advantage here consists in having a linear regression "object" as output, increasing the flexibility for manipulation of the linear model results (t-values, p-values, measures of model fit, etc.), while leaving MNE's linear regression function untouched (for now).
However, we believe that using a machine learning package for linear regression might irritate users on the long run.
What are your thoughts on this? One strategy could be to modify, or simplify, MNE's linear regression function to obtain similar output. Here, we would still be doing the linear algebra our selves and avoid (unnecessary?) excursions into scikit-learn.

The second major issue concerns the inference part.

At the moment we are using parts of MNE's cluster_level code to run spatiotemporal clustering, which in principle mimics the behavior of mne.stats.cluster_level._permutation_cluster_test, but uses bootstrap to threshold the results.
Thus perhaps the easiest approach would be integrate bootstrap in mne.stats.cluster_level._permutation_cluster_test  or extract the cluster stats from mne.stats.cluster_level._permutation_cluster_test  without permutation and submit these to bootstrap in a second function.

There are a couple of other issues, but since this post is already too long, it might be best to discuss them later (or on the issue section of out GSoC repository), also a PR for more in-depth code discussion follows shortly.
I really enjoyed working on this project during the summer and would be glad to continue working on these tools after GSoC.
Thanks for reading and looking forward to your feedback.

cc @agramfort @larsoner

However, we believe that using a machine learning package for linear regression might irritate users on the long run.

I don't think this is a real problem. Installing Python packages nowadays is a lot easier than it used to be so relying on sklearn seems fine.

The second major issue concerns the inference part.

There are private functions that do the clustering step. These should already be separate from the ones that choose and iterate over permutations, etc. but if they aren't, we can separate them better. Then we could have *_bootstrap_* in place of *_permutation_* public functions.

Hey guys, thanks a lot for your feedback. I opened a PR for improving the documentation on the LIMO dataset and also adding a proposal for how a subject-level regression function could look like. The we could take the output of that function and use it for group-level inference. Looking forward to your comments.


Panics on systems with empty /etc/resolv.conf

While working on the Debian package of this project, I noticed a panic while running the testsuite of this package:
in Spec Setup (BeforeEach) [0.000 seconds]
dns add test
/<<PKGBUILDDIR>>/_build/src/github.com/containers/gvisor-tap-vsock/pkg/services/dns/dns_test.go:22
  should add dns zone with ip [BeforeEach]
  /<<PKGBUILDDIR>>/_build/src/github.com/containers/gvisor-tap-vsock/pkg/services/dns/dns_test.go:29

  Test Panicked
  runtime error: index out of range [0] with length 0
  /usr/lib/go-1.23/src/runtime/panic.go:115

  Full Stack Trace
  github.com/containers/gvisor-tap-vsock/pkg/services/dns.getDNSHostAndPort()
  	/<<PKGBUILDDIR>>/_build/src/github.com/containers/gvisor-tap-vsock/pkg/services/dns/dns_config_unix.go:15 +0x6c
  github.com/containers/gvisor-tap-vsock/pkg/services/dns.newDNSHandler({0xbb0d80, 0x0, 0x0})
  	/<<PKGBUILDDIR>>/_build/src/github.com/containers/gvisor-tap-vsock/pkg/services/dns/dns.go:29 +0x37
  github.com/containers/gvisor-tap-vsock/pkg/services/dns.New({0x0, 0x0}, {0x0, 0x0}, {0xbb0d80?, 0x10?, 0x1?})
  	/<<PKGBUILDDIR>>/_build/src/github.com/containers/gvisor-tap-vsock/pkg/services/dns/dns.go:166 +0x39
  github.com/containers/gvisor-tap-vsock/pkg/services/dns.init.func1.1()
  	/<<PKGBUILDDIR>>/_build/src/github.com/containers/gvisor-tap-vsock/pkg/services/dns/dns_test.go:26 +0x33
  github.com/containers/gvisor-tap-vsock/pkg/services/dns.TestSuite(0xc0000a8b60)
  	/<<PKGBUILDDIR>>/_build/src/github.com/containers/gvisor-tap-vsock/pkg/services/dns/dns_test.go:19 +0x3c
  testing.tRunner(0xc0000a8b60, 0x8825b0)
  	/usr/lib/go-1.23/src/testing/testing.go:1690 +0xf4
  created by testing.(*T).Run in goroutine 1
  	/usr/lib/go-1.23/src/testing/testing.go:1743 +0x390
------------------------------
•! Panic in Spec Setup (BeforeEach) [0.000 seconds]

This panic starts happening when upgrading to version 0.8.0. It does not occur with version 0.7.3
Looking at the code, I believe this is caused by 58eb054369873855afdc329ae724db779800cf74, which introduces https://github.com/containers/gvisor-tap-vsock/blob/72b102d1d443d6d02e4c04f5c2af809e4c2e0910/pkg/services/dns/dns_config_unix.go#L9-L17
The panic occurs in line 15 when the test machine does have an empty /etc/resolv.conf. This makes sense for a build machine to attempt to disable connections to the internet.
Arguably, this can also happen outside of the test suite. Having the code raise an error seems preferable over a runtime error: index out of range [0] with length 0

An empty resolv.conf files are possible, as in environments that only depend on IP addresses, this file can be empty. It is unlikely for us to work as expected; though a warning is more appropriate than hard failure (crash) ;-)

For the Debian package, I've come up with this patch:
https://salsa.debian.org/go-team/packages/golang-github-containers-gvisor-tap-vsocks/-/blob/debian/sid/debian/patches/0002-Avoid-crash-with-empty-resolv.conf.patch?ref_type=heads
let me know if you prefer me to send this is a PR.

@siretart It would be nice if you make a PR with your fix

@evidolob see #420


Test failing are resolved

Summary
Fixes the issue with the ci issues on master
@hanzei please take a look and see if this makes sense.
Ticket Link
Not sure if there is an issue for this one

@larkox I'm not sure if there is a ticket for this but this is an issue highlighted by @hanzei regarding tests breaking on master.

Codecov Report

Merging #199 (9e8efc2) into master (52755f2) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #199   +/-   ##
=======================================
  Coverage   45.47%   45.47%
=======================================
  Files           7        7
  Lines         873      873
=======================================
  Hits          397      397
  Misses        451      451
  Partials       25       25

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 52755f2...9e8efc2. Read the comment docs.


Disable non-dask tpch query runs in CI

It appears that duckdb, polars and spark tests are running for every commit on main. Let's disable that and only run them on request.

FWIW, I've found and implemented an easy way to run these once a week to ensure that things keep working. Given that we've run them on every CI run, including PRs, that's much less. Adjusting it to a longer interval or completely disabling for scheduled runs is trivial.


fix url to repository

I've created a YouTube video as well for others who might want to make similar small fixes: https://code-maven.com/fix-url-to-repository-glob-linters


Building an releasing issue

Conan related

[x] rpp via conan. blocking by https://github.com/victimsnino/ReactivePlusPlus/issues/548
[ ] figure out how to build a header-only package

CI related

[ ] github actions for CI
[ ] mock server for ollama and openai

wont't compile in gcc 13 due to problem of pdfium recipe:
https://github.com/conan-io/conan-center-index/issues/23529


instanceUrl is overwritten after authorization

Setting the instanceUrl has no effect because after logging in with oauth2 the value is overwritten by the response.
I was trying to use yakbak for repeatable tests but this makes it impossible

instanceUrl is automatically maintained by the oauth authorization flow success, because it always return the correct url of instance url in the response. Changing the instance url is not supported with oauth2 authorization flow.


Use plantimestamp() function

https://github.com/hashicorp/terraform/pull/32980 now available in https://github.com/hashicorp/terraform/releases/tag/v1.5.0-alpha20230504
Should solve the problems we've been having

with offset_hours of 24

fails as expected...
and with 5 years...

passes, as expected.
now to try out the cutoff point

26280 = past ("2023-02-22T01:33:20Z")
27000 = past ("2023-03-24T01:33:20Z")
28000 = past ("2023-05-04T17:33:20Z")
28050 = past ("2023-05-06T19:33:20Z")
28051, 1 hour later, is fine.
which should, in theory, become "too old" in about 25 minutes:

Only thing remaining is to make terraform_version parameterisable in the demo org
https://github.com/FancyCorp-Demo/tfc-org-setup/blob/main/workspaces.tf#L153

failed!

Last thing, to make sure this is useful...

[ ] allow for ignoring certain workspaces (e.g. based on workspace tags)


MSFT_xBLAutoBitlocker: Add remaining Unit Tests for xBLAutoBitlocker

Pull Request (PR) description
Add remaining Unit Tests for xBLAutoBitlocker
Task list

[x] Added an entry under the Unreleased section of the change log in the README.md.
Entry should say what was changed, and how that affects users (if applicable).
[ ] Resource documentation added/updated in README.md.
[ ] Resource parameter descriptions added/updated in README.md, schema.mof
and comment-based help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[x] Unit tests added/updated. See DSC Resource Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.
[x] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

This change is

Codecov Report

Merging #35 into dev will increase coverage by 33.91%.
The diff coverage is 100%.

@@           Coverage Diff            @@
##              dev   #35       +/-   ##
========================================
+ Coverage   26.08%   60%   +33.91%
========================================
  Files           3     3
  Lines          92    95        +3
========================================
+ Hits           24    57       +33
+ Misses         68    38       -30

Impacted Files
Coverage Δ

...s/MSFT_xBLAutoBitlocker/MSFT_xBLAutoBitlocker.psm1
100% <100%> (+57.69%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 50b81fd...0004b81. Read the comment docs.

Reaching out to the xBitlocker and Git community. Can someone please perform a code review on this? I don't want to merge until another set of eyes have been on this. Thanks!

Reaching out to recent contributors. @johlju, @kwirkykat, @MartinVokurek, @J0F3, would one of you be able to review this PR? Thanks.


Support for IBM watsonx_llm

In this PR we introduce suppoort for IBM watsonx_llm

CC @LukaszCmielowski, @yoavkatz

Hi! Thanks for the PR. Can you switch lru_cache(maxsize=None) for cache, as the latter was only added in python 3.9. They are equivalent

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: Medokins:x: Nikodem-Szwast1Nikodem-Szwast1 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks very much for the PR! fixed a couple of 3.8 nits!


(PUP-6915) Specify log destination for sensitive data type test

By default, puppet logs to different syslog directories depending on the
platform it is running on. When Fedora recently changed how to access
system logs, this test broke, since it was explicitly looking for
specific default log locations on various platforms. This commit refactors the test
to specify a temp file to receive the logs, thereby avoiding brittle
platform-specific code.

👍

:+1:

I'll wait to merge this until I hear the windows test has been run.

This works on Windows now, see this summary; https://gist.github.com/Magisus/c19febb1961f929a9fd8a41b1f7c3143

Per the above gist 👍
Hosts:
2016-11-11 13:44:35	[+]	vmpooler	el-7-x86_64	lymtmf9ny6peqsw.delivery.puppetlabs.net (redhat7-64-1)
2016-11-11 13:44:35	[+]	vmpooler	windows-2012r2-64	kwcgcqr7koqz2ml.delivery.puppetlabs.net (windows2012r2-64-1)
2016-11-11 13:48:01	[-]	vmpooler	el-7-x86_64	lymtmf9ny6peqsw.delivery.puppetlabs.net (redhat7-64-1)
2016-11-11 13:48:01	[-]	vmpooler	windows-2012r2-64	kwcgcqr7koqz2ml.delivery.puppetlabs.net (windows2012r2-64-1)

Summary:
Test Suite: tests @ 2016-11-11 13:47:02 -0800

      - Host Configuration Summary -

              - Test Case Summary for suite 'tests' -
       Total Suite Time: 54.26 seconds
      Average Test Time: 54.26 seconds
              Attempted: 1
                 Passed: 1
                 Failed: 0
                Errored: 0
                Skipped: 0
                Pending: 0
                  Total: 1

      - Specific Test Case Status -

Failed Tests Cases:
Errored Tests Cases:
Skipped Tests Cases:
Pending Tests Cases:


Install  python crmod lib

FRom osrm-car (stable) logs
==> NOTE: You are downloading one or more large file(s), which would
run significantly faster if you enabled sliced object downloads. This
feature is enabled by default but requires that compiled crcmod be installed (see "gsutil help crcmod").

Thank you for this contribution! I will merge to a branch before merging to master.
Don't worry about the Travis build failure. It is due to an unrelated issue with one of the tests.


Camera issue in webview iOS

When i open camera and close camera in webview webview close automatically
example video:
https://github.com/JetBrains/compose-multiplatform/assets/49331161/2ef4381a-c8cb-46ff-a552-42269ed37aec

Could you be more specific about what you struggle to figure out in particular?

It goes back, because ComposeScene is destroyed, and hence interop view is also destroyed.
In order for web view not to get destroyed, you could present a native UIViewController with that web view and wire in the callbacks.
Have a look at this code to have a better idea how to do it.
https://github.com/JetBrains/compose-multiplatform-core/blob/jb-main/compose/mpp/demo/src/uikitMain/kotlin/NativePopupExample.kt

Because the web view was erroneously still in the uikit hierarchy, which was a bug of beta-01:
https://github.com/JetBrains/compose-multiplatform/issues/3749

Hello @elijah-semyonov please provide solution for above code

I suggested a solution and an example in https://github.com/JetBrains/compose-multiplatform/issues/3791#issuecomment-1753038883 .
It's up to you to figure it out. If it's still not clear, discuss it with fellow community members in the Kotlin Slack.

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.