Stopping service has no effect

I'm having recurring issues with WinSW 1.18 failing to SIGINT the service process when I stop the service from the control panel.  It seems to only happen if the service has been running without any issues for several weeks.
When I try to stop the service, it appears to immediately succeed (no visible wait/delay so I know it didn't work) and the service process (java.exe in this case) remains active. I then have to kill it manually from the task manager. I'm able to restart the service after that from the control panel without issue.
The log file doesn't show anything helpful.  Below is a relevant excerpt.
Failed Shutdown (runtime ~ 6 weeks)
2016-11-15 00:14:41 - Starting C:\Program Files\Java\jdk1.8.0_92\jre\bin\java.exe...
2016-11-15 00:14:41 - Started 1328
2016-12-27 23:59:54 - Stopping pCare
2016-12-27 23:59:55 - Finished pCare
2016-12-28 00:04:40 - Starting C:\Program Files\Java\jdk1.8.0_92\jre\bin\java.exe..
2016-12-28 00:04:40 - Started 13680
Normal Shutdown (runtime ~1 week)
2016-10-25 00:06:51 - Starting C:\Program Files\Java\jdk1.8.0_92\jre\bin\java.exe...
2016-10-25 00:06:51 - Started 588
2016-11-01 02:12:36 - Stopping pCare
2016-11-01 02:12:36 - ProcessKill 588
2016-11-01 02:12:37 - Stopping process 588
2016-11-01 02:12:37 - Send SIGINT 588
2016-11-01 02:12:54 - SIGINT to588 successful
2016-11-01 02:12:54 - Finished pCare
Config:
<service>
  <id>pCare</id>
  <name>TVRC-pCare</name>
  <description>pCare (Leviticus)</description>
  <executable>C:\Program Files\Java\jdk1.8.0_92\jre\bin\java.exe</executable>
   <arguments><!--omitted--></arguments>
    <workingdirectory>C:\TVRC\pCare</workingdirectory>
     <logpath>C:\TVRC\pCare\jetty\logs</logpath>
	<logmode>append</logmode>
	<stoptimeout>45sec</stoptimeout>
	<onfailure action="restart" delay="30 sec"/>
	<onfailure action="restart" delay="30 sec"/>
	<onfailure action="restart" delay="30 sec"/>
	<onfailure action="none"/>
	<resetfailure>5 min</resetfailure>
	<stopparentprocessfirst>true</stopparentprocessfirst>
</service>

Are there any known issues that might be causing this?

According to the code "ProcessKill xxx" should be always printed if Stoparguments are null (it means there is no stopargument tag defined). Here is the code: https://github.com/kohsuke/winsw/blob/winsw-1.18/Main.cs#L288-L303
Are you sure the config is same for both runs?

Thanks. Agree that "ProcessKill" should always be printed but in this case it definitely is not.
I've got no reason to suspect that the config is different between the runs.  I've also never fiddled with the  tag myself since I don't need to use an external shutdown application.
I'm pretty sure that if I were to restart the service now (one day after last update), it would work fine.
I will try that later and report back.
I looked further back through the log . I can't find one example where the service was up for at least a month and this issue did NOT occur.  Nor can  I find one example where it was up for less then a month and DID occur.
Bizarre. Also difficult to see any possible explanation from the code .

You can try the new SNAPSHOT build of WinSW (see GitHub Releases). the new releases improve overall logging in WinSW though I doubt it will help to catch this issue if it really happens somewhere. I can add more logging to the stopexecutable branch, so we may be able to at least confirm the fact the service goes to another branch of this code due to whatever reason

@rsargant any updates?

@oleg-nenashev Any advise ?


Add example with hot reloading

First thanks this great work! :D
I simply tried this module with the webpack hot reload, see following code, it used counter example:
Main process (with babel-core/register)
import thunk from 'redux-thunk';
import rootReducer from '../reducers';
import DevTools from '../containers/DevTools';
import { electronEnhancer } from 'redux-electron-store';
import { createStore, applyMiddleware, compose } from 'redux';
import { persistState } from 'redux-devtools';
import { ipcMain } from 'electron';

const finalCreateStore = compose(
  applyMiddleware(thunk),
  DevTools.instrument(),
  persistState(null),
  electronEnhancer({})
)(createStore);

export default function configureStore(initialState) {
  const store = finalCreateStore(rootReducer, initialState);

  ipcMain.on('renderer-reload', (event, action) => {
    delete require.cache[require.resolve('../reducers')];
    delete require.cache[require.resolve('../reducers/counter')];
    store.replaceReducer(require('../reducers'));
    event.returnValue = true;
  });

  return store;
}

Renderer process (with webpack)
import thunk from 'redux-thunk';
import rootReducer from '../reducers';
import DevTools from '../containers/DevTools';
import { createStore, applyMiddleware, compose } from 'redux';
import { persistState } from 'redux-devtools';
import { ipcRenderer } from 'electron';
import { electronEnhancer } from 'redux-electron-store';

const filter = {
  notifications: true,
  settings: true
};

const finalCreateStore = compose(
  applyMiddleware(thunk),
  DevTools.instrument(),
  persistState(null),
  electronEnhancer({filter})
)(createStore);

export default function configureStore(initialState) {
  const store = finalCreateStore(rootReducer, initialState);

  if (module.hot) {
    module.hot.accept('../reducers', () => {
      ipcRenderer.sendSync('renderer-reload');
      store.replaceReducer(require('../reducers'))
    });
  }

  return store;
}

There a better way to delete cache of main process?

I am currently working on an example and I will make sure to try this out!

I finally got to trying this out, terribly sorry for taking an entire 4 months to do so.  Unfortunately I didn't meet much success while using webpack for my main process files.
I had hoped that http://stackoverflow.com/a/14801711 would work out, however I had no luck.  It might work when webpack isn't used for the main process (it handles dynamic requires in a special way).
For me it seemed that deleting only '../reducers' would also invalidate ../reducers/counter as long as I didn't require counter separately, so I guess your way would still work as long as reducers are only included by other reducers.

Forgot to mention:
I put example code in the README, thanks for suggesting it!


The documentation is misleading that kube-proxy and kubelet are not on control-planes nodes

The documentation is misleading that kube-proxy and kubelet are not on control-planes nodes.
On page https://kubernetes.io/docs/concepts/architecture/ you can see image that do not show components kube-proxy and kubelet on control-plane node. I think it is not one mistake in the documetation.

What would you like to be added
On page https://kubernetes.io/docs/concepts/architecture/ in the diagram in "CONTROL PLANE" block need add kube-proxy and kubelet blocks.  And I think need to add "CRI" block in "CONTROL PLANE" block too.

page related to the issue: https://kubernetes.io/docs/concepts/architecture/

Kubernetes Worker Nodes only contain kubelet, kube-proxy

Each node contains a kubelet, which communicate with the Kubernetes control plane.
All nodes contain kube-proxy, that facilitates Kubernetes networking services.

There is no issue with the diagram. it depicts correctly

I think this is not correct.
Control-plane is different role of node, but when I make technical interview a candidates 100% sure that kubelet, kube-proxy are not on control-planes. I think the image is the problem.

yes, it is correct  kubelet, kube-proxy are not on control-planes. The image also shows same.

I use k8s 1.29.5 deploy with standard kubeadm. So I can see on control-plane kube-proxy.
$ kubectl get no -o wide
NAME                        STATUS   ROLES            AGE   VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                  KERNEL-VERSION                     CONTAINER-RUNTIME
ol9-master-151.my.private   Ready    control-plane    42d   v1.29.5   <IP_ADDRESS>   <none>        Oracle Linux Server 9.4   5.15.0-<IP_ADDRESS>.el9uek.x86_64   cri-o://1.29.4
ol9-worker-154.my.private   Ready    ingress,worker   42d   v1.29.5   <IP_ADDRESS>   <none>        Oracle Linux Server 9.4   5.15.0-<IP_ADDRESS>.el9uek.x86_64   cri-o://1.29.4
ol9-worker-155.my.private   Ready    ingress,worker   42d   v1.29.5   <IP_ADDRESS>   <none>        Oracle Linux Server 9.4   5.15.0-<IP_ADDRESS>.el9uek.x86_64   containerd://1.6.32

$ kubectl get po -A -o wide | grep proxy
kube-system          kube-proxy-59p9n                                    1/1     Running   16              37d   <IP_ADDRESS>    ol9-worker-154.my.private   <none>           <none>
kube-system          kube-proxy-9q7sz                                    1/1     Running   16              37d   <IP_ADDRESS>    ol9-master-151.my.private   <none>           <none>
kube-system          kube-proxy-j2vcf                                    1/1     Running   17 (144m ago)   37d   <IP_ADDRESS>    ol9-worker-155.my.private   <none>           <none>

$ kubectl get po kube-proxy-9q7sz -n kube-system -o yaml
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: "2024-06-01T04:49:49Z"
  generateName: kube-proxy-
  labels:
    controller-revision-hash: f966846b6
    k8s-app: kube-proxy
    pod-template-generation: "2"
  name: kube-proxy-9q7sz
  namespace: kube-system
  ownerReferences:
  - apiVersion: apps/v1
    blockOwnerDeletion: true
    controller: true
    kind: DaemonSet
    name: kube-proxy
    uid: 3721bef7-4306-43ff-85fb-e474916e4668
  resourceVersion: "168239"
  uid: 4b84e26a-cc63-443d-a260-1194073c001f
spec:
. . . . .

On control-plane I can see that kubelet is running
$ sudo pstree |  grep kubelet
        |-kubelet---15*[{kubelet}]

@engineater  control-plane and master node both are different things.
all components running on master nodes= are not control-place component.
kube-proxy and kubelete run on every master as well as worker node. control-place component are those gives instruction to other nodes and manage cluster.

@kundan2707  well in k8s 1.29 (maby start from 1.27) we do not have concept "master" node.
We have only concepts "control-plane" and "workers" nodes.
So if we say "control plane" that is mean "control-plane". No "master" node, because we do not have it.
For my prove
$ kubectl get no ol9-master-151.my.private -o yaml | grep master
    csi.volume.kubernetes.io/nodeid: '{"csi.tigera.io":"ol9-master-151.my.private"}'
    kubernetes.io/hostname: ol9-master-151.my.private
  name: ol9-master-151.my.private
  - address: ol9-master-151.my.private

$ kubectl get no ol9-master-151.my.private -o yaml | grep control
    volumes.kubernetes.io/controller-managed-attach-detach: "true"
    node-role.kubernetes.io/control-plane: ""
    key: node-role.kubernetes.io/control-plane
    - registry.k8s.io/kube-controller-manager@sha256:a9a64e67b66ea6fb43f976f65d8a0cadd68b0ed5ed2311d2fc4bf887403ecf8a
    - registry.k8s.io/kube-controller-manager@sha256:acdb952db121aa1e8182d70b36ceb868020e0435b7b8fd016dda1346acbc22a3
    - registry.k8s.io/kube-controller-manager:v1.29.5

Well if the diagram show architecture whitout mistakes.
Is it possible on page https://kubernetes.io/docs/concepts/architecture/ add some description that kubelet and kube-proxy also run on control-planes nodes?

control-plane is equivalent to "master" and it refers to a collection of critical components that manage the essential of the cluster concept.
control-plane nodes are nodes that are meant to run the control-plane components. There are different setups in production. For example, the control-plane components can be running on any of the "cluster nodes". They may be managed by the vendor rather than the cluster user. They can be deployed as static Pods or systemd services. When they are deployed as static Pods, you will need "kubelet" to bring them up, otherwise, you may and may not need kubelet at all.
There are many setups where the control-plane nodes are also used to deploy workload pods. You may want to deploy cluster management components such as authentication, 3rd-party webhook servers, monitoring, logging services there. If your control-plane nodes are big enough, you may want to host pods from some trusted namespaces as well.
In all, the whole thing is a pretty flexible. You choose your own topology, based on your business requirement, rather than what the typical setup is. They may and may not suit your needs.

@tengqm
I think you explanation will be good to see on document https://kubernetes.io/docs/concepts/architecture/ .

the easiest fix is for the linked page to mention that this is an example reference architecture.
additionally someone could expand with a paragraph of text what @tengqm has shared in his comment:
https://github.com/kubernetes/website/issues/47111#issuecomment-2214009124
/help

/sig architecture

I have some ideas for this issue if no one has started already!
/assign

thanks for the PR @robert-cronin . commented
https://github.com/kubernetes/website/pull/47164

@engineater would #47164 help here?

/remove-help

/close


The page number(s) indicator visually reacts like a button even though is not interactive as such

#/demos/sl-pagination

Possibly because the numbers are wrapped in ?  If not, why are they?

Even a span does this b/c we are using pagination wrong


Clang tidy cleanup

Since #10512 has grown to an incredibly big monster of a pull request I´ve split out the clang-tidy and CMake changes in a small separate pr.
here we:

clean up the clang-tidy configuration used on ci
disable compiler warnings for generated code in build directories

merging as the changes only affect configuration and bring down the warnings by a considerable amount.
should there still be warnings that we should disable we can do that in a different pr.


unexpected Relation specific hub key name in link (Example in Test 50)

In Test 50
   parent_key          | HK_RTKK_50_BBB_TTT ist not correct, since the relations are induced by the satellites.
ist must be  HK_RTKK_50_BBB_TTT
Affected tests:

[ ] 50
[ ] 4xx

Solved by new implementation of operation derivation


post-processing: reorganizing images

most of the time when there are 3-ups (and more), images need to be reorganized with an algorithm similar to https://github.com/buda-base/archive-ops/blob/master/scripts/reorder-nups/reorder-nups.py
but sometimes this should be applied, so it should be an option, perhaps in the json?

done


Add support for Lua comment style for MagicComments

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Prerequisites

[X] I'm using the latest version of Docusaurus.
[X] I have tried the npm run clear or yarn clear command.
[X] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[X] I have tried creating a repro with https://new.docusaurus.io.
[X] I have read the console error message carefully (if applicable).

Description
The current magic comment syntax for highlighting is great but it doesn't have support for Lua's comment style.
Lua uses -- for short single line comments. Right now I resort to using to using the C/Python comment styles as a workaround but this makes copy/pasting/testing the code snippets a pain since I need to keep removing these invalid lines.
Reproducible demo
No response
Steps to reproduce

Use lua language in CodeBlock
use magic comments to highlight regions of code

Expected behavior
Expected -- highlight-start and -- highlight-end to work in lua but it does not.
Actual behavior
Does not work
Your environment
No response
Self-service

[ ] I'd be willing to fix this bug myself.

Thanks, Haskell also uses this syntax, so we will get it in. However, it won't be turned on unless specifically in lua/Haskell code boxes to avoid ambiguity with the -- operator in C-like languages.

I can see that -- ... syntax is also used in SQL for single line comments. Along with /* ... */ syntax for multi-line comments.
So, maybe it makes sense to handle this case as well.

Hi @jcarrillo7 . I'd like to work on this issue. Can you please assign this to me?

@DeepakSR-12 Please check the issue more carefully. It already has a linked PR #8870.


Switching from localtime to localtime_r on non-Windows platforms.

localtime isn't thread-safe, since it returns a pointer to a
statically-allocated struct, whereas localtime_r takes the address of a
user-allocated struct.
This is only used in usrsctp_dumppacket.

Thanks for the patch.


Scenario runner

Hello Guys,

i am new at CARLA. I just downloaded carla release 0.9.11 and same for scenario runner.
As per the Carla doc., i tried to open the scenario runner with the command:
python scenario_runner.py but i am getting an error :
‘ import carla
No carla module found’
can anyone tell me why i am getting this error. What could be the problem?

Hey @Purvil2810, when using CARLA's Python API, you need to add several folders to the PYTHONPATH, have you done that? Here is a template:
# ${CARLA_ROOT} is the CARLA installation directory
# <VERSION> is the correct string for the Python version being used
# In a build from source, the .egg files may be in: ${CARLA_ROOT}/PythonAPI/dist/ instead of ${CARLA_ROOT}/PythonAPI
export CARLA_ROOT=/path/to/your/carla/installation
export PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}/PythonAPI/carla/dist/carla-<VERSION>.egg

My directory is like
Carlafolder>pythonAPI >carla>dist>.egg file
is it correct?
If it is not then how can we set your recommended template in windows?
please guide me.

I haven't set up environment variables in a long while on Windows but according to our SR Docs,  the windows template is something like:
# %CARLA_ROOT% is the CARLA installation directory
# <VERSION> is the correct string for the Python version being used
# In a build from source, the .egg files may be in: ${CARLA_ROOT}/PythonAPI/dist/ instead of ${CARLA_ROOT}/PythonAPI
set CARLA_ROOT=\path\to\your\carla\installation
set PYTHONPATH=%PYTHONPATH%;%CARLA_ROOT%\PythonAPI\carla\dist\carla-<VERSION>.egg


Diagnostics->pfTables: sort before slice

Hi!
sorry, did not take into account when I made https://github.com/opnsense/core/pull/4579
should sort before slice for correct sorting on paging

@AdSchellevis
sorry, should i close this pr and make new one  to resolve versions conflict?

@kulikov-a yes please, sorry about this, we needed to fix a bug there.

sure, no problem!


Allow load test to continue when there is a high error rate

I have set up a load test to test throttling in my service. In this test, I am expecting a high error rate from the throttling service returning HTTP response code 429 for throttled requests. However, when I run the test, it gets cancelled by Azure Load Testing and shows the error "The test was stopped due to a high error rate. Check your script and try again. In case the issue persists, raise a ticket with support." Because of this, I am not able to see the impact of throttling on CPU resources.
Please allow for tests to continue when there are expected errors. It would also be helpful to be able to configure a test to pass when a specific error code is returned.
AB#1686776

1

@jmbinger Thank you for sharing the feedback. Currently, the tests get aborted if the error rate is >90% for a 60 sec duration. Making the auto-abort configurable is on our roadmap.


S3E9 AMC Meeting (NLP) Announcement

AMC Meeting Announcement

S3E9
Season 3 Episodes 9

Date
2019.10.6 7-10 pm, Sunday

Location
821, 8th floor, BUPT Research Building

Chairman
@cgpeter96

Vice-chairman
@23LuZ

Previous Meeting

Minutes
Link

Blog
S3E8 (Season s Episodes e)

Issue
#367

Agenda
1. Oral

Oral should be prepared for 15 - 30 minutes, and no more than 45 minutes, including Q/A.

Presenter
Paper

None
None

2. Poster

Posters should be prepared for 5 - 10 minutes, and no more than 15 minutes, including Q/A.
No more than 4 posters per seminar. If there are more than 4 posters proposals(PRs), the chairman should pick at most 4, and leave the others in the PR queue.

Presenter
Paper

None
None

3. After Party
Everyone will be welcome. You can join or not join as you want (not required by the AMC), and change your mind at any time.

After Party will be started right after all the meeting agenda had been fulfilled.
We will find a bar and drink beers and talk whatever we want. (we can expect that it will be related to meeting topics of the day)
The bill will be paid AA

Party Animals

List all members here except those who confirmed not coming. Put 🍺 instead of 🍻 in front of the members' name if they said "maybe". Do not list them who said "not this time".

🍻 None
🍺 None

Newcomers

Please remove the following table and set the number to 0 if there's no newcomer.

Newcomers number: 1

Referrer
Newcomer
Bio

@huan
@NEWCOMER_GITHUB_USERNAME
ONE_SENTENCE_BIOGRAPHY

Confirmed Attendees
Total number: TOTAL_NUMBER

The member that does not give a talk should be quoted after a member who gives a talk.
Example: Alice_ will give a talk but Bob_ does not, and Bob_ wants to go with Alice:
@Alice (@Bob_)_

Role
People List

🧓 Chair
@cgpeter96

🧑 Vice-chair
@23LuZ

🗣 Oral
None

📰 Posters
None

👶 Newcomers
None

Well, I guess it's an initial version that is waiting to fill.

Register the event and refer to @cgpeter96


The developers.eos.io docker-quickstart is broken in docker eosio/eos-dev:v1.2.0

It works in v1.1.5 but not in v1.2.0 (latest as of now)...  The 1.2 container does not have the wallet_plugin or the wallet_api_plugin.
https://developers.eos.io/eosio-nodeos/docs/docker-quickstart
steps to re-produce
The container does not start (check with docker ps) so this comment returns nothing:
docker logs --tail 10 eosio

To see the error, I replaced the docker run -d (daemon) with -it (interactive) then run just bash without the -c command.  Then ran the -c command in the interactive container:
$ docker run --rm --name eosio -ti -p 8888:8888 -p 9876:9876 -v /tmp/work:/work -v /tmp/eosio/data:/mnt/dev/data -v /tmp/eosio/config:/mnt/dev/config eosio/eos-dev /bin/bash

root@2eacc395f349:/# nodeos -e -p eosio --plugin eosio::wallet_api_plugin --plugin eosio::wallet_plugin --plugin eosio::producer_plugin --plugin eosio::history_plugin --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin --plugin eosio::http_plugin -d /mnt/dev/data --config-dir /mnt/dev/config --http-server-address=<IP_ADDRESS>:8888 --access-control-allow-origin=* --contracts-console --http-validate-host=false
2018-08-15T12:54:24.728 thread-0   main.cpp:131                  main                 ] /eos/libraries/appbase/application.cpp(309): Throw in function appbase::abstract_plugin &appbase::application::get_plugin(const string &) const
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::runtime_error> >
std::exception::what: unable to find plugin: eosio::wallet_api_plugin

wallet_plugin and wallet_api_plugin is no longer supported in nodeos. Is there a reason you can't run keosd?

@ericiles
It looks like these are the paths that are searched for includes:
                                   -I /opt/eosio/contracts \
                                   -I /eos/contracts \
                                   -I /eos/contracts/libc++/upstream/include \
                                   -I /eos/contracts/musl/upstream/include \
                                   -I /eos/externals/magic_get/include \
                                   -I ${EOSIO_INSTALL_DIR}/include \
                                   -I${EOSIO_INSTALL_DIR}/include/libc++/upstream/include \
                                   -I${EOSIO_INSTALL_DIR}/include/musl/upstream/include \
                                   -I${BOOST_INCLUDE_DIR} \

the /eos/ path comes from the build environment
the EOSIO_INSTALL_DIR is implied to be the directory of the eosiocpp script.
@jcalfee please try to limit issues to a single problem, this issue is now tracking 2 issues:

[ ] 1.2.0 does not support running the wallet plugin in nodeos anymore
[ ] 1.1.5/1.1.2 eosiocpp has bad search paths.

@heifner

Is there a reason you can't run keosd?
No reason.  Using keosd is fine.

Also confused by current quickstart. Where to find keosd docker image ? :disappointed:

hi @jcalfee please check the latest page on developer portal. it got quite a lot update and should fix this issue. in case it is not, feel free to let us know via hotjar.


DS-2218: Unable to use command "update-handle-prefix"

Replaces #708 which had wrong target branch.

+1, tested on postgres.


Add more feature flags

The size of stylist has doubled since the fork from css-in-rust and still increasing.
This issue aims to add more feature flags to minimise the final bundle size by allowing users to disable unused features.

If you want to split the yew-specific features, I propose that "yew_integration" switches on some default finer grained ones, and that the details are controlled by specific ones.
yew_integration = ["yew_use_media_query", "yew_use_style"]
yew_use_media_query = ["yew", "web-sys/MediaQueryList", "gloo-events"]
yew_use_style = ["yew"]

In my experience wasm-pack is sufficient to eliminate most unused functions from the final bundle and the added compile time doesn't yet hurt the default experience too much. Thus, yew_integration becomes a sort of default switch for yew features and the actual impl hides behind more specific features.

In my experience wasm-pack is sufficient to eliminate most unused functions

If this is actually working reliably, it will improve the user experience for everyone.
(e.g.: I can remove feature parser and simply give debug assertions to everyone and users will only pay for runtime parser if it is actually used in release mode.)
Unfortunately, this is not always the case.
Whilst I don't know what code can be effectively tree-shaken by wasm-opt and what cannot, use_media_query and use_style seems to be able to be tree-shaken effectively at the moment.

Thus, yew_integration becomes a sort of default switch for yew features and the actual impl hides behind more specific features.

If the code can be effectively tree-shaken, do we still need a feature flag for each feature?

(e.g.: I can remove feature parser and simply give debug assertions to everyone and users will only pay for runtime parser if it is actually used in release mode.)

If the code can be effectively tree-shaken, do we still need a feature flag for each feature?

Features that enable optional dependencies (i.e. nom with parser, syn with macros, yew with yew_integration) have a second purpose besides just shrinking the bundle: helping compile time. E.g. with macros, the whole compilation pipeline has to wait for syn to compile I think. Might be worth to spend some time checking this and other techniques


Remove top level with lib; and with import ... in pkgs/top-level/

Description of changes
Using with at a top-level scope is an anti-pattern. The tracking issue is #208242. This is a pure refactor: there is, or ought to be, no functional change contained in this PR, even though https://github.com/NixOS/nixpkgs/pull/293835/commits/83339e48d0fdabc4590507329600195f01e4dcb1 drops a few internal names from release-lib.nix.
This PR changes the files that used top-level with lib; and with import ...; in the pkgs/top-level/ directory.
Here's what remains:
$ rg --sort=path '^with' pkgs/top-level/
pkgs/top-level/aliases.nix
20:with self;

pkgs/top-level/all-packages.nix
11:with pkgs;

pkgs/top-level/emscripten-packages.nix
3:with pkgs;

pkgs/top-level/java-packages.nix
3:with pkgs;

pkgs/top-level/linux-kernels.nix
22:with linuxKernel;

pkgs/top-level/metrics.nix
3:with pkgs;

pkgs/top-level/perl-packages.nix
23:with self; {

pkgs/top-level/python-aliases.nix
3:with self;

pkgs/top-level/python2-packages.nix
7:with self; with super; {

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

How am I supposed all these changes?

@drupol, good question:

How am I supposed [to review] all these changes?

Yeah, it's a little difficult through the web UI of GitHub.
Here's how I concocted them. Maybe that'll help with review.

Whenever there is a with <expr> statement, whatever is in <expr> must be an attrset, and whatever values that attrset has are exposed to the scope that the with covers. If the with is at the top level, that's going to be the rest of the file, usually.
To remove the with, two steps are required:

Discover all the values from the <expr> attrset
Find which of those are being used in the file.

In the case of with lib, we can find those values with nix eval --json --apply builtins.attrNames nixpkgs#lib.
I ran rg -wof /tmp/lib.nix.names on (say) pkgs/top-level/kodi-packages.nix
I took the names and I put them in a let block at the same level as the with used to be.
If there were any uses of lib. that corresponded with one of those names, I removed the lib.. This is not strictly necessary, but it's both nice -- there's one way of referring to the same symbol, rather than two ways -- and it's slightly more performant, as I understand it.

For the users of release-lib.nix, I did similarly.

I generated the list of attributes coming from release-lib.nix.

$ nix eval --impure --json --apply builtins.attrNames --expr 'import ./pkgs/top-level/release-lib.nix { supportedSystems = null; }' | jq -r '.[]' yields these names.

For each of the names, I checked whether there was any mention outside of release-lib.nix whatsoever. These names failed that test:

_mapTestOnHelper
crossMaintainers
mkPkgsFor

I used the "explicit inherit" technique to just have exactly the set of items that ought to be exported be exported.
In the users, I created a variable for the release-lib.nix import, then did the same rg -wof /tmp/release-lib.nix.names on the file to see what names each file used.

For the top-level files, I did this:
nix-instantiate  --eval pkgs/top-level/release.nix --arg supportedSystems '[ "x86-64-linux" ]'

Finally, wherever there was a chance to run the file directly -- most of the release*.nix files say how to run them -- I did so, Ctrl-C'ing the process once I was sure it had gotten through evaluating the top-level file.

How am I supposed all these changes?

The best thing I have done in this UI is to activate side-by-side view instead of the typical stacked diffs.
It helps a lot comparing deletions and substitutions!

I'd like to add for consideration, that locally qualified calls to lib have a crucial advantage over let ... inherit: they scale better because they don't require updates in two locations. If you remove the last instance of a name or add a new one, you have to go up and update the let ... inherit block. Unqualified calls make the code more concise, but brevity doesn't always improve readability. For instance, I'd strongly advise against unconditional eta-reduction because in my experience that adds cognitive overhead when reading code.
Removing top-of-file with is definitely an improvement to readability, regardless what it's replaced by, but we should at least ask around before doing wholesale changes. In particular I'd like to have @infinisil's and @roberth's opinion on this.

One of the reasons I'm doing PR-by-PR changes instead of a tree-wide PR is precisely to have these conversations and get rough agreement, so I'm delighted to have the conversation, especially at the beginning of the effort.
On the topic of lib.thing vs. thing.
The number one thing I find clarifying is that there's one way to access the same symbol. For some reason, this cuts through the thicket of aliasing for me in a way little else does. I also prefer a bunch of use statements at the top of a file in Rust to crate::symbol1, crate::symbol2 for the same reason. As I read the file, usually from top to bottom, it's a statement that "in this house we use the following things".
In that way, it's similar to the argument list in a callPackage-style package: it's the necessary prelude to what comes next.
I'll note that the argument that "you have to change it in two places, and it's hard to remember to do so" applies equally to callPackage-style packages, where the dependencies are first mentioned at the top of the file, and are then used in the body, sometimes at a large remove.
As in that case, the impact should the user fail to remove the extra inherited symbol is low: it's dead code, but not much of it, and not a real tripping hazard.
But I'm quite open to other points of view. In particular, lib.thing for very short names (looking at you, lib.or) might be more readable.
You did say one thing that I didn't picture a code example for:

I'd strongly advise against unconditional eta-reduction

Could you say more about what that looks like?

As I read the file, usually from top to bottom, it's a statement that "in this house we use the following things".

This is a valid argument for slurping code, but fails for reviewing code, where you usually get tiny slices with little context. Such code style decisions have to make a trade-off between use cases. And we'd have to figure out how first-time readers interact with the code. If you're fixing a bug, chances are you'll grep yourself into the middle of a large file rather than reading a library top to bottom.
Again, maybe I'm overthinking it, because simply stating the origin of symbols is already a huge improvement, and the rest may not matter by far as much.

I'd strongly advise against unconditional eta-reduction

Could you say more about what that looks like?

Usually you'd eta-reduce something like this:
{ g, h }:
let
  f = name: value: g (h name) value;
in
attrs: builtins.mapAttrs f attrs

to something like this:
{ g, h }:
let
  f = name: g (h name);
in
builtins.mapAttrs f

But especially when attribute names and values have domain-specific meaning and you'd give them relevant symbol names, the second version makes that additional information disappear, which would otherwise have helped understanding both the purpose and the structure of the code. But that was an irrelevant aside for the with and let ... inherit problem.

Actually let's just merge, this should be fine :rocket:

@roberth, who introduced the inherit from lib pattern :)

I don't think I invented it; I just applied it in lib itself.
I feel ambivalent about more "qualified names", because we don't actually have a language module system such that "qualified names" are a thing and exactly equivalent to importing the thing directly.
Also the names of sublibraries can interfere:
withMetadata = fileset: fileset.unions [ ./package.yaml ./LICENSE fileset ];

The added structure can be nice, but also arbitrary. Where does mapAttrsToList go? If it's attrsets or lists, surely listToAttrs can't be in the same sublibrary, etc.


Release Google.Cloud.PubSub.V1 version 3.6.0

Changes in this release:
Bug fixes

Correct the auto-extend lease interval for exactly-once delivery. (commit c33999d)
Dispose the pull stream. (commit 3518402)

New features

Add push config wrapper fields (commit 1cdef74)
Add support for Publisher Compression. (commit e684e05)

Documentation improvements

Clarify the use of FlowControlSettings in SusbcriberClient. (commit 7081baf)

Created release for Google.Cloud.PubSub.V1-3.6.0


Upgrade to v1.6 fails during cdk synth

Describe the bug
While upgrading to v1.6 with a custom domain setting, the build fails during cdk synth stage.
Complete logs from the build stage: https://gist.github.com/blitzmohit/7fb21ac8c3fdb01453a8254304211b3e
How to Reproduce
Upgrade from v1.5 to v1.6 with internet_facing: true along with custom_domain including certificate_arn
Expected behavior
No response
Your project
No response
Screenshots
No response
OS
Linux
Python version
3.9.17
AWS data.all version
1.6
Additional context
The issue seems related to the modifications made in https://github.com/awslabs/aws-dataall/pull/529/files#diff-c65de5ab1eebd2a930807381430fa602793cc9966ab2a064cb29603162377030
It seems it is related to the ViewerCert being passed and difference in configuration properties mentioned in https://docs.aws.amazon.com/cdk/api/v2/python/aws_cdk.aws_cloudfront/README.html#the-distribution

Hello @blitzmohit ,
Thank you for opening the issue.
I've prepared a fix for this in #607 , and I'm starting to do a fresh deployment (-> v1.5 -> v1.6) to test if it works as expected.
Do you mind also trying out the fix in your deployment?
Thanks a lot!

@dbalintx Thank you for looking into this. I was able to get the cloudstack to work with similar modifications late last night and was hoping to create the PR this morning.
Note that there were 2 other issues related to cloudfront that our deploy encountered after this :

Resource handler returned message: "Invalid request provided: AWS::CloudFront::Distribution: One or more of the CNAMEs you provided are already associated with a different resource. (Service: CloudFront, Status Code: 409, Request ID: xxxxx-xxxx-xxxx-xxxx)" (RequestToken: xxxxx-xxxx-xxxx-xxxx, HandlerErrorCode: InvalidRequest)
For this one I had to manually remove the CNAME from the current distribution and then rerun the deploy. Not sure if this something we can work around in the code and would be good to mention this in the release notes if that is the case.

Resource handler returned message: "Invalid request provided: AWS::CloudFront::Distribution: The certificate that is attached to your distribution doesn't cover the alternate domain name (CNAME) that you're trying to add. For more details, see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-requirements (Service: CloudFront, Status Code: 400, Request ID: xxxxx-xxxx-xxxx-xxxx)" (RequestToken: xxxxx-xxxx-xxxx-xxxx, HandlerErrorCode: InvalidRequest)
The certificate we were using only contained the CNAME for the root domain however did not have the userguide subdomain which caused the userguide distribution to fail. I'm not certain when this check was enabled as our deploys for v1.5 were working fine with same setup. This was easy enough to fix with a new cert containing both the domains.


Expose rtm/start, or let user provide their own wss url

At https://github.com/casidiablo/slack-rtm/blob/master/src/slack_rtm/core.clj#L146-L147 lots of useful information returned by rtm/start is being discarded. This should be exposed to the end user, or else let them provide their own URL from calling rtm/start themselves so they can access the response data however they wish.

This is addressed in my fork: https://github.com/devth/slack-rtm
I'm happy to submit a PR if interested.

Yes, please PR.
Thanks.

Sorry, I didn't see your reply as gh notifications were going to my spam folder. I'll PR soon.


Adjust OnyxBadge to align with other components

We want to align the property naming between the designs and the implementation.

[ ] Rename "type" in Figma to "variant"

https://www.figma.com/file/YfEUBOHk4J4nYrk04geswG/onyx---Design-System-Figma-Library?node-id=1113%3A2754&mode=dev

Proposal: Rename properties of all components that change the color to color instead of type or variant since its more intuitive for the user in my opinion


Workflow does not complete even though Pod completed

Pre-requisites

[X] I have double-checked my configuration
[X] I can confirm the issue exists when I tested with :latest
[X] I have searched existing issues and could not find a match for this bug
[ ] I'd like to contribute the fix myself (see contributing guide)

What happened/what did you expect to happen?
Workflow is submitted and waits for a while, but does not finish.
Any Workflow looks the same.
When I check the status of the pod, it says Completed and the logs appear to be complete.
Also, even though the pod does not appear to be running in the UI, the logs can still be retrieved in the UI.
It appears that we can no longer track the status of the Pod.

01054855@CF0313 minikube % k get po -n develop-workflow
NAME                                                                READY   STATUS      RESTARTS   AGE
p3-deletion-policy-mask-or-delete-user-data-66xf6-main-2457154088   0/2     Completed   0          6h12m
shinkobetsu-check-expired-enrollments-1709510400-main-933938806     0/2     Completed   0          7h45m
wonderful-rhino-argosay-67614653                                    0/2     Completed   0          2m23s
01054855@CF0313 minikube % k logs -n develop-workflow wonderful-rhino-argosay-67614653
time="2024-03-04T07:43:36.342Z" level=info msg="capturing logs" argo=true
hello argo
time="2024-03-04T07:43:37.343Z" level=info msg="sub-process exited" argo=true error="<nil>"

Version
v3.5.5
Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
metadata:
  name: wonderful-rhino
  namespace: develop-workflow
  labels:
    example: 'true'
spec:
  arguments:
    parameters:
      - name: message
        value: hello argo
  entrypoint: argosay
  templates:
    - name: argosay
      inputs:
        parameters:
          - name: message
            value: '{{workflow.parameters.message}}'
      container:
        name: main
        image: argoproj/argosay:v2
        command:
          - /argosay
        args:
          - echo
          - '{{inputs.parameters.message}}'
  ttlStrategy:
    secondsAfterCompletion: 300
  podGC:
    strategy: OnPodCompletion

Logs from the workflow controller
It's large, so I'm attaching it.

Logs from in your workflow's wait container
No resources found in argo namespace.

wonderful-rhino.log

time="2024-03-04T07:43:46.402Z" level=warning msg="workflow uses legacy/insecure pod patch, see https://argo-workflows.readthedocs.io/en/release-3.5/workflow-rbac/" namespace=develop-workflow workflow=wonderful-rhino

It seem like wait container has no access permission TaskResult, can you retrieve the log of wait container?
https://github.com/argoproj/argo-workflows/blob/7286d499a60e38e226365ac0300571963379e00c/workflow/executor/executor.go#L820-L828

time="2024-03-04T07:43:46.402Z" level=info msg="pod reconciliation didn't complete, will retry" namespace=develop-workflow workflow=wonderful-rhino

taskResultIncomplete is always false, so podReconciliation shows it did not complete and is retrying indefinitely.
https://github.com/argoproj/argo-workflows/blob/7286d499a60e38e226365ac0300571963379e00c/workflow/controller/taskresult.go#L66-L73
@shuangkun It seems like a regression bug releated to #12537 .

We were experiencing the same issue, we rollbacked to version 3.5.4

Does the pod was set common.AnnotationKeyReportOutputsCompleted, "true"? @panicboat

I reproduced this bug by modify the rbac of executor as below:
rules:
- apiGroups:
  - argoproj.io
  resources:
  - workflowtaskresults
  verbs:
  - patch

logs of wait container:
time="2024-03-05T11:52:21.280Z" level=info msg="Starting Workflow Executor" version=untagged
time="2024-03-05T11:52:21.285Z" level=info msg="Using executor retry strategy" Duration=1s Factor=1.6 Jitter=0.5 Steps=5
time="2024-03-05T11:52:21.285Z" level=info msg="Executor initialized" deadline="2024-03-05 11:57:19 +0000 UTC" includeScriptOutput=false namespace=argo podName=wonderful-rhino templateName=argosay version="&Version{Version:untagged,BuildDate:2024-03-01T07:42:24Z,GitCommit:de0a271708cfa990e7232afdb83dbc8825933930,GitTag:untagged,GitTreeState:clean,GoVersion:go1.21.7,Compiler:gc,Platform:linux/amd64,}"
time="2024-03-05T11:52:21.290Z" level=warning msg="failed to patch task set, falling back to legacy/insecure pod patch, see https://argo-workflows.readthedocs.io/en/latest/workflow-rbac/" error="workflowtaskresults.argoproj.io is forbidden: User \"system:serviceaccount:argo:default\" cannot create resource \"workflowtaskresults\" in API group \"argoproj.io\" in the namespace \"argo\""
time="2024-03-05T11:52:21.300Z" level=info msg="Starting deadline monitor"
time="2024-03-05T11:52:23.302Z" level=info msg="Main container completed" error="<nil>"
time="2024-03-05T11:52:23.302Z" level=info msg="No Script output reference in workflow. Capturing script output ignored"
time="2024-03-05T11:52:23.302Z" level=info msg="No output parameters"
time="2024-03-05T11:52:23.302Z" level=info msg="No output artifacts"
time="2024-03-05T11:52:23.302Z" level=info msg="S3 Save path: /tmp/argo/outputs/logs/main.log, key: wonderful-rhino/wonderful-rhino/main.log"
time="2024-03-05T11:52:23.302Z" level=info msg="Creating minio client using static credentials" endpoint="minio:9000"
time="2024-03-05T11:52:23.302Z" level=info msg="Saving file to s3" bucket=my-bucket endpoint="minio:9000" key=wonderful-rhino/wonderful-rhino/main.log path=/tmp/argo/outputs/logs/main.log
time="2024-03-05T11:52:23.312Z" level=info msg="Save artifact" artifactName=main-logs duration=9.81889ms error="<nil>" key=wonderful-rhino/wonderful-rhino/main.log
time="2024-03-05T11:52:23.312Z" level=info msg="not deleting local artifact" localArtPath=/tmp/argo/outputs/logs/main.log
time="2024-03-05T11:52:23.312Z" level=info msg="Successfully saved file: /tmp/argo/outputs/logs/main.log"
time="2024-03-05T11:52:23.313Z" level=warning msg="failed to patch task set, falling back to legacy/insecure pod patch, see https://argo-workflows.readthedocs.io/en/latest/workflow-rbac/" error="workflowtaskresults.argoproj.io is forbidden: User \"system:serviceaccount:argo:default\" cannot create resource \"workflowtaskresults\" in API group \"argoproj.io\" in the namespace \"argo\""
time="2024-03-05T11:52:23.323Z" level=info msg="Alloc=6796 TotalAlloc=12606 Sys=20325 NumGC=5 Goroutines=10"
time="2024-03-05T11:52:23.325Z" level=warning msg="Non-transient error: workflowtaskresults.argoproj.io \"wonderful-rhino\" not found"
time="2024-03-05T11:52:23.325Z" level=error msg="executor error: workflowtaskresults.argoproj.io \"wonderful-rhino\" not found"

I think this issue may be rbac problem, rather than a regression bug, but need more information to confirm it.

Yes, we had the same idea, and I just reproduced it using this method.

I reproduced this bug by modify the rbac of executor as below:
rules:
- apiGroups:
  - argoproj.io
  resources:
  - workflowtaskresults
  verbs:
  - patch

logs of wait container:
time="2024-03-05T11:52:21.280Z" level=info msg="Starting Workflow Executor" version=untagged
time="2024-03-05T11:52:21.285Z" level=info msg="Using executor retry strategy" Duration=1s Factor=1.6 Jitter=0.5 Steps=5
time="2024-03-05T11:52:21.285Z" level=info msg="Executor initialized" deadline="2024-03-05 11:57:19 +0000 UTC" includeScriptOutput=false namespace=argo podName=wonderful-rhino templateName=argosay version="&Version{Version:untagged,BuildDate:2024-03-01T07:42:24Z,GitCommit:de0a271708cfa990e7232afdb83dbc8825933930,GitTag:untagged,GitTreeState:clean,GoVersion:go1.21.7,Compiler:gc,Platform:linux/amd64,}"
time="2024-03-05T11:52:21.290Z" level=warning msg="failed to patch task set, falling back to legacy/insecure pod patch, see https://argo-workflows.readthedocs.io/en/latest/workflow-rbac/" error="workflowtaskresults.argoproj.io is forbidden: User \"system:serviceaccount:argo:default\" cannot create resource \"workflowtaskresults\" in API group \"argoproj.io\" in the namespace \"argo\""
time="2024-03-05T11:52:21.300Z" level=info msg="Starting deadline monitor"
time="2024-03-05T11:52:23.302Z" level=info msg="Main container completed" error="<nil>"
time="2024-03-05T11:52:23.302Z" level=info msg="No Script output reference in workflow. Capturing script output ignored"
time="2024-03-05T11:52:23.302Z" level=info msg="No output parameters"
time="2024-03-05T11:52:23.302Z" level=info msg="No output artifacts"
time="2024-03-05T11:52:23.302Z" level=info msg="S3 Save path: /tmp/argo/outputs/logs/main.log, key: wonderful-rhino/wonderful-rhino/main.log"
time="2024-03-05T11:52:23.302Z" level=info msg="Creating minio client using static credentials" endpoint="minio:9000"
time="2024-03-05T11:52:23.302Z" level=info msg="Saving file to s3" bucket=my-bucket endpoint="minio:9000" key=wonderful-rhino/wonderful-rhino/main.log path=/tmp/argo/outputs/logs/main.log
time="2024-03-05T11:52:23.312Z" level=info msg="Save artifact" artifactName=main-logs duration=9.81889ms error="<nil>" key=wonderful-rhino/wonderful-rhino/main.log
time="2024-03-05T11:52:23.312Z" level=info msg="not deleting local artifact" localArtPath=/tmp/argo/outputs/logs/main.log
time="2024-03-05T11:52:23.312Z" level=info msg="Successfully saved file: /tmp/argo/outputs/logs/main.log"
time="2024-03-05T11:52:23.313Z" level=warning msg="failed to patch task set, falling back to legacy/insecure pod patch, see https://argo-workflows.readthedocs.io/en/latest/workflow-rbac/" error="workflowtaskresults.argoproj.io is forbidden: User \"system:serviceaccount:argo:default\" cannot create resource \"workflowtaskresults\" in API group \"argoproj.io\" in the namespace \"argo\""
time="2024-03-05T11:52:23.323Z" level=info msg="Alloc=6796 TotalAlloc=12606 Sys=20325 NumGC=5 Goroutines=10"
time="2024-03-05T11:52:23.325Z" level=warning msg="Non-transient error: workflowtaskresults.argoproj.io \"wonderful-rhino\" not found"
time="2024-03-05T11:52:23.325Z" level=error msg="executor error: workflowtaskresults.argoproj.io \"wonderful-rhino\" not found"

I think this issue may be rbac problem, rather than a regression bug, but need more information to confirm it.

Yes, we had the same idea, and I just reproduced it using the method.

My apologies, The environment at the time of the report has been reverted to v3.5.4, so it will take some time to confirm.

The environment at the time of the report has reverted to v3.5.4.
Can I use data acquired in a different environment?
apiVersion: v1
kind: Pod
metadata:
  annotations:
    kubectl.kubernetes.io/default-container: main
    workflows.argoproj.io/node-id: wonderful-rhino-67614653
    workflows.argoproj.io/node-name: wonderful-rhino(0)
    workflows.argoproj.io/outputs: '{"artifacts":[{"name":"main-logs","s3":{"key":"wonderful-rhino/wonderful-rhino-argosay-67614653/main.log"}}]}'
    workflows.argoproj.io/report-outputs-completed: "true"

% kubectl logs wonderful-rhino-argosay-67614653 --container wait
time="2024-03-06T02:52:35.289Z" level=info msg="Starting Workflow Executor" version=v3.5.5
time="2024-03-06T02:52:35.291Z" level=info msg="Using executor retry strategy" Duration=1s Factor=1.6 Jitter=0.5 Steps=5
time="2024-03-06T02:52:35.291Z" level=info msg="Executor initialized" deadline="0001-01-01 00:00:00 +0000 UTC" includeScriptOutput=false namespace=default podName=wonderful-rhino-argosay-67614653 templateName=argosay version="&Version{Version:v3.5.5,BuildDate:2024-02-29T21:00:43Z,GitCommit:c80b2e91ebd7e7f604e88442f45ec630380effa0,GitTag:v3.5.5,GitTreeState:clean,GoVersion:go1.21.7,Compiler:gc,Platform:linux/arm64,}"
time="2024-03-06T02:52:35.294Z" level=warning msg="failed to patch task set, falling back to legacy/insecure pod patch, see https://argo-workflows.readthedocs.io/en/release-3.5/workflow-rbac/" error="workflowtaskresults.argoproj.io is forbidden: User \"system:serviceaccount:default:argo\" cannot create resource \"workflowtaskresults\" in API group \"argoproj.io\" in the namespace \"default\""
time="2024-03-06T02:52:35.301Z" level=info msg="Starting deadline monitor"
time="2024-03-06T02:52:46.308Z" level=info msg="Main container completed" error="<nil>"
time="2024-03-06T02:52:46.308Z" level=info msg="No Script output reference in workflow. Capturing script output ignored"
time="2024-03-06T02:52:46.308Z" level=info msg="No output parameters"
time="2024-03-06T02:52:46.308Z" level=info msg="No output artifacts"
time="2024-03-06T02:52:46.309Z" level=info msg="S3 Save path: /tmp/argo/outputs/logs/main.log, key: wonderful-rhino/wonderful-rhino-argosay-67614653/main.log"
time="2024-03-06T02:52:46.314Z" level=info msg="Creating minio client using static credentials" endpoint=s3.amazonaws.com
time="2024-03-06T02:52:46.314Z" level=info msg="Saving file to s3" bucket=panicboat-sandbox-723535945756 endpoint=s3.amazonaws.com key=wonderful-rhino/wonderful-rhino-argosay-67614653/main.log path=/tmp/argo/outputs/logs/main.log
time="2024-03-06T02:52:46.508Z" level=info msg="Save artifact" artifactName=main-logs duration=198.899084ms error="<nil>" key=wonderful-rhino/wonderful-rhino-argosay-67614653/main.log
time="2024-03-06T02:52:46.508Z" level=info msg="not deleting local artifact" localArtPath=/tmp/argo/outputs/logs/main.log
time="2024-03-06T02:52:46.508Z" level=info msg="Successfully saved file: /tmp/argo/outputs/logs/main.log"
time="2024-03-06T02:52:46.510Z" level=warning msg="failed to patch task set, falling back to legacy/insecure pod patch, see https://argo-workflows.readthedocs.io/en/release-3.5/workflow-rbac/" error="workflowtaskresults.argoproj.io is forbidden: User \"system:serviceaccount:default:argo\" cannot create resource \"workflowtaskresults\" in API group \"argoproj.io\" in the namespace \"default\""
time="2024-03-06T02:52:46.522Z" level=info msg="Alloc=11144 TotalAlloc=17418 Sys=24421 NumGC=4 Goroutines=10"
time="2024-03-06T02:52:46.523Z" level=warning msg="failed to patch task set, falling back to legacy/insecure pod patch, see https://argo-workflows.readthedocs.io/en/release-3.5/workflow-rbac/" error="workflowtaskresults.argoproj.io \"wonderful-rhino-67614653\" is forbidden: User \"system:serviceaccount:default:argo\" cannot patch resource \"workflowtaskresults\" in API group \"argoproj.io\" in the namespace \"default\""
time="2024-03-06T02:52:46.530Z" level=info msg="Deadline monitor stopped"
time="2024-03-06T02:52:46.530Z" level=info msg="stopping progress monitor (context done)" error="context canceled"

Thanks. Does this workflow works well? I see the pod has label AnnotationKeyReportOutputsCompleted. Wait container only
just missing create rbac should work well.

This workflow was also not completed.

Thanks. Does this workflow works well? I see the pod has label AnnotationKeyReportOutputsCompleted. Wait container only just missing create rbac should work well.

We were investigating in the wrong direction. The main issue was that the workflow example provided in the issue was not the actual one being executed.
This bug can be reproduced by the following workflow:
metadata:
  name: wonderful-rhino
  labels:
    example: 'true'
spec:
  arguments:
    parameters:
      - name: message
        value: hello argo
  entrypoint: argosay
  templates:
    - name: argosay
      retryStrategy:
        affinity: {}
        limit: 3
        retryPolicy: Always
      inputs:
        parameters:
          - name: message
            value: '{{workflow.parameters.message}}'
      container:
        name: main
        image: argoproj/argosay:v2
        command:
          - /argosay
        args:
          - echo
          - '{{inputs.parameters.message}}'
  ttlStrategy:
    secondsAfterCompletion: 300

@shuangkun pod.name does not equal to nodeID in PodNameV2.
https://github.com/argoproj/argo-workflows/blob/c80b2e91ebd7e7f604e88442f45ec630380effa0/workflow/controller/operator.go#L1131
https://github.com/argoproj/argo-workflows/blob/c80b2e91ebd7e7f604e88442f45ec630380effa0/workflow/controller/operator.go#L1388-L1396

Yes, I found and fixed this problem before.

@shuangkun pod.name does not equal to node.ID in PodNameV2.
https://github.com/argoproj/argo-workflows/blob/c80b2e91ebd7e7f604e88442f45ec630380effa0/workflow/controller/operator.go#L1131
https://github.com/argoproj/argo-workflows/blob/c80b2e91ebd7e7f604e88442f45ec630380effa0/workflow/controller/operator.go#L1388-L1396
Why release-v3.5.5 missed this line?
https://github.com/argoproj/argo-workflows/blob/e00abd1ded9e8f4787093b84f6cb26ee0870ec7c/workflow/controller/operator.go#L1394

Yes, I found and fixed this problem before.

@isubasinghe  Can you have a look for this?  I submitted a PR before, I find this line is right(podName -> nodeId) I https://github.com/argoproj/argo-workflows/blob/v3.5.5/pkg/apis/workflow/v1alpha1/workflow_types.go#L1943 , but this line is miss in 3.5.5. https://github.com/argoproj/argo-workflows/blob/e00abd1ded9e8f4787093b84f6cb26ee0870ec7c/workflow/controller/operator.go#L1394   Thanks.

Thanks for investigating @shuangkun and @jswxstw !
I ran a diff and, as suspected, there would've been a merge conflict on that line:
# git diff release-3.5 main -- workflow/controller/operator.go
# [...]
-               woc.log.Warn("workflow uses legacy/insecure pod patch, see https://argo-workflows.readthedocs.io/en/latest/workflow-rbac/")
-               resultName := woc.nodeID(pod)
+               woc.log.Warn("workflow uses legacy/insecure pod patch, see https://argo-workflows.readthedocs.io/en/release-3.5/workflow-rbac/")
+               resultName := pod.GetName()
# [...]

So it probably got resolved incorrectly unfortunately. I also missed that when I was checking Isitha's work -- that one's definitely a hard one to manually detect while parsing through large diffs.
@shuangkun could you file a PR to the release-3.5 branch to fix this? I'm also wondering (as I did on Slack) if a test should've caught that bug

Thanks for investigating @shuangkun and @jswxstw !
I ran a diff and, as suspected, there would've been a merge conflict on that line as there were other changes around it:
# git diff release-3.5 main -- workflow/controller/operator.go
# [...]
-               woc.log.Warn("workflow uses legacy/insecure pod patch, see https://argo-workflows.readthedocs.io/en/latest/workflow-rbac/")
-               resultName := woc.nodeID(pod)
+               woc.log.Warn("workflow uses legacy/insecure pod patch, see https://argo-workflows.readthedocs.io/en/release-3.5/workflow-rbac/")
+               resultName := pod.GetName()
# [...]

So the merge conflict probably got resolved incorrectly unfortunately. I also missed that when I was checking Isitha's work -- that one's definitely a hard one to manually detect while parsing through large diffs.
@shuangkun could you file a PR to the release-3.5 branch to fix this? I'm also wondering (as I did on Slack) if a test should've caught that bug

https://github.com/argoproj/argo-workflows/pull/12755/files  Thanks. I add a pr.  Do you mean we should add a test to prevent this from happening? If So, I can add a test.

this really is solved by updating Role associated to serviceAccount that are linked to argo nodes with this https://argo-workflows.readthedocs.io/en/release-3.5/workflow-rbac/ (requirement for >= v3.4)
just adding this rule to the role linked to every single SA that is being used by argo workflows, fixes everything.
- apiGroups:
      - argoproj.io
    resources:
      - workflowtaskresults
    verbs:
      - create
      - patch

to all the roles being used, unlocks this "bug".
Regarding to documentation, it looks more than there is needed to specify the need of inclusion of this rule everywhere, more than rolling back code.
By the way, the default argo-role in https://github.com/argoproj/argo-workflows/releases/download/${ARGO_VERSION}/install.yaml, lacks too the rule.
Probably a missalignment between doc, the default installation manifest, and this upgrade have been made from v3.4?

Probably a missalignment between doc, the default installation manifest, and this upgrade have been made from

Yes, it is now possible to solve the problem by increasing permissions so that executors use workflowtasks instead of pod annotations to report output.

By the way, the default argo-role in https://github.com/argoproj/argo-workflows/releases/download/${ARGO_VERSION}/install.yaml, lacks too the rule.

This rule is in executor role if use namespace-install.
However, this issue shows that cluster-install is used, so this rule is in admin clusterrole and there is a need to bind it.

Regarding to documentation, it looks more than there is needed to specify the need of inclusion of this rule everywhere, more than rolling back code.

The PR doesn't roll back code, it fixes a merge conflict that was incorrectly resolved in 3.5.5.
There were some small changes to the docs coming out of #12391, specifically #12445 and then #12680. I hope that is enough, but perhaps it needs to be referenced in other places too.
Per https://github.com/argoproj/argo-workflows/issues/12391#issuecomment-1946909175, the RBAC was always listed as needed in the docs, but prior to 3.5.2, some simple steps could bypass it.

By the way, the default argo-role in https://github.com/argoproj/argo-workflows/releases/download/${ARGO_VERSION}/install.yaml, lacks too the rule.

This rule is in executor role if use namespace-install. However, this issue shows that cluster-install is used, so this rule is in admin clusterrole and there is a need to bind it.

I think there's a misunderstanding here, only the quick start manifests contain a Role for the Executor.
Neither the cluster-install (which is install.yaml) nor the namespace-install provide a Role for the Executor. That is up to the user to set-up for multiple reasons. The workflowtaskresults RBAC is the minimum required, but more could be necessary depending on your use-case (e.g. creating a k8s resource). In the quick start, the Role is bound to the default SA, but in a production install, default shouldn't be used and what SA a user uses is not known ahead of time by the manifests. (Note that the Helm charts, which can be configured, have an optional Executor SA)
The argo-role from the cluster-install is the Controller's Role, it binds to the argo SA.

#12755. Thanks. I add a pr. Do you mean we should add a test to prevent this from happening? If So, I can add a test.

@shuangkun yes I meant adding a regression test, specifically checking that the nodeID is being used. Does pod.GetName instead of nodeID not cause other issues?

@shuangkun following up on the above regarding tests


Is there any way to close the date picker ?

Hi,
Meant like a close button ,
Thanks in advance

You can implement one yourself, if you need it. But it's application logic, and not framework decision to make. You may want to add inputAccessoryView with a hide button, or you may want to dismiss picker interactively. There are a lot of ways to react to user input.
Usually in my applications i use UIScrollView keyboardDismissMode property to hide keyboard.

i see, thanks for suggestion


Create pricing card

As a Super Admin, I want to be able to quickly create a pricing card from the main page "Тарифи" so I do not have to search for the necessary pricing card and that the change could be displayed for next orders. The User can create a new pricing card only with existing locations, couriers and receiving stations from the database.
User Flow
Main UBS menu -> Choose "Тарифи”  -> tools “Gear”
Preconditions
The user should be logged in as a Super Admin
Acceptance Criteria

When the user wants to create a new pricing card he/she should tap on “Створити картку”
https://www.figma.com/file/JvDAu4MHnh1Vxc5FaokyiA/ITA-UBS-styles?node-id=20020%3A62075

When the user taps on “Створити картку”, will appear pop-up window named “Створити картку” with fields:

Field title
Field type
Condition
Prefilled text
Validation

“Кур’єр”
Drop-down list
Mandatory
Placeholder “Обрати кур'єра”
The system shall show the courier suggestions based on the database. Suggestions are displayed by a drop-down list.

“Станція приймання”
Input field Drop-down list with check boxes
Mandatory
Placeholder “Обрати станцію приймання”
After typing 1 character, the system shall show the station suggestions based on the database. Suggestions are displayed by a drop-down list.

“Область”
Drop-down list
Mandatory
Placeholder “Обрати область”
The system shall show the region suggestions based on the location database. Suggestions are displayed by a drop-down list.

“Місто”
Input field  Drop-down list with check boxes
Mandatory
Placeholder “Обрати місто”
After typing 1 character, the system shall show the city suggestions based on the location database. Suggestions are displayed by a drop-down list.

Button “Скасувати”
Button
Mandatory

Active by default.When the user clicks on the button - the window “Створити картку"  was closed and the user sees the previous page "Тарифи” view

Button “Створити”
Button
Mandatory

Inactive by default.When the user selects any points - the button will be active.When the user clicks on the button - the card should be saved,  the window “Створити картку” was closed and the user sees the previous page "Тарифи” view

“Дата”
Text
Mandatory

Current data in the format mmm_dd,yyyy

“Додано:”
Text
Mandatory

Name of logged Super Admin

Link of the mockup in Figma https://www.figma.com/file/JvDAu4MHnh1Vxc5FaokyiA/ITA-UBS-styles?node-id=20706%3A64447
3. The system should show the courier/region/city suggestions (except in receiving stations) the English field based on the database. These fields should be mandatory and uneditable.
4. To create and save a new pricing cart the user should fill all fields. Otherwise the button “Створити” should be disabled.
5.
5.1. When the user selects the city in the field “Місто”, the selected city will appear as a text (with English equivalent). The user should be able to delete the newly added city. The user must be able to delete the selected city.
5.2. The user can select more than one city. After that in the field "Місто" should displaied a text "  обрано"
https://www.figma.com/file/JvDAu4MHnh1Vxc5FaokyiA/ITA-UBS-styles?node-id=20706%3A65556
6.
6.1. When the user selects the station in the field “Сортувальна станція”,  selected stations will appear as a text. The user should be able to delete the newly added station. The user must be able to delete the selected stations.
6.2. The user can select more than one station. After that in the field "Станція сортування" should displaied a text "  обрано"
7. When the user selects fields that match an existing card in the database and presses the button “Створити”, appears validation message: “За цими критеріями вже існує тарифна картка. Вам потрібно внести зміни”. https://www.figma.com/file/JvDAu4MHnh1Vxc5FaokyiA/ITA-UBS-styles?node-id=20706%3A65673
If the user select one or more cities in the field “Місто” and/or "Сортувальна станція", when he/she clicks the button “Скасувати” appears the pop-up window that consists:
the message “Скасувати. Ви дійсно хочете скасувати внесені зміни? ”
the button “Так” is active. When the User clicks on the button - the pop-up was closed and the user sees the previous main page "Тарифи” view.
the button “Ні” is active. When the user clicks on the button - the pop-up is closed and the user sees the previous page "Створити картку” view.
https://www.figma.com/file/JvDAu4MHnh1Vxc5FaokyiA/ITA-UBS-styles?node-id=20786%3A64539
8. When the user wants to save the card with a new location, he/she must click on the button “Створити”, then appears the window that duplicate all selected fields
https://www.figma.com/file/JvDAu4MHnh1Vxc5FaokyiA/ITA-UBS-styles?node-id=20706%3A65673
8.1. When the user clicks the button “Скасувати” appears the pop-up window that consists:
the message “Скасувати. Ви дійсно хочете скасувати внесені зміни? ”
the button “Так” is active. When the User clicks on the button - the pop-up was closed and the user sees the previous main page "Тарифи” view.
the button “Ні” is active. When the user clicks on the button - the pop-up is closed and the user sees the previous page "Створити картку” view.
https://www.figma.com/file/JvDAu4MHnh1Vxc5FaokyiA/ITA-UBS-styles?node-id=20786%3A64539
Epic link
Epic #2195

In the AC 5.1 was deleted about "enter" according to the current implementation and approval of our PM ( old ver.: "When the user selects the city in the field “Місто” and presses “Enter” selected city will appear as a text".)

In the AC 6.1. "When the user selects the station in the field “Сортувальна станція” and presses “Enter” selected stations will appear as a text". - was deleted  "and presses “Enter”, according to implementation and approval by PM.


GeoViews types default to PlateCarree CRS

All geoviews Elements default to PlateCarree CRS.

Reasoning outlined in: https://github.com/ioam/geoviews/issues/39

Thanks for linking to the issue. Reasoning makes sense as a change to me so I'll merge.


Hero: In mobile, remove top spacing when no image

When there's no image in the Hero, we should remove the space for the image in mobile design. Or rather, the space should be less. See designs.

How it should be:

@justintemps @Shashika6 With this fix, the space was completely removed but there should still be a gap of 48px between breadcrumb and hero on tablet and mobile. Does this need to be fixed in the design system or in the website?
Website

Design

@justintemps The breadcrumb gets hidden when the device is not large is this the expected behaviour ?


Generator does not complain about undefined 'required' properties

The generator does not complain here:
    FancyObject:
      required:
        - new2
        - next
      properties:
        next:
          type: string
        old:
          type: string

Is this more a validation issue... ?

Your sample is actually valid, as the additionalProperties property is by default true, which means there can be additional properties where one of them must be new2. If you set it to false, it would be invalid and a validator should complain.
But the additionalProperties in combination with properties is not yet supported by this plugin (see chapter Limitations) and the plugin itself does no further validation. It might complain if the generation due to an invalid spec is not possible. I would still prefer to separate the validation and generation and therefore close this issue.


[WIP] Tests household.py functions

This PR sets up tests for the functions in the household.py module.

@hdoupe I think some of the recent test failures in Travis CI are due to the time limit for tests being exceeded.  Obviously, I could think about pulling some tests out of what is run on Travis CI.  Do you recommend anything else (e.g., is there a way to increase the run time on Travis CI)?

@jdebacker It looks like there is a build time-out at 120 minutes which seems plenty long enough to run the core test suite. I just looked back at PR #343 and the tests took 20 minutes to run. Which tests that have been added since then are taking so long?

@hdoupe Two long-running tests were added:

test_startyears.py
test_user_inputs.py

However, I used the decorator @pytest.mark.full_run for each.  I was hoping that meant that they wouldn't only be run if one specified the full run in pytest.  But they must be running in the Travis CI tests.  How do I avoid this?


feat: added flags for chapters

This PR fixes #53

The feature tests now take 64 times longer to complete. That's not going to work.

Additionally, you don't need a 9 min video to test these features. I don't think it's necessary to test whether whisper is transcribing audio in a test suite. Keep the feature tests to the features rather than testing the libraries.

Nice job speeding this up.
https://github.com/bitcointranscripts/tbtbtc/pull/62#issuecomment-1421820154 and specifically the comment about adding a 9 min video. I want to remove that 5MB asset from the repo if we don't need it. Don't you like a 15-second clip could accomplish the same thing as this full-length video?

Nice job speeding this up.
#62 (comment) and specifically the comment about adding a 9 min video. I want to remove that 5MB asset from the repo if we don't need it. Don't you like a 15-second clip could accomplish the same thing as this full-length video?

I think a 15-second clip wont be able to have chapters in it.

🎉


Fix: Close probabilistic part of unit tests

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


add a way to specify center for aimable abilities

There are abilities where you can decide where an attack is supposed to happen/a gadget is supposed to spawn. It would be nice to be able to do this in the sim as well.
Examples: All Bow CA, Fischl E, Gorou E, ...

In case of Bow CA a shortcut for targeting any Bloom Core would maybe be good.


2.6.1 Release: Merge v2-master from upstream

Codecov Report

Merging #245 into v2-master will decrease coverage by 0.04%.
The diff coverage is 63.93%.

@@             Coverage Diff              @@
##           v2-master    #245      +/-   ##
============================================
- Coverage      53.65%   53.6%   -0.05%
============================================
  Files            910     911       +1
  Lines          25043   25068      +25
  Branches        4316    4320       +4
============================================
+ Hits           13436   13438       +2
- Misses         11607   11630      +23


Cart functionality

Hello,
Please check my cart functionality approach.
And implemented mobile first and BEM in all the pages except cart which i will incorporate soon.

You have not covered all the pages in here, I cant see PLP or PDP, are those part of some other PR ?
Also I can see that you have added all the methods on the window object. Try reading about the module design pattern and implementing it.


Create lukealexdavis.co.uk.md

Pingdom results:
https://tools.pingdom.com/#607c96000e400000
97.9 KB

Looks good, but the URL needs to be formatted as such:
lukealexdavis.co.uk


6.0 Feedback:  [Design QA] Round 2: T2 Device Details

Overview
This is round 2 of the T2 Device Details page. First round review can be found at #10842
Current Behavior
No response
Expected Behavior
Round 2 feedback on T2 Device Details Page
Link to view annotated frame in Figma
This is looking so good btw!

[ ]  (1) I have my viewport at 1000px, and wondering why the temp module card isn't locking into that second column?
[ ]  (2) Can we add in the different states to the toggle? I've pulled them all to the right of this screenshot in figma
[ ]  (3) Let's up the margin-bottom on .dZngDm to 1rem
[ ]  (4) Not sure if this is the appropriate place for this feedback: Noticing that when I open the menu overflow and click it again to close it doesn't close it. Recording here.
[ ]  (5) Just a wee bit too much spacing going on here, couldn't quite figure out what the culprit was. Should have 1rem (purple box height)
[ ]  (6) Could we have an 8px margin between columns so we don't have text get super close like this?
[ ]  (7) I'm not sure how things are linked, but I noticed that this overflow button isn't picking up @jerader's latest push to fix the various states of this button.
[ ]  (8) Also, can we push the open menu 4px down? currently sitting at the bottom of the menu button icon but should be a bit of space between them
[ ]  (9) Noticing this empty space here

Can we add in the different states to the toggle? I've pulled them all to the right of this screenshot in figma

This will be addressed by my other PR: https://github.com/Opentrons/opentrons/pull/11020


add (fixation) position to event properties

Description of the problem
Fixation position is currently missing from the event properties in events.event_properties().
Description of a solution
The new function for this property should use the positional data to get the position centroid of the sequence.
The result should be given as list in a single column.
Minimum acceptance criteria

[ ] a registered position() event property function

Sample Code
The new function should have the following signature:
def position(position_columns: tuple[str, str] = ('x_pos', 'y_pos')) -> pl.Expr:

The output schema of the resulting dataframe should be:
{'position': pl.List(pl.Float64)}

closed with #421 and #423


simplify code

refactor generate mount pod

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@9999e15). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #269   +/-   ##
=========================================
  Coverage          ?   74.17%
=========================================
  Files             ?       20
  Lines             ?     1657
  Branches          ?        0
=========================================
  Hits              ?     1229
  Misses            ?      384
  Partials          ?       44

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 9999e15...5d44d5b. Read the comment docs.


Update correctness of UG

In the last PR that was merged (#137), there was a typo that needs to be fixed.

LGTM.


Minor Typo in "set-up-git" Documentation

Step 9 on page ( https://docs.docker.com/project/set-up-git/ )reads as follows:
git -s -m "Making a dry run test."

Looks like I jumped the gun.  The code in git is correct but the docs page hasn't been updated.
https://docs.docker.com/project/set-up-git/


Changed description on Override caller ID Policy

The subtract I've changed of the text was confusing, as enabling "Override Caller ID Policy" will allow only the user to choose if he wants to call showing his number or as anonymous. It won't allow the user to change if he wants to see the number of the caller or not.

@nenonix @JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@LanaChin
PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Badger 2040W Won't Connect to Unsecured Wireless

Our school uses heavily filtered, unsecured wireless - mainly for any non-staff devices.
Our recently bought Badger 2040Ws don't want to connect to the unsecured WiFi (standard Raspberry Pis connect fine). We've tried several variations in the WIFI_CONFIG.py file, but without any luck.
We've tried:
PSK = ""
PSK = None
Adding a line with: KEY_MGMT = None
Replacing the PSK line with: KEY_MGMT=None
I've tried taking a look at net_info.py, but it only seems to pass the SSID and PSK from WIFI_CONFIG.py
Any ideas guys?

Hi,
Put together this simple wifi connect function whilst implementing an MQTT channel on my Badger 2040W (with very useful info from: https://core-electronics.com.au/guides/getting-started-with-mqtt-on-raspberry-pi-pico-w-connect-to-the-internet-of-things/).
Never tried connecting to open networks, but this would allow multiple connect tries and reporting, which should help with finding the solution.
Good luck .... Gerry
Code________________________________________
import network
from time import sleep
ssid = 'myssid'
password = 'mypassword' # or whatever required for open network ???
def connect_to_wifi(max_connection_tries):
print("*** connecting to network *")
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password)
for i in range(0, max_connection_tries):
connect_tries = i
print(" network connection try: " + str(connect_tries))
if not wlan.isconnected():
connect_status = 'Not Connected'
connection = (0,0,0,0)
print('... Waiting for connection ... try#: ' + str(connect_tries))
sleep(1)
else:
connection = wlan.ifconfig()
connect_status = 'Connected'
break
return connection, connect_status, connect_tries
Test
connection_attempts = 20 # or whatever ...
connection, connect_status, connect_tries = connect_to_wifi(connection_attempts)
print(connection)
print(connect_status)
print(connect_tries)

There was a bug in MicroPython's handling of open wireless networks, discussed and eventually fixed here - https://github.com/micropython/micropython/issues/9016
Badger 2040W isn't building against the latest version of MicroPython yet, so it's very possible this could be the problem.

There was a bug in MicroPython's handling of open wireless networks, discussed and eventually fixed here - micropython/micropython#9016
Badger 2040W isn't building against the latest version of MicroPython yet, so it's very possible this could be the problem.

Thanks Gadgetoid - I'd read that thead when researching the issue and assumed the latest version of Badger 2040W would have this - good to know that a fix should eventually come. Thanks!

Looks like v0.0.5 might fix this -- @pottsrichard, could you verify?


Add database folder to .gitignore

Thanks for this - can you break it into 3 pull requests?
database folder to .gitignore
using clone_from_slice
using bincode to encode db keys

Now there's 5 commits. 8|


Error: unable to locate asset entry in pubspec.yaml: "assets/CupertinoIcons.ttf". Target debug_android_application failed: Exception: Failed to bundle asset files.

Hi all I am facing this issue for the last 5 -7 days I have also tried with different flutter SDK and when I  am running flutter doctor it is showing all correct.
kindly Help me.
Error: unable to locate asset entry in pubspec.yaml: "assets/CupertinoIcons.ttf".
Target debug_android_application failed: Exception: Failed to bundle asset files.
FAILURE: Build failed with an exception.

Where:
Script 'C:\flutterSdk\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1151

What went wrong:
Execution failed for task ':app:compileFlutterBuildDebug'.

Process 'command 'C:\flutterSdk\flutter\bin\flutter.bat'' finished with non-zero exit value 1

Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 25s
Running Gradle task 'assembleDebug'...                             26.6s
Exception: Gradle task assembleDebug failed with exit code 1

It seems your question is best suited for support channels like StackOverflow, so please ask the same there for solutions if any.
For quick search results, please see these StackOverflow answers: https://stackoverflow.com/questions/59432187/error-unable-to-locate-asset-entry-in-pubspec-yaml-assets-fonts-lato-regular
Closing for now.

Thanks but this not working because after solving that issue the next same issue is appearing.
Error: unable to locate asset entry in pubspec.yaml: "fonts/LineAwesome.ttf".
Target debug_android_application failed: Exception: Failed to bundle asset files.


RTD builds failing with warnings

As of two days ago our RTD builds started failing with warnings. Here's a few of them from a build from this morning:

/home/docs/checkouts/readthedocs.org/user_builds/feature-labs-inc-evalml/checkouts/2084/docs/source/demos/cost_benefit_matrix.ipynb:: WARNING: Line 813 exceeds the line-length-limit.
/home/docs/checkouts/readthedocs.org/user_builds/feature-labs-inc-evalml/checkouts/2084/docs/source/demos/cost_benefit_matrix.ipynb:1: WARNING: Each notebook should have at least one section title
/home/docs/checkouts/readthedocs.org/user_builds/feature-labs-inc-evalml/checkouts/2084/docs/source/user_guide/model_understanding.ipynb:: WARNING: Line 497 exceeds the line-length-limit.
/home/docs/checkouts/readthedocs.org/user_builds/feature-labs-inc-evalml/checkouts/2084/docs/source/user_guide/model_understanding.ipynb:1: WARNING: Each notebook should have at least one section title
…
/home/docs/checkouts/readthedocs.org/user_builds/feature-labs-inc-evalml/checkouts/2084/docs/source/tutorials.ipynb:39: WARNING: toctree contains reference to document ‘demos/cost_benefit_matrix’ that doesn’t have a title: no link will be generated
/home/docs/checkouts/readthedocs.org/user_builds/feature-labs-inc-evalml/checkouts/2084/docs/source/tutorials.ipynb:39: WARNING: toctree contains reference to document ‘demos/cost_benefit_matrix’ that doesn’t have a title: no link will be generated

Dup of #2086 which was just closed, closing


Generating unwanted column at start

Hi, Thanks for the project, it is working properly.
But it is generation a column at start

I Solved the issue by set HeadersVisibility="Column".
Thanks


Cannot call legacy functions

device_count() panics with value: FailedToLoadSymbol("/lib64/libnvidia-ml.so: undefined symbol: nvmlDeviceGetComputeRunningProcesses_v3")
nvml_wrapper version: 0.9.0 (with legacy-functions feature)
nvidia driver version: 470.161.03
Is something else required to call the v2 version of this function?

The readme states:

By default this wrapper only provides access to the newest function versions. Enable the legacy-functions feature if you require the ability to call older functions.

So in your Cargo.toml you should have something like:
[dependencies]
nvml-wrapper = { version = "0.9.0", features = ["legacy-functions"]}

@lharri73 Nvml.device_count() is implemented as:
    pub fn device_count(&self) -> Result<u32, NvmlError> {
        let sym = nvml_sym(self.lib.nvmlDeviceGetCount_v2.as_ref())?;

        unsafe {
            let mut count: c_uint = mem::zeroed();
            nvml_try(sym(&mut count))?;

            Ok(count)
        }
    }

Meaning it is already trying to call the v2 version of the function (self.lib.nvmlDeviceGetCount_v2).
The error you shared implies you were trying to call Device.running_compute_processes(). Can you clarify what you were calling here and share a bit of your code please? 🙂

Closing for inactivity. If you're still having issues feel free to comment 🙂


xxe-pe: init at 9.4.0

Motivation for this change
Add a proprietary DocBook editor free for personal use.
https://www.xmlmind.com/xmleditor/
Based on ghidra derivation. Would prefer to use openjdk14 as that is what the installation guide shows but that seems to need to be built from scratch (including webkit:exclamation:), the guide also says Java 8+ is needed so openjdk11 should be fine.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

I recommend opening Preferences from the Options in menu bar, and in the Save pane, setting indentation to 1 and max line length to 999999999 to minimize the Nixpkgs diffs.


Landing page without journey

Replaces the journey landing page with the old (current live) version, and also hides the bottom nav related links code from pages that have it.
Removals

hide old landing page and associated CSS so they don't compile - they are renamed to _index.html and _index.less
hide the output for related_links.html code so that nothing appears on front end in the bottom nav - the old code is hidden from compiler at _related_links.html

Changes

copy index page from current live site to index.html
copy CSS from current live site to index.less

Testing

check out branch locally
run sh frontendbuild.sh
run grunt deploy
view front end and test following pages - none should have a bottom nav and the old non-journey landing page should be the homepage:

http://localhost:7000/process/
http://localhost:7000/process/
http://localhost:7000/process/
http://localhost:7000/loan-estimate/
http://localhost:7000/closing-disclosure/
http://localhost:7000/mortgage-estimate/
http://localhost:7000/mortgage-closing/

Confirm the follow features are not built:

http://localhost:7000/loan-comparison/
http://localhost:7000/prepare-worksheets/

Review

@stephanieosan
@virginiacc

Screenshots

Notes for launch
To reverse hiding pages, the following will be needed:

[ ] delete index.html
[ ] delete related_links.html
[ ] delete index.less
[ ] rename _index.html to  index.html
[ ] rename _related_links.html to  related_links.html
[ ] rename _index.less to  index.less

Checklist

[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the front end playbook
[ ] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[ ] Visually tested in supported browsers and devices
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

Ooh, this looks promising! Going to pull it down and check it out more.

This looks great! :+1:
We'll need to turn off the journey-related browser tests for the landing page, and there will probably be some conflicts/link updates once #587 (the explore-rates change) is merged. But other than that, this looks ready to go when we want to make the switch!


Document what each command does at the JIRA level

It'd be nice if there was documentation walking through what each command does at the JIRA level. E.g. status transitions, keywords added, cross-links made, etc... The idea is that if the bot goes down, a human could keep doing what the bot would do, and once the bot is back up, it wouldn't be confused and could pick up from where the human left off.

PR in #7.  Following Fred Brooks, I've opted to show my tables and leave my flowcharts implicit.

PR in #7. Following Fred Brooks, I've opted to show my tables and leave my flowcharts implicit.

I had to look up this reference, so just sharing for anyone following along - https://libquotes.com/fred-brooks/quote/lbe4p3u


[Format][Docs] Describe C device interface on C data interface and C stream interface docs pages

Describe the enhancement requested
The following facts are not immediately obvious to readers of the C data interface and C stream interface docs pages:

The C data interface is a CPU-only subset of the C device data interface.
The C stream interface is a CPU-only subset of the C device stream interface.
We will never remove the existing CPU-only C data/stream interfaces (because we must keep them to preserve compatibility with existing systems)...
... but when we add new structure definitions (for example as in #43632), we will add them only to the C device data/stream interfaces (to reduce duplication of efforts).
In other words, the CPU-only C data/stream interfaces are in "maintenance mode."
This will force developers that are currently using the CPU-only C data/stream interfaces and who wish to use the new structures to switch over to using the C device data/stream interfaces. This is simple enough to do.

To make this clearer, we should add note boxes to to CDataInterface.rst and CStreamInterface.rst to explain some of this and to link to CDeviceDataInterface.rst. The note boxes should clearly state that the CPU-only C data/stream interfaces are in "maintenance mode."
Component(s)
Documentation, Format

The note boxes should clearly state that the CPU-only C data/stream interfaces are in "maintenance mode."

I think we should be careful about the wording, so it is clear that almost all content on those pages are still relevant, because even when implementing the device interface, a lot of the content you need is actually explained on the C data interface / C stream interface pages.
Somewhat related to that, I have thought in the past if we should consolidate the C data interface / C stream interface pages. I know historically they have been added (and voted) as two separate interface. But I think keeping them separate actually is also confusing (because again many of the details for the stream interface are then actually explained on the data interface page)

we should be careful about the wording
Agreed, thanks @jorisvandenbossche

... we should consolidate the C data interface / C stream interface pages ... keeping them separate actually is also confusing

Also agreed. The fact that the C device interface extends both the C data and C stream interfaces—but the former is documented on one page while the latter are documented on two—seems quite confusing.


Declaring t_axilite_if signal

How does one declare the the t_axilite_if signal to connect to the vvc in the test harness. The unconstrained arrays need to be constrained I believe.
I tried this.
constant GC_ADDR_WIDTH : integer  := 8;
constant GC_DATA_WIDTH : integer  := 32;
constant GC_STRB_WIDTH : integer  := GC_ADDR_WIDTH/8;
signal axi_ctrl  :t_axilite_if(
write_address_channel.awaddr(GC_ADDR_WIDTH),
write_data_channel.wdata(GC_DATA_WIDTH),
write_data_channel.wstrb(GC_STRB_WIDTH),
read_address_channel.araddr(GC_ADDR_WIDTH),
read_data_channel.ardata(GC_DATA_WIDTH));
But get
(vcom-1356) Bad record element constraint (indexed name) for record type bitvis_vip_axilite.axilite_bfm_pkg.t_axilite_if
Is there an example AXI LITE Test Harness?

Hi,
No, unfortunately there is no test harness example for the AXI-Lite.
If you have a look inside the axilite_bfm_QuickRef.pdf on page two, you will see the axilite_if record type.
Then you could try to change your code to something like:
signal axi_ctrl : t_axilite_if(         write_address_channel( awaddr(GC_ADDR_WIDTH-1 downto 0)),
write_data_channel( wdata(GC_DATA_WIDTH-1 downto 0),
wstrb( GC_STR_WIDTH-1 downto 0)),
read_address_channel( araddr(GC_ADDR_WIDTH-1 downto 0)),
read_data_channel( rdata(GC_DATA_WIDTH-1 downto 0)) ) := init_axilite_if_signals(GC_ADDR_WIDTH, GC_DATA_WIDTH);
Br,
Marius
Fra: stfarley<EMAIL_ADDRESS>Sendt: torsdag 14. september 2017 14.24
Til: UVVM/UVVM_All<EMAIL_ADDRESS>Kopi: Subscribed<EMAIL_ADDRESS>Emne: [UVVM/UVVM_All] Declaring t_axilite_if signal (#29)
How does one declare the the t_axilite_if signal to connect to the vvc in the test harness. The unconstrained arrays need to be constrained I believe.
I tried this.
constant GC_ADDR_WIDTH : integer := 8;
constant GC_DATA_WIDTH : integer := 32;
constant GC_STRB_WIDTH : integer := GC_ADDR_WIDTH/8;
signal axi_ctrl :t_axilite_if(
write_address_channel.awaddr(GC_ADDR_WIDTH),
write_data_channel.wdata(GC_DATA_WIDTH),
write_data_channel.wstrb(GC_STRB_WIDTH),
read_address_channel.araddr(GC_ADDR_WIDTH),
read_data_channel.ardata(GC_DATA_WIDTH));
But get
(vcom-1356) Bad record element constraint (indexed name) for record type bitvis_vip_axilite.axilite_bfm_pkg.t_axilite_if
Is there an example AXI LITE Test Harness?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/UVVM/UVVM_All/issues/29, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AQAGEe8prrJCDP0s8YVbUyh9dGzVq_vYks5siRrQgaJpZM4PXfvA.

Thanks Marius.
I had just come across that as I saw your update.
BTW I should be able to provide a simple AXILITE Test Harness example shortly.
Steve


Supabase auth for case sensitive emails

It is still an issue if<EMAIL_ADDRESS>exists and if we signup with email<EMAIL_ADDRESS>using const { user, error } = supabase.auth
.signUp() it doesn't giving error rather creating another user with different user_id. And it is not visible in supabase auth listing as well

While it wouldn't fix the supabase-auth issue, is it possible to always convert the email to lowercase in your client?

@Preetam7064 @MeyerOppelt emails are always treated as case-insensitive in supabase auth - we don't have plans on making them case sensitive

@Preetam7064 @MeyerOppelt emails are always treated as case-insensitive in supabase auth - we don't have plans on making them case sensitive

Try using such email you will get as it is creating issue


loading spinner while relayer is making deposit

Closes #23
Once deposit is successful user can close modal and their new balance will be visible in their account

changes looking good.
let's keep #23 open until we get the uncover link included too.
One suggestion I have here is to include the transaction confirmations to give some sense of progress.
the value is different on each chain: (await api.query.ethBridge.eventConfirmations()).toNumber()
relayer will claim the tokens for the user once it gets that right number of confirmations

(tooltip optional / ignore the terrible mock up)


Any visualisation scripts will be provided?

Hello. Will you provide some visualisation scripts for your algorithm like
https://github.com/yihui-he/epipolar-transformers/blob/master/assets/h36m_vis.png
or
https://www.youtube.com/watch?v=CbTUC7kOk9o
?

Hi, I don't think so. All we are left with (sadly) is this repository.

So sad. Thank you for your reply. Wish you all the best


Module deleted scenario in Module-NMC controller (#518)

When a Module is deleted, all its ModuleConfigs in all the NMCs should be removed. In order not to miss the delete event when the controller is dow, we do the following:

adding finalizer to the Module
whenever module is being deleted we remove module from all
relevant NMCs, and if all the operations are successfull,
we remove the finalizer also

Fixes 699

/lgtm


[4.0] Hack: allow dropping noescape-ness when overriding ObjC methods

Explanation: In today's Swift, only non-optional function parameters can be non-escaping (and are by default). However, Objective-C does allow applying its noescape attribute to a callback block marked nullable.  This isn't strictly safe because a caller could be relying on the non-escaping-ness, but we don't have anything better for now. (This behavior will probably be deprecated in the future.)
Scope: Affects overrides of methods that are (1) imported from Objective-C (2) with block parameters (3) that are both nullable and non-escaping.
Issue: rdar://problem/32903155
Reviewed by: @jckarter
Risk: Low. Relaxes existing conditions under very specific circumstances. Any existing code should continue to work.
Testing: Added new C++ unit tests and Swift regression tests.

@swift-ci Please test

@swift-ci Please test source compatibility