docker-desktop trigger msrdc dialog connection info invalid  (log attached)

Version
win 11 [ version 10.0.22621.674 ]
WSL Version

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>
Distro Version
Archlinux
Other Software
Docker Desktop 4.13.1 (90346)
Repro Steps
with Upgrade win11 22h2 updates. and upgrade wsl2 to microsoft app store version. open Docker Desktop
Expected Behavior
no error dialog appears
Actual Behavior
when docker destop open, it causes 3 such error dialog. (sorry my system is in Chinese, and i don't want to change system language to reproduce so i screenshot the chinese dialog), which said

the connection info of this resource is invalid
refresh the workspace, then retry. if problems sustained, reach for tech supports..

and this dialog is coming from msrdc.exe . that's all i know.

acutally this dialog doesn't affect docker-desktop, it still works normally (in windows & wsl2) . but the dialog cannot be closed ( once close one dialog, another same dialog would appear directly)
after close the docker desktop. the dialog can be closed normally. so i believe it is related to docker desktop. while docker desktop doesn't show any error message(maybe i didn't find). and also this dialog doesn't contain any useful info. (i don't know what connection is nor error codes)
Diagnostic Logs
see below comment

/logs

thank you! here's the collect-wsl-logs results:
WslLogs-2022-11-09_09-12-01.zip
also @OneBlue what do you mean by /logs i don't think wsl has such root directory.  and i don't know if this is a command option which command should it follow.

one more info that maybe useful: my wsl instances are only contain a main Arch and 2 docker-desktop related one. and if i run wsl --unregister docker-desktop and restart docker-desktop. the error dialog won't show up. but when docker-desktop again closed/restart. the dialog would show up again. So i wonder this may be something docker-desktop try to connect wsl-docker-desktop in old api but failed ? if so. could you tell me some details so that i can report to docker/for-win repo?

Thank you @smallst.
Once interesting I see in the logs is:
4242	False	Microsoft.Windows.Lxss.Manager	GuestLog	0	11-08-2022 17:12:17.483	15888	"text: 	""[   60.681181] WSL (1) ERROR: UtilCreateProcessAndWait:683: /bin/mount failed with status 0xff00 ""
vmId: 	{dda7ba3d-a9c8-4d46-866f-547b15c12d54}"	"	"				9752	5		00000000-0000-0000-0000-000000000000

Does any of your distributions have anything special in /etc/fstab ? Can you share the content of /etc/fstab for all distributions and the content of /mnt/wslg/*.log on this issue ?

Sure.
my main arch has empty /etc/fstab
FoxlovesChio-PC :: ~ % cat /etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>

and docker-destop wsl , which use wsl -d docker-desktop also trigger the error dialog without docker-desktop app opening.
FoxlovesChio-PC:/mnt/host/c/Users/FoxLovesChio# cat /etc/fstab
/dev/cdrom      /media/cdrom    iso9660 noauto,ro 0 0
/dev/usbdisk    /media/usb      vfat    noauto,ro 0 0

only main Arch wsl has /mnt/wslg so i zipped stderr.log & weston.log here
log.zip

Interesting. @smallst: What exactly is running in docker-desktop ? Any x11 apps ?
What's the output of ps aux inside that distro ?

@OneBlue actually, no x11 apps run in docker-desktop. at the begining, i only create<EMAIL_ADDRESS>and redis@5 container, and when i open docker-desktop, acutally either of them start.   And more, i didn't really open docker-desktop, but just access WSL2 docker-desktop instance. the dialog would show up.
emmm ps aux may be a good try. but sorry i'm in businiess trip this week. can update results in Sunday.

inside docker-desktop wsl, ps aux reports:
PID   USER     TIME  COMMAND
    1 root      0:00 /init
    3 root      0:00 {init} plan9 --control-socket 5 --log-level 4 --server-fd 6 --pipe-fd 8 --log-truncate
    6 root      0:00 /init
    7 root      0:00 /init
    8 root      0:00 -sh
   10 root      0:00 ps aux

Thank you @smallst.
Can you please share the full command line of those msrdc.exe processes with the error message ? (See this for instructions)

name	PID	命令行
msrdc.exe	18920	msrdc.exe /v:E63A3CF0-93B9-4EF3-AA2A-E5141D62558A /hvsocketserviceid:1648AE98-FACB-11E6-BD58-64006A7986D3 /silent /wslg /plugin:WSLDVC_PACKAGE /wslgsharedmemorypath:WSL\E63A3CF0-93B9-4EF3-AA2A-E5141D62558A\wslg "C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\wslg.rdp"
msrdc.exe	18140	/v:E63A3CF0-93B9-4EF3-AA2A-E5141D62558A /hvsocketserviceid:1648AF14-FACB-11E6-BD58-64006A7986D3 /silent /wslg /plugin:WSLDVC_PACKAGE /wslgsharedmemorypath:WSL\E63A3CF0-93B9-4EF3-AA2A-E5141D62558A\wslg "C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\wslg.rdp"
the msrdc.exe row

Also i find a interesting thing. if i open docker-desktop before WSL start, it won't show error. i mean,
step1. open wsl
step2, open docker-desktop -> error out

step1, open docker desktop -> no error
step2, open wsl -> no error
step3, close dokcer desktop -> error out

Interesting. I'm not sure why msrdc.exe is showing this specific error (the command lines look fine to me).
Transferring to wslg to dig deeper on this.


Improve docs on migration for Homebrew installs

I made a few notes on what worked for me to upgrade/migrate from rtx to mise on macOS 12.x Monterey with Homebrew 4.2.2.
It would be great to include something like this as it wasn't that easy to figure out for a non-expert in brew.
Homebrew upgrade notes
To upgrade to mise from rtx installed using Homebrew.
The jdxcode Homebrew tap is no longer used for mise, but the commands below will work whether you installed  rtx from that tap or not:
brew update
brew migrate --force rtx
brew upgrade mise   # Ensures you are on latest mise version, not an rtx version renamed to mise

# Cleaning up - if you used this
brew untap jdxcode/tap

General migration tips
Summary of auto migration done by mise:

This moves and migrates the main config file to ~/.config/mise/config.toml
It also copies and migrates all plugin installs to ~/local/share/mise (leaving the ~/.local/share/rtx` dir unchanged)

Manual migration steps you may need to do:

change any rtx environment variables from RTX_ to MISE_
if your ~.config/mise/config.toml file includes a [settings] section, this should be moved into the new ~.config/mise/settings.toml file, to remove a deprecation warning

Minor tips:

edit any shell aliases or functions to use new paths
use unset rtx in all terminal tabs to remove the old rtx shell function - or just restart your terminal app

GitHub Actions migration
When ready, you can upgrade rtx-action@v1 to mise-action@v2 - this isn't urgent since  rtx-action@v1 still works for now.

Added some general migration tips above.

Sounds good @jdx, I will do a PR for docs, hopefully in a few days or so.
I think it would help to add some sub-headings to existing page's content, including headings above and some new ones like 'why rename' and 'feedback'.

I would very much appreciate that, these are excellent tips formatted very nicely

going to close since I assume most people have migrated over by now


fix(ui): correct invalid Tailwind CSS class in div element

This PR addresses a bug in our UI. Previously, we were using an invalid Tailwind CSS class max-w-7md in a div element. This class does not exist in the standard Tailwind CSS classes, leading to incorrect styling.
To fix this issue, we've replaced the max-w-7md class with a valid Tailwind CSS class.
Changes include:

Replacing the max-w-7md class with a valid Tailwind CSS class in the div element.

This change should correct the styling of the div element and ensure it displays as expected.

Thanks for all the contributions @Musyonchez, we'll review everything shortly


Configuring HLA parameters via environment variables

Currently for a TestSuite the HLA federation name, hostname and SuT federate name are configured via a .json configuration file (TcParam.json).
In the case of containerizing the Testsuites this means that every time a different RTI is used, or a different SuT is tested a new image needs to be built to include the right TcParam file.
Similar to #60 I believe it would be preferable to configure such hostnames via Environment variables. This allows for testing a variety of SuT's and using RTI's at different hosts without rebuilding the image every time.

I partly agree. Yes, we should only use one way to configure the IVCT tool. In the new version of the Command module, we are using Java properties instead of a mixture between xml and environment variables.
However, external modules as logback still uses their xml configuration file and I don’t see how we can avoid this (beside not using logback). And also for the test case parameters we will need more than just environment variables. The current test cases are using a run time folder with several files, like HLA SOM files. Also the definition of the interoperability requirements within the compliance badges are requiring a bit more configuration that environment variables. In the current version (inside the GUI branch), we are using json files to describe them – in a future version this might be replaces by a DMS server.
I have to admit, that I have no experience how this conflicts with containerizing the modules.

Hi Reinhard,
sorry I should not have proposed such a direct solution because I know it's not that simple. My intention was indeed to spark a discussion on this.
There are a few options as far as I am concerned:

Include the configuration files into the docker images. This seems undesirable because we need so many different variations of the configuration we will need to build a different image for each of them. It will be harder to manage all these images.
Provide configuration via environment variables. This is the most user-friendly option. When running (a group of) containers you can provide these variables when launching an image. This allows one image to be used for many different configurations. You make a good point that not all configuration is simple enough to be represented by an environment variable. For variables that can be represented in this simple way, and that are used throughout the IVCT, I believe this would be the most simple and desirable solution.
Map config files from host OS to the container file system (as you also propose in #60). This indeed allows you to separate configs for prod and development environments easily and seems to me like a good solution. However you will need to potentially create many different configuration files and you need access to the Docker host machine to put these in to place. We can further investigatee if there are means to make this easier.
One way I know to make this easier is a program called 'confd' (https://github.com/kelseyhightower/confd). Confd is a program to dynamically generate config files based on templates and key/value inputs from various sources. This will need more investigation however. It will surely be the most time-consuming to set up, but potentially make configuration much easier when it is in place.

I will implement the following initialization policy for configuration specific variable settings:
if a variable is defined in System.getenv then use use it
else if System.getenv(IVCT_CONF) then use the IVCT.properties file to resolve the variable
else use default setting vor variable

Sounds ok.  Although I would do the IVCT_CONF setting as follows;
If it is a filename then it refers to a file in a default directory.
If it is a (abs) file-path name then it refers to the file at that path.
When using container I can use this option to provide an alternate properties file, by eg.
docker run -v myfile:/path/to/IVCT.properties -e IVCT_CONF=/path/to/IVCT.properties container

thats good idea. I've done that. The code is in the actual development


Is it maintained?

Is this project still maintained? The last publish was 3 years ago and the peer dependencies are failing with the version 17+ of React.
Are you looking for new maintainers or to give the projet to other developers?
Average time to resolve an issue

Percentage of issues still open

getting the same error.
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/react
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>

Until #68 gets merged, if anyone wants a workaround, you can use @fisch0920/use-dark-mode from my fork here https://github.com/transitive-bullshit/use-dark-mode
It will work with React 17 and 18.

@transitive-bullshit the fork still gives a peer dependency warning via its dependency: https://github.com/donavon/use-persisted-state/issues/69
➤ YN0000: root-workspace-0b6124@workspace:. provides react@npm:18.0.0 with version 18.0.0, which doesn't satisfy the following requirements:

➤ YN0000: @fisch0920/use-dark-mode@npm:2.4.0 [dc3fc] → >=16.8             ✓
➤ YN0000: @use-it/event-listener@npm:0.1.7 [c1c92]   → >=16.8.0           ✓
➤ YN0000: use-persisted-state@npm:0.3.3 [c1c92]      → ^16.8.0 || ^17.0.0 ✘


Animating Circle.set_fill results in a weird pattern.

Animating Circle.set_fill results in a weird pattern as follows:
https://user-images.githubusercontent.com/41336229/125058195-ac5fb800-e0c7-11eb-9a75-3f5ee05589de.mp4
Code:
from manimlib import *

class Test(Scene):
    def construct(self):
        circle = Circle(color=BLUE).set_fill(BLUE, opacity=0.5)
        self.play(ShowCreation(circle))
        self.wait()

Also, how do I animate the fill smoothly?

I didn't find a way to do that other than fading between 2 instance of Circle with ReplacementTransform.
(Mind you, I'm not the most proficient with Manim.)
class Test(Scene):
    def construct(self):
        circle = Circle(color=BLUE)
        circle2 = Circle(color=BLUE).set_fill(BLUE, opacity=0.5)
        self.play(ShowCreation(circle))
        self.play(ReplacementTransform(circle, circle2))
        self.wait()

https://user-images.githubusercontent.com/73761711/134973491-88e51fef-9d8b-45d8-9209-32201b6426f5.mp4


Tests for $.before()

Working on this.

Up to 50 unit tests. Nice work everyone.

Woohoo! Thank you so much everyone!!


Add/RemoveTrustedRootCertificate must be updated to match latest spec

Problem
The RemoveTrustedRootCertificate handler in the SDK does not seem to work at all.
By inspecting the code, we find:
// TODO: Implement the logic for RemoveTrustedRootCertificate
    EmberAfStatus status = EMBER_ZCL_STATUS_FAILURE;
    emberAfSendImmediateDefaultResponse(status);

Proposed Solution
Fix the logic of RemoveTrustedRootCertificate to follow spec. This is symmetrical to #17208

https://github.com/CHIP-Specifications/connectedhomeip-spec/pull/5269 covers a fix in spec to match SDK by removing the command

Spec Review: After the above spec change, this is not a spec blocking issue.

Spec changes impact AddTrustedRootCertiticate as well


Successful build and flash to a ravpower wd009 (16m)

👍🏻

Cool. Also, interesting that there are OpenWRT-compatible devices that come with a battery.


Add links to OCT screener and our prototype on project story page

They can be inline with the text somehow. Just people to be able to see the live versions of those sites from that page.

Updated! :)


e2e actions test fails on forked repo PR

Description
It seem when you create an PR from a forked repo the test fails since I think they are not able to access the environment from our repo.

`name: E2E on Chrome
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
cypress-run:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
  - name: Cypress run
    uses: cypress-io/github-action@v6
    with:
      working-directory: packages/nextjs
      browser: chrome
      start: yarn dev
      wait-on: "http://localhost:3000"
    env:
      NEXT_PUBLIC_HEIMDALL_URL: ${{ secrets.HEIMDALL_URL }}
      CYPRESS_HEIMDALL_URL: ${{ secrets.HEIMDALL_URL }}
    if: github.event.pull_request.head.repo.full_name == github.repository

  - name: Cypress run (fork PR)
    uses: cypress-io/github-action@v6
    with:
      working-directory: packages/nextjs
      browser: chrome
      start: yarn dev
      wait-on: "http://localhost:3000"
    env:
      NEXT_PUBLIC_HEIMDALL_URL: "https://dummy-heimdall-url.example.com"
      CYPRESS_HEIMDALL_URL: "https://dummy-heimdall-url.example.com"
    if: github.event.pull_request.head.repo.full_name != github.repository`

We could probably do it like this but if we make it like this then we should as well remove the use of secrets

Fixed at #152


Rework configurations

[ ] All configs should support ENV variable overrides over DB values
[ ] Adding a new field to DB value should automatically write ENV config to DB on app boot (so that we don't need migrations)
[ ] Validate configs and report human-readable errors when something is wrong, telling where it's invalid (eg. env key X) and what's wrong with it
[ ] Reuse Changeset validations (we still have a DB schema and UI form, and want to make sure it's valid)
[ ] Auto-generate docs
[ ] Merge Config and Configurations into one Config context
[ ] Lock out UI fields for configurations when there is an ENV override

Maybe:

[ ] Auto-generate Ecto types to automatically cast/dump values to/from DB
[ ] Allow JSON file config source
[ ] DB-related configs will not be validated?

Pull Request Test Coverage Report for Build add20ff7e102cfa9ab6044b71de41bcb35e888af-PR-1352

3 of 91 (3.3%)  changed or added relevant lines in 2 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-2.9%) to 66.008%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

apps/fz_http/lib/fz_http/validator.ex
3
30
10.0%

apps/fz_http/lib/fz_http/config/definitions.ex
0
61
0.0%

Files with Coverage Reduction
New Missed Lines
%

apps/fz_http/lib/fz_http/validator.ex
2
45.65%

Totals

Change from base Build e43ef061159b3932157a34c57aebc641d6e089bf:
-2.9%

Covered Lines:
1402

Relevant Lines:
2124

💛  - Coveralls

This looks good! Just to clarify my understanding, some ENV vars won't have a corresponding Configuration entry and won't be validated (PHOENIX_PORT for example), but all runtime Configurations will be ENV-overridable, is that correct?
I know we briefly discussed a naming convention to link configuration-related env vars to actual Configurations (FZ_*?).
Also linking relevant configuration issues here to help me reference for the review.

#1162
#1313
#1343
#1266
firezone/product#413

Some ENV vars won't have a corresponding Configuration entry and won't be validated (PHOENIX_PORT for example), but all runtime Configurations will be ENV-overridable, is that correct?

Yes. But FYI I did not plan to check for compile-time variables initially and the Ecto ones, maybe I will do it in the end if it's easy to integrate.
Thoughts on naming convention for configuration-related env vars? e.g. FZ_*

I feel like namespacing there is an overkill if we deal with containers, nobody is deploying firezone outside of them and inside a container, there are no name conflicts, it's just our app running.
Do we "let it crash" if ENV var is invalid on bootup?

We will raise for every variable that is invalid when the app boots.


non-compiled

hello,Can you provide a non-compiled version? I now have the dynamic library of skia and the header file of skia. How can I change it?

I will provide precompiled static link library after I finished https://github.com/Brooooooklyn/rust-skia/pull/2

I can contribute to this project, but this compilation has failed. I copied libskia.so from others, but I didn't get it.(ubuntu18)

I don't want commit static link file into git. It should generate by CI.
In Ubuntu18, you can just follow this two steps to run the example:

follow this guide to setup skia tools https://skia.org/user/download
INIT_SKIA=true cargo run --example hello (this step may require a proxy to access google codes

println!("cargo:rustc-link-lib=static=skiabinding")??????????
What is skiabinding? I compiled skia separately without this file! I am now compiling skia from another server and copying the dynamic library.

我才发现你是中国上海 我北京的

skiabinding is generated by src/binding.cc

I have encountered such a problem
orange@orange:~/work/rust/material/rust-skia$ cargo run --example hello
Compiling rust-skia v0.1.0 (/home/orange/work/rust/material/rust-skia)
error[E0425]: cannot find value SK_ColorBLACK in this scope
--> src/canvas.rs:45:25
|
45 |       sk_paint.setColor(SK_ColorBLACK);
|                         ^^^^^^^^^^^^^ not found in this scope
error[E0425]: cannot find value SK_ColorWHITE in this scope
--> src/canvas.rs:48:44
|
48 |       SkiaClearCanvas(sk_canvas as *mut _, SK_ColorWHITE);
|                                            ^^^^^^^^^^^^^ not found in this scope
error: aborting due to 2 previous errors
For more information about this error, try rustc --explain E0425.
error: Could not compile rust-skia.
To learn more, run the command again with --verbose.
orange@orange:~/work/rust/material/rust-skia$

Hello, we are trying to make this library easier to compile, for example #48 is one step in this direction. Also we prepared a readme that should be merged soon, which may be reviewed here #43. In addition to that, @Brooooooklyn is working on providing prebuilt binaries #49.
If there are further compilation problems, please open a new issue and provide the exact platform and the output of the cargo build -vv  command.
Closing this in favor of the issues #48, #43, and #49.


"Cannot use 'in' operator to search for 'name' in null" during Amplify Codegen @aws-amplify/cli @12.7.0

How did you install the Amplify CLI?
pnpm
If applicable, what version of Node.js are you using?
20.7.0
Amplify CLI Version
12.7.0
What operating system are you using?
Ma
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
No manual changes made
Describe the bug
When running amplify codegen, i get the following output
amplify codegen              ✔ Generated GraphQL operations successfully and saved at graphql ✖ Cannot use 'in' operator to search for 'name' in null
When I downgrade to<EMAIL_ADDRESS>it works
Expected behavior
✔ Generated GraphQL operations successfully and saved at graphql ✔ Code generated successfully and saved in file api/API.ts
Reproduction steps
Run amplify codegen. I cannot identify if any change to the schema led to this.
Project Identifier
a1fad6e952abc1a3b581c4d3442702d2
Log output

# Put your logs below this line

✖ Cannot use 'in' operator to search for 'name' in null

Additional information
After downgrading to v11.1.1 then upgrading back to 12.7.0 it now works as intended.
Before submitting, please confirm:

[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

Hey @ObinnaAka, thank you for reaching out. The issue appears to be similar to https://github.com/aws-amplify/amplify-codegen/issues/734. additionally, a fix has been merged here:https://github.com/aws-amplify/amplify-codegen/pull/738 and should be released in the upcoming updates.
A workaround on the comment https://github.com/aws-amplify/amplify-codegen/issues/734#issuecomment-1757743003 seems to mitigate the issue; which suggests adding API.ts as an exclusion in the .graphqlconfig.yml file.

Same for me.  Please fix 12.7 🙏

Closing as the issue as the PR has been merged. please feel free in reaching out to us if the issue reoccurs.


Update dependencies to pin version not using github.com/dgrijalva/jwt-go/v4

I was looking at dependency deprecation / security alerts in the core, and while we do not use this dependency, we still had an alert due to the wallet using it. This is an attempt at fixin it.
Close #355

We don't want to merge this, for now. We will address it late.


BUG:Elements are not alligned properly on the home page

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?

Record

[X] I agree to follow this project's Code of Conduct
[X] I have checked the existing issues
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Please assign it to me so that I can fix this issue.
Thank you

someone already working on it.


Will this be getting Webpack 4 support?

I believe the loader works on webpack 4 already.
On Fri, Dec 28, 2018 at 10:03 Meris Bahtijaragic<EMAIL_ADDRESS>wrote:

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ethul/purs-loader/issues/117, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAVYy8Ke4cQcJs37wKciTAT8gQ5BF_TQks5u9jKqgaJpZM4Zj7-x
.


Moving macedonian locale to slavic base and adding tests

Moving Macedonian to slavic base & adding tests

Codecov Report

Merging #565 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #565   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          13     13
  Lines        3376   3396   +20
  Branches      237    237
=====================================
+ Hits         3376   3396   +20

Impacted Files
Coverage Δ

arrow/locales.py
100% <100%> (ø)
:arrow_up:

tests/locales_tests.py
100% <100%> (ø)
: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 2e55168...d967ab1. Read the comment docs.

Any particular reason for doing this? I'll wait until you're done making further changes to the new tests, 0.13.1 should be released shortly so this will be in the version after that.

@systemcatch the translations are a bit awkwardly sounding when not using the slavic base.
Since it's a slavic language, it needs it to have the proper words for the different numbers.

@krisfremen cool let me know when you're happy with this and I'll merge.


Run Aqua.jl

Fix undefined export detected with Aqua.jl

Still need to resolve ambiguities (see #55)...


Message->create() not returning id

I don't get an id in the response, it also does not return the value I set for reportUrl

$Message = new \MessageBird\Objects\Message();

$Message->scheduledDatetime = date('Y-m-d\TH:i:sP', $sms['sms_send_time']);
$Message->originator = $sms['sms_from'];
$Message->reference = $sms['sms_id'];
$Message->recipients = [$sms['sms_to']];
$Message->body = $sms['message'];

$Message->reportUrl = 'https://api.alpaka.io/_sms/sms_callback.php?c='.$sms['cust_id'].'&s='.$sms['sms_id'];

$r = $clients['messagebird']->messages->create($Message);

$r = json_encode($r, true);
$r = json_decode($r);

echo '<pre>';
print_r($r);
echo '</pre>';

response as an array is

Array
(
    [direction] => mt
    [type] => sms
    [originator] => +447418310---
    [body] => Hi, I can't make it today, sorr
    [reference] => 143
    [validity] =>
    [gateway] => 10
    [typeDetails] => Array
        (
        )

    [datacoding] => plain
    [mclass] => 1
    [scheduledDatetime] => 2019-05-05T18:32:56+00:00
    [recipients] => Array
        (
            [totalCount] => 1
            [totalSentCount] => 0
            [totalDeliveredCount] => 0
            [totalDeliveryFailedCount] => 0
            [items] => Array
                (
                    [0] => Array
                        (
                            [recipient] => 447540739---
                            [status] => scheduled
                            [statusDatetime] =>
                        )

                )

        )

    [reportUrl] =>
)

This is fixed in the current release
object(MessageBird\Objects\MessageResponse)#11 (15) {
  ["id"]=>
  string(32) "33d6a7b75ae34e81a74d683fcf461c58"
  ["href"]=>
  string(70) "https://rest.messagebird.com/messages/33d6a7b75ae34e81a74d683fcf461c58"
  ["direction"]=>
  string(2) "mt"
  ["type"]=>
  string(3) "sms"
  ["originator"]=>
  string(11) "messagebird"
  ["body"]=>
  string(4) "test"
  ["reference"]=>
  string(12) "reference_id"
  ["validity"]=>
  NULL
  ["gateway"]=>
  ...


Tags/releases in git repository, for stability

Without tags/releases in the github repository, there's a higher chance of regression bugs from ongoing development on your master branch polluting builds for anyone using the library.

Yeah, this would be nice. I'll have to find some time to tag the appropriate commits.


Tab Align Problem

VSCode Version: Code 1.17.1 (1e9d36539b0ae51ac09b9d4673ebea4e447e5353, 2017-10-10T14:24:50.851Z)
OS Version: Windows_NT x64 10.0.15063
Extensions:

Extension
Author (truncated)
Version

vscode-great-icons
emm
2.1.16

material-icon-theme
PKi
2.2.2

(6 theme extensions excluded)

Steps to Reproduce:

Reproduces without extensions: Yes/No

We don't support this formatting style out of the box. Support for aligned formatting in javascript and typescript is tracked by https://github.com/Microsoft/TypeScript/issues/11865
Try installing a formatter from the marketplace to get the desired formatting


Speedup concurrent multi-segment HNWS graph search 2

A second implementation of #12794 using Queue instead of MaxScoreAccumulator.
Speedup concurrent multi-segment HNWS graph search by exchanging the global top scores  collected so far across segments. These global top scores set the minimum threshold that candidates need to pass to be considered.  My main concern is does contention on the queue updates cause slow down. This aside, I think the queue is strictly better.
The search might wind up visiting fewer vertices for min score sharing, because of earlier decisions might mean it by chance gets transiently better bounds, but this should be low probability particularly when the search has to visit many vertices. And indeed these cases are where we see big wins from using a queue.
There appears to be some evidence of contention. This is suggested by looking at the runtime vs expected runtime from vertices visited, e.g.

scenario
QPS(score) / QPS(queue)
Visited(queue) / Visited(score)

n=10M, dim=100, k = 100, fo = 900
0.83
0.65

n=10M, dim=768, k = 100, fo = 900
0.76
0.68

Note that the direction of this effect is consistent, but the size is not (fo = 900 shows the largest effect). However, all that said we still get significant wins in performance, so my vote would be to use the queue and work on strategies for reducing contention, there are various ideas we had for ways to achieve this.

I have also done experiments using Cohere dataset, as as seen below for 10M docs dataset, the speedups with the proposed approach are 1.7-2.5x times.
Cohere/wikipedia-22-12-en-embeddings

Cohere/wikipedia-22-12-en-embeddings dataset
768 dims

1M vectors
k=10, fanout=90

Avg visited nodes
QPS
Recall

Baseline Single segment
804
3225
0.454

Baseline 8 segments concurrent
1807
1831
0.887

Candidate2_with_queue
1807
1872
0.887

k=100, fanout=900

Avg visited nodes
QPS
Recall

Baseline Single segment
4555
527
0.477

Baseline 8 segments concurrent
9119
261
0.923

Candidate2_with_queue
9119
265
0.923

10M vectors
k=10, fanout=90

Avg visited nodes
QPS
Recall

Baseline Single segment

Baseline 19 segments concurrent
37726
293
0.971

Candidate2_with_queue
20199
501
0.960

k=100, fanout=900

Avg visited nodes
QPS
Recall

Baseline Single segment

Baseline 19 segments concurrent
234047
47
0.992

Candidate2_with_queue
74995
118
0.979

@jimczi Thanks for your feedback.

Some of the recalls for the single segment baseline seem seem quite off (0.477?). Are you sure that there was no issue during the testing?

Sorry, I made a mistake. I've updated the results.
I will work on more experiments to address your other comments/

I have done more experiments with different interval values:
Cohere 786 dims:
1M vectors, k=10, fanout=90

Interval
Avg visited nodes
QPS
Recall

255
10283
959
0.946

511
11455
912
0.956

1023
12241
888
0.963

1M vectors, k=100, fanout=900

Interval
Avg visited nodes
QPS
Recall

255
28175
286
0.978

511
32410
231
0.982

1023
38929
193
0.985

10M vectors, k=10, fanout=90

Interval
Avg visited nodes
QPS
Recall

255
18325
567
0.906

511
20108
518
0.919

1023
22041
472
0.932

10M vectors, k=100, fanout=900

Interval
Avg visited nodes
QPS
Recall

255
58543
157
0.958

511
66518
134
0.966

1023
78740
115
0.972

It's also important to check the order of execution. For instance what happens if all segments are executed serially (rather than in parallel), does it changes the recall?

@jimczi  The results are below

Sequential run cohere: 768 dims; interval: 255
1M vectors
k=10, fanout=90

Avg visited nodes
QPS
Recall

Baseline Single segment
2033
1212
0.880

Baseline 8 segments sequential
13927
175
0.974

Candidate_with_queue sequential
9407
269
0.923

k=100, fanout=900

Avg visited nodes
QPS
Recall

Baseline Single segment
13083
167
0.964

Baseline 8 segments sequential
81824
28
0.997

Candidate_with_queue sequential
36851
62
0.983

10M vectors
k=10, fanout=90

Avg visited nodes
QPS
Recall

Baseline Single segment
2189
984
0.929

Baseline 19 segments sequential
37656
59
0.951

Candidate_with_queue sequential
17748
121
0.884

k=100, fanout=900

Avg visited nodes
QPS
Recall

Baseline Single segment
15040
122
0.950

Baseline 19 segments sequential
229945
9
0.990

Candidate_with_queue sequential
77910
27
0.964

This makes an interval of 255 a reasonable choice.

I agree. This looks better to me. One thing I would be intrigued to try is the slight change in schedules as per this. Particularly, what happens if we delay using the information in minCompetitiveSimilarity. However, these results are already very good and we could push them out to a follow on PR.
One last thing I think we should consider is exploring the variance we get in recall as a result of this change. Specifically, if we were to run with some random waits in the different segment searches what is the variation in the recalls we see?
The danger is we get unlikely in ordering of searches and prune segment searches which contain the true nearest neighbours more aggressively sometimes. On average this shouldn't happen, but if we also see low variation in recall for the 1M test case in such a test case it would reassuring.

I ran my own experiment, which showed some interesting and frustrating results.
I adjusted the indexing to randomly commit() on every 500 docs or so. I indexed the first 10M docs of cohere-wiki and used max-inner product over the raw float32. This showed that we have some graph building problems, will include those results as well.
Graph

The python code & raw data used:

OK, I reran my tests, but over the first 500k docs. Randomly committing & merging with a 500MB buffer. The numbers are much saner. I wonder if I have a bug in my data and start sending garbage once I get above 1M vectors...
This shows that having the dynamic k based on segment size brings us closer to baseline single segment number of visited. We are still in a different magnitude, but both static & dynamic k with the queue are much much better (2-3x) than the baseline multi-segment search.
plt.plot([985, 1225, 1398], [0.993, 1.0, 1.0], marker='o', label='baseline_single')
plt.plot([37505, 57693, 72611], [1.0, 1.0, 1.0], marker='o', label='baseline_multi')
plt.plot([12099, 18411, 24452], [0.999, 1.0, 1.0], marker='o', label='candidate_static_k')
plt.plot([10078, 13369, 16769], [0.992, 0.999, 1.0], marker='o', label='candidate_dynamic_k')

I fixed my data and ran with 1.5M cohere:
static_k is this PR
dynamic_k is this PR + scaling the k explored by
loat v = (float)Math.log(sumVectorCount / (double) leafSize);
float filterWeightValue = 1/v;

Scaling the k is another nice incremental change. Up and to the left is best. We get better recall with visiting fewer consistently.
plt.plot([2304, 2485, 3189, 4028, 5610, 16165], [0.875, 0.886, 0.916, 0.938, 0.960, 0.992], marker='o', label='baseline_single')
plt.plot([43015, 45946, 56864, 69149, 90772, 210727], [0.980, 0.982, 0.989, 0.992, 0.996, 1.000], marker='o', label='baseline_multi')
plt.plot([22706, 23749, 27142, 30893, 37162, 76032], [0.959, 0.962, 0.970, 0.976, 0.983, 0.996], marker='o', label='candidate_static_k')
plt.plot([16099, 17183, 20788, 24809, 31334, 64921], [0.937, 0.945, 0.962, 0.973, 0.983, 0.996], marker='o', label='candidate_dynamic_k')

@benwtrent Thanks for running additional tests. Looks like running with dynamic k can speed up searches, but I think we need to run more experiments on smaller dims datasets as well, so I think we should leave this in the follow up.
@jimczi @tveasey I've addressed your comments.  Are we ok to merge as it is now.

The following is left for the follow up work:

Dynamic k based on segment size. Currently we gather at least k documents for every segment before starting synchronizing with the global queue. We need to adjust k based on the segment size.
Improve synchronization schedule with the global queue. Currently we do synchronization with the global queue every 255 visited docs.  Can we improve schedule as per as per comment.

but I think we need to run more experiments on smaller dims datasets as well, how about we leave this for the follow up?

I am 100% fine with this. It was a crazy idea and it only gives us an incremental change. This PR gives a much better improvement as it is already.

@jimczi @tveasey I've addressed your comments. Are we ok to merge as it is now.

I'm happy

@benwtrent @jimczi Thanks for your great feedback, with the latest changes I tried to address your comments, please check if need something else.

FYI I pushed an annotation, this yielded a major speedup: http://people.apache.org/~mikemccand/lucenebench/VectorSearch.html.

Is it called HNSW or HNWS? I just noticed the title of this PR and differing changes entries.

HNSW stands for "hierarchical navigable small world" - that should make it easy to remember :)

I think this was released in 9.10.0?  I added a milestone.

Dear experts: I wonder

Will this PR introduce query-time non determinism? When we issue the same query multiple times on the same index, will the query result be identical?

Is this PR automatically on? i.e. we still use the IndexSearcher.search(vectorQuery) without extra args for executor or boolean flags, and this feature will be on. (Based on our reading of the codes, the answer is yes.)

@wurui90  Answering your questions

Yes, indeed, there is some non-determinism, but I think it would not be much noticed in practice, as the algorithm ensures that each segment still collects some good results before exchanging globally with other segments.
Yes, indeed, it automatically on. If your indexSearcher is using an executor with a single thread, than you will get deterministic behaviour. Also, you can set the greediness to 0 here, will effectively disable algorithm.


WIP - PP-12354 Resolve multiple gateway accounts

This is for discussion in mobbing, no requirement to merge.

return the correct gateway account when there are multiple gateway accounts for a particular serviceId and account type, according to strategy set out in PP-12352.
where there are both Stripe and Worldpay accounts (as can be the case for test accounts), return Stripe. We may need to address this unlikely scenario differently, e.g. return the most recently created.

closing this for now as we're not going to attempt to implement this logic until requirements are clearer


treewide: adjust cubeb dependencies

Description of changes
Many emulators (it's what I focused on) use cubeb (a library that automatically selects the audio backend) in order to output audio, but since it was bundled the solution in the nix package was often to just add libpulseaudio in the dependencies. Cubeb however supports many more backends, so I thought that now that Cubeb is a package (thanks to #198590) to properly include the dependencies in other emulators.
Tested DuckStation, PCSX2 and Citra.
Cannot test RPCS3, so if anyone can test it...
I also didn't test Cemu.
(EDIT: Didn't retest recently) I tried to also do it for Dolphin, but no matter what, Cubeb just refuses to work (even now it doesn't work, at least it's not the default option...).

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Rebased and added PCSX2.


feat(template-vanilla-ts): add template-vanilla-ts project

Description
It is the TS version of template-vanilla.

Additional context

What is the purpose of this pull request?

[ ] Bug fix
[ ] New Feature
[ ] Documentation update
[x] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

Close in favor of #2023, thank you for the contribution!


Please add click disappear function.

Now there is the function of dragging down and disappearing. I hope to add the function of disappearing with one tap.

Got it, this already exists with overlays, can you please check out the example project? There is also some instructions in the readme under "Add an Overlay".
Let me know if you need anything else.

ok,thanks


Constantly looping and checking for errors when "Problems" pane is open

Hello!
Perhaps the title is not spot on, but I couldn't find better words at the moment. Feel free to adjust the title. What is going on: When the "Problems" pane is focused and VS Code is focused, it is "looping" through problems periodically like it is trying to compile, recompile, recompile... It is hard to describe, so I recorded a video for you. This is happening on Mac OS Sierra and High Sierra.
Environment data
dotnet --info output:

dotnet --info output
.NET Core SDK (reflecting any global.json):
 Version:   2.1.301
 Commit:    59524873d6
Runtime Environment:
OS Name:     Mac OS X
OS Version:  10.12
OS Platform: Darwin
RID:         osx.10.12-x64
Base Path:   /usr/local/share/dotnet/sdk/2.1.301/
Host (useful for support):
Version: 2.1.1
Commit:  6985b9f684
.NET Core SDKs installed:
1.0.0-preview1-002702 [/usr/local/share/dotnet/sdk]
1.0.1 [/usr/local/share/dotnet/sdk]
2.0.3 [/usr/local/share/dotnet/sdk]
2.1.4 [/usr/local/share/dotnet/sdk]
2.1.301 [/usr/local/share/dotnet/sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 1.0.0-rc2-3002702 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 1.0.4 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.3 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

VS Code version: Version 1.26.0 (1.26.0) 4e9361845dc28659923a300945f84731393e210d / 2018-08-13T16:14:13.371Z
C# Extension version: 1.15.2
Steps to reproduce
I'm using different solutions and it is evident in all of them.

Open a folder with solution or with projects (I'm using Orleans-Docker in the video)
Focus the "Problems" pane (pressing Command+Shift+M)
Observe the periodic updates of error messages (re-evaluation with different results)

Expected  behavior

Errors are "re-evaluated" only on changes

Actual behavior

Errors are "re-evaluated" constantly
See the video:

Here is the sample project, which is in the video:
sample-project.zip

I am seeing the same issue; its making life very difficult. This started happening when I upgraded VS Code to 1.26.

I believe this might be a VS code bug: See the issue here:
https://github.com/Microsoft/vscode/issues/56317

@skyflyer @dchw We haven't made any changes in our error reporting so you're probably right that this is a Code bug. I'm going to close this issue. Thanks for reporting this, and feel free to keep discussing if you like.

I think every callback registered for vscode.OnDidCloseTextDocument is erroneously being invoked in some manner, so diagnostic files are removed over time. Eventually, the next project validation finishes and the diagnostics are reset.
You can fix it from within the extension by caching and restoring within that callback.

Sounds like there are some changes we need to make to adjust to VS Code impll changes. Reopening this to track those changes.

This was resolved with the VSCode 1.26.1 release.


How could i run revel build or revel package with godeps

I am using godep to manage some package for some revel applications, but revel build seems to use the packages from the $GOPATH, how could i let it use the packages from the godeps's packages.

but revel build seems to use the packages from the $GOPATH

@kurtzhong Right, just as any golang application. That's why godep has restore command that is:

the opposite of godep save. It will install the package versions specified in Godeps/Godeps.json to your GOPATH

https://github.com/tools/godep#restore

By the way, now it is not possible to run godep go test after every change to code (as described here). But I hope we'll have a solution soon.

Does that answer you question? I'm closing this issue now, feel free to reopen again.

Sorry for the late response, i've been busy making our revel app into production.  Basically it's  godep save -r ./...  under the revel app's root path, and it will generate a Godeps folder.
.
├── app
├── conf
├── Godeps
├── messages
├── public
├── README.md
├── run
└── tests

To run the revel app, i use a custom script with the following content:
#!/bin/bash
GOPATH=`godep path`:$GOPATH revel run www.example.com/myapp/portal

There is one problem, the godep save doesn't pull all the content in revel/modules/testrunner, it just pull the  revel/modules/testrunner/app, so when the revel runs it won't start saying no route file found, and I have to get around this by git clone manually the github.com/revel/modules repo and remove the .git info. Other than this, so far so good.

Hello, @kurtzhong. Thank you for using revel. Try to use godep save ./app/tmp (still under the revel app's root path) instead of the command you use. That should solve the problem.

Though, wait. It doesn't solve the issue. Looks like a conceptual problem. I'll mark this as a bug.

What about GO15VENDOREXPERIMENT with revel?

I had no intention of unassigning this, sorry.

Closing, use vendoring instead

I add github.com/revel/revel to vendor and add revel to $PATH,but when i run revel run my_app, i get the follow error
~
~ revel! http://revel.github.io
~
ERROR 2017/08/09 15:52:22 revel.go:346: Failed to find Revel with error: cannot find package "github.com/revel/revel" in any of:
	/usr/local/go/src/github.com/revel/revel (from $GOROOT)
	/tmp/src/github.com/revel/revel (from $GOPATH)

what's wrong? vendor is useless ?

I'm using https://github.com/golang/dep , but I can't use it for revel itself, because revel needs the revel binary installed in $GOPATH/bin. So I have this in Gopkg.toml:
ignored = [
  "github.com/revel/cron",
  "github.com/revel/modules",
  "github.com/revel/modules/jobs/app/jobs",
  "github.com/revel/revel",
  "github.com/revel/revel/testing",
]

That is, I use dep to vendor everything but revel.

@ptman @notzippy ,i can't understand why "build.Import" was not search vendor firstly?

@zuoRambo how did you install revel? go get github.com/revel/cmd/revel ? in that case revel is installed in GOPATH, not vendor/. Did you remove revel from GOPATH?

@zuoRambo Have you tried using revel/meta#11 ? You can use that to bring your gopath to the state of revel versions from 0.14-0.17. Alternately this person got vendoring to work after cleaning out of his gopath references to the revel package revel/modules#35


Datamanager basic routes

This PR adds a few tests to some basic routes.  It also introduces code coverage tracking for this project.

Wrong repo!  Sorry!

Codecov Report

:exclamation: No coverage uploaded for pull request base (dev@6a27c88). Click here to learn what that means.
The diff coverage is 8.19%.

@@          Coverage Diff          @@
##             dev     #14   +/-   ##
=====================================
  Coverage       ?   14.4%
  Complexity     ?     255
=====================================
  Files          ?     127
  Lines          ?    8164
  Branches       ?    1077
=====================================
  Hits           ?    1176
  Misses         ?    6892
  Partials       ?      96

Impacted Files
Coverage Δ
Complexity Δ

...ools/manager/controllers/api/RegionController.java
11.7% <ø> (ø)
2 <0> (?)

...anager/extensions/transitland/TransitLandFeed.java
0% <ø> (ø)
0 <0> (?)

...al/datatools/editor/models/transit/EditorFeed.java
20% <ø> (ø)
1 <0> (?)

...ools/manager/controllers/api/StatusController.java
44.44% <ø> (ø)
2 <0> (?)

...anager/controllers/api/OrganizationController.java
8.57% <ø> (ø)
2 <0> (?)

...nveyal/datatools/manager/jobs/ValidateFeedJob.java
0% <ø> (ø)
0 <0> (?)

...eyal/datatools/manager/models/OtpRouterConfig.java
0% <ø> (ø)
0 <0> (?)

...ls/manager/controllers/api/GtfsPlusController.java
0% <0%> (ø)
0 <0> (?)

.../conveyal/datatools/manager/models/FeedSource.java
9.58% <0%> (ø)
8 <0> (?)

...atools/manager/extensions/mtc/MtcFeedResource.java
0% <0%> (ø)
0 <0> (?)

... and 56 more

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 6a27c88...100fb86. Read the comment docs.


Pin assignment for the 8-pin X10 connector

I have a Rotex HPSU compact where the X10 connector is configured with 8 pins. The README mentions this configuration but it's not completely clear to me:

The corresponding picture shows only the assignment of RX, TX and GND. But the pin which shall provide the voltage supply is not mentioned. Does someone know the full pin assignment of the 8 pin X10 connector? (Are there maybe even specs available?)
Is above question technically related to the fact that the supply from the connector is not enough for the ESP32. In other words: Is it correct to say that it just does not matter where the voltage supply pin is because the ESP32 has to be supplied externally with USB-C anyway?

Is anybody even around who attached the ESP32 to a ROTEX HPSU Compact model? It's one of those where the PCB with the X10 is behind the front one. It's not trivial to get access to it. Would be really interesting to hear about how others managed to do it.
Anyway big kudos to the community and especially raomin on all the efforts and achievements.

Hello @abutscher and welcome!
Sorry for the late reply (and thanks @m-reuter for the first reply!).
I don't have a Rotex, but I understood that the power of the Rotex port was indeed not enough to power the ESP32.
As you suggest, you would have to use an external USB power supply to power your ESP32 and please remember to still connect the GND of the X10A port with the one of your ESP32.
As to how to access the main PCB, it should be behind a metal plate behind the black plastic upper part. But, again, I don't own one, so better check with a Rotex owner like @KalaNagHTD.
Have fun!

The Rotex HPSU compact ultra can power the M5 stickCplus.


Make floating windows sticky

https://github.com/swaywm/sway/issues/2742
With sticky toggle one can make windows visible on all workspaces.
I think it might be sensible to enable this by default for floating windows, so that tools like dragon-drop (which I am also proposing to install by default, awesome for bridging terminal to GUI) and the screenshot tool are accessible across workspaces.
But I don't know how :c

To enable this for specific applications, refer here for an example.

I assume this worked for you? Would you like to contribute contribute additional defaults?

feel free to reopen if you have suggestions.


ErrorException on attempted caching

Using the following caching setup:
$img = Image::cache(function($image) use ($filePath) {
    Image::make($filePath); // This line works fine without being wrapped in `cache`
});

on an image stored without an extension like so:
/storage/app/temporary_images/phpJdGBsU

I get an exception:
ErrorException in ImageCache.php line 319:
Undefined property: Intervention\Image\ImageManager::$encoded

1. in ImageCache.php line 319
2. at HandleExceptions->handleError('8', 'Undefined property: Intervention\Image\ImageManager::$encoded', '/home/vagrant/Code/Laravel/Projects/factorioso/vendor/intervention/imagecache/src/Intervention/Image/ImageCache.php', '319', array('lifetime' => '5', 'returnObj' => false, 'key' => 'ad7b81dea42cf2ef7525c274471e3ce6', 'cachedImageData' => null, 'image' => object(ImageManager))) in ImageCache.php line 319
3. at ImageCache->get(null, false) in ImageManager.php line 88
4. at ImageManager->cache(object(Closure)) in Facade.php line 216
5. at Facade::__callStatic('cache', array(object(Closure))) in UploadController.php line 61
6. at Image::cache(object(Closure)) in UploadController.php line 61
7. at UploadController->image('rgeuzzjscjr0t7fc')
8. at call_user_func_array(array(object(UploadController), 'image'), array('slug' => 'rgeuzzjscjr0t7fc')) in Controller.php line 256
9. at Controller->callAction('image', array('slug' => 'rgeuzzjscjr0t7fc')) in ControllerDispatcher.php line 164
10. at ControllerDispatcher->call(object(UploadController), object(Route), 'image') in ControllerDispatcher.php line 112
11. at ControllerDispatcher->Illuminate\Routing\{closure}(object(Request))
12. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 139
13. at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
14. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
15. at Pipeline->then(object(Closure)) in ControllerDispatcher.php line 114
16. at ControllerDispatcher->callWithinStack(object(UploadController), object(Route), object(Request), 'image') in ControllerDispatcher.php line 69
17. at ControllerDispatcher->dispatch(object(Route), object(Request), 'App\Http\Controllers\UploadController', 'image') in Route.php line 203
18. at Route->runWithCustomDispatcher(object(Request)) in Route.php line 134
19. at Route->run(object(Request)) in Router.php line 708
20. at Router->Illuminate\Routing\{closure}(object(Request))
21. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 139
22. at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
23. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
24. at Pipeline->then(object(Closure)) in Router.php line 710
25. at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 675
26. at Router->dispatchToRoute(object(Request)) in Router.php line 635
27. at Router->dispatch(object(Request)) in Kernel.php line 236
28. at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
29. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 139
30. at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in VerifyCsrfToken.php line 50
31. at VerifyCsrfToken->handle(object(Request), object(Closure))
32. at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
33. at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in ShareErrorsFromSession.php line 49
34. at ShareErrorsFromSession->handle(object(Request), object(Closure))
35. at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
36. at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in StartSession.php line 62
37. at StartSession->handle(object(Request), object(Closure))
38. at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
39. at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
40. at AddQueuedCookiesToResponse->handle(object(Request), object(Closure))
41. at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
42. at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in EncryptCookies.php line 59
43. at EncryptCookies->handle(object(Request), object(Closure))
44. at call_user_func_array(array(object(EncryptCookies), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
45. at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in CheckForMaintenanceMode.php line 44
46. at CheckForMaintenanceMode->handle(object(Request), object(Closure))
47. at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
48. at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
49. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
50. at Pipeline->then(object(Closure)) in Kernel.php line 122
51. at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 87
52. at Kernel->handle(object(Request)) in index.php line 54

I copy-pasted too quickly.  I should have used the $image variable passed into the caching closure instead of using the Image class.  So the solution:
$img = Image::cache(function($image) use ($filePath) {
    $image->make($filePath);
});


#12440: Fix fatals that would never be triggered

Ticket
Link to Github Issue https://github.com/tenstorrent/tt-metal/issues/12440
Problem description

many fatals are of the form TT_FATAL("string"), which would never be triggered even though they should be.

What's changed

changed them to be TT_FATAL(false, ... or equivalent
a commented out one was deleted
one that looked like it was intended to be ignored was turned into an info log message
tried to add in extra information were it made sense (I assume people know what arch they're using)

Checklist

[ ] Post commit CI passes
[ ] Blackhole Post commit (if applicable)
[ ] Model regression CI testing passes (if applicable)
[ ] New/Existing tests provide coverage for changes

Instead of TT_FATAL(false, ...), should we use TT_THROW instead?

Instead of TT_FATAL(false, ...), should we use TT_THROW instead?

Probably cleaner. I'll switch.

Can we maybe just flip the default, if empty string is passed in we just consider it as false?

Can we maybe just flip the default, if empty string is passed in we just consider it as false?

That would add extra checks, which are probably not desired. And it complicates the code.
We should be using the defines properly. TT_THROW is a good solution.

Can we maybe just flip the default, if empty string is passed in we just consider it as false?

That would add extra checks, which are probably not desired. And it complicates the code. We should be using the defines properly. TT_THROW is a good solution.

It just seems to me that same errors will re-occur in time...

Can we maybe just flip the default, if empty string is passed in we just consider it as false?

That would add extra checks, which are probably not desired. And it complicates the code. We should be using the defines properly. TT_THROW is a good solution.

It just seems to me that same errors will re-occur in time...

If the TT_FATAL macro is rewritten to demand 2 or more arguments then I don't think there is a possibility of this coming back. I think it's fair to require all FATALs to have an error message.

If the TT_FATAL macro is rewritten to demand 2 or more arguments then I don't think there is a possibility of this coming back. I think it's fair to require all FATALs to have an error message. May want to add some static type checks to the first arg though to ensure it's not a string.

I came over to suggest the same thing.
#define TT_FATAL(condition, msg, ...)

...guarantees that you don't do it by accident, and you still have TT_THROW for no-condition exceptions.

Can we maybe just flip the default, if empty string is passed in we just consider it as false?

That would add extra checks, which are probably not desired. And it complicates the code. We should be using the defines properly. TT_THROW is a good solution.

It just seems to me that same errors will re-occur in time...

If the TT_FATAL macro is rewritten to demand 2 or more arguments then I don't think there is a possibility of this coming back. I think it's fair to require all FATALs to have an error message. May want to add some static type checks to the first arg though to ensure it's not a string.

There were well over 1k places where I had to make a change. I resorted to sed, and still had to make incremental fixes. Added a lot of files. We'll have to live with the message "Error" and can update individual cases.

This PR even with the generic "Error" message is strictly an improvement over the status quo. Right now, the TT_FATAL is either a no-op when a string literal is passed to it, or it fails without any error messages. In this sense the "Error" message is no worse. It should not be a part of this PR to change the messages for every instance of TT_FATAL.

Comment for codeowners of ttnn/cpp/ttnn/operations/loss/loss.cpp:
There is a path in ttnn/cpp/ttnn/operations/loss/loss.cpp that had a non-working fatal that is taken in all post commits for a NONE loss reduce function.
The test that exercises this path is tests/tt_eager/python_api_testing/unit_testing/loss_ops/test_loss_mae.py::TestMAELoss::test_loss_mae_none[memcfg0-input_shapes0]
I replaced the TT_FATAL with a TODO comment since replacing it with a TT_THROW caused all post commits to fail.
If you feel that the test or the code needs to be updated, please do that in a separate follow up PR in the future.


Downgrade MQTT Payload warning to info

Description:
Downgrades warning to info to stop the mass of logs when using a value_template.
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.

Don't create more options 🙏
If this warning is wrong, downgrade it to a debug

This seems to be a dupe of one I just submitted, #20981

Don't create more options 🙏
If this warning is wrong, downgrade it to a debug

Done. I don't think this needs to be shown as a warning since the same topic could produce what it likes. In my case, this is a Tasmotified RF bridge, where I use the received topic which could be any kind of code, not just the one the binary_sensor wants

This seems to be a dupe of one I just submitted, #20981

Oh! Odd that we had the same thought at the same time 😄

This seems to be a dupe of one I just submitted, #20981

Oh! Odd that we had the same thought at the same time 😄

I'll remove mine and let yours proceed.
Yours is going to fail travis for the same reasons though,  I imagine:
./homeassistant/components/mqtt/binary_sensor.py:148:33: E127 continuation line over-indented for visual indent

homeassistant/components/mqtt/binary_sensor.py:148:0: C0330: Wrong continued indentation (remove 2 spaces).
                                ' for entity: %s with state_topic: %s',
                              | ^ (bad-continuation)
homeassistant/components/mqtt/binary_sensor.py:149:0: C0330: Wrong continued indentation (remove 2 spaces).
                                self._config.get(CONF_NAME),
                              | ^ (bad-continuation)
homeassistant/components/mqtt/binary_sensor.py:150:0: C0330: Wrong continued indentation (remove 2 spaces).
                                self._config.get(CONF_STATE_TOPIC))
                              | ^ (bad-continuation)

The description does not match the code, this always reduces the log level to info regardless if value_template is defined.
I don't think that we should merge this. It's a warning if no appropriate value is received on a state topic.

The description does not match the code, this always reduces the log level to info regardless if value_template is defined.
I don't think that we should merge this. It's a warning if no appropriate value is received on a state topic.

This is why the first commit was to add the option to disable warnings so you could stop the mass of warnings when using a setup like the above example

The question is, why do we generate warnings that we don't want to see? If a value template is not extracting a valid value, that is worth a warning?

Also, are you running latest dev branch? As system log collapses duplicate entries.


RFE: Mouse wheel only reporting

Usecase
Hi!
I'm writing a pager.
In my pager I want:

the mouse scroll wheel to work
people to be able to copy text just like in any terminal, by marking it and copying

Problem
If I don't EnableMouse(), then 2 works but not 1; copying but no mouse wheel.
If I do EnableMouse(), then 1 works but not 2; mouse wheel but no copying.
Analysis
Looking at the MouseMode init string...
MouseMode:    "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",

... what gets enabled seems to be (reference):
1000: "Enables normal mouse tracking. Send mouse X & Y on button press and release."
1002: "Enables button-event mouse tracking. Essentially same as normal mouse tracking mode, but also reports button-motion event."
1003: "Enables any-event mouse tracking. Same as button-event mode, except that all motion events are reported, even if no mouse button is down."
1006: "Enables xterm (SGR) style extended mouse reporting format."
Request
less is using 1000 and 1006 (I just checked, it's in screen.c:1221, search for sc_s_mousecap), and it works in less, so if I could get that that would likely solve my problem.
I'm guessing that 1002 and / or 1003 is what breaks copying.

I think your analysis is likely correct.  I hadn't considered the terminal copy/paste interference -- when I originally wrote this.  I was assuming that applications that wanted to take over the mouse would want to take it all the way over.  The nuances here were lost on me at the time.
To add support for this we would need to add a new extended API with different mouse modes I guess.  I need to think about what the best way to expose this to applications is.  Suggestions are welcome.

I think your analysis is likely correct.  I hadn't considered the terminal copy/paste interference -- when I originally wrote this.  I was assuming that applications that wanted to take over the mouse would want to take it all the way over.  The nuances here were lost on me at the time.
To add support for this we would need to add a new extended API with different mouse modes I guess.  I need to think about what the best way to expose this to applications is.  Suggestions are welcome.

I have half an API suggestion:
EnableMouseWithAtLeast(/* ... */)

Then, EnableMouse() would just become an alias for EnableMouseWithAtLeast(/* Everything */).
Possible parameters should be (for starters) WHEEL_EVENTS and ALL_EVENTS.
How exactly to pass these I don't know. If this was C I'd #define some constants and have people | them together. Don't know what the Go way would be, but the C way would work for me at least. Potential candidates:

The C way
Having EnableMouseWithAtLeast() being variadic, accepting one (zero?) or more enum values?
Extending EnableMouse() to be variadic, accepting zero or more enum values, with no values meaning "Everything"?

The rationale for WithAtLeast rather than WithOptions is that I don't know how flexible all platforms supported by Tcell are in choosing exactly what events are delivered.
WithAtLeast intends to signal:

You will get the events you ask for
You might also get other events that you did not ask for, so you need to be prepared to filter unwanted events out

I have half an API suggestion:
EnableMouseWithAtLeast(/* ... */)

Then, EnableMouse() would just become an alias for EnableMouseWithAtLeast(/* Everything */).
Possible parameters should be (for starters) WHEEL_EVENTS and ALL_EVENTS.
How exactly to pass these I don't know. If this was C I'd #define some constants and have people | them together. Don't know what the Go way would be, but the C way would work for me at least. Potential candidates:

The C way
Having EnableMouseWithAtLeast() being variadic, accepting one (zero?) or more enum values?
Extending EnableMouse() to be variadic, accepting zero or more enum values, with no values meaning "Everything"?

The rationale for WithAtLeast rather than WithOptions is that I don't know how flexible all platforms supported by Tcell are in choosing exactly what events are delivered.
WithAtLeast intends to signal:

You will get the events you ask for
You might also get other events that you did not ask for, so you need to be prepared to filter unwanted events out

I think I like the idea of making EnableMouse be variadic.  And yeah, not all platforms are going to give as much flexibility here.
Your parameters are not quite correct though -- because while you want WHEEL events, you also probably want (and get at least) click events.  What you might or might not want are click drag events (for copy operations) as well as a realtime mouse tracking (when the no mouse button is pressed).
Probably the options then become:
TrackingOff
TrackingDrag
TrackingOn
Or something.....

I think I like the idea of making EnableMouse be variadic.  And yeah, not all platforms are going to give as much flexibility here.
Your parameters are not quite correct though -- because while you want WHEEL events, you also probably want (and get at least) click events.  What you might or might not want are click drag events (for copy operations) as well as a realtime mouse tracking (when the no mouse button is pressed).
Probably the options then become:
TrackingOff
TrackingDrag
TrackingOn
Or something.....

Personally, just wheel events without any clicks would make me a happy camper.
If I get clicks I can ignore them, but I don't want them.

Personally, just wheel events without any clicks would make me a happy camper.
If I get clicks I can ignore them, but I don't want them.

The issue is that I don't know anyway to distinguish those in any of the underlying APIs.  (Other than by filtering them at the application level.)

The issue is that I don't know anyway to distinguish those in any of the underlying APIs.  (Other than by filtering them at the application level.)

As long as I get wheel events, and working terminal copy both at the same time I'm not too worried about the exact API to get me there, so don't worry too much about any nitpicking from my part :)

As long as I get wheel events, and working terminal copy both at the same time I'm not too worried about the exact API to get me there, so don't worry too much about any nitpicking from my part :)

Proposed solution is here: https://github.com/gdamore/tcell/pull/427

Proposed solution is here: https://github.com/gdamore/tcell/pull/427

Turns out there was more to this: https://github.com/walles/moar/issues/53#issuecomment-827736292
I'm not using tcell any more, but if somebody else is interested in this then ^ would be relevant for tcell as well.

I'm not sure why you moved off of tcell, but ok.
But you can see that I did add this.  Ultimately, interacting with terminal applications is a pain, and terminals have mixed levels of support for interacting with things normally reserved for a full GUI (such as mouse events).
At some point you just realize you really need to write a full up GUI application if you want precise control over all this.
Our approach in tcell is to try to provide a reasonably complete, but not necessarily perfect for every situation, framework that can be used to create reasonable TUIs.  The main point here being -- there are some definite limits in what constitutes a "reasonable TUI".

I know you added it on my request and I'm thankful for it.
However, my premise for requesting it, namely that it worked in less that way, simply turned out to be wrong, sorry for leading you astray :(. Details in https://github.com/walles/moar/issues/53#issuecomment-827736292.
As for dropping tcell, I wanted to upgrade because of some fix you had made, but then piping into my app's stdin didn't work any more. So instead I wrote my own with a similar API. Pros and cons of course, but that's what I ended up doing, and for me I think it was the right choice.


Prevent more page from being loaded

After 10 pages are loaded, I want to stop loading any further pages.
I can't figure out how I can disable infinite scroll.
If I use a custom getPath function that would work by returning null, but I want to use the default ".pagination__next".
Any way I can define a maximum pages to load before stopping?

You can use the similar behavior to Scroll 2 pages, then load with button
var $container = $('.container').infiniteScroll({
  // options...
});

// get Infinite Scroll instance
var infScroll = $container.data('infiniteScroll');

$container.on( 'load.infiniteScroll', onPageLoad );

function onPageLoad() {
  if ( infScroll.loadCount == 10 ) {
    // after 2nd page loaded
    // disable loading on scroll
    $container.infiniteScroll( 'option', {
      loadOnScroll: false,
    });
    // remove event listener
    $container.off( 'load.infiniteScroll', onPageLoad );
  }
}

You could also completely disable Infinite Scroll with the destroy method instead of setting loadOnScroll option

Great, thanks!

hey, found that you could also stop loading next page with
$container.data('infiniteScroll').canLoad = false;
this should be mentioned in the docs i suppose


Make the PubgrubError type public again

The PubgrubError type had become internal at some point since 5.3.  This breaks clients that has special handling of PubgrubError.  This makes them public again.
Motivation:
Some clients of libSwiftPM specialize on PubgrubError to provide more customized errors.
Changes:
This changes the PubgrubError type to public, and changes one of the enum cases to contain the list of incompatibilities rather than to contain the state.  This allows the state to remain private, while still allowing clients to access the list of incompatibilities (thanks to @tomerd for that suggested improvement).

@swift-ci please smoke test

@swift-ci please smoke test

Since this has been approved, I'm merging.

Since this has been approved, I'm merging.


How to report FLOPS, Runtime and Model Size(model paramters) of the Model

Is there any method in the test or evaluation phase to measure the FLOPS, Runtime, and Model size or No of Parameters for the Model?

You can follow some repos such as pytorch-op-count or pycls to count them.

The repos that you mentioned don't work. Can you give me a complete hint to solve this problem please?


Grow block count to configured value when LFS_M_GROW mount flag is set

See #279

Test
    err = lfs_mount(&lfs, &cfg);
    lfs_unmount(&lfs);

    // fail without flag
    cfg.block_count += 1;
    err = lfs_mount(&lfs, &cfg);
    assert(err);

    // success with flag
    cfg.flags |= LFS_M_GROW;
    err = lfs_mount(&lfs, &cfg);
    assert(err == LFS_ERR_OK);
    lfs_unmount(&lfs);

    // cannot shrink
    cfg.flags = 0;
    cfg.block_count -= 1;
    err = lfs_mount(&lfs, &cfg);
    assert(err);

    // cannot shrink with flag either
    cfg.flags |= LFS_M_GROW;
    err = lfs_mount(&lfs, &cfg);
    assert(err);

Hi @kaetemi, thanks for the PR. This is a great implementation, but unfortunately I'm against the resizing behavior being implicit. I've added a comment with more info to the related issue https://github.com/littlefs-project/littlefs/issues/279.
I can modify this to be in a separate lfs_fs_grow function if you don't beat me to it.
I'm also hoping to address https://github.com/littlefs-project/littlefs/issues/349 in the next minor release, which means lfs_mount will probably have quite a few changes.

I've gone ahead and added lfs_fs_grow to #753, thanks for the original PR. I believe #753 replaces this now, but let me know if I'm missing anything.

Closing as this has been merged into https://github.com/littlefs-project/littlefs/pull/872 and should be mainlined shortly as a part of https://github.com/littlefs-project/littlefs/pull/877.
Feel free to reopen if you think I missed anything and thanks again for the PR!


FollowMany Bad signature exception

Hi
Calling followMany method like described in documentation gives me
Invoking url: 'https://eu-west-api.getstream.io/api/v1.0/follow_many/?activity_copy_limit=300
AuthenticationFailedException{statusCode=403, code=0, exception=AuthenticationFailed, detail=Bad signature}

and that's weird cause other API calls just work (follow single feed, add activity etc) and key/secret provided for StreamClient are correct.

thanks for reporting, we'll look into this

@iandouglas @sirio7g can you have a look at this?

@slvrtrn I tried but I couldn't reproduce the error. Which version of the java-client are you using? and which implementation between okhttp and apache?

@sirio7g thanks for your attention!
First of all, I'm using last available version 1.2.1 with apache implementation.
I've just tried it one more time and the error is still the same.
Let me explain my use case with more details.
My project is written in Scala, so I could use community Scala library, but it seems to be a little bit outdated and there is lack of necessary functions like this followMany.
So I decided to write first version of an intergration using Java implementation wrapped in Scala futures.
Let me provide some simplified pieces of code.
My method for followMany looks like
override def followMany(follows: FollowData*): Future[Unit] = {
  val followMany = new FollowMany.Builder().addMany(follows.map(f => new Entry(f.follower, f.toFollow)))
  Future(dummyFeed.followMany(followMany.build()))
}

dummyFeed is self-explained, btw I am not sure why followMany belongs to Feed and not to StreamClient like in other libraries like Ruby's one for example.
And FollowData basically contains two strings - one for follower feed and one for feed to follow.
It seems like there is something wrong with Application Authentication in my case while Feed Authentication works fine.

@slvrtrn thanks for the explanation.
FollowMany has a different implementation from other methods, as you have seen, the authentication is handle differently.
In order to better understand what's going on, I'd like to ask you to set the Apache logs to DEBUG mode, in this way we will be able to see the entire HTTP request. Please add the following param to the JVM:
-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog  /
-Dorg.apache.commons.logging.simplelog.showdatetime=true  /
-Dorg.apache.commons.logging.simplelog.log.org.apache.http=DEBUG

By design the java client uses the Feed class as mediator to interact with the Stream's feeds. StreamClient acts like a Feed factory, instead. FollowMany was added recently and, for sake of consistency with the existing design, we added it to the Feed class. I hope it gives you a better insight of the behind reasoning.

Debug ouput contains some private information.
Where should I send it ?

Thanks, please send it here<EMAIL_ADDRESS>

@sirio7g is this issue okay to close since there's been no activity on it in a long time?


Add command for our Radar issue table

@carolynshin, this is the code we've talked about.

Meh. I broke it, a bit.


Add the user specified input type in the converter api

Can we have a unit test for this change?

Can we have a unit test for this change?

Yes, working on it.


Results are not the same for parallel code and Serial code

Hi All,
I have modified the ex10 and ex10p code for solving the problem of the bilayer beam bending with 2 different Neo-Hookean materials. And one of the material is with the time dependent expansion coefficient. However, I have met the problem that the results of the parallel code and the serial code are not the same. Could anyone help me solve this problem? The attached files are the modified cpp codes and the input file.
ex10_expansion_subdomain.cpp.txt
ex10p_expansion_subdomain.cpp.txt
multi-layer-beam.msh.txt

Hi @diliu1994, could you provide as well the command lines you are working with for us to reproduce the issue?
Thank you.

Hi @camierjs
Thanks for reminding me. The command line for the serial code is:
./ex10_expansion_subdomain -m ../data/multi-layer-beam.msh -s 2 -r 1 -o 2 -tf 200 -dt 0.5
The command line for the parallel code is:
mpirun -np 16 ./ex10p_expansion_subdomain -m ../data/multi-layer-beam.msh -s 2 -rs 1 -tf 200 -dt 0.5
Best regards,
Di

Hi @psocratis ,
I am working with @diliu1994 on this example. I tried simulation on SDSC Comet cluster and found the results are different from my Mac. Basically, the errors from the first iteration are very small (1e-9), which gives almost 0 displacements at the end. This is not correct. However, I can get the right answer on my Mac computer. This may be due to the compiler, and I think gcc is used on Comet but can check this more carefully. I feel the code on Comet does not read the material properties correctly.
Another thing is that I just check the ex2p code on Comet and the result is the same as the benchmark shown on the website. So the definition of the two material properties should be ok. I also did a modification to the ex10p a few weeks before to include expansion for a single material and the code works well on Comet. Therefore, I feel the error may be due to the way of passing PWConstCoefficient vector to the HyperelasticOperator
"Vector g(mesh->attributes.Max()); // Initial expansion vector
g = 1.0;
PWConstCoefficient g_func(g);
HyperelasticOperator oper(fespace, ess_bdr, visc, mu_func, K_func, g_func);"
Will different settings are required for gcc and clang?
Thanks,
Teng

Hello,
For this example, we would like to assign a time dependent expansion (a linear function of time). So we update the g function value and redefine HyperelasticOperator in the loop of each time increment.
"for (int ti = 1; !last_step; ti++)
{
double dt_real = min(dt, t_final - t);
// update the expansion with time
g(0) = 1.0 + 0.002*t;
HyperelasticOperator oper(fespace, ess_bdr, visc, mu_func, K_func, g_func);
"
Is this a possible reason for not seeing material parameters updated?
Our goal is to dynamically update the expansion. Is this the right way to do?
Also, I just checked the code on my Mac and found it only works when I wrote
g(2) = 1.0 + 0.002*t;
If I put 0 or 1 there, I will not see the update of the parameters. But we only have two attributes.
Thanks,
Teng

Hello,
I commented the command in the for loop of the time integration and assign a different g value for the two materials at the beginning. Please see the modified code.
And I can see the beam bending deformation (attached image). Therefore, the question should be how can be assign a time-dependent material properties to an ode operator?
Best,
Teng

ex10p_expansion_subdomain_1.cpp.txt

Hi @tengzhang48 and @diliu1994 ,
The way it is done now will not do the work... you are creating a new operator inside the loop but the operator of the ODE solver is not updated. Since the only thing you need is updating the g_func with respect to time you can add
g_func.UpdateConstants(g); right after setting them inside the loop. This should look like this:
for (int ti = 1; !last_step; ti++)
   {
      double dt_real = min(dt, t_final - t);
      // update the expansion with time
      g(0) = 1.0 + 0.002*t;
      g_func.UpdateConstants(g);

      ode_solver->Step(vx, t, dt_real);

      last_step = (t >= t_final - 1e-8*dt);

      if (last_step || (ti % vis_steps) == 0)
      {
         v_gf.SetFromTrueVector(); x_gf.SetFromTrueVector();

         double ee = oper.ElasticEnergy(x_gf);
         double ke = oper.KineticEnergy(v_gf);

         .......

Can you try this and let us know if it worked? I tried it on my mac and I see the updates.
I presume this issue is no longer parallel vs serial run inconsistency right?
Thanks,
Socratis

Hi @psocratis
I think now it works and I have got the result for at t = 200

And this issue is no longer about parallel vs serial run. It is just how to make a time dependent expansion coefficient.
Thanks,
Di

Hi @diliu1994 ,
That's great! I'm glad it works. I closing this issue now. Feel free to reopen it if anything else comes up.
Socratis


Fix version stated in poetry

Overview: What does this pull request change?
Fixes #1875.

Motivation and Explanation: Why and how do your changes improve the library?

Links to added or changed documentation pages

Further Information and Comments

Reviewer Checklist

[ ] The PR title is descriptive enough for the changelog, and the PR is labeled correctly
[ ] If applicable: newly added non-private functions and classes have a docstring including a short summary and a PARAMETERS section
[ ] If applicable: newly added functions and classes are tested

Worked for me


Draw the status bar's background in different colors (eg red, yellow) if the program has errors/warnings

Hi! I've just started using VS Code this week. I've done several searches for this feature or a similar feature request and haven't found anything, please let me know if I've missed something.
I think that it should be possible for themes to affect the status bar's background color if the program has an error or warning. https://code.visualstudio.com/api/references/theme-color#status-bar-colors has a list of properties that can be used to affect the status bar's color, but as far as I can tell, none of these properties allow me to accomplish this.
If the program in the current editor window has an error, I want my theme to be able to color the status bar red. If the program has a warning, I want my theme to be able to color the status bar yellow. If there are both, I think that the error state should take priority, and so the status bar should use my red background color.
Does something like this exist and I've just missed it?
Thank you! :)

Idea: You could look into the setting workbench.colorCustomizations that allows you to override theme colors.
Via our extension API you could built an extension that detects the error, and set the setting on a temp basis.
Try setting in your settings.json:
    "workbench.colorCustomizations": {
        "statusBar.background":"#ff0000"
    }

how can I change that setting in typescript?

FWIW one can change a setting in this plugin to change the statusbar colors:
https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.awooga#review-details
It changes the window background color by default (:joy:)


Some multi-GPU unit tests hang when running in a different Docker environment

https://github.com/dmlc/xgboost/pull/5873#issuecomment-666696157
Log from 4-process setup:
pid = 21916, Device = 0
pid = 21919, Device = 0
pid = 21921, Device = 0
pid = 21924, Device = 0

~even though here we should have been using 4 GPUs.~ See https://github.com/dmlc/xgboost/issues/5963#issuecomment-666721876.
The undefined behavior exists in following tests:

tests/python-gpu/test_gpu_with_dask.py::TestDistributedGPU::test_dask_array
tests/distributed/runtests-gpu.sh

The behavior is "undefined" in the sense that using a different Docker container causes the tests to fail, even though they were succeeding previously.
  Dask assign GPU by setting CUDA VISIBLE DEVICE, so inside XGBoost we are always using first visible device, which is 0

@trivialfis I used cudaGetDevice(). See https://github.com/dmlc/xgboost/pull/5873#issuecomment-666696157.

Dask assign GPU by setting CUDA VISIBLE DEVICE, so inside XGBoost we are always using first visible device, which is 0

Thanks. That's good to know. I have no idea as to why test_dask_array should hang.

So, https://github.com/dmlc/xgboost/pull/5873#issuecomment-666762391can we close this issue?

@trivialfis No, this issue is present in the master branch.
Command:
CI_DOCKER_EXTRA_PARAMS_INIT='-e NCCL_DEBUG=INFO -e DMLC_WORKER_STOP_PROCESS_ON_ERROR=false' \
   tests/ci_build/ci_build.sh gpu nvidia-docker -it --build-arg CUDA_VERSION=10.2 \
   tests/ci_build/test_python.sh mgpu

Error log:
7635c25c81cd:41590:41835 [0] NCCL INFO Channel 00 : 3[1c0] -> 2[1b0] via direct shared memory
7635c25c81cd:41588:41837 [0] include/shm.h:28 NCCL WARN Call to posix_fallocate failed : No space left on device
7635c25c81cd:41588:41837 [0] NCCL INFO include/shm.h:41 -> 2
7635c25c81cd:41588:41837 [0] include/shm.h:48 NCCL WARN Error while creating shared memory segment nccl-shm-recv-6c6b02bad5bfc129-0-1-0 (size 9637888)
7635c25c81cd:41585:41836 [0] include/shm.h:28 NCCL WARN Call to posix_fallocate failed : No space left on device
7635c25c81cd:41585:41836 [0] NCCL INFO include/shm.h:41 -> 2
7635c25c81cd:41585:41836 [0] include/shm.h:48 NCCL WARN Error while creating shared memory segment nccl-shm-recv-bade85d1d321b26-0-3-2 (size 9637888)
The posix_allocate() function is failing because there isn't enough space in the scratch space /dev/shm. See https://github.com/NVIDIA/nccl/issues/290.
By default, Docker allocates only 64 MB for /dev/shm. Increase it to 2GB, and the test now passes. Use this command:
CI_DOCKER_EXTRA_PARAMS_INIT='--shm-size=2g'  tests/ci_build/ci_build.sh gpu nvidia-docker -it \
  --build-arg CUDA_VERSION=10.2   tests/ci_build/test_python.sh mgpu


CASMTRIAGE-6225 copy Ceph files from another node when upgrading storage node if untar fails

Description
Problem
When upgrading storage nodes, the Ceph files in '/etc/ceph' are backed up to a tar file and then restored after the node is upgraded. However, we hit a situation where the tar file failed to untar so the Ceph files were missing. The tar file was corrupt and was not able to restore when done manually. This untar command fails silently (exits with 0) which caused the workflow to continue. This lead to haproxy not working on the storage node which caused the rgw-vip to be down which caused another storage node to fail to boot.
Fix
This PR will try to untar the backup tar file twice on the rebuilt node. If after both attempts the files in /etc/ceph are not present, then these files will be copied from another storage node.
Tested on Beau.

Checklist

[x] If I added any command snippets, the steps they belong to follow the prompt conventions (see example).
[x] If I added a new directory, I also updated .github/CODEOWNERS with the corresponding team in Cray-HPE.
[x] My commits or Pull-Request Title contain my JIRA information, or I do not have a JIRA.

/backport release/1.5


Having Generated Sources in Xcode Project

The attribute source_files is removed from the pod spec file in [this commit] (https://github.com/j2objc-contrib/j2objc-gradle/commit/3ba8cf5658702f8d12a1b81653e3c93d494cacb9). But I think it's useful sometimes (for debugging and doing on-the-fly fixes) to have the generated code inside Xcode project (instead of the static library).
Could you explain the reasoning behind removing it please?
And, it would be good if I have the decision to include the source code or the static library (via an option maybe).

The source_files attribute causes the files to be compiled again.  However, the output of j2objc is the compiled libraries themselves.  We do this to ensure that the library you run unit-tests against is identical to the library you link your iOS project to (to avoid any differences in a different Xcode build configuration vs. the clang command we run) and to allow multiple j2objc projects to be linked to each other directly from Gradle.
Providing the option to build in Pods in addition to Gradle is substantial work; I think we need to see some more user demand for it.

At the moment, we need to focus on correctness and ease of use. Over time,
we might support more but we're limited in our contributions. There is a
substantial complexity in trying to provide two different paths for builds,
the complexity of automated testing further makes it difficult to do this
well.
On Tue, Sep 22, 2015 at 11:29 AM Advay Mengle<EMAIL_ADDRESS>wrote:

The source_files attribute causes the files to be compiled again.
However, the output of j2objc is the compiled libraries themselves. We do
this to ensure that the library you run unit-tests against is identical to
the library you link your iOS project to (to avoid any differences in a
different Xcode build configuration vs. the clang command we run) and to
allow multiple j2objc projects to be linked to each other directly from
Gradle.
Providing the option to build in Pods in addition to Gradle is substantial
work; I think we need to see some more user demand for it.
—
Reply to this email directly or view it on GitHub
https://github.com/j2objc-contrib/j2objc-gradle/issues/459#issuecomment-142373475
.

agreed @brunobowden , iceboxing for now.

FYI, I added only the .h files to the source_files so I could at least see the headers in XCode without triggering a new compilation on the XCode side :
  spec.source_files = 'j2objcOutputs/src/main/objc/**/*.h'

It works and I have the feeling that it has fixed the issues I had with code completion since I moved to the use_frameworks! flag in cocoapods.
I can make a PR if you want me too


Call x_node_right_cell method to get correct active node id

Call x_node_right_cell method to get correct active node id back based upon whether VMs are hidden from explorer tree or not, need an id of selected VM to reset @record when user selects a snapshot in snapshot tree.
https://bugzilla.redhat.com/show_bug.cgi?id=1393318
@dclarizio please review.

Euwe BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1396526

Euwe Backport details:
$ git log -1
commit 565c135210f63ba91f4ec44f71bd038c90e6f470
Author: Dan Clarizio<EMAIL_ADDRESS>Date:   Thu Nov 17 14:29:33 2016 -0800

    Merge pull request #12700 from h-kataria/snapshot_toolbar_fix

    Call x_node_right_cell method to get correct active node id
    (cherry picked from commit d99e3716211e6c7c607a48afee03251e7aa2620e)

    https://bugzilla.redhat.com/show_bug.cgi?id=1396526