feat(platform-server): add Manjaro linux deployment capability

Add Manjaro linux (Archlinux) deployment. PiVPN
currently does not support installation on Manjaro. This feature has been tested on Manjaro running
on x86_64/amd64 machine.
Footer.

Thank you for submitting your pull request and the work you have done on it. Unfortunately, I cannot accept it for a few reasons. You could have asked here or searched the repository to find that this topic has been covered before.

Arch Linux is a great distribution and has been my main operating system for over 10 years. However, Manjaro/Arch is not a distribution meant for servers. While users can choose to run their servers on any distribution they prefer, it is up to me to decide which distributions I want to support on pivpn. Supporting a new distribution, especially Arch, requires a lot of extra work that we cannot commit to. We would need pipelines to keep testing it and make sure nothing is broken. It would require constant support and testing as Arch packages change often and often introduce breaking changes that require tweaking. I would rather see this effort applied to proper Docker support.
Relying on AUR for packages is not something we can do for projects such as pivpn. While AUR is amazing, it is not a source we can rely on. It is not uncommon to have breaking changes there.

Once again, I appreciate the time and effort you put into this, but it does not align with the project goals.

No problem. Thanks for letting me know.
Regards
Hammad Rauf
On Fri., Feb. 24, 2023, 3:29 p.m. 4s3ti, @.***> wrote:

Thank you for submitting your pull request and the work you have done on
it. Unfortunately, I cannot accept it for a few reasons. You could have
asked here or searched the repository to find that this topic has been
covered before.

Arch Linux is a great distribution and has been my main operating
system for over 10 years. However, Manjaro/Arch is not a distribution meant
for servers. While users can choose to run their servers on any
distribution they prefer, it is up to me to decide which distributions I
want to support on pivpn. Supporting a new distribution, especially Arch,
requires a lot of extra work that we cannot commit to. We would need
pipelines to keep testing it and make sure nothing is broken. It would
require constant support and testing as Arch packages change often and
often introduce breaking changes that require tweaking. I would rather see
this effort applied to proper Docker support.
Relying on AUR for packages is not something we can do for projects
such as pivpn. While AUR is amazing, it is not a source we can rely on. It
is not uncommon to have breaking changes there.

Once again, I appreciate the time and effort you put into this, but it
does not align with the project goals.
—
Reply to this email directly, view it on GitHub
https://github.com/pivpn/pivpn/pull/1696#issuecomment-1444426042, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQT7MKLG2X2OY6LDZGCEQLWZEK3PANCNFSM6AAAAAAVHEVR6Q
.
You are receiving this because you authored the thread.Message ID:
@.***>


Cannot run after buiding in electron

Summary of Problem

What are you trying to do?
I'm using serialport in electron, which works well in developer mode (npm run electron:serve) after electron-rebuild.

What happens?
When I run npm run electron:build, it builds well，but it cant run(Without any errors,  just can't open .exe).

What should have happened?
It should run well just like in dev mode.

I've pinpointed that this problem is caused by serialport, and everything was fine when I stopped using it in my project.
In fact, I built my project in the same way about a month ago, and it worked well, but recently I added something new to my project and tried to recompile it, and then found out about the problem.
Code to Reproduce the Issue
// serialport.js
const SerialPort = require('serialport');
const port = new SerialPort('COM3', {
    baudRate: 57600
});

//vue.config.js
module.exports = {
    pluginOptions: {
        electronBuilder: {
            builderOptions: {
                nsis: {
                    oneClick: false,
                    allowElevation: true,
                    allowToChangeInstallationDirectory: true,
                    createDesktopShortcut: true,
                    createStartMenuShortcut: true,
                }
            },
            externals: ['serialport']
        }
    }
};

Versions, Operating System and Hardware

<EMAIL_ADDRESS>Node.js v14.15.1
Electron v9.4.0
vue-cli-plugin-electron-builder ~2.0.0-rc.5
Windows10
I7-9700F

Hi, it looks like I've found the problem, serialport doesn't have any problems, it's on electron-builder.
When I finish electron-rebuild, electron-builder rebuilds the serialport again(npm rebuild) when I execute npm run electron:build.
so I added:
npmRebuild: false

Everything's fine.
Next I should go to electron-builder to see some information.

Hi, it looks like I've found the problem, serialport doesn't have any problems, it's on electron-builder.
When I finish electron-rebuild, electron-builder rebuilds the serialport again(npm rebuild) when I execute npm run electron:build.
so I added:
npmRebuild: false

Everything's fine.
Next I should go to electron-builder to see some information.

@ArcherGu  thinks

@ArcherGu  thinks


ZFS Support

K3c does not honor the default plugin config in  /etc/containerd/config.toml.

Edit: Since writing this I've realized the default containerd config is not used. It would be great have an option to pass a snapshotter config so k3s can run on zfs

k3c daemon
INFO[2020-01-30T21:34:20.769021975-05:00] Start cri plugin with config {PluginConfig:{ContainerdConfig:{Snapshotter:overlayfs [...]

/etc/containerd/config.toml
 [...]
    [plugins."io.containerd.grpc.v1.cri".containerd]
      snapshotter = "zfs"
      default_runtime_name = "runc"
      no_pivot = false
 [...]

Thanks for the response @dweomer . I realized after writing this issue that the default containerd config was not being used. I was unable to find exactly how to pass an alternative snapshotter plugin by reading the code (or if it was even possible).
 I was able to play around a little bit by running in a VM, but it would be nice to run this on my host system.

the k3c active agent is no longer masquerading as a containerd installation, making this issue very moot

the k3c active agent is no longer masquerading as a containerd installation, making this issue very moot


DDC Docs Does not point to the latest version of UCP 2.1 and DTR 2.2

Problem description
https://docs.docker.com/docker-trusted-registry/
https://docs.docker.com/ucp/overview/
Does NOT point to the latest version of UCP 2.1 and DTR 2.2
Problem location

I saw a problem on the following URL:
https://docs.docker.com/docker-trusted-registry/
https://docs.docker.com/ucp/overview/

Project version(s) affected
Current version of docs.docker.com
Suggestions for a fix
UCP should point to https://docs.docker.com/datacenter/ucp/2.0/guides/
DTR should point to https://docs.docker.com/datacenter/dtr/2.1/guides/

Fixed manuals.md in 3d0a1d7544150ef3d8d5d68ec0e973ee7f76de4f
Unfortunately, those URLs are for legacy Datacenter installations. I agree it would be nice if those URLs were always kept up to date with the latest, but that's not where we are.


Add Marc to SCS members and to SCS project org.

lgtm However, I would have actually given him the admin role. But that can still happen later.

I also expect that to happen sooner or later.


[1.12.2] Recipes with more then 1 of an item stack in the 1 slot

Issue description:
When shift clicking a recipe from JEI into the crafting grid, if the recipe has 2 of the 1 item or more, instead of placing the item into the individual slots, it stacks them
Steps to reproduce:
In this instance i crafter mekanism speed//power upgrades and when shift clicked from the Crafting grid the Glass & Alloy stack
Version (make sure you are on the latest version before reporting):

Minecraft: 1.12.2
Forge: *.2653
Refined Storage: 1.5.32

Does this issue occur on a server? [yes/no] Yes

I can't reproduce this in 1.6.


39 update the quiz state

Closes #39

Update the database table and add more queries for reading specific columns
Add option to select categories and/or select the number of questions

:ballot_box_with_check: Definition of Done checklist

[x] Meaningful title and valuable description in pull request
[x] Code change tested manually if not covered by automated tests
[x] Pull request linked to one or more issues/stories
[x] Acceptance criteria of the linked stories satisfied
[ ] Code change comprehended by those who approved it
[x] State of target branch maintained or improved after the code change

For commit 11e0bd4 titled  Remove unnecessary TODO comments, the actual commit # should be #39. A simple typo 😄


Event details flickering

The event details reload every few seconds, causing the entire UI to flicker.
Tested in Firefox.
https://github.com/opencast/opencast-admin-interface/assets/1008395/63cb920a-d59e-4125-b593-5b565b8e9d68

Does not seem to occur anymore on the main branch, so I'll close this for now.


can't use bestTeb() to access poses of computed local path

Hi all,
I would like to add a feature to the planner: publishing only the local path, without any velocity commands. That will be done by an external node.
However, when I write
TebOptimalPlannerPtr selected_teb = planner_->bestTeb();

I got the error
error: ‘class teb_local_planner::PlannerInterface’ has no member named ‘bestTeb’
   TebOptimalPlannerPtr selected_teb = planner_->bestTeb();

which I know is false as it's clearly defined in homotopy_class_planner.h (l.208)
Any idea why?
Thank you very much for your help

Okay, it seems that there's a lot of things to do to add a new function to a local planner..
I'm adding declarations here and there but I think I'm just messing things up
Can one of you guys guide me through the required steps to add a new function to the local planner?
Thank you very much

Hi!
I suggest to first investigate the complete code of the package.
The actual planner is defined in optimal_planner.cpp and it inherits from the abstract PlannerInterface class.
The HomotopyClassPlanner is just an extension that maintains multiple planners.
If you set parameter enable_homotopy_class_planning to true, the local planner plugin instantiates a HomotopyClassPlanner. Otherwise, TebOptimalPlanner is instantiated directly.
If you want to access your method at the plugin level, you might also extend the PlannerInterface.
However, the local plan is already being published by the navigation stack?
Cheers,
Christoph

Hi Christoph,
Thank you for answering me
It's true that the local plan is already published, as a feedback/visualization tool.
My idea was to create a new function that will only compute the path and not the velocity commands, as they are jumpy and not really precise.
However, after some clocking, it seems that the path computing -- which is a recursive process -- takes  nearly 90% of the time. So getting rid of the lasting 10% doesn't appear that necessary now.
Maybe I'll come back to it when I'll have some more free time, work is crazy right now
Cheers
Guillaume


keep track of attrs of plugin containers

Codecov Report

Merging #922 into master will increase coverage by 1.31%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #922      +/-   ##
==========================================
+ Coverage   76.92%   78.23%   +1.31%
==========================================
  Files          52       52
  Lines        5555     5556       +1
==========================================
+ Hits         4273     4347      +74
+ Misses       1282     1209      -73

Impacted Files
Coverage Δ

vent/core/rq_worker/watch.py
46.04% <0%> (-0.17%)
:arrow_down:

vent/api/menu_helpers.py
93.11% <0%> (+0.4%)
:arrow_up:

vent/api/plugins.py
82.51% <0%> (+0.72%)
:arrow_up:

vent/menus/main.py
79.21% <0%> (+1.31%)
:arrow_up:

vent/api/actions.py
78.29% <0%> (+1.89%)
:arrow_up:

vent/core/network_tap/ncontrol/rest/nlist.py
100% <0%> (+33.33%)
:arrow_up:

vent/menus/ntap.py
57.6% <0%> (+33.6%)
: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 c756d4d...95ce61b. Read the comment docs.


mlserver-* ROCKs cannot be build

Description
ROCKs in Seldon IO ROCK repository cannot be re-built. When ROCKs were initially created, they were building without issues. Here is the log from Jul 17, 2023 with successful build of mlserver-sklearn ROCK.
As of Sep 4, 2023, without any changes to rockcraft.yaml file and Github repository the same mlserver-sklearn ROCK fails to build. When building manually the following error is obseved (no changes to source code and rockcraft.yaml):
sed: can't read opt/mlserver/.local/bin/mlserver: No such file or directory
'override-stage' in part 'mlserver-sklearn' failed with code 2.

The problem occurs on the following line of rockcraft.yaml:
https://github.com/canonical/seldonio-rocks/blob/main/mlserver-sklearn/rockcraft.yaml#L90
It looks like that opt/mlserver/.local/bin/ directory does not exist.
Possible causes for this are:

Change in the way installation is done through PIP/Conda that was introduced.
Updated pip that was introduced with updated version of Ubuntu 22.04 (is this possible?)
Upgrade of pip on this line which corresponds to this line in original Dockerfile. It looks like upgraded pip installs packages differently than original when --prefix option is given.

The above causes require more investigration.
Solution
No solution proposed at this time. More investigation into root cause is needed.
Possible approaches:

Consider use 20.04 base to avoid conflicts between Python 3.10 and 3.8
Use pip from Conda installation.
Do not upgrade pip (this will cause ROCK to be out of sync with upstream Dockerfile)

Do you know the version of pip on the log?

Debugging.
Experimentation involved two Ubuntu VMs.
On Ubuntu 22.04:
$ mkdir test
$ ls -la test
drwxrwxr-x 2 4096 Sep  6 14:09 .
drwxrwxr-x 9 4096 Sep  6 14:09 ..
$ pip --version
pip 22.3.1
$ pip install --prefix ./test/ ./chardet-3.0.4-py2.py3-none-any.whl
Processing ./chardet-3.0.4-py2.py3-none-any.whl
Installing collected packages: chardet
Successfully installed chardet-3.0.4
$ ls -la test/
drwxrwxr-x 3 4096 Sep  6 14:10 .
drwxrwxr-x 9 4096 Sep  6 14:09 ..
drwxrwxr-x 4 4096 Sep  6 14:10 local
$ ls -la test/local/
drwxrwxr-x 4 4096 Sep  6 14:10 .
drwxrwxr-x 3 4096 Sep  6 14:10 ..
drwxrwxr-x 2 4096 Sep  6 14:10 bin
drwxrwxr-x 3 4096 Sep  6 14:10 lib

local/ directory is created under test/ (which was supplied via --prefix) in which bin/, lib/, etc. are installed. It seems that in pip 22.3.1 --prefix option is not handled as described in documentation:
On Ubuntu 20.04:
$ mkdir test
$ ls -la test
drwxrwxr-x 2 4096 Sep  6 14:09 .
drwxrwxr-x 9 4096 Sep  6 14:09 ..
$ pip --version
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
$ ls -la test/
total 16
drwxrwxr-x 1 4096 Sep  6 14:28 .
drwxrwxr-x 1 4096 Sep  6 14:28 ..
drwxrwxr-x 1 4096 Sep  6 14:28 bin
drwxrwxr-x 1 4096 Sep  6 14:28 lib

bin/ and lib/ created directly under test/, no extra directory was created, i.e. no local/ under test/
This behaviour is aligned with pip documentation on handling of --prefix option.
Another small test on 22.04:
$ python3
Python 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pip._internal.locations import _distutils, _sysconfig
>>> _sysconfig.get_scheme('click', prefix='myprefix').purelib
'myprefix/local/lib/python3.10/dist-packages'
>>> _distutils.get_scheme('click', prefix='myprefix').purelib
'myprefix/lib/python3.10/site-packages'

Related issues:
https://github.com/pypa/pip/issues/10978

Keeping it open until there is a fix for the pip issue.

Reopening since the previous comment wasn't exactly true. They could be built because we were using base<EMAIL_ADDRESS>instead of 22.04 as suggested by this issue.

Closed in #73, #69, #72 and #66.


[SPARK-40214][PYTHON][SQL] add 'get' to functions

What changes were proposed in this pull request?
expose get to dataframe functions
Why are the changes needed?
for function parity
Does this PR introduce any user-facing change?
yes, new API
How was this patch tested?
added UT

Merged to master, thanks @HyukjinKwon for reivew


Ensures missing imports calculate the target text on the UI thread.

Fixes suggestions appearing when local variables are defined.

:+1:


am not able to get into your slack channel

Sorry you ran into that. Give me a few minutes and I'll fix that.

Should be working again. @mwaaas

thanks


Tools/graphAdd a dependency graph tool.

By default this renders svg which is useful since it includes clickable
links to the PyPI page for each node when viewed in a modern browser.

This builds on #1131 and #1128. The only commit to review is b337439.

For example, for Pex itself, a very simple graph PEX_TOOLS=1 dist/pex graph --render -fpng -opex.deps.png:


Unit-testing

Add more unit tests in general.
Add UI tests (using demo app?)

Hey Jesse, I found some time and started looking to see what areas could use more testing with OCMock. First super simple thing I found was to try and test UIDevice (JSQMessages) which had no tests for jsq_isCurrentDeviceBeforeiOS8. Turns out, trying to mock systemVersion in a class category from a singleton is a lot harder than it initially looks. I've tried a few different approaches but keep coming up empty. I'll move onto something else to test later tonight.

@jessesquires
I have a better handle on writing tests now, so which behaviors would you like me to look at?

Hello everyone!
I'm sorry to inform the community that I'm officially deprecating this project. 😢 Please read my blog post for details:
http://www.jessesquires.com/blog/officially-deprecating-jsqmessagesviewcontroller/
Thus, I'm closing all issues and pull requests and making the necessary updates to formally deprecate the library. I'm sorry if this is unexpected or disappointing. Please know that this was an extremely difficult decision to make. I'd like to thank everyone here for contributing and making this project so great. It was a fun 4 years. 😊
Thanks for understanding,
— jsq


add ocr options

@nateshim-indico will you resolve and merge this one or close it?

Closing will add these changes to populator pr


Two Way Syncing?

Hi there, thank you for this project. I am interested in using this as an alternative to Plex's third party sync. Could you confirm that this syncs two ways? What I mean by that, is if I have two Plex servers and I watch a movie on one Plex server and then watch different movie on another Plex server, once I sync will both Plex servers now show that both movies have been watched? Thank you.

Hello
Yes thats the idea.


Remove version: taers232c.GAMADV-XTD3 version 6.70.07

This version is older than what has been set in max-versions-to-keep by the publisher.
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/taers232c/GAMADV-XTD3/releases/download/v6.70.07/gamadv-xtd3-6.70.07-windows-x86_64.msi
OK
(Automated message - build 910)


Crashing

The program is crashing sometimes. As an example, when I try to ungroup or group items, the program is closing. No error message.

Well it could happen, I mean Adobe software aren't known to be stable. but if you can maybe launch it in the terminal so you can put the logs.
also please when you create an issue fill the information that are asked ! They are crucial !

.

Sorry, but can you tell me how to launch it with terminal? Sorry, I am new linux User.

Go to the install folder then drive_c and launch the launcher with sh launcher.sh
you should get terminal output

Ok, I will try it and send you the terminal. Give me some time.

You can try using pastbin : https://pastebin.com/


cmd/compile: valid go1.17 non-recursive program fails to compile with invalid recursive type error

What version of Go are you using (go version)?
go1.18+
Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
linux/amd64 but presumably this is not architecture/os specific.
What did you do?
tried to compile this program: https://go.dev/play/p/9p5orAisxIh
package main

import (
	"unsafe"
)

type A struct {
	SomeInt  int
	Ptr      *B
	SomeBool bool
}

type B struct {
	A
	_           [64 - unsafe.Sizeof(A{})]byte // pad to cache line
	OtherFields int
	Whatever    string
}

func main() {}

What did you expect to see?
A successful compilation (as it does on go1.17).
What did you see instead?
./prog.go:15:34: invalid recursive type

Duplicate of #14620


animated button

        Hover Me

Hi @dinesh-brahmadandi you have accidentally changed 298 files, please create a fresh PR after taking the latest pull


Pipenv prefers a local package with the same name

Issue description
I have a subfolder with name "requests" that contains an empty "setup.py". I try to import the real requests package from PyPI by running pipenv install requests
Expected result
I expect the real requests to be installed.
Actual result
Pipenv tries to install the local requests package. Pipenv should install local packages if I provide a path to it, not just the name, e.g. pipenv install ./requests.
Steps to replicate
mkdir requests
touch requests/setup.py
pipenv install requests

This has been identified as a bug in pip, and will be fixed (pypa/pip#7955) by the next pip release scheduled later this month. I will close this for now since the diagnose (if correct) puts the solution out of Pipenv’s reach. Feel free to reopen if this still happens with pip 20.1 (i.e. indicates the diagnose was wrong).


[Android] Absolute position not working

When I am trying to set suggestion panel with absolute suggested row won't clickable but when I'm trying with iOS its clickable. I'm using mention textInput as a composer of following url library. https://github.com/FaridSafi/react-native-gifted-chat

Style: suggestionPanelContainer: {
    backgroundColor: 'rgba(100,100,100,0.1)',
    width: DeviceUiInfo.screenSize.width - pageMargin * 2,
    position: 'absolute',
    top: -150,
    zIndex: 1
  }

I've tried with all possible attempts I've failed to get desired output. @harshq please help to overcome this problem.

I'm facing the same issue


Native gems: remove the C source code from the precompiled gem

Because the gem is precompiled, there's no need to also ship the C source and header files.
Package the gem without the C code.
Related to #2075.

I'll note here that we'll need to be careful with header files to allow Nokogumbo to compile properly on installation, see #1788 for context.

Hmm. After some thought, it's helpful to have the C extension files present as extra_rdoc_files, and they compress down to about 43KB which isn't much compared to the size of the 3.4MB gemfile. I'm going to close this and not actually do it, to preserve the local rdoc experience and avoid surprise.


Enable multi-arch build for cilium-cli image

This PR builds on top of #2842
It also includes the cilium-cli target to the build using multi-arch.
In the PR we levarage some buildx features like --cache and --link to improve the speed of builds for multi-arch.
Resolves #2780

@michi-covalent @tklauser with the merge of cilium-cli into cilium/cilium it's becoming confusing to where contributors can submit their changes for cilium-cli.

Yes, now I'm confused 😕
Should I create such PR on the cilium repo?
Maybe this repo has to be archived?
Let me know how to proceed.

with the merge of cilium-cli into cilium/cilium it's becoming confusing to where contributors can submit their changes for cilium-cli.

sorry for the delay, we build release artifacts from this repo. assuming we want to build this docker image for each release tag, this is the right repo for this pull request.
@marcofranssen let's limit this pull request to Dockerfile changes only. once it gets approved & merged, i'll make necessary changes to github workflows.

@michi-covalent maybe merge this one first https://github.com/cilium/cilium-cli/pull/2842
This PR builds on top of that and reduces the scope of this PR.

Builds on top of #2842 to reduce the scope of this PR. Can we please move forward with both. These PRs are out there now for several weeks without progress on a review of these relative simple PRs. I'm waiting to be able to use the improvements.

@marcofranssen this PR picked up a merge conflict and needs a rebase.

@marcofranssen this PR picked up a merge conflict and needs a rebase.

Done

Rebased the branch again to resolve conflicts

Did another rebase to get branch fully in sync with upstream

Rebased PR again to resolve the merge conflict.

Rebased once more and signed off the one commit I forgot about.

reminder for @tklauser and myself: set up release environment before the next release 🚀

ping @cilium/ci-structure for review 🚀🙏

What should I do to get this merged? I adjusted the workflow to use a separate GH environment for the release image? Went trough the open conversations but not sure how to progress now.
I feel all required changes are in.

What should I do to get this merged? I adjusted the workflow to use a separate GH environment for the release image? Went trough the open conversations but not sure how to progress now.

There are still two open questions from @aanm which AFAICT haven't been addressed or answered:
https://github.com/cilium/cilium-cli/pull/2782#pullrequestreview-2488571607 and https://github.com/cilium/cilium-cli/pull/2782#discussion_r1875847962

Also, can't we replace cilium/cilium-cli Dockerfile with the on we have in cilium/cilium? It seems this remains unanswered.

In a previous PR I contributed this was also already the question. It seems that is something to be figured out within the cilium repo owners.
In my previous PR it was decided to continue using this repo until a decision is made. Would be great if we can unblock this PR and move forward and figure out the other part in a follow-up.

What should I do to get this merged? I adjusted the workflow to use a separate GH environment for the release image? Went trough the open conversations but not sure how to progress now.

There are still two open questions from @aanm which AFAICT haven't been addressed or answered: #2782 (review) and #2782 (comment)

I feel one was already answered, but gave it another shot with different wording.
The other one seems to be unrelated to this PR. It was already a discussion on a previous PR and there it was decided to not hold back community contribution while the cilium team figures it out internally on how and when to make that change.


ImagePicker

It would be nice if you could  #add the option to choose the SourceType on the interface rather than hardwire it to .photoLibrary.
BTW You haven't responded to my comment on issue #66 (which you had closed).

@writing-shed done! Funnily enough - I'd already coded support for this but forgot to expose it via a modifier. Thanks for bringing it up.

Thanks. I'm no GitHub expert - will you be updating the package?

@writing-shed I've already pushed the change. To update in Xcode:
Select File ▸ Swift Packages ▸ Update to Latest Package Versions

OK, got it. Thanks very much.


Error: FileNotFoundError

What is your question?
No Such File or directory: /home/airflow/.local/lib/python3.7.site-packages/certifi/cacert/pem
I have removed these files because scanning of the container was failing due to sensitive data (presence of cert & privatekey)
My Dockerfile
FROM /apache/airflow:latest
USER 0
RUN find /home/airflow/.local/lib/python3.7 -type f -name ".pem" -exec rm -f {} ;
RUN find /home/airflow/.local/lib/python3.7 -type f -name ".key" -exec rm -f {} ;
USER 1001
I would like to know...
When deploying the web container how can I disable checking for certs
class SSLConfig
DEFAULT_CA_BUNDLE_PATH

Issue Resolved .


Quorum not being reached on machines with identical IDs

Running the network in Kubernetes on Bare Metal. Set the IPALLOC_RANGE in the weave-daemonset.yaml with the following:
containers:
        - name: weave
          env:
          - name: IPALLOC_RANGE
            value: <IP_ADDRESS>/16
          image: weaveworks/weave-kube:latest
          imagePullPolicy: Always

Logs say for all three containers same collision:
INFO: 2017/02/02 20:24:09.535473 ->[<IP_ADDRESS>:56831|ea:ba:c8:b5:52:f9(kube-node-2.local.lan)]: connection shutting down due to error: local "ea:ba:c8:b5:52:f9(kube-node-2.local.lan)" and remote "ea:ba:c8:b5:52:f9(kube-node-1.local.lan)" peer names collision
I can see all of the weave containers in the container view (associated with each of the three hosts) as shown below:

But when I switch to the Weave Net view all I see is an error and status waiting for quorum:

@abuehrle this looks like #2427, which should be fixed in the latest version which you are running.
Is it possible it's picking up persisted data from a 1.8 install?

This was the result of all nodes having the same machine-id. Fix was to run the following on each node:
rm /etc/machine-id
systemd-machine-id-setup

Probably interesting to see how Scaleway (Online.net) does this in their own images:
systemd-machine-id-setup does not work and will always return the same id.
https://github.com/scaleway/image-voidlinux/blob/master/overlay-image-tools/usr/local/sbin/scw-gen-machine-id
#!/bin/sh
# description "generate a unique machine id"
# author "Scaleway<EMAIL_ADDRESS>
if [ -f /etc/.regen-machine-id ]
then
	uuidgen > /etc/machine-id
	rm -f /etc/.regen-machine-id
fi

Actually an upgrade to the above comment:
If you look at this diff https://github.com/scaleway/image-ubuntu/commit/d33d48a7e056b1e8a16cd129411872ff743f38fe it seems like you have to rm /etc/machine-id and rm /var/lib/dbus/machine-id

Did you ever hear back from your machine provider how they expected users to deal with this, @abuehrle ?

Yes, they fixed a bug in the way they were provisioning machines, so this should no longer occur.


Update Component and WIT import/export syntax

This PR is an implementation of https://github.com/WebAssembly/component-model/issues/193 organized as a series of commits to "sets of crates" within this repository. Each modified crate's tests pass with each successive commit, but the entire repo's tests and fuzzers only pass on the final commit. Like with many WIT changes prior to this one I will preemptively apologize for the size and scale of this commit. Review-wise it's probably best to stick to the core crate of wasmparser and otherwise mostly review tests.
A sumary of changes made in this PR are:

The component model binary format is updated, and its major version is bumped. "0xc is dead long live 0xd". This is due to the new binary form of imports and exports and the removal of URLs.
URLs are removed entirely from the binary format and WIT. They're now supplanted with "IDs" which look like foo:bar/baz. In the text format of a component this is (interface "foo:bar/baz").
WIT syntax has seen a significant number of updates:

The concept of a "document" is gone. A WIT package is now always representable with a single file.
WIT supports top-level use to name remote interfaces locally or rename local interfaces to a different name in the local scope. This use is purely a package organizational tool.
The concept of default is now gone. All interfaces and worlds are referred to by "id" which is inferrable from a package's name.
All packages must have a package ... directive indicating the name of the package.
The syntax of use has been replaced. Now use foo.{...} refers to the name foo in scope, and use foo/bar.{...} is additionally a means of importing from foreign packages.
The syntax of imports/exports in worlds now reflects the component model. Kebab-names are not required for interface imports/exports (and no longer allowed). Anonymous interfaces still use the prior kebab-name syntax.

This list of changes isn't necessarily large but the impact of the change is quite large as can be seen from the scale of this commit. This touched quite a lot of fundamental structures and assumptions about how packages/components look. I've done my best to be judicious about all the little design decisions along the way and I'm hopeful that it's all in a pretty good spot to move forward. In terms of correctness I'm feeling pretty confident about this after updating fuzz-test-case-generation and generating a slew of each-more-interesting-than-the-last bugs.
In terms of logistics of landing this, I would like to work on getting Wasmtime and wit-bindgen updated before landing this here to account for any new features/bugs/etc that need ironing out. My hope is to land everything sort of all-at-once to try to keep everything in sync and avoid this repo getting out of date relative to others.

With my initial review now completed, I've been thinking more about what it means to be able to specify external dependency versions in WIT directly and how that would integrate with registry-aware tooling.
What's supported in cargo-component today is Cargo.toml can have a table like:
[package.metadata.component.target.dependencies]
# Resolve external dependency with name `a` to version 1.0 of WIT package `foo:bar`
a =<EMAIL_ADDRESS>
and in the target WIT file:
interface foo {
   use a.{t}
}

and that worked because we assumed a was an external dependency with the current syntax and it was up to the tooling to resolve that symbolic name to a package and version.
Now that we can encode the dependency information directly in the WIT, eliminating the target.dependencies table entirely from Cargo.toml 👍
Regarding versions in external dependency ids, I expect that cargo-component will error on a missing version, as an implicit * feels like the wrong thing to do.
It does make me wonder if we should require a version number for external dependencies when parsing the WIT, though. Given that deps is a workaround in lieu of a functioning registry, it doesn't seem like much of a burden, at first glance, to require that you refer to those deps with a version.

Thanks for taking the time to review this! I know it's a lot ...

Thanks again for the review! When https://github.com/WebAssembly/component-model/issues/193 gets closer to merging I'll start the process for merging this and propagating it outwards.

Ok one feature added with the latest commit is that now, thoeretically, world bindgen is now possible without actually defining your own world. For example wit-bindgen --world wasi:http/proxy should now work. This should help use of worlds define in foreign packages.

Ok given what appears to be high-level consensus on https://github.com/WebAssembly/component-model/pull/198 I'm going to merge this and get the ball rolling on releaseing this. There are still some changes being discussed but they're relatively minor and should be easy to roll out as incremental changes ideally.


Continuing training from a partially trained model sometimes reverts learning-rate to previous value

Experienced in both 2.1.16 and 2.1.21.
Training a model using --max-checkpoints to periodically stop and then continue training. When continuing training, the learn-rate seems to have been set back to the original. I have included the log files for two sequential training runs that exhibit this behavior.
This does not always happen, but I don't know how to characterize the different cases.
log.00.txt
log.01.txt

Thanks for reporting! Could you also share the full commands used for initially starting training and then to continue training?

Whenever doing continued training w/ Sockeye 2 (last tested on 2.8.2), the LearningRateSchedulerPlateauReduce that I specify does not seem to be recovered from the saved state. Instead it appears that a new one is created. The learning rate is then set to the MXNet optimizer base learning rate, which is recovered, and set to the initial learning rate specified in the parameters.
Could this be related to the message
  learning rate from ``lr_scheduler`` has been overwritten by ``learning_rate`` in optimizer.

that appears at the bottom of the the stdout from running sockeye-train? This message comes from mxnet/optimizer/optimizer.py.

I encounter the same problem. Every time I continue the training, the learning rate will restart from 2e-4 ，and it will drastically reduce the performance of the model. I update the sockeye version from 2.1.13 to 2.1.16 , then 2.1.26 .  The problem still exists.

I encounter the same problem. Every time I continue the training, the learning rate will restart from 2e-4 ，and it will drastically reduce the performance of the model. I update the sockeye version from 2.1.13 to 2.1.16 , then 2.1.26 .  The problem still exists.

This has to do w/ the fact that the optimizer is not saved in _save_trainer_states in training.py. The lr_scheduler is held inside the optimizer.
I am working on a fix that saves the lr_scheduler separately.
I closed the issue because it was marked as a question, and getting no attention. I was going to open it up a new issue, and submit my fix as a PR. Got sidetracked by family.
Steve

This has to do w/ the fact that the optimizer is not saved in _save_trainer_states in training.py. The lr_scheduler is held inside the optimizer.
I am working on a fix that saves the lr_scheduler separately.
I closed the issue because it was marked as a question, and getting no attention. I was going to open it up a new issue, and submit my fix as a PR. Got sidetracked by family.
Steve

Thank you so much !  Looking forward to your fix PR .

Thank you so much !  Looking forward to your fix PR .

@huache PR has been accepted and merged.

@huache PR has been accepted and merged.

fixed in PR's #920, #924, and #926

If I have a checkpoint (*.pt) model, can I continue training using sockeye? If yes, what's the command?


fix: Bump rizzo next

when I am logged in with production luna:

[x] correct avatar
[x] Settings link goes to Luna's show#profile in Luna
[x]  Sign out link signs me out from Luna

when I am logged in with production dotcom-connect:

[x] correct avatar
[ ] Settings link tries to go to edit#profile in new profiles but by adding /profile/1aaa4b44-54a3-4ef7-b22f-4ade59737078/edit at the end of current url(which is http://local.qa.lonelyplanet.com:3000/profile/1aaa4b44-54a3-4ef7-b22f-4ade59737078/edit in my case)  **
[x] Sign out link signs me out from dotcom-connect

when I am not logged in and no varian cookie present

[x] Sign in link goes to https://auth.lonelyplanet.com/users/sign_in

when I am not logged in and variant cookie is present

[x] Sign in link goes to https://connect.lonelyplanet.com/oauth/authorize?scope=openid&response_type=code&client_id=foymu5r6sscxe&redirect_uri=https%3A%2F%2Fconnect.lonelyplanet.com%2Fsso

So, 👍  from my but I would just make sure that Settings linkinn case of production TT wouldn’t not link ti invalid place like https://www.lonelyplanet.com/thorntree/profile/nidalia.

@nidalaa for the Settings link thing, this is intentional so that it'll work depending on the environment you're running dotcom-profiles in. :+1:

@jcreamer898 awesome 👍 I am gonna give it a try in production :)

YAAAAASSSSSSS

We'll wait for https://github.com/lonelyplanet/rizzo-next/pull/718 and then we'll have to update the version to 0.22.0


I can only add a function by name to the prototype listeners and behaviors

To be able to add function (not name) in the listeners object helps.
This pull request tries to solve this issue.
https://github.com/Polymer/polymer/pull/3329

Maybe I am missing something, but in what situation would you prefer 'disabled-changed': proto._disabledChanged over 'disabled-changed': '_disabledChanged'? If you want a method from a specific Behavior, this behavior should be added last in the this.behaviors array.

The change is to allow the calls to propagate to the element prototype AND any behaviour that has _disabledChanged registered with their listener.
With the current implementation, only one listener function can be called when i.e. disabled-changed is fired. With the new change more than one listener can be registered in different behaviours or the prototype and they all get called unless the higher listener calls  event.stopImmediatePropagation();

There is #3284 that fixes #1593 which allows for defining multiple listeners in an on-* method. This could be broadened to also include the listeners object (if this was not already working, I need to check that out). Would that also solve your issue?
The only caveat is that the behavior methods should be named differently, but this is in line with inheritance in programming languages.

The change you referenced does not solve the problem I am trying to avoid.
I want to avoid naming my functions in different behaviours as
_disabledChanged_BehaviorOne
_disabledChanged_BehaviorTwo
_disabledChanged_BehaviorThree
I just want to name them all _disabledChanged
I disagree overridden functions have different names in any programming language inheritance model that I know. They all have the same name.
The difference in this new model from other strongly typed languages is, the overriden function has to call super._disabledChanged() in order for the supertype function to be invoked.
With this change the inheritance model would be an implied call to super.disabledChanged() unless the overriden function (or the higher listener) calls  event.stopImmediatePropagation();
There are no really overriden function here, its just a list of listeners that gets called in the order they are added. They have been added in away to simulate an inheritance model without calling super.
_

Inheritance in Polymer custom elements is currently not possible, but there is an ongoing effort to discover what is possible there and if it could be added back. I think that would solve the use-case differently, without requiring direct references of functions in the listeners object. My 2 cents.

That is why I did not want to use the word "inheritance". You brought it up. The model is really closer to implementing aspects than inheritance in strongly typed languages. You see behaviors could be dynamically added or not to the prototype when the element is constructed.


#1 Activate tests

The command mvn clean install does not execute tests because the path to test sources is not defined in pom.xml. That needs to be fixed.

The error is fixed the program is running


feat: add RoutePage

finally make RoutePage !
ToDo :

upgrade category_boards
miniNavigator
refactoring

Let's go ~


feat(io): update curl / xml / logs / auth

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

GitHub release
crate.io packages (1 packages published)

Your semantic-release bot :package::rocket:


Decoupled from main app View Factory

This should safeguard from app-dedicated overrides to the View Factory used in-app.

Interesting, you were using a different engine and removed the default one?

Well the default one doesn't parse PHP (we use twig) so it was failing.

Okay I also use Twig but usually leave the php engine on.

This code is invalid, it should be deleted
https://github.com/theMadness/laravel-ide-helper/blob/405cb6baa259eb0672986c7c592b744fc1a4b17b/src/IdeHelperServiceProvider.php#L39-L40

Hope to provide in the configuration file to set the view path
https://github.com/theMadness/laravel-ide-helper/blob/405cb6baa259eb0672986c7c592b744fc1a4b17b/src/IdeHelperServiceProvider.php#L105


Timeout After 301 Redirect Works Strangely

Hello friends! Having a small issue with timeouts from URLs after they throw us an HTTP 301 to a bad address. Here's an example script and what happens when I run it (hopefully the offending URL remains offending for you to test, I do not own the domain)
import requests
import logging

logging.basicConfig(level=logging.INFO)

url = 'https://blog.uplabs.com/feed'
req = requests.get(url, timeout=1)

Then I run this:
Thomass-MacBook-Air ~/bug $ time python test.py
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): blog.uplabs.com
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): blog.uplabs.com
Traceback (most recent call last):
  File "test.py", line 7, in <module>
    req = requests.get(url, timeout=1)
  File "/usr/local/lib/python2.7/site-packages/requests/api.py", line 70, in get
    return request('get', url, params=params, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/api.py", line 56, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 475, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 617, in send
    history = [resp for resp in gen] if allow_redirects else []
  File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 177, in resolve_redirects
    **adapter_kwargs
  File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 596, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/adapters.py", line 479, in send
    raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: HTTPConnectionPool(host='blog.uplabs.com', port=3001): Max retries exceeded with url: /feed/ (Caused by ConnectTimeoutError(<requests.packages.urllib3.connection.HTTPConnection object at 0x10bcb43d0>, 'Connection to blog.uplabs.com timed out. (connect timeout=1)'))

real	0m13.104s
user	0m0.149s
sys	0m0.098s

My question - it does appear to be timing out, but shouldn't it be timing out much quicker? I'm giving a timeout of 1 but it appears to be taking 13 seconds for the entire script to run. It appears the original host is 301ing me to a weird port number but I think the timeout behavior should continue to apply.
If I increase timeout to 2 seconds, it takes 24 seconds:
real	0m24.626s
user	0m0.155s
sys	0m0.099s

and 3 second timeout takes 36 seconds. So it appears to be compounding?
real	0m37.152s
user	0m0.156s
sys	0m0.108s

Is there an additional setting I am missing or case I should deal with? Using requests 2.11
>>> import requests
>>> requests.__version__
'2.11.1'

I should add, when I change log level to debug, you can see the 301
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): blog.uplabs.com
DEBUG:requests.packages.urllib3.connectionpool:"GET /feed HTTP/1.1" 301 178
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): blog.uplabs.com

So it should be noted that the timeout is not a total timeout, it is instead a per socket event timeout. In particular, as we're attempting to connect, it is a per connection attempt timeout. The reason I phrase it this way is that, when we attempt to connect to a host, we will perform the DNS look up and then attempt to connect to every host returned. Only if all of those fail will we report failure as a ConnectionError. I suspect that's what is happening in this case.

OK, Thanks @Lukasa - in my case, I ended up using eventlet module to wrap the entire thing in a more "global" timeout.


contactusstyling

Closes
Closes #1133
Description
i have changed the styling of the contacts and also the footer social icons gap
Screenshots

Note to reviewers

Checklist:

[x] I have linked the PR to the correct issue.
[x] I have read the Contribution Guidelines
[x] I have built and tested the changes, and they do not break or show any errors.

can you please review my pr @Vaishnavi-Patil2211

can you please review my pr @Vaishnavi-Patil2211


Using For Multi Domain Project to share session and cookie

How do you configure the project to be used for multiple domain project i have tried laravel recommended approach but doesnt seems to work and i have been working on this for like 2 days now. Any help on thisor any hint at all

I think you should check the vue router and see if it supports sub domain routing.
The client part is decoupled from Laravel so won't work that way.


Avoid changing opinion twice if user does it themselves

If a user votes and then swipes themselves to move to the next opinion, the app still automatically iterates to the next opinion.

Closed with recent commit.


Add tree node dynamically

I wonder what is the best way to add a tree node dynamically.
Using Angular, I modified the input variable for the model, but change detection is not happening. Only if I create a copy of the model, the change is recognized in the tree. For this I do the following to make a copy of the model:
this.model = JSON.parse(JSON.stringify(this.model))
However this seems not to be the best way. Does anyone have a better solution? If I could get a hold of the actual TreeViewNode-component, I probably could tell it, to get updated.

Using Angular, I modified the input variable for the model, but change detection is not happening.

That's because the TreeView component uses the changeDetection: ChangeDetectionStrategy.OnPush which prevents updates unless an event is triggered or if an input variable reference change  (mutating objects do not trigger the change detection since the object reference stays the same).
Did you try using a ChangeDetectorRef to update the tree view after mutating the model ?
// Inject the ChangeDetectorRef
constructor(private _cdRef ChangeDetectorRef, /* ... */){}

update(){
  // should update the tree view
  this._cdRef.markForCheck()
  this._cdRef.detectChanges()
}

Or you could replace this.model = JSON.parse(JSON.stringify(this.model)) with this.model = [ ...this.model ] which is in my opinion a little bit more elegant !

Thanks for the info! Your recommendation for a copy of the model is much better. I'm fine with that.
For the best performance it would be better to get the tree node (as a reference by it's ID) and set there only the model. Then the whole tree would not have to be updated but only the sub tree. Don't know if this will be relevant, since I assume that updating the whole tree in most cases already is efficient enough.
I would love to see some useful functions in the TreeView, like "getNodeById(id)" and "expandPath(id1, id2, ...)", where the latter one returns a promise, so that I know when expand is finished (when using asynchronous children). It's probably a topic for another ticket, but I'd like to know your opinion about it. I find it quite difficult to implement something like this in a bulletproof way ... for example expand a deep node path and afterwards select some node there.
Thanks so far!

Hey @awallat, thanks for the feedback 👍

For the best performance it would be better to get the tree node (as a reference by it's ID) and set there only the model. Then the whole tree would not have to be updated but only the sub tree.

The problem with this approach is that nodes are not rendered when folded. If you want to add a node dynamically, you could retrieve the related framework component node and refresh it manually, but nothing guarantees you that the node actually exists !
I think a good compromise if you want to optimize performance is updating the subtree and its direct ancestors in an immutable style. This way you don't have to meddle with the framework components, you just take advantage of the change detection algorithm.
I added the add and path functions which can do just that :
import { tree } from "@bosket/tools"

const model = [
    { label: "a", children: [
        { label: "b" },
        { label: "c" }]
    },
    { label: "d" },
    { label: "e", children: [
        { label: "f" },
        { label: "g", children: [
            { label: "h", children: [
                { label: "i" }
            ]}
        ]}
    ]}
]

// element "h"
const h = this.model[2].children[1].children[0]

// Returns the ancestors of the element "h" and itself
console.log(tree(this.model, "children").path(h).map(_ => _.label))
// also works with a matching function
console.log(tree(this.model, "children").path(_ => _.label === "h").map(_ => _.label))
// -> ["e", "g", "h"]

// Add "z" to the tree at position "h", with each ancestor reference updated
// Triggers angular change detection for only the relevant subtree
this.model = tree(this.model, "children").add(h, { label: "z" })
// also works with a matching function
this.model = tree(this.model, "children").add(_ => _.label === "h", { label: "z" })

I would love to see some useful functions in the TreeView, like "getNodeById(id)" and "expandPath(id1, id2, ...)", where the latter one returns a promise

I'm not too keen on exposing functions in angular components.
I'd rather empower the (framework agnostic) model tree which in turn should trigger the component(s) update.
About getNodeById(id) if it's about retrieving the TreeViewNode instances, devs can already access them by using @ViewChildren / @ContentChildren. If it's about retrieving a node from the model tree, the new pathmethod should cover the use case.
About expandPath(...ids), I will add another function (soon :wink:) in the @bosket/tools tree.js file which returns a promise after unwrapping X nested asynchronous children (promises).
Thanks again for your input, I hope that these answers are helpful !

I'm using Riot instead of Angular, and even though I can update the tree dynamically (my tree model uses an immutable data structure through https://github.com/Yomguithereal/baobab), the issue I'm having with updating the whole try like that, is any unfolded/open nodes are closed again when the model changes.
A workaround would involve being able to capture the open state of the tree, and reapply this after the tree (model) updates. Would this be a valid approach?

@fabien
I didn't check explicitely with baobab, but with this setup using riot and the provided immutable tree.add method I cannot reproduce your issue :
fiddle (Unfold 5, then 8, then click the button to add dynamically)

A workaround would involve being able to capture the open state of the tree

It would be tough, because the "expand" state is stored in the riot nodes.
What you could do is add an expand boolean property to your model, and a corresponding fold strategy which makes this property controls the folding/unfolding of the elements. Should not be too difficult I think.

@elbywan thanks - I've been able to track it down, now that you've proven that it does work. By default Baobab uses immutable: true, which uses Object.freeze. This was causing issues for me, with the tree not updating at all when modifying the model data. What I did before, was 'unfreeze' the data using Lodash's cloneDeep.
At the time, I did not think there was any difference between immutable edits and completely cloned trees to be honest. Now I switched to immutable: false  (which apparently is recommended during production anyway) and all is well!


automatic creating of models

Can we have an option that automatically creates the switches/flags/samples if they are checked? Don't want to have to go and create the models in the admin each time. If it could create a default switch (off), or a default flag (off for everyone) when it checks that would be better. Then can see in the admin what waffles are still being used/checked. If you delete one and it comes back then it's still in use somewhere.

Note this would improve performance as well as I noticed the code does a lookup for each flag. If it doesn't exist it never gets added to the cache so you always get the query.
    flag = cache.get(keyfmt(get_setting('FLAG_CACHE_KEY'), flag_name))
    if flag is None:
        try:
            flag = Flag.objects.get(name=flag_name)
            cache_flag(instance=flag)
        except Flag.DoesNotExist:
            return get_setting('FLAG_DEFAULT')

This duplicates #44 and #45—that decision is still open but it's a goal to make a call before 1.0.

Duplicate #44.

Duplicate of #44


Several issues with blades for iCubParis02

Hello guys,
After solving many issues we had with the hardware of our two iCubs, I was trying today to setup the red ball demo, however I found the blades status quite unstable. I might need a bit of assistance on different issues that I will try to keep in this single issue. Let me start with the following problem:
When I do ssh icub-b1 this is what I get:
ssh icub-b1
Linux icub-netboot 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Exporting iCub variables for: iCubParis02

After which the terminal shows:
icub@no instead of the expected icub@icub-b1
If I try to do sudo hostname icub-b1 this is what I get:
icub@no:~$ sudo hostname icub-b1
sudo: unable to resolve host icub-b1

I have the same problem with all three blades. Can you help me diagnose this and the other issues I will mention after this one is solved?
As an additional information:
When I first ssh on any of the blades, this is what I get (notice the icub-netboot)
icub@icub-desktop:~$ ssh icub-b1
Linux icub-netboot 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
-bash: warning: setlocale: LC_ALL: cannot change locale (fr_FR.UTF-8)
-bash: warning: setlocale: LC_ALL: cannot change locale (fr_FR.UTF-8)
Exporting iCub variables for: iCubParis02
-bash: warning: setlocale: LC_ALL: cannot change locale (fr_FR.UTF-8)

Which reveals also another issue we have with the locale settings, although I'm not sure it's related to  the previous issue. One at a time I guess :)

On one blade, please do the following commands:
cat /etc/issue
cat /etc/rc.local
And please post here the results

Right away!
cat /etc/issue
Debian GNU/Linux stretch/sid \n \l

cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser run level
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/root/set-hostname-from-net.sh
mount -a -t nfs

/root/force_ntp_update.sh
exit 0

Thanks, can you please issue also
cat /root/set-hostname-from-net.sh

#! /bin/sh
_HOSTNAME_=""
LEASES_FILE_PATH="/var/lib/dhcp"

get_hostname_from_dns() {
 if [ "$1" != "" ]
 then
    IP_ADDR=$( ip addr show $1 | grep inet | grep $1 | awk '{ print $2 }' | sed -e 's/\/24//')
    if [ "$IP_ADDR" != "" ]
    then
        _HOSTNAME_=$( host $IP_ADDR |  awk '{ print $5 }' | cut -d'.' -f1 )
    fi
 fi
}

get_hostname_from_leases() {
 if [ "$1" != "" ]
 then
   if [ -f "${LEASES_FILE_PATH}/dhclient.${1}.leases" ]
   then
     _HOSTNAME_=$( grep "host-name" ${LEASES_FILE_PATH}/dhclient.${1}.leases | awk '{ print $3 }' | sed -e 's/"//g' -e 's/;//g' )
   fi
 fi
}

get_hostname_from_dns eth0
if [ "${_HOSTNAME_}" = "" ]
then
    get_hostname_from_leases eth0
fi
if [ "${_HOSTNAME_}" = "" ]
then
    get_hostname_from_dns eth1
fi
if [ "${_HOSTNAME_}" = "" ]
then
    get_hostname_from_leases eth1
fi
if [ "${_HOSTNAME_}" = "" ]
then
    exit 1
fi
echo $_HOSTNAME_
hostname "$_HOSTNAME_"
exit $?

It looks like a strange mix..
A script created for the Wheezy release on Debian etch (older).. really odd..
can you try to
sudo /root/set-hostname-from-net.sh

For example on icub-b1 I get
sudo: unable to resolve host no
[sudo] password for icub:
no

ok, then:
su - /root/set-hostname-from-net.sh

icub@no:~$ sudo su
sudo: unable to resolve host no
bash: warning: setlocale: LC_ALL: cannot change locale (fr_FR.UTF-8)
root@no:/home/icub# /root/set-hostname-from-net.sh
no

NO sudo
su -

Oops, sorry
icub@no su - /root/set-hostname-from-net.sh
No passwd entry for user '/root/set-hostname-from-net.sh

Please read carefully, thanks:
su -
/root/set-hostname-from-net.sh
Usually, 2 LINES = 2 SEPARATE COMMANDS

Relax, no need for captions ;) I was having some issue using just su
Here you go,
icub@no:~$ su -
Password:
-su: warning: setlocale: LC_ALL: cannot change locale (fr_FR.UTF-8)
-su: warning: setlocale: LC_ALL: cannot change locale (fr_FR.UTF-8)
root@no:~# /root/set-hostname-from-net.sh
no

ping!  :bell::bow:

Cut'n'paste the following command and execute on icub-b1
host <IP_ADDRESS>
and copy here the result.
Thanks

Sure, thanks
icub@icub-desktop:~$ ssh icub-b1
Linux icub-netboot 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
-bash: warning: setlocale: LC_ALL: cannot change locale (fr_FR.UTF-8)
-bash: warning: setlocale: LC_ALL: cannot change locale (fr_FR.UTF-8)
Exporting iCub variables for: iCubParis02
-bash: warning: setlocale: LC_ALL: cannot change locale (fr_FR.UTF-8)
icub@no:~$ host <IP_ADDRESS>
;; connection timed out; no servers could be reached```

Again on icub-b1:
cat /etc/resolv.conf
?

icub@no:~$ cat /etc/resolv.conf
cat: /etc/resolv.conf: No such file or directory

I also tried to see if he file is there, but that is what I get
icub@no:/etc$ ls | grep  resolv
resolv.conf
resolvconf

icub@no:/etc$ cat resolv.conf
cat: resolv.conf: No such file or directory

on icub-srv :
ls -la /srv/tftp
ls -la /srv/tftp/wheezy-x86_64
cat cat /srv/tftp/wheezy-x86_64/etc/issue
cat cat /srv/tftp/wheezy-x86_64/etc/resolv.conf

icub@icub-srv:~$ ls -la /srv/tftp
total 20
drwxr-xr-x  5 tftp tftp 4096 Oct  1  2014 .
drwxr-xr-x  4 root root 4096 Sep 24  2014 ..
drwxr-xr-x  3 tftp tftp 4096 Sep 25  2014 tftpboot
drwxr-xr-x 22 root root 4096 Jul 22 16:17 wheezy-x86_64
drwxr-xr-x 24 root root 4096 Sep 24  2014 wheezy-x86_64.old

icub@icub-srv:~$ ls -la /srv/tftp/wheezy-x86_64
total 104
drwxr-xr-x  22 root root  4096 Jul 22 16:17 .
drwxr-xr-x   5 tftp tftp  4096 Oct  1  2014 ..
drwxr-xr-x   2 root root  4096 Jul 22 16:18 bin
drwxr-xr-x   2 root root  4096 Jul 22 11:17 boot
drwx------   2 root root  4096 Jul 22 15:26 .cache
drwxr-xr-x   3 root root  4096 Dec 11  2013 dev
drwxr-xr-x 136 root root 12288 Jul 26 16:51 etc
drwxr-xr-x   3 root root  4096 Dec 11  2013 home
lrwxrwxrwx   1 root root    30 Dec 12  2013 initrd.img -> /boot/initrd.img-3.2.0-4-amd64
drwxr-xr-x  18 root root  4096 Jul 22 16:17 lib
drwxr-xr-x   2 root root  4096 Jul 21 18:31 lib64
drwxr-xr-x   2 root root  4096 Oct 27  2015 media
drwxr-xr-x   2 root root  4096 Jan  5  2016 mnt
drwxr-xr-x   3 root root  4096 Dec 16  2013 opt
drwxr-xr-x   2 root root  4096 Sep 23  2013 proc
drwx------  10 root root  4096 Jul 26 15:31 root
drwxr-xr-x   7 root root  4096 Dec 11  2013 run
drwxr-xr-x   2 root root 12288 Jul 22 14:55 sbin
drwxr-xr-x   2 root root  4096 Dec 11  2013 srv
drwxr-xr-x   2 root root  4096 Jul 14  2013 sys
drwxrwxrwt   2 root root  4096 Jul 26 15:19 tmp
drwxr-xr-x  10 root root  4096 Jul 22 16:17 usr
drwxr-xr-x  12 root root  4096 Jul 26 15:19 var
lrwxrwxrwx   1 root root    26 Dec 12  2013 vmlinuz -> boot/vmlinuz-3.2.0-4-amd64

icub@icub-srv:~$ cat /srv/tftp/wheezy-x86_64/etc/issue
Debian GNU/Linux stretch/sid \n \l

icub@icub-srv:~$ cat /srv/tftp/wheezy-x86_64/etc/resolv.conf
cat: /srv/tftp/wheezy-x86_64/etc/resolv.conf: No such file or directory

Why there is a
wheezy-x86_64.old
and the
wheezy-x86_64
has been written on 22 July?
What has been changed and why? It seems it is in a wrong state.

Yes,
Unfortunately as I stated at the beginning, this is just the state in which I found the blades. Maybe @ahoarau or @rlober have some idea.

Then, please restore the system to its original state and let me know

Would you be so kind to tell me what's the best way to do that please?

If I don't know what has been changed since the system has been installed, of course I am not able to do it.

Ok, so, since neither do I know what was changed in the system, is there any way I can just reset the blades to "factory settings" ?

You can:

Try to delete the directory wheezy-x86_64 and rename wheezy-x86_64.old' to wheezy-x86_64`. And hope it works (of course we cannot be sure if other things has been changed)
write a clean version of wheezy-x86_64 (we can provide it, but it's 6 GB). this is not resolutive, too
reinstall the whole icub-srv from the vmware image (120 GB)

Thanks @mbrunettini I will analyse these options and get back to you.
Thanks for your time.

Hi @jeljaik,
looking at the solutions suggested by Matteo looks like they are in order of complexity. I would try 1), then 2) then 3). Please let us know how things go we can help in the steps.

Thanks @lornat75 for the suggestion.
So far I have tried option 1 and rebooted icub-src but then I can’t ssh icub-bx getting the following message:
icub@icub-srv:~$ ssh icub-b1
ssh_exchange_identification: Connection closed by remote host

Assuming the backup copy of wheezy-x86_64 (wheezy-x86_64.old) was taken before changing the system, I fear solution 2) would not do much different. Let's see if @mbrunettini has some suggestions on  how to fix the problem you have with ssh.

@lornat75 True, I'll wait for his reply.

ssh_exchange_identification: Connection closed by remote host
I must say that I've never seen this error before.
The netboot system (at least, we have to check the whole icub-srv later) seems to be really compromised: I suggest to delete and recreate it starting from our images.
We can provide a working version of
/srv/tftp/wheezy-x86_64
to replace the failing one. It is a compressed file of about 6GB, I can provide a download link
how do you think?

@mbrunettini I can try the new image, yes. I'll be waiting for the link. Thank you so much.

I'm uploading the image to the cloud. It's a .tar.gz of 3.1GB (I removed not used stuff).
I will post the link here when it's available
Once you have downloaded it, please:

switch off the 3 blades
check on icub-srv if there is enough space on /srv/tftp to keep the two old versions of
/srv/tftp/wheezy-x86_64 (at least 10 GB will be necessary)
rename the two old version of
/srv/tftp/wheezy-x86_64
copy the downloaded archive to icub-srv in the following path
/srv/tftp
extract it

I will do @mbrunettini thanks!

You can download it here:
https://istitutoitalianotecnologia-my.sharepoint.com/personal/matteo_brunettini_iit_it/_layouts/15/guestaccess.aspx?guestaccesstoken=iPdeNt3TVUszkR%2BhB18wve8vA6Htw7s%2FwV19eP9AEj4%3D&docid=0ae02626af7a34598b60509bc54adfa02&rev=1
Let us know

Alright, so a few things have changed! which I guess is something good.
I followed the steps you listed above and after rebooting icub-srv and the blades, when I ssh into any of them I notice the following things:

The password is changed to icubAdmin (ours was icub for all of them) which I assume is the default and a normal behaviour.

Regardless of where I ssh they all say icub-b2. Maybe this is normal too and an additional configuration step is needed. If so, please let me know.

As per comment https://github.com/robotology/QA/issues/126#issuecomment-236125284 I get the following from icub-b1 which is also good, since before it was always empty.

icub@icub-b2:~$ cat /etc/resolv.conf
domain icub.local
search icub.local
nameserver <IP_ADDRESS>

Good! Well, not perfect, but a big step further.
Please do the following checks:

[ ] ip addr
[ ] nslookup icub-b1
[ ] mount

Thanks

Always on icub-b1 (hoping I assumed correctly :sweat_smile:)
icub@icub-b2:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 84:34:97:11:b0:ec brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global eth0
    inet6 fe80::8634:97ff:fe11:b0ec/64 scope link
       valid_lft forever preferred_lft forever
3: eth14: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether 84:34:97:11:b0:ed brd ff:ff:ff:ff:ff:ff

icub@icub-b2:~$ nslookup icub-b1
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Name:	icub-b1.icub.local
Address: <IP_ADDRESS>

icub@icub-b2:~$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=4104691,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=3284936k,mode=755)
<IP_ADDRESS>:/pxeroot on / type nfs (rw,relatime,vers=3,rsize=262144,wsize=262144,namlen=255,hard,nolock,proto=tcp,port=2049,timeo=7,retrans=3,sec=sys,local_lock=all,addr=<IP_ADDRESS>)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6569860k)
none on /tmp type tmpfs (rw,relatime)
none on /run type tmpfs (rw,relatime)
none on /var/tmp type tmpfs (rw,relatime)
none on /var/log type tmpfs (rw,relatime)
none on /var/mail type tmpfs (rw,relatime)
none on /var/spool/cron type tmpfs (rw,relatime)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6569860k)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
<IP_ADDRESS>:/exports/code on /usr/local/src/robot type nfs (rw,relatime,vers=3,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=<IP_ADDRESS>,mountvers=3,mountport=60197,mountproto=udp,local_lock=none,addr=<IP_ADDRESS>,_netdev)
<IP_ADDRESS>:/exports/local_yarp on /home/icub/.local/share/yarp type nfs (rw,relatime,vers=3,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=<IP_ADDRESS>,mountvers=3,mountport=60197,mountproto=udp,local_lock=none,addr=<IP_ADDRESS>,_netdev)

Everithing seems ok.
To fix the hostname issue, on icub-b1 you have to modify the following file
/root/set-hostname-from-net.sh
as follows: on line 27 change from
get_hostname_from_dns
to
get_hostname_from_dns eth0
the reboot the 3 blades.

Perfetto!
I can now ssh into each one of them and see the proper host names. Overall, the cluster seems "stable" now.  I will proceed upgrading source codes and so on. Should I have any additional problem I will open a different issue. Maybe this one can be renamed to the  main problem that was tackled ... Restoring Unstable Cluster Setup (?)
Thanks for your patience.

Issue renamed as requested.
@jeljaik ,please remember to change the icub password on the blades (changing on one will also replicate on the others) to the original one.
Can we close this issue?

Sure I will change it.
Thanks. Closing!


"Invalid tree item, invalid iconPath" Console Errors in Azure View after Expanding Subscription Tree Item

(Latest insiders, Windows)
In Azure view, when I expand any subscription, the following messages show up in the console. Note that folder icons seem to load just fine from what I can tell, so there may not be any user impact beyond messages going to the console:
[Extension Host] INVALID tree item, invalid iconPath {dark: 'c:\Users\\AppData\Local\Programs\Azure Dat…sions\azurecore\resources\dark\folder_inverse.svg', light: 'c:\Users\\AppData\Local\Programs\Azure Dat…p\extensions\azurecore\resources\light\folder.svg'} (at console. (c:\Users<redacted>\AppData\Local\Programs\Azure Data Studio - Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:83:196417))
console.ts:137 [Extension Host] Extension Microsoft.azurecore has provided an invalid tree item. (at console. (c:\Users<redacted>\AppData\Local\Programs\Azure Data Studio - Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:83:196417))

Looks like we'll get the fix when the following code comes in via the merge: https://github.com/microsoft/vscode/pull/157771

@cheenamalhotra Is there a reason this is in the backlog? If it's just porting over a single commit that seems easy enough to warrant bringing in for the next release - I'm happy to take a look at doing that if you're busy with other stuff. But getting rid of unnecessary warnings/errors in the console is definitely a good thing for us to keep working towards.


No idea what this repo does.

Issue
Looking at this repo and it's readme, tagline or tags I have no idea of the following:

What this repo is (apart from being a monorepo)
What the repo contains
What each folder does
a. how to build each folder (except ccurl)
b. how the folder relates to each other folder
c. folder's state of progress
d. folder's versioning

Suggestions

enTangle'd is an amalgamation of all things Tangle is less than descriptive
a. Suggest change to: This is a monorepo containing all you need get IOTA operating in C
b. Meta overview of what this repo is, what is contains and its aims.
List what the repo contains
a. Better descriptive tags for search-ability: c c++ c library
b. Create a monoreadme™ about the monorepo

H3 Title for each folder
Two sentence paragraph describing the function of the folder
State of development (Active, abandoned, deprecated)

Readme in each folder containing:
a. General description of the folder's content.  Copy pasta of the monoreadme™ description is fine if descriptive enough
b. How to build each folder. If no build needed then list that.
c. List how this folder depends on another folder in the repo
d. The date of the latest commit and the version number (if one) of that commit. Preferably directly below the title and description.
e. If the folder is actively being developed or if its deprecated.

I'm happy to assist on formatting

Right, this project seems still has uncertainty about architectures, need more detail for someone who is willing to contribute about subprojects. For Cclient subproject, after designing extended API calls should be a good time to write the README.md.

Slightly off topic, but the repo also doesn't have a license. Considering this repo is now pinned on the iotaledger organization page, it's more prominent and should probably have a license


Make the result of fragment-matcher deterministic

Is your feature request related to a problem? Please describe.
Hi. We have a repo where multiple developers are working on the same project. In the same repo result of fragment-matcher is saved to .json and committed. The thing that happens is that every time somebody generates this file, values in possible type arrays are sorted differently. I.e.
    "ConfirmEmailResponse": [
       "SuccessPayload",
-      "EmailDoesNotExists",
-      "InvalidToken"
+      "InvalidToken",
+      "EmailDoesNotExists"
    ],

Describe the solution you'd like
Have an option to sort values in possible type arrays alphabetical.
This shouldn't be hard to do. We just need to add .sort() in this file. I can create MR if you approve of this, but I need to know will this be optional feature, and how would opt in look like in config file.

Hi @filipcro,
This could definitely be a new optional configuration option to the fragment-matcher plugin. ⚡
Let me know when your PR is ready and I'll review it.


Use execa to launch ember-modules-codemod

It searches the various .bin directories correctly to more reliably find the ember-modules-codemod binary
Closes #184 #186

Thanks Ben

👍


Web - Offline message - The offline message is disappearing when Wifi is turned back

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

Action Performed:
Pre-Condition: Have another account you have access to and two different devices

Access https://staging.new.expensify.com/[](javascript:)
and Log into a valid Account A on Device A
Click on the chat with the other Account B
Disable internet connection by turning off Wifi on Device A
Send some messages, while offline, to Account B you have access to
Enable internet connection by turning on Wifi on Device A
Log into Account B on device B and verify the messages from Account A

Expected Result:

While sending messages Offline the user should see a message under the text box stating that he/she is in fact offline while writing

Once logged into Account B on Device B the user should have received the message from Account A

Actual Result:

While the user is typing in Offline mode on Device A, he/she does NOT see any message whatsoever stating that they are offline (This also happens on prod build https://new.expensify.com/[](javascript:)
)

Once logged into Account B on Device B the user has not received any message from Account A (Note: If the tab is refreshed on Account A on Device A, after reenabling Wifi, the entire text message that had been sent while wifi was disabled disappears as if it were never written)

Note : If the user send a message after the wifi is turned ON, only the message sent after the Wifi is ON will be received
The Account A used had 2FA enabled and this bug is reproduced for individual DM's or Group Messages. Also it is NOT reproduced vice versa, from iPhone to Mac, only from Mac to iPhone
Workaround:
Unknwon
Platform:

Where is this issue occurring?

Web

Version Number: 1.1.39_1
Reproducible in staging?: Y
Reproducible in production?: N
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
Bug5455342_Console.txt
https://user-images.githubusercontent.com/43996225/154183972-ca2a46ab-ac58-4e91-8891-cee430fa7067.mp4
https://user-images.githubusercontent.com/43996225/154183977-cf665b81-bce3-4caa-88c1-e9fe34db7bf9.mp4
https://user-images.githubusercontent.com/43996225/154183987-244cf2c8-c15a-4ebb-92a0-9e45f09361ec.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause
Slack conversation:
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Triggered auto assignment to @marcochavezf (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

Seems like the user being offline is not getting detected and is related to:

https://github.com/Expensify/App/issues/6059

Report comments are only going to be persisted if we know we're offline
Since they are not, they are getting lost (like any other non persisted request) when we refresh
Solving the ticket above and making sure internet connectivity is detected correctly would solve the current issue

I don't think this is deploy blocker

code around Network connectivity detection hasn't been changed recently
network related packages (net-info) haven't been changed recently

Also it's stated that the bug is already on PROD: "This also happens on prod build"

Thanks for that @kidroca! Yeah, this is not blocker, I'm going to close the ticket because the issue is already being addressed in the issue that @kidroca linked.


Make CI deterministic try 2

Continuation of #4138.

Yoooooo! The reference test is finally deterministic! It finally works!
I'm going to polish this PR tomorrow.

Alright, done. The output of JS code gen is finally deterministic.
The cause
The chain that caused the nondeterministic code gen is as follows:

Import IDs are nondeterministic
the order in which import adapters are added is nondeterministic
adapter IDs are nondeterministic
the order in which adapters are iterated is nondeterministic
code gen is nondeterministic.

So what are import IDs? Import IDs are the arena ID from walrus' ModuleImports. So they are just an index into a memory arena.
Since these IDs are nondeterministic, I suspect that imports are added into the arena in a nondeterministic order. However, I have no idea why that happens. My guess is that walrus just adds them in whatever order they appear in the WASM binary. This would explain why the order seems to depend on compiler versions and OS, and why #4138 (where I made everything in wasm bindgen deterministic) didn't work.
Honestly, I'm not sure what the bug here is. Is the bug that import IDs are nondeterministic, or that wasm bindgen relied on them being deterministic?
The fix
The fix I went with is quite simple: sort imports by name and not ID. Since the non-determinism of import IDs "infects" adapter IDs, I made sure that code gen doesn't depend on their order by sorting imports (and adapters of imports) by import name.
This works, but isn't ideal IMO. I would have preferred to make adapter IDs deterministic, but I couldn't. The wit code handling imports and import IDs is too complex for me.

Again, thank you for figuring this out!
This makes long-term maintenance a bit less annoying, so its very appreciated!


Gh 540

export MGC_BRANCH=gh-540 export  MGC_ACCOUNT=R-Lawton
curl https://raw.githubusercontent.com/R-Lawton/multicluster-gateway-controller/gh-540/hack/quickstart-setup.sh | bash

So I was thinking about this, I am not sure increasing the timeout is actually the solution.
If we look at the error
deployment.apps/mgc-cert-manager-webhook condition met
Waiting for istio deployments to be ready
deployment.apps/istio-operator condition met
error: no matching resources found

it is that there are no matching resources found. So I think it is more likely that we are doing the check before the deployment is in place. So adding more time wont stop the error IMO

So I was thinking about this, I am not sure increasing the timeout is actually the solution. If we look at the error
deployment.apps/mgc-cert-manager-webhook condition met
Waiting for istio deployments to be ready
deployment.apps/istio-operator condition met
error: no matching resources found

it is that there are no matching resources found. So I think it is more likely that we are doing the check before the deployment is in place. So adding more time wont stop the error IMO

Ok ill try a few other things, it is running now the last few times I've run in with the change but might still be flaky


Copy in settings vs keybindings editor

Testing #23287
Copy action in settings editor, copies and pastes the settings to user's settings
Copy action in keybindings editor, only copies, user has to open the keybindings.json file and paste it themselves.
User Experience is not consistent

There are lot of dis-similarties between Settings and Keybindings which makes sense because they are two different UIs. Former has settings.json file is always shown and has complete editing
experience. Where as later one is a complete UI.
Copy in keybindings editor does not always need to be copied into keybindings json file. User can always paste it anywhere.


Expose 'Embedded Windows Mode' as Editor Settings

Exposing a bool property interface/editor/embedded_windows_mode which allows to toggle between OS-Native and Embedded windows - used to speed up process of setting that feature instead of appending --single-window in command line (many of users might not be aware of that command property yet).

Would be nice to have an option for the project itself as well.

Would be nice to have an option for the project itself as well.

Yeah - I was actually thinking where would it suit the best - what do you think: Editor, Project, both?

@dreamsComeTrue I think you misunderstood. By a project setting, I mean an option to make windows embedded for your actual game.

@dreamsComeTrue I think you misunderstood. By a project setting, I mean an option to make windows embedded for your actual game.

Yes - exactly as I understand that - currently, it steers behaviour only for Editor.
And you want to extend it, to allow Users to set that checkbox and that should affect their Projects/Games - as well as the editor.
That's why I am asking - would it be nice to have that checkbox basically duplicated for Editor Settings and Project Settings as well? Aaand - where exactly in Project Settings should it fit the in your opinion?

Likely display/window.

Done as requested - now it is possible to change default Window rendering/behaviour separately - for Engine and for a Project as well (thanks to how Windows & MainLoop are being designed - there is no need to restart whole Editor when that setting is updated for a Project - effect is instantaneous!)

Thanks!


Provide wheels for sh

Hey, would it be possible to provide Python wheels for the latest sh version?
Wheels seem to be available on pypi for older versions, but they are missing for version 1.14.3 https://pypi.org/project/sh/1.14.3/#files

@amoffat Can you upload wheels for the latest version?

CD is live and 2.0.0 wheels are up


When i reboot out of the installation this comes up and i dont know what to do help

same, seems like the grub installation is broken in the current script version.

How long will it take to be fixed

we have to wait for the master @ChrisTitusTech  to tell us the answer

Doesn't seem like grub is the problem here. This is the screen that you see after grub while waiting for the system to boot.
What you can do is get more details of the boot.
You can do that by pressing 'e' at the grub menu, and replace 'quiet' with 'text'

I,ll try that in vmware

My bad, I did an upgrade and moved the BIOS GRUB install outside chroot and forgot to fix the directory. Should work now.

I just did a fresh install and got this same screen


Download error cs-x86_64-pc-win32.exe

I try to run coursier.bat version v2.0.0-RC6-26
Exception in thread "main" coursier.cache.ArtifactError$DownloadError: download error: Caught java.net.ConnectException: Connection refused: connect (Connection refused: connect) while downloading https://github.com/coursier/coursier/releases/download/v2.0.0-RC6-26/cs-x86_64-pc-win32.exe

https://github.com/coursier/coursier/releases/download/v2.0.0-RC6-26/cs-x86_64-pc-win32.exe
doesn't exist.

There were issues on the CI during the 2.0.0-RC6-25 and 2.0.0-RC6-26 releases. These were fixed for 2.0.0-RC6-27, tagged a few hours ago.


If VDU deployment fails, VNFR goes to ERROR

When NFVO allocate resources, in case of a VNFR with more than one VDU, if one VDU fails allocating resources, check if the whole VNFR must go to ERROR or not

@mpauls is this fixed now?

no. not yet fixed. Question is how to handle this situation? How to perform a this check? Where do we know from if the failing VDU was crucial or not? I think, if any VDU deployment fails, the entire VNFR goes to error. Is already like this.

and in the later case, if the nsr is removed also all the errored VMs are removed?

yes. deployment stops once any VM errored and is also added to the list of VNFC Instance besides the ones which were already launched correctly. All VMs spawned by the NFVO are in the list of VNFC instances in this case.

can be closed?

Depends if we decide that VDUs will be simply multiple instances of the same VNF or we want to add also the possibility of VDU dependencies. in the first case, the issue is still open in the second the issue does not exist and can be closed

Following the ETSI specification (see section 6.3 http://www.etsi.org/deliver/etsi_gs/NFV-SWA/001_099/001/01.01.01_60/gs_NFV-SWA001v010101p.pdf) a VNF can be made by different VDUs and each VDU can have multiple (identical) VNF components. However, dependencies are not discussed.


Request, Rocket transport system

Was wondering if it would be possible to implement a mobile rocket transport system. Build the rocket in a location then transport to launch pad. Would require new blocks for railcraft and maybe special track.

Probably will end up using a special track/entity combo for this

Maybe immersive railroading, or maybe even the crawler. Different plumes for different fuels sound nice as well.

Immersive Railroading's internals are not pretty and I am not integrating with "Train Simulator: Hey look, it runs on minecraft" the mod. We'd use our own entity for this, but moving entities are a pain.

Ok. I don't blame you, but at least we still have plans for rocket transportation.


Having trouble understanding how the "test_issue_token" passes

Hi @PatrickAlphaC
What I'm not understanding about this test is:
The dapp token supply is 1000000
The staking reward for staking 1 eth should be 2000 dapp since or INITIAL_PRICE_FEED_VALUE is 2000
We call the issueToken function so that each staker can get their staking rewards, the function calls the transfer method on the dapp token contract to transfer the funds ............BUT in the deploy script we transfered almost the whole supply FROM the dapp token contract TO the token farm contract.
This leaves the dapp token contract with only 100 tokens(which I think it's the KEPT_BALANCE constant) in it's balance and we have to transfer 2000 of them as reward
So how does the test passes? The dapp token contract should't have the neccessary funds to do that
Maybe I'm missing something

Hello @DieKant you are right, this is something we do as a security measure, the transfer funds should be a onlyOwner function, otherwise anyone would have access to the contract on etherscan and transfer to their wallet any amount they want to. so we send almost the total supply to the wallet which deploys de contracts as that wallet becomes the Owner of the contract, it mean you would actually transfer from the Owner wallet to the staker wallet the funds.
This is something you could handle with a third party decentralized admin called Oracle.

Hi @cromewar
Thank you for the answer, now I understand what is going on


Basism in autogen.sh

https://github.com/kjdev/apache-mod-brotli/blob/master/autogen.sh#L10
Please set Bash or use another command.

Debian's dash does not understand it.

Thank you.


Add a message handler to skipWaiting based on user events

This makes it straightforward to cause a refresh of the worker from
something like a popup banner where user input should be the trigger to
start the process. Ideally this would be included by default, but as it might conflict with identical implementations I put it in it's own block. Maybe that could change in a BC breaking version.
In an app that might look like
actions: {
 async click() {
   if ('serviceWorker' in navigator) {
	const reg = await navigator.serviceWorker.getRegistration();
	reg.waiting.postMessage('skipWaiting');
   }
 }
}

Duplicates the activate listener in the immediateClaim block since I believe it is
relevant in both places, but otherwise this change is incompatible with immediateClaim they essentially do opposite things.

So this would only work when you set immediateClaim: false and skipWaitingOnMessage: true right?
If that's the case, I'm fine changing it up to also work when immediateClaim is not set and skipWaitingOnMessage is true.

@martndemus good call. I reorganized a bit further to hopefully make it very clear what happens in each block.

@jrjohnson Hopefully I'm not too annoying, but could you move the code snippets in the if blocks up to the top so it becomes a bit more readable?
So that it looks like:
if (implicitImmediateClaim || explicitImmediateClaim) {
  module += SKIP_WAITING_ON_INSTALL;
}

No problem, that's way more readable.  I'm just sad it wasn't my idea.

Thanks!!!

(Published v0.6.11)


add phantom wallet

Hey Connectkit team.
I think this is all of the requirements to add a wallet to y'alls codebase.
I wasn't able to actually get Phantom to show up in the example apps after implementing these changes though. is there something I'm missing here? Any help is appreciated

Merging this in, but worth noting that the branding only appears if Phantom is set to Use Phantom. This should be fixed when the custom wallet configuration support is merged in


Python read json

I can reproduce the issue
When installing the python package through python setup.py sdist and building a wheel, the install fails because the symbols are not available at that point
So it seems to me like the python package should never rely directly on extension symbols, but instead go through DuckDB Core to do so?

Solution: don't interact directly with the JSON code 🙃


LCD status display

It would be an useful addition to the script if you could set up LCD screens that display information on the script's status.
originally suggested by DaemosDaen on the Steam Workshop comments section

The LCD should also display average/total power output of all managed solar panels.
[i]originally suggested by Random on the Steam Workshop comments section[/i]


Board file for Lattice's ICE40UP5K-B-EVN breakout board

https://www.latticesemi.com/en/Products/DevelopmentBoardsAndKits/iCE40UltraPlusBreakoutBoard
https://www.digikey.com/short/zz8540
I tried to make the connectors match the schematic, but I haven't verified their layout and I'm not sure about how to name "Header A" (J52) and the PMOD socket (U6 on the board and U11 on the schematic)?
Besides the standard 'Blinky' test, I checked the switch and LED behavior with this minimal design, so I'm pretty sure those are described correctly:
from nmigen import *
from nmigen_boards.ice40_up5k_b_evn import *

class EVNTest( Elaboratable ):
  def elaborate( self, platform ):
    m = Module()
    leds     = [ platform.request( 'led', i ) for i in range( 3 ) ]
    switches = [ platform.request( 'switch', i ) for i in range( 4 ) ]
    m.d.comb += [
      leds[ 0 ].o.eq( switches[ 0 ].i ),
      leds[ 1 ].o.eq( ~switches[ 1 ].i ),
      leds[ 2 ].o.eq( switches[ 2 ].i ^ switches[ 3 ].i )
    ]
    return m

if __name__ == "__main__":
  ICE40UP5KBEVNPlatform().build(EVNTest(), do_program=True)

Sorry about the messy commit log; I'm not sure how to cleanly merge upstream changes into a fork on GitHub. Thanks!

Thanks for your contribution! The messy commit log in this case is not a problem since I squash all PRs to this repo anyways.