ci: fix pr-review handling of review comments

GH apparently fires a pull_request_review event on comments/replies to existing reviews and treats each as a new review (via the reviews endpoint).  This fixes an edge case where the needs-review tag is incorrectly removed when there has been an unreviewed commit submitted, but a comment/reply to an earlier review is posted after the commit.
(I am rapidly developing an "appreciation" 🙄 for the idiosyncrasies of GH workflow/event logic.)

Goodness me that's a lot of fine detail to work through. Thanks for hunting all this stuff!

I'm going to hold off on merging this for now.  Unrelated to this PR, but related to the same workflow job - the workflow seems to occasionally fail right now when review comments are posted, but only intermittently.  (See, e.g., here.)  The error message claims that the .cjs script is exceeding the secondary rate limit for the REST API, but we are nowhere remotely within the same universe of the applicable rate limit -- and the x-http headers in the error message show we haven't exceeded the rate limit).  I can also hammer the API repeatedly by running the script back-to-back from the CLI without getting the same error, so it seems to be something happening as a result of running the script from within a workflow job.
I've got a ticket open with GH right now to try to nail down why the rate limit error is showing up, so I'm going to try to run that to ground and see if we need a code fix before merging this.

I've got a ticket open with GH right now to try to nail down why the rate limit error is showing up, so I'm going to try to run that to ground and see if we need a code fix before merging this.

We've narrowed the issue to an aspect of the secondary rate limit that involves queries to the REST API which are compute-expensive.  (Aside: It's not at all clear to me (or GH support) why a single query to the search endpoint with several well-defined filters would be particularly expensive, or why the first instance of the query would trigger the rate limit, but 🤷).  Apparently, there are also different thresholds for secrets.GITHUB_TOKEN as opposed to a run-of-the-mill PAT -- which is why you can run the .cjs script locally with a PAT and absolutely hammer the endpoint without tripping the same anti-abuse threshold -- a fact that is mystifying to both me and the GH folks I'm talking to.
It's been escalated to GH eng., but I'm a little skeptical right now about getting a clear answer/fix.  So we may have to revert back to querying the pulls endpoint and iterating through all of the pulls to find ones with the correct label.  (Which, I would think, would be way more expensive for GH for both API load and for processing time on the runner, but what do I know...)

From GH:

To be completely transparent, this involves multiple engineering teams and further investigation might take a while.
There isn't other way to fetch PRs directly for a specific label. My recommendation is the same as what you noted earlier -- we'd have to hit the pulls endpoint, grab all pulls, and then iterate over them, which seems much more resource-costly.

I'll go ahead and switch back to the version of the code that iterated over the pulls endpoint (I think it was one of the earlier commits on the original PR before I switched it to using the search endpoint).
@valarnin, just an FYI since I think you'd originally asked to limit the API request by label.  Lmk if you have concerns.

Aha! I found another way.  Based on this gem buried in the API spec about the issues endpoint:

Note: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the pull_request key.

(in case you actually go read that, ignore the next following bit about issue ids != pr ids; we don't use id, just number, which is consistent across both endpoints)
I updated it to use the issues endpoint.  Now grabs just the PRs by label.  Tested and working.
(Of course, whether this will still occasionally fail because of secondary rate limit is another question, but fingers crossed this is fixed now.)

Thanks for handling the escalation with Github. It's maybe a little frustrating that they haven't cleaned up that bit of technical debt by now, but at least there's a workaround.


Incorrect docs or filename for js resources

Hello,
The readme references adding the js files with the following lines:
<script type="text/javascript" src="_content/BlazorInputMask/Main.js"></script>
<script type="text/javascript" src="_content/BlazorInputMask/IMask.js"></script>

Note that Main.js is capitalized. The actual file in the repo is lowercase -- main.js. This isn't a problem on most builds or deployments, but I recently deployed this library into a Linux Docker container, and due to the mismatch in case I was getting a 404 error where it couldn't find main.js.
I'm happy to submit a PR to fix the issue, but would you prefer to make the js files and documents consistently capitalized Main.js and IMask.js or lowercase main.js and imask.js?
Thanks!

Hello,
Please feel free to change the component the way you want, it's a MIT licence !

Sure, It's done with the package upgrade to .NET 7 !


Fix SDK downloads.

Fixes issue #560

I would say to not put it into catalog instead of catalog/blackbox/dockerSkeleton put it in sdk/docker

Spawned off issue #572 to cover travis migration as per IPM discussion with @jeremiaswerner

@rabbah pls review and merge

@rabbah updated readme and squashed. pls review and merge.

PG?
Add a test?

the current blackbox test exists but it does not actually download the sdk from nginx. I opened a separate issue to track this. similar problem with cli tests which also do not download. see issue https://github.ibm.com/BlueMix-Fabric/bluewhisk/issues/1971. should probably move to open.

@rabbah moved blackbox tests to open, too. will be removed from blue later.

will be removed from blue later.

@domdom82 leave this issue open to track the remaining work?

@csantanapr remaining changes in blue are tracked here https://github.ibm.com/BlueMix-Fabric/bluewhisk/pull/1970

rebased again.

@rabbah @psuter @jeremiaswerner
guys, can we agree to first merge this in the old state to finalize the shift from blue to open and then handle the quality improvements of the sdk in a separate issue? otherwise this is kinda blocked now..

i see at least some broken things here that we should fix first rather than merging in something that's broken. in particular, if (status === Status.ready) {.

@rabbah @domdom82 @lehoanganh current deployments are broken due to missing SDK's. we need to deliver this asap. make it to work and merge. we should do any extra feature, enhancement, ... in an additional PR.

Replaced with #652.


chore: add induction_eliminator to With{Top,Bot,Zero,One}

This is a smaller version of #12605

This looks like a great change to me!

Does it work with cases?

More cleanup is needed to make cases_eliminator work, so I left that for a future PR.
bors merge


Runtime error again

Runtime error
2023-06-09 04:34:55.527 INFO    matplotlib.font_manager: generated new fontManager
Traceback (most recent call last):
  File "/home/user/.local/bin/streamlit", line 5, in <module>
    from streamlit.web.cli import main
  File "/home/user/.local/lib/python3.10/site-packages/streamlit/__init__.py", line 55, in <module>
    from streamlit.delta_generator import DeltaGenerator as _DeltaGenerator
  File "/home/user/.local/lib/python3.10/site-packages/streamlit/delta_generator.py", line 45, in <module>
    from streamlit.elements.arrow_altair import ArrowAltairMixin
  File "/home/user/.local/lib/python3.10/site-packages/streamlit/elements/arrow_altair.py", line 36, in <module>
    from altair.vegalite.v4.api import Chart
ModuleNotFoundError: No module named 'altair.vegalite.v4'

https://huggingface.co/spaces/giswqs/Streamlit


Trigger output attributes should be resolvable by activities

I'm submitting a ...  (check one with "x")
[] bug report => search github for a similar issue or PR before submitting
[X] enhancement request
[] feature request
[] support request
[] general question

Current behavior (how does the issue manifest):
Trigger output attributes by design must be mapped by an input mapper, and so the mapper result can be accessed by activities in the same flow.  The required mapper configuration is inconvenient and sometimes error-prone.
Expected behavior:
By default, trigger output attributes should automatically assigned to a flow property of the same name, and so activities can access the trigger output attributes just like accessing other activity outputs. So, the trigger input mapper can be used to override the default behavior only when it is necessary.
Minimal steps to reproduce the problem (not required if feature enhancement):
What is the motivation / use case for changing the behavior?
In my trigger for hyperledger fabric chaincode, a stub object for each request received by the trigger must be accessible by subsequent activities.  Since there is no way to pass the stub out and keep its scope for only a single request process, I wanted to store the stub as a trigger output. However, I do not want to rely on user to configure a correct input mapping for the stub, so I have to define the required mapping automatically. I worked around this issue by adding code (see below) to manipulate the app config with additional mapping for the stub before I use the config to create and start the flogo engine.  This work-around is not ideal. A better solution is to change the behavior of flogo-lib/core.trigger.handler.go such that these input mapping for trigger output attributes are automatically done by default.
Please tell us about your environment (Operating system, docker version, browser & verison if webui, etc):
Flogo version (CLI & contrib/lib. If unknown, leave empty or state unknown): 0.X.X
Additional information you deem important (e.g. issue happens only occasionally):
I am calling the following function to add input mapping for specified trigger types before I create and start a flogo engine.  Such kludgy work-around would not be necessary if such mapping are automatically done in the trigger handler.
// inputAssignMap sets additional input mapping for a specified trigger ref type;
// this is to ensure the mapping of a trigger output property to avoid user error.
func inputAssignMap(ac *app.Config, triggerRef, name string) {
	// add the name to all flow resources
	prop := map[string]interface{}{"name": name, "type": "any"}
	for _, rc := range ac.Resources {
		var jsonobj map[string]interface{}
		if err := json.Unmarshal(rc.Data, &jsonobj); err != nil {
			logger.Errorf("failed to parse resource data %s: %+v", rc.ID, err)
			continue
		}
		if metadata, ok := jsonobj["metadata"]; ok {
			metaMap := metadata.(map[string]interface{})
			if input, ok := metaMap["input"]; ok {
				inputArray := input.([]interface{})
				done := false
				for _, ip := range inputArray {
					ipMap := ip.(map[string]interface{})
					if ipMap["name"].(string) == name {
						done = true
						continue
					}
				}
				if !done {
					logger.Debugf("add new property %s to resource input of %s", name, rc.ID)
					metaMap["input"] = append(inputArray, prop)
					if jsonbytes, err := json.Marshal(jsonobj); err == nil {
						logger.Debugf("resource data is updated for %s: %s", rc.ID, string(jsonbytes))
						rc.Data = jsonbytes
					} else {
						logger.Debugf("failed to serialize resource %s: %+v", rc.ID, err)
					}
				}
			}
		}
	}
	// add input mapper
	for _, tc := range ac.Triggers {
		if tc.Ref == triggerRef {
			for _, hc := range tc.Handlers {
				ivMap := hc.Action.Mappings.Input
				done := false
				for _, def := range ivMap {
					if def.MapTo == name {
						done = true
						continue
					}
				}
				if !done {
					logger.Infof("Add input mapper for %s to trigger %+v", name, tc.Id)
					mapDef := data.MappingDef{Type: data.MtAssign, Value: "$." + name, MapTo: name}
					hc.Action.Mappings.Input = append(ivMap, &mapDef)
				}
			}
		}
	}
}

I see your point, but it would make the use case where you have multiple triggers for a single flow pretty difficult. Especially if you have multiple triggers that don’t have the same output structure, the mapping is needed to make sure you can still do that.
Perhaps a good idea would be to have the mapping done automatically if you only have one trigger (which I thought was on the roadmap 🤔)

Yes, I would discourage (actually disable) multiple triggers for a same flow.  Instead, define subflows that can be reused by multiple flows, but limit one trigger per flow.  That is how TIBCO BW has been worked for years.

Which is great for BW, but this isn’t BW 😉

Of course it is up for debate regarding the pros-and-cons of different approaches (both achieve the same purpose.)  For this issue, however, I hope that the API can expose a flag for automatically creating the input mapper if my trigger requires. Maybe when we send trigger-data to the handler, we can specify a flag to ask it to create input mappings automatically.

Actually, all I need is to be able to specify which additional attributes need to be exposed as a flow property in the following call made by my trigger implementation: handler.Handle(context.Background(), triggerData).  It would be easy to do, wouldn't it?

if you don't have any flow inputs defined, then the engine will pass the trigger properties to the flow and they will be referenced via $flow. @fm-tibco is that still the case?

@mellistibco That might work if you do not define any input mapping, although in that case, you won't see any attributes on the Flogo UI, which would be a problem for UI modeling.  Besides, why is the code that you mentioned adds 2 items to the inputs (one with the original attr name, another with a prefix "_T."?


#1: add support for horses in database initialization

added horses yippee

/paulo - can you please review this pull request?

/paulo - can you check now?


Ability to download older versions of envoy

Is your feature request related to a problem? Please describe.
Having trouble figuring out how to get version 1.16.3
Describe the solution you'd like
Ability to see all available versions. The only 1.16 version available in https://getenvoy.io/envoy-versions.json is:
"1.16.4": {
"releaseDate": "2021-05-11",
"tarballs": {
"darwin/amd64": "https://dl.getenvoy.io/public/raw/files/getenvoy-envoy-1.16.4.p0.gbf5d0eb-1p74.gbb8060d-darwin-release-x86_64.tar.xz",
"linux/amd64": "https://dl.getenvoy.io/public/raw/files/getenvoy-envoy-1.16.4.p0.gbf5d0eb-1p74.gbb8060d-linux-glibc-release-x86_64.tar.xz"
}
},
1.16.3 might be still there, but I don't know the URL for it, and going to https://dl.getenvoy.io/public/raw/files/ gives a 404
Describe alternatives you've considered
N/A
Additional context
N/A

we are trying not to add old versions by default in the new file format, but we still have a link to that, so will add it for you. Good luck in general upgrade wise and thanks for explaining your use case.

$ getenvoy use 1.16.3
downloading https://dl.getenvoy.io/public/raw/files/getenvoy-envoy-1.16.3.p0.gc4b7ab8-1p74.gbb8060d-darwin-release-x86_64.tar.xz
$ getenvoy run --config-yaml "admin: {access_log_path: '/dev/stdout', address: {socket_address: {address: '<IP_ADDRESS>', port_value: 0}}}"
1.16.3 is already downloaded
starting: /Users/adrian/.getenvoy/versions/1.16.3/bin/envoy --config-yaml admin: {access_log_path: '/dev/stdout', address: {socket_address: {address: '<IP_ADDRESS>', port_value: 0}}} --admin-address-path /Users/adrian/.getenvoy/runs/1623289523508285000/admin-address.txt
[2021-06-10 09:45:24.432][9321780][info][main] [external/envoy/source/server/server.cc:305] initializing epoch 0 (base id=0, hot restart version=disabled)
--snip--

Thank you very much!!!


headscale_acl default yaml - breaking change 0.23.0 (2024-09-18)

https://github.com/kazauwa/ansible-role-headscale/blob/1cbe9432ae53c3042a45506fd48f3dd203e24c97/tasks/configure.yml#L24

headscale_acl
Default: {}
Description: yaml formatted ACL policies. Make sure that you've read the docs on how to use this feature.

headscale changelog:
https://github.com/juanfont/headscale/blob/a7874af3d0ba48913fa7e5fbffbb38b537bae7b3/CHANGELOG.md?plain=1#L74

Made an attempt to address that.  :smile:
https://github.com/kazauwa/ansible-role-headscale/pull/10


USECS Sending SMS

1-sent news to all student -done
2-single sms  to student-done
3-sms to all fee defaulter-done
4-sms to single defaulter-done
5-attendance absent ( done for staff).(for student done)
6-attendance late ( done for staff)
7-salary Payment-done
8-student fee submit
9-application confirm
10-add new staff.-Done
11-send sms to all staff--------done

Send SMS To Single Vistor
Send SMS To All Vistor

bugs fixed in this view:
studentattendance/allsubjectclasses/2


Security test. Please do not approve.  odgall

Security test. Please do not approve.  odgall

Thanks for your interest in palantir/gpg-tap-notifier-macos, @lemurgadol! Before we can accept your pull request, you need to sign our contributor license agreement - just visit https://cla.palantir.com/ and follow the instructions. Once you sign, I'll automatically update this pull request.


Is this operator still under development and being maintained?

There is a ref to use this operator in https://access.redhat.com/solutions/6831811 but it doesnt appear to be maintained or?

The operator should work as documented. If it is not the case, you can file a bug report. Patches and improvements are accepted.

I tested the operator on OpenShift 4.13.6 just now. It works as expected.


Adding support for profile photo

This PR
Aim to fix #28 by adding the support for the profile picture in a systematic way.
The pull request proposes the following changes:

[x] add "photo" field in CV model

[x] Absolute paths
[x] Relative paths

[x] adding photo in moderncv template as suggested in another thread https://github.com/sinaatalay/rendercv/issues/74#issuecomment-2353429721
[x] adding photo in sb2nov template

[x] check that the latex code I copypasted and adapted 2 month ago from SO doesn't go bananas with margin changes

[x] adding photo in the markdown template
[x] adding photo in the classic template
[x] adding photo in the engineeringresumes template
[x] fix tests

Thank you very much! I will review it when it's done.

tl;DR: \usepackage{graphicx} and design.font: "Source Sans 3" in the resume's yaml file do not work together with tinytex, I don't know why.
I implemented the propic for all templates, however, I am facing a strange error with the classic template:
the changes I've made are the same for classic, engineeringresume and sb2nov:

added \usepackage{graphicx} % for includegraphics to include profile picture line in Preamble.j2.tex to be able to use \includegraphics command
changed Header.j2.tex to add the profile picture if available

While engineeringresume and sb2nov work correctly, classic does not render correctly and gives me this error in the log file:
[...]
LaTeX Font Info:    ... okay on input line 172.

*geometry* driver: auto-detecting
*geometry* detected driver: pdftex
*geometry* verbose mode - [ preamble ] result:
* driver: pdftex
* paper: letterpaper
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* modes:
* h-part:(L,W,R)=(56.9055pt, 500.484pt, 56.9055pt)
* v-part:(T,H,B)=(56.9055pt, 681.15898pt, 56.9055pt)
* \paperwidth=614.295pt
* \paperheight=794.96999pt
* \textwidth=500.484pt
* \textheight=681.15898pt
* \oddsidemargin=-15.36449pt
* \evensidemargin=-15.36449pt
* \topmargin=-52.36449pt
* \headheight=12.0pt
* \headsep=25.0pt
* \topskip=0.0pt
* \footskip=28.45274pt
* \marginparwidth=65.0pt
* \marginparsep=11.0pt
* \columnsep=4.26773pt
* \skip\footins=9.0pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidefalse
* \@mparswitchfalse
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)

(/Users/kael-k/Documents/rendercv/rendercv/renderer/tinytex-release/TinyTeX/tex
mf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf

! LaTeX Error: File `grfext.sty' not found.

I tested it both on a macbook air m3 and on a x64 arch linux machine with the same result.
It seems that the error is not because of the changes in Header.j2.tex, as if I revert the file and try to render the template with only \usepackage{graphicx} I get the same error, which is kinda strange since it works on the other 2 templates. Furthermore, I ran the following tests:

I tried to render the classic template with the --use-local-latex-command option and it rendered the resume with the propic successfully
I tried to take my CV repo, write the template override for the classic template with hardcoded path for the image and it rendered the resume with the propic successfully

I also tried to rebase my PR on v1.14 (the one I was using in my repo) and then tried to render the resume with the \usepackage{graphicx} only, it didn't work

After smashing my head against the PC for 2 hours this is what I got:

the problem is that the condition in rendercv/rendercv/renderer/tinytex-release/TinyTeX/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty:151 seems to be false for classic and true for sb2nov and engineeringresumes, which means that in classic template, tinytex tries to execute L179 \RequirePackage{grfext}\relax, which fails.
The test on my resume with the template override seems to work because the condition on epstopdf-base.sty:151 is false. With that information and some random tests I got that the problem/conflict is caused by the "font part" in Preamble.j2.tex: with design.font: Latin Modern Sans Serif in the yaml, the template renders correctly. The problem seems to be with Source Sans 3: by setting it manualy in the YAML with sb2nov and engineeringresumes, you'll get the same error.

@sinaatalay do you have any guesses as to why this happens?

I've found a workaround that I implemented in a5a43bd, I have no idea why it works, but it works

Hello @kaelk-k, can I push some commits before merging this?

Hello @kael-k, can I push some commits before merging this?

Sure

I've found a workaround that I implemented in a5a43bd, I have no idea why it works, but it works

I was trying to add graphics (company logo/favicon) and ran into the same problems. What change was this? I can't find it, but I'm glad I wasn't the only one with the issue.

I've found a workaround that I implemented in a5a43bd, I have no idea why it works, but it works

I was trying to add graphics (company logo/favicon) and ran into the same problems. What change was this? I can't find it, but I'm glad I wasn't the only one with the issue.

@mekantor iirc the problem was that the import graphicx before  \usepackage[default, type1]{sourcesanspro} triggers the import of that grfext.sty (because, always iirc, graphicx set some flags that triggers that import in sourcesanspro). The workaround is basically to import graphicx AFTER setting the font.

Thank you for your contribution.


Tushikha

          Hi @moolen,

I use the akeyless provider. I've created k8s auth method and deployed the external secret operator to a k8s cluster following this doc => https://docs.akeyless.io/docs/external-secret-operator
---
apiVersion: v1
kind: Secret
metadata:
  name: akeylss-secret-creds
type: Opaque
stringData:
  accessId: "access-id"
  accessType: k8s
  accessTypeParam: "auth-method-name"
---
apiVersion: external-secrets.io/v1alpha1
kind: SecretStore
metadata:
  name: akeyless-secret-store
spec:
  provider:
    akeyless:
      # URL of your akeyless API
      akeylessGWApiURL: "https://gatewaylURL:8080/v2"
      authSecretRef:
        secretRef:
          accessID:
            name: akeylss-secret-creds
            key: accessId
          accessType:
            name: akeylss-secret-creds
            key: accessType
          accessTypeParam:
            name: akeylss-secret-creds
            key: accessTypeParam
---
apiVersion: external-secrets.io/v1alpha1
kind: ExternalSecret
metadata:
  name: akeyless-external-secret-example
spec:
  refreshInterval: 5h
  secretStoreRef:
    kind: SecretStore
    name: akeyless-secret-store
  target:
    name: akeyless-secret-to-create
    creationPolicy: Owner
  data:
    - secretKey: username
      remoteRef:
        key: /k8s/demoapp

Originally posted by @precompiler in https://github.com/external-secrets/external-secrets/issues/985#issuecomment-1094978577

Hey, the answer was provided in the original issue in #985.
Please provide more details.


Unable to provision harvester rke2 cluster from rancher, stuck in provisioning on bootstrap node

Rancher Server Setup

Rancher version: v2.6-head (1d2b746)
Installation option (Docker install/Helm Chart): Docker

Information about the Cluster

Kubernetes version: v1.22.6+rke2r1
Cluster Type (Local/Downstream): Infrastructure Provider - Harvester

User Information

What is the role of the user logged in? Admin

Describe the bug

Unable to provision RKE2 cluster from rancher v2.6-head, keep in Provisioning status with message
This issue exists on both RKE2 1.22.7+rke2r1 and 1.21.10+rke2r1
Non-ready bootstrap machine(s) rke2-ubuntu-pool1-bcfd5cfbb-2pj9w and join url to be available on bootstrap node

Further checking cluster node status in RKE2 VM, it looks like node have taints to prevent component to finish deployment.
# ssh to rke2 virtual machine

export KUBECONFIG=/etc/rancher/rke2/rke2.yaml
/var/lib/rancher/rke2/bin/kubectl get nodes -o yaml

spec:
    podCIDR: <IP_ADDRESS>/24
    podCIDRs:
    - <IP_ADDRESS>/24
    taints:
    - effect: NoSchedule
      key: node.cloudprovider.kubernetes.io/uninitialized
      value: "true"

To Reproduce

Create a one node or three nodes harvester cluster
Prepare SLES JeOS image
SLES15-SP3-JeOS.x86_64-15.3-OpenStack-Cloud-GM.qcow2
Enable virtual network to harvester-mgmt
Create virtual network vlan1 with id 1
Import harvester in rancher v2.6-head
Create cloud credential
Provision a RKE2 cluster with SLES JeOS image

Check the RKE2 cluster provisioning to Ready

Result
Provisioning stuck in Non-ready bootstrap machine(s) rke2-ubuntu-pool1-bcfd5cfbb-2pj9w and join url to be available on bootstrap node
Expected Result

Can provision RKE2 cluster in harvester correctly in acceptable time for major OS image (e.g SLES, Ubuntu)
Additional context

Harvester support bundle
supportbundle_74b92604-c442-4d1d-a70d-7313e32ac47c_2022-03-02T13-14-35Z.zip

Rancher container log
rancher2.6-head_rke2_sles.log

After double checking, we can provision RKE2 cluster on latest rancher v2.6-head (33db2f5) with 1.21.10+rke2r1
Currently still failed to provision RKE2 on 1.22.7+rke2r1.
Test Envrionment

Harvester ISO version: master-088a020f-head (03/05)
Underlying Infrastructure: 1 node harvester on local kvm machine
Rancher version: v2.6-head (33db2f5)

@TachunLin Is this only a problem with SLES? Are you able to provision using Ubuntu image?

@thedadams, The issue exists on both SLES and Ubuntu image.
The previous check result https://github.com/rancher/rancher/issues/36716#issuecomment-1059969652 was based on Ubuntu cloud image.

@thedadams ,we double confirmed currently the RKE2 provisioning status according to https://github.com/harvester/harvester/issues/1823#issuecomment-1049501074

1.21.10+rke2r1
1.22.7+rke2r1

Focal
Work
RKE2 starts but has NoSchedule taint.

JeOS
etcd can't start.
RKE2 starts but has NoSchedule taint.

On 1.22.7+rke2r1, can't provision RKE2 cluster with both Ubuntu cloud focal and SLES JeOS images
On 1.21.10+rke2r1, can provision RKE2 cluster on Ubuntu focal
On 1.21.10+rke2r1, can't provision RKE2 cluster on SLES JeOS, but with manual install apparmor-parser can workaround it

For SLES JeOS provisioning, we create and track in the separate issue https://github.com/harvester/harvester/issues/1973
And track the Ubuntu focal issue on https://github.com/harvester/harvester/issues/1954

@TachunLin The SLES issue seems to be unrelated to the issue with Ubuntu. Rancher is not responsible for installing the apparmor-parser, so the SLES issue is understood (the installation of apparmor-parser could be added to rancher-machine when the SLES operating system is detected).
For the Ubuntu image case, the nodes are tainted as NoSchedule because the cloud-provider (Harvester, in this case) isn't setup on the node. Has it been verified that the Harvester cloud-provider is running successfully on these nodes? And has the Harvester cloud-provider been tested on Kubernetes v1.22+ outside of Rancher provisioning?

@thedadams, we haven't tested the harvester cloud-provider outside of Rancher provisioning since the verification process in Harvester are integrated with Rancher.
And we previously tested the RKE2 provision on 1.22.6. There we can provision RKE2 on rancher v2.6.4-rc3  with harvester master-head release after v1.0-GA with Ubuntu cloud image (as the test result in https://github.com/harvester/harvester/issues/1659#issuecomment-1041517272)

@TachunLin Thanks for that information. That is helpful.
I am still wondering if the cloud provider is running on the Ubuntu nodes with 1.22.7+rke2r1. It seems to me that the cloud provider not running on the node would be the most likely reason that the taint isn't getting removed.

Hi @thedadams, cloud provider is running, but there is some error message in it.
node_controller.go:390] Initializing node rke2-in-jeos-pool1-51a1e43e-fm4kk with cloud provider
node_controller.go:212] error syncing 'rke2-in-jeos-pool1-51a1e43e-fm4kk': failed to get instance metadata for node rke2-in-jeos-pool1-51a1e43e-fm4kk: Get "https://<IP_ADDRESS>:6443/apis/kubevirt.io/v1/namespaces/default/virtualmachines/rke2-in-jeos-pool1-51a1e43e-fm4kk": dial tcp <IP_ADDRESS>:6443: i/o timeout, requeuing

Thanks @FrankYang0529 for looking into that. Is that a Rancher issue then? Or would this be an issue with the Harvester cloud provider?

Let me investigate harvester-cloud-provider. Thank you.

@thedadams, it looks like the root cause is Calico can't be installed. If we change CNI to Canal, RKE2 1.22.7+rke2r1 can be installed.
In RKE2 1.22.7+rke2r1, it upgrades tigera-operator to v1.23.5. Also, tigera-operator updates tolerations in calico-typha.  Originally, in tigera-operator v1.17.6, it use tolerations for calico-typha like following, so we can install RKE2 1.21.10+rke2r1 without error.
tolerations:
- key: CriticalAddonsOnly
operator: Exists
- effect: NoSchedule
operator: Exists
- effect: NoExecute
operator: Exists
However, in tigera-operator v1.23.5, it adds keys to tolerations like following, so calico-typha can't tolerate node.cloudprovider.kubernetes.io/uninitialized.
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/control-plane
operator: Exists
- effect: NoExecute
key: node-role.kubernetes.io/etcd
operator: Exists

@manuelbuil , is this something that needs to be fixed on RKE2 side itself? If so, could we transfer the issue there?

I thought this was fixed already. The harvester team edited the cluster YAML to add the required toleration: https://suse.slack.com/archives/C02D01ARDL5/p1646736123552459?thread_ts=1646638768.682839&cid=C02D01ARDL5

Hi @manuelbuil, if calico-typha can't tolerate node.cloudprovider.kubernetes.io/uninitialized, this may also be an issue for other cloud providers. If we can fix it as default chart values, we don't need to modify Cluster YAML each time.

Is calico the only component that requires this toleration? What about others like coredns?

Is calico the only component that requires this toleration? What about others like coredns?

Sorry for the late reply, I was doing some testing. coredns is also pending cause of the taint, but the cluster can start after I change rke2-calico to the following:
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: rke2-calico
  namespace: kube-system
spec:
  valuesContent: |-
    installation:
      controlPlaneTolerations:
      - key: "node-role.kubernetes.io/control-plane"
        operator: "Exists"
        effect: "NoSchedule"
      - key: "node-role.kubernetes.io/etcd"
        operator: "Exists"
        effect: "NoExecute"
      - key: "node.cloudprovider.kubernetes.io/uninitialized"
        operator: "Exists"
        effect: "NoSchedule"

Is calico the only component that requires this toleration? What about others like coredns?

Sorry for the late reply, I was doing some testing. coredns is also pending cause of the taint, but the cluster can start after I change rke2-calico to the following:
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: rke2-calico
  namespace: kube-system
spec:
  valuesContent: |-
    installation:
      controlPlaneTolerations:
      - key: "node-role.kubernetes.io/control-plane"
        operator: "Exists"
        effect: "NoSchedule"
      - key: "node-role.kubernetes.io/etcd"
        operator: "Exists"
        effect: "NoExecute"
      - key: "node.cloudprovider.kubernetes.io/uninitialized"
        operator: "Exists"
        effect: "NoSchedule"

Good. But your request is that calico includes this toleration by default, right?

Good. But your request is that calico includes this toleration by default, right?

Yes

According to what I learnt (thanks @FrankYang0529 ), the harvester-cloud-provider is the one removing the taint node.cloudprovider.kubernetes.io/uninitialized once it considers the node is ready. That provider fails with the error:
node_controller.go:390] Initializing node rke2-in-jeos-pool1-51a1e43e-fm4kk with cloud provider
node_controller.go:212] error syncing 'rke2-in-jeos-pool1-51a1e43e-fm4kk': failed to get instance metadata for node rke2-in-jeos-pool1-51a1e43e-fm4kk: Get "https://<IP_ADDRESS>:6443/apis/kubevirt.io/v1/namespaces/default/virtualmachines/rke2-in-jeos-pool1-51a1e43e-fm4kk": dial tcp <IP_ADDRESS>:6443: i/o timeout, requeuing

And thus it is unable to remove the taint.
I am confused about why it requires the CNI plugin to be running. The url https://<IP_ADDRESS>:6443/apis/.... looks like a call to kube-api and kube-api is running in hostNetwork: true, i.e. it does not require a cni plugin to run. Could you verify if <IP_ADDRESS> is the IP where kube-api is running?

node.cloudprovider.kubernetes.io/uninitialized

@manuelbuil Yes, good consideration! We should enable the hostNetwork in the Harvester cloud provider to solute this issue completely.

node.cloudprovider.kubernetes.io/uninitialized

@manuelbuil Yes, good consideration! We should enable the hostNetwork in the Harvester cloud provider to solute this issue completely.

I was assuming harvester-cloud-provider was using hostNetwork mode. If it is not, then it would not run because it would require the CNI plugin to be ready. But it is running, right?

Yes. I guess the CNI tolerates the taint node.cloudprovider.kubernetes.io/uninitialized if it is running.

node.cloudprovider.kubernetes.io/uninitialized

@manuelbuil Yes, good consideration! We should enable the hostNetwork in the Harvester cloud provider to solute this issue completely.

I was assuming harvester-cloud-provider was using hostNetwork mode. If it is not, then it can't not run because it requires the CNI plugin to be ready. But it is running, right?

Yes. I guess the CNI tolerates the taint node.cloudprovider.kubernetes.io/uninitialized if it is running.

Could it be that this happens?:
1 - k8s Cluster starts
2 - There is no taint so calico starts
3 - Once calico is started, harvester-cloud-provider pod is scheduled and starts
4 - harvester-cloud-provider taints node.cloudprovider.kubernetes.io/uninitialized
5 - Calico stops working because of the taint
6 - harvester-cloud-provider can't access harvester kube-api outside of the cluster

@manuelbuil No, the taint is added by the kubelet once we set the --cloud-provider as external according the kubernetes document https://kubernetes.io/docs/tasks/administer-cluster/running-cloud-controller/

2 - If typha is showing problems, why calico-node is not? Both shouldn't be tolerating the taint

@manuelbuil here is tolerations in calico-node.
  tolerations:
  - key: CriticalAddonsOnly
    operator: Exists
  - effect: NoSchedule
    operator: Exists
  - effect: NoExecute
    operator: Exists
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/disk-pressure
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/memory-pressure
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/pid-pressure
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/unschedulable
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/network-unavailable
    operator: Exists

2 - If typha is showing problems, why calico-node is not? Both shouldn't be tolerating the taint

@manuelbuil here is tolerations in calico-node.
  tolerations:
  - key: CriticalAddonsOnly
    operator: Exists
  - effect: NoSchedule
    operator: Exists
  - effect: NoExecute
    operator: Exists
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/disk-pressure
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/memory-pressure
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/pid-pressure
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/unschedulable
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/network-unavailable
    operator: Exists

node.cloudprovider.kubernetes.io/uninitialized is not part of it. Can you confirm that calico-node is not running?

node.cloudprovider.kubernetes.io/uninitialized is not part of it. Can you confirm that calico-node is not running?

Yeah, but it has NoSchedule without key, so it can tolerate node.cloudprovider.kubernetes.io/uninitialized. calico-node is running, but it's not ready. It has error message like following.
calico-node 2022-03-07 07:35:24.461 [ERROR][79245] tunnel-ip-allocator/discovery.go 153: Didn't find any ready Typha instances.
calico-node 2022-03-07 07:35:24.461 [FATAL][79245] tunnel-ip-allocator/startsyncerclient.go 48: Typha discovery enabled but discovery failed. error=Kubernetes service missing IP or port

It doesn't seem to be related to RKE2 cluster provisioning itself, so I'm removing team/area2 label as it's not something our team will be fixing. Please let me know if that's not the case (@-mention me, please).

Verified fixed on  on Rancher v2.6-head 2642acc (03/16) with Harvester v1.0-591d8015-head (03/16). Close this issue.
Result
Can provision RKE2 cluster with kubernetes version v1.21.7+rke2r2 for the following OS image:

Ubuntu focal image
SLES JeOS image

Test Information

Test Environment: 1 nodes harvester on local kvm machine
Harvester version: v1.0-591d8015-head (03/16)
Rancher version: v2.6-head 2642acc
Kubernetes version: v1.21.7+rke2r2
OS image: Ubuntu focal, SLES JeOS

Verify Steps

Create a one node harvester
Upload Ubuntu focal and SLES JeOS image
Create virtual network vlan1 with id 1
Import Harvester from Rancher
Create cloud credential
Provision an RKE2 cluster
Add the following use cloud-init data

  password: 123456
  chpasswd: { expire: False }
  ssh_pwauth: True

Select Ubuntu focal or SLES JeOS image
Provide available cpu and memory resources
Provision the RKE2 cluster

@manuelbuil, this issue have been verified fixed as above test result. Please help to change the status accordingly. Thank you.

update another case which also caused same error:
Create Cluster using External Harvester (rke2)
The kubeconfig will not be requested, and the cluster lost some yaml field.

The Success case
Create Cluster using Imported Harvester (rke2)
The kubeconfig will be requested, and the cluster contains cloud-provider-config field in yaml.

Closing it as it was supposed to be closed a few days ago and got reopened due to Zube requiring "Done" label on issues.
@TachunLin, I see a comment above by @lanfon72 that this may still be an issue or there is another related issue, please handle it as necessary.


can't open data viewer from Python debug variables view

Consistently failing
https://github.com/microsoft/vscode-jupyter/actions/runs/7608735308/job/20718517810

issue in product caused by https://github.com/microsoft/vscode-jupyter/commit/14fc23d695bbabc4bf851815537c31e031ab3304
In onVariablePanelShowDataViewerRequest(request: IJupyterVariable), the request parameter actually has the shape
{ variable: IJupyterVariable } when opening the dataviewer from the debug variables view.

verification steps:

create a jupyter notebook
run a cell that creates a list x = [1,2,3]
after that completes run a cell with F10 to run by line, or hit a breakpoint while debugging
go to the variables view in the debug pane
right click the x variable and select 'View value in data viewer'

is having to install "pandas" expected to "view value in data viewer"?

yes, data viewer converts everything into a pandas dataframe, so it needs that package


feat(SLSA/SEC-973): container image signing action

Added docker push user and token secrets to the repository to run the job only in the context of approved PR / kong org.
Sample PR implementation and outcome: https://github.com/Kong/kong-ee/pull/6797


⚠ Jenkins Plugins Artifactory has degraded performance

In 57a2dd5, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1140 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 56b6cf7 after 12 minutes.


add isComposit

I think this is the best way to do this. Thanks for helping me not, you know, make a mess of the code by refactoring isPrime.

Pull Request Test Coverage Report for Build 116

28 of 28 (100.0%) changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 115:
0.0%

Covered Lines:
822

Relevant Lines:
822

💛  - Coveralls


Add configuration for builder-api logging

The log level has the following mapping from automate to
rust logger:
debug => debug
default, info, warn, warning, panic, fatal => error
Configurable through global config:
[global.v1.log]
level = "debug"

or
[builder_api.v1.sys.log]
level = "debug"
scoped_levels = ["tokio_core=error"]

Fixes #2480

cc @chefsalim

@jaym I'll add something to #2315 about this mapping.


Emit /* tslint:disable */ prior to comment

This makes tslint configurations which use the "require-header" rule not complain about the generated file.
Would be nice with an option to add a header from CLI.

hey @Sheeo, thanks for this change! do you mind also updated the jest snapshots by running jest -u so the tests pass, thanks!

Ah yes, of course -- done :)

Thanks for the contribution!


[Bug]: Selenium Crash

What happened?
Traceback (most recent call last):
File "main.py", line 1991, in
main()
File "main.py", line 1754, in main
course_id, course_info = udemy._extract_course_info_sub(selenium, course_url)
File "main.py", line 1030, in _extract_course_info_sub
self._selenium_login(selenium.driver)
File "main.py", line 988, in _selenium_login
WebDriverWait(driver, 60).until(EC.visibility_of_element_located((By.ID, "id_email")))
File "/usr/local/lib/python3.8/dist-packages/selenium/webdriver/support/wait.py", line 90, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Expected Result
download ...
Branch
feat-selenium
What operating systems are you seeing the problem on?
Linux/Unix
Relevant log output
No response
Other information
No response

most likely a captcha is preventing the program from continuing. I would suggest trying the feat/cookies branch.


DNS-01 validation data

Hi, I create a SAN cert with 8 domain names using DNS-01 for validation. My domain name registrar's update webpage only commits updates every 30 minutes. Because win-acme is wanting to validate each dns entry serially, it takes 4 hours to enter the cname information. It would be good if win-acme could issue the cname data for all domains at once and then verify all in a single step rather than one at a time (or maybe have an option to enable that behaviour).
Thanks for your support with the app.

Moving away from this serial behaviour would be surprisingly difficult to do without touching and thus potentially breaking many parts of the validation code. Since the manual DNS validation is anyway a 'hack' (ACME/Let's Encrypt is meant to be fully automatic) and having to wait 30 minutes for an update of your DNS is also not very common, I'm not planning to add this option for now. I'd look into the following solutions instead:

Request 8 seperate certificates instead of a SAN (if you really need the SAN, there is trick: once the eight domains have been seperately validated, you can request the SAN within xx hours without having to validate the domains again)
Use a different validation method
Script the process so that it doesn't matter that it takes 4 hours
Use acme-dns ( https://github.com/joohoi/acme-dns ) to work around the slowness of your provider

OK, thanks for considering.
I am using acme-dns to automate management of the token data but my domain registrar doesn't have an automated method of adding the cname records that point to my acme-dns server.
Once a cert is created, does win-acme always use the same TXT record(s) to renew the cert? If so then the delay in setting up the cnames is just a one-off event and not a big issue.

Good that you're using acme-dns. That's a one-time setup, so for subsequent renewals of the same domain, the same CNAME is used.


memory leak

memory leak

👍 Please file PR to branch 2.0release.

Merged by https://github.com/ossrs/srs/commit/6d7c7418a8a21fdfa41a0c023a1bae29ce08b95b


Filtering on boolean value 'false' not working

False is not handled properly in the following two lines:
      if (!exampleColumnValue || exampleColumnValue instanceof Array) {
      if (itemColumnValue) {

Good catch. Thanks for reporting.

Fixed in new release (1.2.5)


predator nes tile colors

When replacing tiles in predator for nes, the colors do not change to the new tile replacing it.  Everything else works fine and the tile functions as intended,  but the colors do not update.
example:  If you replace one of the blue rocks with with the brown grass, it turns into blue grass when running the game.

Yes, pallete bytes encoded in separate layer for this game, but configs not support it now. I'll work on fix this

Thanks!  It's not a great game, but with some level modding and sprite replacements, which is easy to do,  it could turn into something decent & become the go to version of it which I started to do. :)


[#1431] Release 2.1.0

Closes #1431

Note
This code review checklist is intended to serve as a starting point for the author and reviewer, although it may not be appropriate for all types of changes (e.g. fixing a spelling typo in documentation).  For more in-depth discussion of how we think about code review, please see Code Review Guidelines.

Author

[x] Self-review your own code in GitHub's web interface[^1]
[ ] Add automated tests as appropriate
[ ] Update the manual tests[^2] as appropriate
[ ] Check the code coverage[^3] report for the automated tests
[ ] Update documentation as appropriate (e.g README.md, Architecture.md, etc.)
[ ] Run the demo app and try the changes
[ ] Pull in the latest changes from the main branch and squash your commits before assigning a reviewer[^4]

Reviewer

[ ] Check the code with the Code Review Guidelines checklist
[ ] Perform an ad hoc review[^5]
[ ] Review the automated tests
[ ] Review the manual tests
[ ] Review the documentation, README.md, Architecture.md, etc. as appropriate
[ ] Run the demo app and try the changes[^6]

[^1]: Code often looks different when reviewing the diff in a browser, making it easier to spot potential bugs.
[^2]: While we aim for automated testing of the SDK, some aspects require manual testing. If you had to manually test
something during development of this pull request, write those steps down.
[^3]: While we are not looking for perfect coverage, the tool can point out potential cases that have been missed. Code coverage can be generated with: ./gradlew check for Kotlin modules and ./gradlew connectedCheck -PIS_ANDROID_INSTRUMENTATION_TEST_COVERAGE_ENABLED=true for Android modules.
[^4]: Having your code up to date and squashed will make it easier for others to review. Use best judgement when squashing commits, as some changes (such as refactoring) might be easier to review as a separate commit.
[^5]: In addition to a first pass using the code review guidelines, do a second pass using your best judgement and experience which may identify additional questions or comments. Research shows that code review is most effective when done in multiple passes, where reviewers look for different things through each pass.
[^6]: While the CI server runs the demo app to look for build failures or crashes, humans running the demo app are
more likely to notice unexpected log messages, UI inconsistencies, or bad output data. Perform this step last, after verifying the code changes are safe to run locally.

Approving this release PR to unblock @HonzaR, failing checks are filed (caused by failing Testlab CI authentication), and will be resolved post-Zashi 1.0.

Correct, we have an issue for that: https://github.com/Electric-Coin-Company/zcash-android-wallet-sdk/issues/1326


Address #569 - Contextual calls to action

I took a jab at #569. The difficult part is getting a nested controller's action to the parent controllers "section" context. I ended up just binding a context and dynamically setting additionalButtons. Lmk what you think; I'll be happy to continue iterations if needed. I've attached a screenshot.
Fixes #569.
Changes proposed in this pull request:

Removes new patient button from patients.edit route
Adds cancel, update buttons to patients.edit route

/cc @HospitalRun/core-maintainers

@James1x0 thanks for the PR!  It seems that with this PR you are working upstream against the current architecture and I am wondering/thinking what this issue really needs is a refactoring of the "section" as #569 is addressed for the app as a whole, not just patients.

@jkleinsc I'm thinking the issue kind of morphed into a different spec, see https://github.com/HospitalRun/hospitalrun-frontend/pull/656#issuecomment-252362375
But I wouldn't have anything against attempting a slight refactor of the section to account for this.

@James1x0 I believe even with that comment the issue is looking for a change across the app or maybe I misunderstand your comment?

@jkleinsc I'm probably reading it at face value. Summarizing, @jglovier suggested we replace the button up top in patients and then an overall style adjustment would follow. I'm making the change utilizing the section APIs. Maybe there should be a WIP PR? Thoughts?

@James1x0 -- Yeah... the more I think about it, I think the issue needs clearer requirements/architectural direction before a PR.

@James1x0 I am closing this issue because I've come to the conclusion that this issue needs further definition/architectural oversight before a solution can be applied.  See this comment for more details: https://github.com/HospitalRun/hospitalrun-frontend/issues/569#issuecomment-255200000


Feature Request: reset with arguments

In envs like world-of-bits, we might want slightly different config for different episode, because an episode can condition on things like queries. For example, if we'd like to evaluate the agent's performance on a set of queries:

book flight from SFO to BOS
book flight from PEK to SFO
book flight from JFK to PIT

The client would need to set different queries for different episodes during evaluation, while being in the same env.
This PR (still need to be cleaned up) creates a function _episode_configure for VNCEnv. So client can do
env._episode_configure(query='hello, world')
env.reset()

Hm, I think this can be done in-band using special actions — that is, shouldn't need to create any new first-class methods for it. Did you run into trouble with that approach?

you are right that probably not all universe envs need this feature. i'll keep this as a branch for now just for research purposes.

@nottombrown @gdb here's a new proposal for this feature - reset with arguments:
env.reset(**kwargs)

Currently, we already have env.reset(seed=...). This assumes the configuration of environments is drawn from a random distribution, and seed determines an instantiation. Sometimes, we want finer control of the initial state. A wide variety of environments will benefit from reset with args. For example, in WoB, we can have
env.reset(query='book a flight from SFO to BOS')

What do you guys think?

cc/ @joschu

I think the solution is to modify the core gym env so that you define step and reset rather than _step and _reset -- we're just forwarding these calls through anyway. That'll give people more flexibility to make misc small changes to the API.
@gdb what do you think?

+1 to switching to step/reset — we can do this in a backwards compatible way without issue.

Great idea. Shall I go ahead and make some changes?

Yep, go ahead.

Moving discussion to https://github.com/openai/universe/pull/164


[JBEAP-15226] registering recovery helpers when xa connection factories are ready

https://issues.jboss.org/browse/JBEAP-15226
Reordering the registration of the xa recovery helpers to the transaction manager to time when xa connection factory is started.

Would there be something I can do for this PR could be review? I'm sorry for bothering just I'm unsure about the process (/cc @andytaylor or @clebertsuconic ) thank you

I'm closing this as I consider it wrong and more investigation is needed.


Scour URL-escapes inline styles

Apparently SVGs can contain inline CSS. Firefox for example makes use of that. I don't know their purpose, but here they are.
Scour seems to escape these styles.
"

becomes
"

That doesn't seem right. attached is an example file: radio.svg.zip

Also causes #21 which is probably the most common manifestation of this bug.


Change Transporter Reg etc line to "Transporter Reg,  Landed to Keeps or Not Transported" in FISH1 row

Is your feature request related to a problem? Please describe.
fishers have expressed their confusions as to where to write "landed to Keep" as an example not given in the appropriate line. The full line is given in the physical FISH1 form.
Describe the solution you'd like
the text in the Transporter Reg Etc to be changed to "Transporter Reg,  Landed to Keeps or Not Transported"
Describe alternatives you've considered
I have requested facilitators to explain to fishers where this should be going
Additional context
N/A

Add to FAQ


[Warhammer 4e Character Sheet] V1.6 Update - Talents Integration

[x] The pull request title clearly contains the name of the sheet I am editing.
[x] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[x] The pull request makes changes to files in only one sub-folder.
[x] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

Changes / Description
UI & Code consolidation Update

Major clean up of sheet code (-25%), removed much of the pre-devmode code for the old SL system. This improves overall sheet performance and load times.
New SL system (formerly Devmode/Talent integration only) is now fully integrated as default and used for all rolls.
SL RT result line cleaned up, roll SL outcome clearly outlined, with bonus SL (colored), and final SL outlined.
Besmirched added to conditions list, it is currently not yet integrated into Fellowship rolls. (TBD)
Talent Integration XP now fully integrated. Sheets that where using Custom talents will need to delete them and transfer them to the new integrated talents for this to work as intended. Custom Talents can still be added manually.
NPC's will remember equipped weapon types we closing and reopening a sheet.

Character Sheet Info Roll20 Internal Use only.

@Djjus Yep. Will do.


[WIP] port PrivatePthreadExtras to all targets

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - c5593eb664bdcfdb7b5a722d279069093d97875f

Build failed
Swift Test OS X Platform
Git Sha - c5593eb664bdcfdb7b5a722d279069093d97875f

@swift-ci please test Linux platform

Build failed
Swift Test Linux Platform
Git Sha - c0cb8a6e5d782f831011676bbea4bde6d7b59390

Build failed
Swift Test OS X Platform
Git Sha - c0cb8a6e5d782f831011676bbea4bde6d7b59390

@swift-ci please test linux platform

Build failed
Swift Test Linux Platform
Git Sha - d76f48eb4bed6be28aa1e48b29fc560b4601e532

Superseded by #20719


Can't access UDP services running in WSL on localhost

Version
Microsoft Windows [Version 10.0.19043.1889]
WSL Version

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>
Distro Version
Debian 11
Other Software
No response
Repro Steps
start a UDP service in WSL, like nc:
nc -ul 5000

talk to that service from host, since windows doesn't come with nc, I'm actually using nc from msys2:
nc -u <IP_ADDRESS> 5000

and type something in nc and press enter.
Expected Behavior
We should be able to access that service on localhost, like when we type something in nc and press enter, the same thing should show on the other side.
As the document says so:
https://docs.microsoft.com/en-us/windows/wsl/networking#accessing-linux-networking-apps-from-windows-localhost
Actual Behavior
We can't.
Diagnostic Logs

if we remove -u thus let nc listen on TCP, it will work.
if we replace <IP_ADDRESS> with WSL's actual address(172...), it will work.

My conclusion is that WSL is not forwarding UDP, which is inconsistent with the document.
There seems to be similar issue reports, but they are too specific, this is actually a more generic and broad issue.
https://github.com/microsoft/WSL/issues/6351

This sounds like it is probably the same root cause as #8610.  A few questions:

Do you have either KB5015807 or KB5016616 installed?  Reportedly, the problem started in one (or both) of those (Windows 10, I believe) updates.  I have KB5016616 installed on my Windows 10 system and have the problem there, but I also have the problem on Windows 11 where neither of those hotfixes is installed (so it's probably a different hotfix there).
Side-note:  You can check installed hotfixes from an Admin PowerShell using Get-Hotfix

Assuming this is your issue, running ethtool -K eth0 tx off per this comment should also workaround the issue.  It's not ideal, but the Hyper-V team appears to be investigating the issue.

Thanks for the info.

I do have KB5016616 installed.

But turning off tx offload doesn't solve this issue, it's exactly the same as before.

Also I noticed tcpdump shows the traffic is on lo instead of eth0, so why would that help?
And I think this is totally different from #8610
#8610:

talk via eth0, the address he's using is 172...
specific size of udp traffic: <12 bytes.
specific direction of udp traffic: wsl -> host.

while in my case:

talk via lo/<IP_ADDRESS>.

when talk via eth0/172..., it works on my machine.

size doesn't matter, I tried over 12 bytes, it also doesn't work.
I tried tcpdump in wsl, packets from host never arrived.

@Jimmy-Z

But turning off tx offload doesn't solve this issue, it's exactly the same as before.

And I think this is totally different from https://github.com/microsoft/WSL/issues/8610

Agreed then - Different issue.

Not a real fix, but a workaround:
From WSL2, run the ifconfig command. Take whatever inet IP address the eth0 interface is set to use, and try connecting to that IP:<your_port>. You just can't use localhost or <IP_ADDRESS> with UDP for some reason!

Could this be related #9095?

Could this be related #9095?

Yeah I think that is the same bug.

I am not sure about where the flaw is really emplaced
If the docker container runs nc -lu 54321 you can push UDP data from the Windoze box with i.e. using bash and the ncat utilities with echo "Alive" | ncat -u <IP_ADDRESS> 54321
And it behaviors like expected
Seen Alive on the container shell, one could argue that the UDP data flow is correctly routed from the Windows box
However the failure appears when the udp data is received from the outside of  the windows box, more specifically when the proxy part is required through the recommend action
netsh interface portproxy add v4tov4 listenaddress={YourWindowsIPaddressHere} listenport=54321 connectaddress=<IP_ADDRESS> connectport=54321
Such stuff only works when the TCP is involved
Any progress related with ?

I am not sure about where the flaw is really emplaced
If the docker container runs nc -lu 54321 you can push UDP data from the Windoze box with i.e. using bash and the ncat utilities with echo "Alive" | ncat -u <IP_ADDRESS> 54321 And it behaviors like expected
Seen Alive on the container shell, one could argue that the UDP data flow is correctly routed from the Windows box
However the failure appears when the data is received from the outside of the windows box, more specifically when the proxy part is required through the recommend action netsh interface portproxy add v4tov4 listenaddress={YourWindowsIPaddressHere} listenport=54321 connectaddress=<IP_ADDRESS> connectport=54321
Such stuff only works when the TCP is involved
Any progress related with ?

That's a different issue, read OP.

This has caused me headache while trying to connect from windows to containers that bind to UDP ports running in WSL. I have tried the suggestions above but none of them work.
I am quite shocked that basic UDP communication is not functional.

@jstarks Is Microsoft aware of this quite fundamental problem? (you commented on #8610 but not here)

The new experimental networking mode "mirrored" seems to be a possible solution, cf. #4150 (so far only available to Windows Insiders)

It would be helpful if someone could report if any of the new networking options in the Windows Insiders build fix this issue.

I tried using the new mirrored networking mode, and was met with successful UDP outbound to external internet, but somehow completely inaccessible from localhost.
The supposedly newly-supported multicast also didn't work over UDP, as seen in this new discussion: https://github.com/microsoft/WSL/discussions/10614
Absolutely insane that there is this little support for such a fundamental protocol.

Actually, I just got it working! Works fine after turning hostAddressLoopback to true. Pretty much flawless UDP communication now!

Actually, I just got it working! Works fine after turning hostAddressLoopback to true. Pretty much flawless UDP communication now!

An issue I noticed is that UDP seems to completely randomly break sometimes. WSL shutdown/reboot is not sufficient to fix this; a whole PC restart was the only thing that fixed the issue. Don't even know where to begin debugging that, can't repro it very often.

it  does not worked for me, sad to find out is by design :(

I ran into the same problem to forward some UDP ports and I wrote some lines of rust to do it. There you go: https://github.com/matthid/UdpPortForwarder
Works for my use-case but be careful with production workloads.

Ran into this, unfortunately. Docker for now I guess.

Can you Bridged Adapter here, by creating a virtual switch using Hyper-V and attaching it to the distribution.


S3Mocked Documentation?

Snakemake Version: 7.3.8
Hello,
We are wanting to mock an S3 bucket locally so that we can treat a local folder such as /mnt/ as an S3 bucket.
We tried using the S3Mocked module; however, we're not able to find much information on how this should be set up or configured.
snakemake --default-remote-provider S3Mocked --default-remote-prefix '/local/mock/folder'
Can anyone provide insight on how this should be set up? When running the command above, we get:
ClientError in line 135 of /home/ec2-user/snakemake_eclip/eclip/Snakefile:
An error occurred (IllegalLocationConstraintException) when calling the CreateBucket operation: The unspecified location constraint is incompatible for the region specific endpoint this request was sent to.
  File "/home/ec2-user/snakemake_eclip/eclip/Snakefile", line 135, in <module>

Also encountering issues, with snakemake 7.8.3. I can tell the S3Mocked class requires a file test.txt to be present in the folder where snakemake is ran from, and that it creates a mock bucket called test-remote-bucket during __init__ to where this test.txt is mock-uploaded.
Any other buckets don't exist in the moto state, so everything fails. I assumed that a catch-all bucket would be created, which I could use to refer to absolute paths in my system


Update to ES6 syntax and React Router 4

Updated to ES6. However, while updating to React Router 4 everything broke so we decided to stay with React Router 3.


composer

I like to get updates by using composer.

Hi, I don’t plan to support Composer, your can use npm our our cdn


Increase the storybook_tests circleCI test container size

Description
As more and more storybook stories are added as part of the ongoing development of new components and UI for MilMove this job is requiring more resources than before. This PR updates it from a medium to a medium_plus container giving it 6Gb of ram instead of 4Gb. The PR also increases concurrency to 2 instead of 1.
Reviewer Notes
Nothing
Setup
Look at the build job for storybook_tests for this PR
Code Review Verification Steps

[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against 108ee5b6caf45a3a71acf6abee60e81577907a68


Fix ListView export

Children of ListView need to be extracted from the corresponding SliverList.
Closes #66

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 88.88%. Comparing base (e8bfb0b) to head (25fee94).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #72      +/-   ##
==========================================
+ Coverage   88.86%   88.88%   +0.02%
==========================================
  Files          57       57
  Lines         853      855       +2
==========================================
+ Hits          758      760       +2
  Misses         95       95

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[BUG] Swipe actions don't work anymore

This is a (multiple allowed):

[x] bug

[ ] enhancement

[ ] feature-discussion (RFC)

Framework7 Version: master branch

Platform and Target: Chrome on Android

What you did
Normal swipe to delete or swipeable tabs in the kitchen sink.
Expected Behavior
The swipe action works as before.
Actual Behavior
It does nothing. Can't swipe anymore.

Seems to work for me. Can anyone confirm?

Works for me as well

@nolimits4web @ZanderBrown
Really on the master branch?
1.5.4 is working.

i'll rebuild later but at present yes

Okay, on Master branch issue was presented. Fixed by e748fee0c03442bf56730ab3de6ddd2f6d238e81

Thanks!

@nolimits4web @ZanderBrown
Sorry, I've tested it and the swipe to delete is working fine again but the PhotoBrowser/SwiperSlider and the swipeable tabs don't work as before.

Okay then reopening

@nolimits4web @ZanderBrown @valnub
Please mark this as high priority.

Fixed by dd5eed0397d7a6fd81b0a7d30d1ac3e762f234f2


Paste using right-click

In some terminals I can mark the text and it is automatically copied to the clipboard. In Windows Termial with PowerShell this is not possible. At least I did not find an appropriate option to force this behavior.

Proposed technical implementation details (optional)

A function like "Paste using right-click" or "Copy on select" would be very useful for everyday use.

We have a global setting called copyOnSelect.


[V4] Improved expandable

Removes ISubItem interface by moving the parent declaration to IExpandable.

Travis won't be happy, because thats an binary incompatibility with the material drawer.

TODO:

move select, deselect handling from expandable extension to select extension


New Spine v0.6.0

Migrate to new Spine framework version
Introduce JdbcStandStorage

@armiol
This is not the final version of this patch. For now I just wanted to be sure if I never misunderstand concepts from Spine framework before there is too much code to rewrite.
I hope you as (co)author of Stand concept will quickly spot issues here if they are present here.

@armiol PTAL

@dmdashenkov please see my comments.
Also, it's weird to call the branch spine-0.5.9 while this is clearly spine-0.6.0.

Note: IDEA reports 100% method coverage and 98% line coverage of JdbcStandStorage.

@armiol PTAL

@armiol
If it's necessary, we can clone core-java repo from stand-in-memory just into the Travis build environment and include in via Gradle composite build.

@armiol To make long story short (not replying for each your comment), I've addressed your notes.

@armiol PTAL

@armiol PTAL

@dmdashenkov LGTM, but let's merge this one into master after the spine-core 0.6.0 is released — after the Travis builds are successful (hence Github checks pass).

Current coverage is 91.17% (diff: 93.46%)

Merging #11 into master will increase coverage by 0.38%

@@             master        #11   diff @@
==========================================
  Files            61         64     +3
  Lines          1151       1281   +130
  Methods           0          0
  Messages          0          0
  Branches         58         64     +6
==========================================
+ Hits           1045       1168   +123
- Misses           80         86     +6
- Partials         26         27     +1

Powered by Codecov. Last update 810d3e1...3a9a838

@armiol Let's merge this PR, since Spine v0.6.0 is released.


Check if the zip file is already generated.

Is it possible to check if the zip is generated and completed then if they detect that the zip file is generated completely proceed to download. In my case i have a lot of files that needs to be in zip file to download what happens is it redirect to 404 because the zip file is not completed.

Hi, you need chain function ->close() for wait to ready the zip file. In my case:
Zipper::make(public_path() . '/quibdo.zip')->add($files)->close();
It work! :D


App is not working on android version above than 8

Issue Type

[ ] Bug Report
[ ] Feature Request
[ ] Support Question

Description
Information

Command or Code

Environment, Platform, Device

Version information

Checklist

[ ] I searched for already existing GitHub issues about this
[ ] I updated all Cordova tooling to their most recent version
[ ] I included all the necessary information above

Please edit the issue and fill out the form.

Closing due to lack of response.


implement other obfuscation formats

many webpages format emails something along the lines of
johnsmith [at] yahoo [dot] com

Thoughts about adding this functionality? I can probably shoot a pull request.

I'll accept a PR for this. Sounds useful.
On Thu, Aug 30, 2018, 14:36 Jerome Wei<EMAIL_ADDRESS>wrote:

many webpages format emails something along the lines of
johnsmith [at] yahoo [dot] com
Thoughts about adding this functionality? I can probably shoot a pull
request.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/kichik/email-scraper/issues/4, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABGmpQ_4nraem8bN-873QwvX2jwttngtks5uV4f-gaJpZM4WS3IZ
.


Horizonatal Scroll Showing in DataTables

As seen in http://ironsummitmedia.github.io/startbootstrap-sb-admin-2/tables.html
Tested on Chrome and Firefox

For me the best fix was to use on wrapper :
overflow: scroll;


Explain why we don't load openmetrics tests in certain contexts

What does this PR do?

Motivation

Additional Notes

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached
[ ] If the PR doesn't need to be tested during QA, please add a qa/skip-qa label.

Current dependencies on/for this PR:

master

PR #13866   👈

PR #13867

PR #13868

This comment was auto-generated by Graphite.

⏳ This pull request is set to merge as part of a Graphite merge job
Stack job ID: 1RR6Dtp2rNHcqNp4K0bD.
See details on graphite.dev


Introduce .as_input for object types

Imagine we have this type:
@strawberry.type
class Frequency:
    kind: str
    times: int

and we want to use it as input, to do so we need to make a copy of it pretty much:
@strawberry.input
class FrequencyInput:
    kind: str
    times: int

But what if we allowed doing something like this:
@strawberry.type
class Frequency:
    kind: str
    times: int

FrequencyInput = Frequency.as_input() # we don't have access to the variable name, but we'll append Input to the original name
FrequencyInput = Frequency.as_input(name="AddFrequencyInput")
FrequencyInput = Frequency.as_input(all_optional=True) # not sure about this yet

Would absolutely love see this happen.
Stumbled on this issue when posting a question in strawberry discord community. I think having the brief here would be quite useful too:
We are using sqlalchemy to define db models of the data. On top of this, we need at least two classes to represent strawberry gql output and input. There is also a notion of the data itself (you can argue, however, that this could very well be represented by strawberry output, though, i.e. strawberry.type decorated class). And so we end up needing to define at least 3 classes with essentially the same data.
I have tried to abstract this away by creating what you see in the screenshot, however this does not really help with the fact that you still need to define all those classes separately. Usefulness of it rather lies in the fact that everything that you might need is contained in a single class.
Therefore, it would be a lot of help already if we could knock out needing to define at least one of these classes, namely input.


certgraphanalysis: update bootstrap name lookup

Bootstrap node name is no longer the last word in the description, instead the name should be extracted from the secret name.
Testing this in https://github.com/openshift/origin/pull/28868

/cc @tjungblu

/hold
still testing this in the linked PR

/hold cancel


Airline Theme: Solarized Dark is black instead of green

environment
vim: vim 8.0
vim-airline: HEAD circa Nov 26
OS: Mac OSX 10.11.6
Have you reproduced with a minimal vimrc: No
What is your airline configuration:
let g:airline#extensions#tabline#enabled = 1
let g:airline_theme = 'solarized'
set laststatus=2
set noshowmode

"devicons
set encoding=utf8
set guifont=Meslo\ LG\ M\ DZ\ Regular\ for\ Powerline\ Nerd\ Font\ Complete\:h18
g:airline_powerline_fonts = 1

VIM config part for solarized:
filetype on
syntax enable
set t_Co=256
let g:solarized_termcolors=256
let g:solarized_termtrans = 1
set background=dark
colorscheme solarized

if you are using terminal:

terminal: standard osx terminal
$TERM variable: ???
color configuration (:set t_Co?):
set t_Co=256

actual behavior
The color of my airline is black instead of the dark solarized "green", but all the solarized settings are correct (as far as i know), because it has the right style in general.

expected behavior
My airline style should be the same as the solarized dark theme from the preview screenshots.

what color are you talking about?

The color of the status line is black (between the grey elements at the bottom and also at the top ) instead of the solarized dark colorway. I thought this not the correct behavior, or am I wrong?
I thought it should look more like this:

check the output of :hi airline_c in the active window. That should be the color of the filename in the statusline.

Sorry I should have mentioned that in my answer. The guibg=#073642 seems to be the correct blue color. So I have no idea why this is black instead.

but you are using console version, right? So unless you set :set termguicolors you need to look at the ctermfg and ctermbg colors numbers

looks like the issue is in vim-airline-themes/solarized.vim

also check :h airline-theme-solarized

Jeah im using the console version. Unfortunately, the settings from :h airline-theme-solarized did not help with my problem.
:set termguicolors looks really cold, so thats not what i want :)
I could not find the issue vim-airline-themes/solarized.vim but maybe I am looking wrong.

So what color number do you expect? We now need to find out, why it
doesn't work and if we can adjust the solarized theme.
Best,
Christian
Viele Menschen sind zu gut erzogen, um mit vollem Mund zu sprechen,
aber sie haben keine Bedenken, dies mit leerem Kopf zu tun.
-- Orson Welles

Thanks Christian for all your help so far :)
From the solarized page it should be this color #073642 which is a slight lighter blue. I want this for my statuslines and also the background of my line numbers ( highlight LineNr ctermbg) instead of beeing black, like it is at the moment.
Just like this settings of a friend of mine:

Best Regards,
Roman

does that patch fixes it:
index 3481df1..2952ada 100644
--- a/autoload/airline/themes/solarized.vim
+++ b/autoload/airline/themes/solarized.vim
@@ -36,7 +36,7 @@ function! airline#themes#solarized#refresh()
     let s:green   = {'t': 2,  'g': "#d33682"}  " Base 0B
   else
     let s:base03  = {'t': s:ansi_colors ?   8 : (s:tty ? '0' : 234), 'g': '#002b36'}
-    let s:base02  = {'t': s:ansi_colors ? '0' : (s:tty ? '0' : 235), 'g': '#073642'}
+    let s:base02  = {'t': s:ansi_colors ? '0' : (s:tty ? '0' : 23),  'g': '#073642'}
     let s:base01  = {'t': s:ansi_colors ?  10 : (s:tty ? '0' : 240), 'g': '#586e75'}
     let s:base00  = {'t': s:ansi_colors ?  11 : (s:tty ? '7' : 241), 'g': '#657b83'}
     let s:base0   = {'t': s:ansi_colors ?  12 : (s:tty ? '7' : 244), 'g': '#839496'}

I am really sorry Chris for the waste of your time.
After a long investigation on the web, I found:this
A improved theme for the mac terminal with a better color support.
It was no issue with vim-airline!
I am really sorry, 100% my fault.
Please consider that i am quite new to vim and really was not aware of the problems with the solarized term colors.
This non-issue can be closed.
Best,
Roman

Can you give a concrete solution for this? highlight LineNr ctermbg=<number> is not working for me

What exactly is your problem and why did you change the LineNr highlighting?

When I installed Solarized theme for vim, I expected the background color, and hence, the respective UI to be bluish like below.

But, I found the background color and all other color black.

When I changed the setting let g:solarized_termtrans=1, The background color changed to what is expected, but airline, number line background didn't change as expected (Same issue as in the first comment)

Is there any way I can get the background bluish without let g:solarized_termtrans=1? I have tried changing the value of term, t_Co and solarized_termcolors but none of them actually work.
Thanks

g:solarized_termtrans is a configuration variable for the solarized colorscheme. This has nothing to do with airline

Hi there,
I have the exact same problem as the first author of the issue. I'm running in Arch, with Termite. Termite hsa solarized colors, vim also but not the airline...
:hi airline_c
airline_c      xxx ctermfg=240 ctermbg=235 guifg=#586e75 guibg=#073642

I tried your patch and did not changed much, only the color of the middle bar at the bottom but that's it.
Any ideas ?
Thanks a lot

I don't follow. What exactly is your problem?


Siena - Logo missing from page

ENVIROMENT: production
URL: https://peviitor.ro
Company_careers_url: Company's name
Desktop:
OS: IOS
Browser: Safari
Version: 17.2.1
STEPS TO REPRODUCE:

Scroll down and click on Firme
Write Siena in the search bar
Observe the company logo box

EXPECTED RESULTS:
Company logo should be visible on the page.
ACTUAL RESULTS:
Company logo is missing from the logo box.
Screenshot:

Nu mai deschideti buguri pentru firme.peviitor.ro ca va fi deprecated


[BUG] GLATGMs don't properly inherit the velocity of the gun firing them

When firing GLATGMs while driving forwards with the gun pointing straight, fired GLATGMs will collide with the gun (or the tank's turret depending on velocity) with hilarious consequences. See: https://streamable.com/9fvsdv

Fixed on 4000686, merged to master on c858925. GLATGMs should no longer hit the weapon that fired them.

Fixed on 4000686, merged to master on c858925. GLATGMs should no longer hit the weapon that fired them.


[Systemd] support detection of virt substrate

Can we add support for systemd-detect-virt on our systemd lib?
That is important, e.g. when we want to use sysctl lib and some of the options may be applicable, but others cannot.
Proposal:
import subprocess

...

def running_as_vm():
    try:
        return subprocess.run(["systemd-detect-virt", "--vm"]).returncode == 0
    except FileNotFoundError:
        # No systemd! Either this is a docker container OR a very old distro
        return False

def running_as_lxc():
    try:
        return subprocess.run(["systemd-detect-virt", "--container"]).returncode == 0
    except FileNotFoundError:
        # No systemd! Either this is a docker container OR a very old distro
        return False

def running_as_container():
    try:
        return subprocess.run(["systemd-detect-virt", "--container"]).returncode == 0
    except FileNotFoundError:
        return True

@phvalguima not sure if this is similar to what you're looking for, but HPC does have a library for detecting if your machine charm is currently running within a container: https://github.com/charmed-hpc/hpc-libs/blob/main/lib/charms/hpc_libs/v0/is_container.py
We kept it systemd agnostic however - e.g. didn't include it in the systemd charm library - as some of our routines/applications won't work if inside an LXD container but aren't managed directly by systemd.


feat: add setup_contract_test proc macro

I have added a new macro setup_contract_test! and now a simple test can look like this:
#[tokio::test]
async fn simple_test() -> Result<(), Error> {
    setup_contract_test!(
        contract_instance,
        wallet,
        "packages/fuels/tests/test_projects/contract_test"
    );

    let response = contract_instance
        .initialize_counter(42)
        .call()
        .await?;

    assert_eq!(42, response.value);
    Ok(())
}

The macro can be used multiple times in the same function if the variable names are different. The same contract can be deployed multiple times as it deploys with salt.
If however, you want to use the same wallet with multiple macros you have to set the first wallet name to shared_wallet and the rest to None like this:
setup_contract_test!(
    contract_instance,
    shared_wallet,
    "packages/fuels/tests/test_projects/contract_test"
);

setup_contract_test!(
    contract_instance2,
    None,
    "packages/fuels/tests/test_projects/contract_test"
);

setup_contract_test!(
    contract_instance3,
    None,
    "packages/fuels/tests/test_projects/contract_test"
);

This is useful if you call one contract from another as the contracts need to be deployed on the same provider.

I have tested it by creating a new cargo project and importing fuels with
fuels = { git = "https://github.com/FuelLabs/fuels-rs/", branch = "hal3e/get-contract-instance-macro" }

Normally, a test specific setup function for the harness would be place in tests/some_name/mod.rs, but because this is a proc macro we can not use it from within the same crate.

Changing the name is a great idea and I have no problem with exposing this to the users. I will refactor the import a bit and make it work inside a forc project.
I have only one doubt. Currently, the macro makes 3 variables available:

contract_instance the name can be specified,
wallet - name is hardcoded
contract_id name is also hardcoded

Should we have something like this where we only give the path as input and then we use the hardcoded names.
setup_contract_test!(PATH)

or all the names can be specified:
setup_contract!(
    contract_instance,
    contract_id,
    wallet,
    PATH
)

or something else...

I have changed the name of the macro to setup_contract_test and I have changed what PATH is expected. Now the PATH is a forc project folder. For the harness file you would call the macro with
    setup_contract_test!(
        contract_instance,
        "packages/fuels/tests/test_projects/contract_test"
    );

Now that the PATH is a forc project. Calling it from within one becomes:
    setup_contract_test!(contract_instance, ".");

However, the test setup code of the forc project would have to change a bit. Previously we had:
use fuels::{prelude::*, tx::ContractId};

// Load abi from json
abigen!(MyContract, "out/debug/setup_test-abi.json");

async fn get_contract_instance() -> (MyContract, ContractId) {
    // Launch a local network and deploy the contract
    let mut wallets = launch_custom_provider_and_get_wallets(
        WalletsConfig::new(
            Some(1),             /* Single wallet */
            Some(1),             /* Single coin (UTXO) */
            Some(1_000_000_000), /* Amount per coin */
        ),
        None,
    )
    .await;
    let wallet = wallets.pop().unwrap();

    let id = Contract::deploy(
        "./out/debug/setup_test.bin",
        &wallet,
        TxParameters::default(),
        StorageConfiguration::with_storage_path(Some(
            "./out/debug/setup_test-storage_slots.json".to_string(),
        )),
    )
    .await
    .unwrap();

    let instance = MyContractBuilder::new(id.to_string(), wallet).build();

    (instance, id.into())
}

#[tokio::test]
async fn can_get_contract_id() {
    let (_instance, _id) = get_contract_instance().await;

    // Now you have an instance of your contract you can use to test each function
}

Now we have:
use fuels::prelude::*;

#[tokio::test]
async fn test_contract() -> Result<(), Error> {
   setup_contract_test!(contract_instance, ".");

   let response = contract_instance
       .test_function()
       .call()
       .await?;

   dbg!(response.value);
   assert!(response.value);
   Ok(())
}

Note that the macro can not be called outside of a function because of the let statements.

RE: the naming and parameters of the macro (setup_contract_test!(contract_instance, ".");), that's the sweet spot, I believe. I like it!
RE: Changing forc output. That's expected; we can get this in first, then push a PR on forc with these changes. This is a massive boilerplate code reduction! The whole get_contract_instance from forc can intimidate new users.
One might say we could be hiding too much (contract IDs, wallet, provider, etc.), but I think, in this case, it's worth it to get the user to write tests quickly. As usual, documentation will be key here: we have to let users know that, with that contract_instance, they can get the underlying test wallet and the contract ID in case they need those. We could even generate a comment with these auto-generated test files. Like:
use fuels::prelude::*;

#[tokio::test]
async fn test_contract() -> Result<(), Error> {
   setup_contract_test!(contract_instance, ".");

   // Use contract_instance._get_wallet() and contract_instance._get_contract_id()
   // to get the underlying test wallet and the contract ID, respectively.
   let response = contract_instance
       .test_function()
       .call()
       .await?;

   dbg!(response.value);
   assert!(response.value);
   Ok(())
}

I have refactored the macro to name all the exposed varibles. Now you can call the macro with:
    setup_contract_test!(
        contract_instance,
        wallet,
        contract_id,
        "packages/fuels/tests/test_projects/contract_test"
    );

and inside a forc project with:
    setup_contract_test!(contract_instance, wallet, contract_id, ".");

Now it is possible to call the macro multiple times inside a function if you change the variable names.

I have refactored the macro and removed the contract_id as we can get it from the instance. Now the macro can be called multiple times with the same contract as it deploys with salt. And we can have a shared wallet. Check the PR description for more info

Good point! I will add the docs in this PR.


1050: Master rebase with GHE patches

Signed-off-by: Manojkiran Eda<EMAIL_ADDRESS>

These are the patches from 1020 that are needed to support various features like hotplug & normalization.


Feat/small suppliers search box text

Amends explanatory text around the small suppliers search box, to match v4 of the figma designs.
Changes are behind a feature flag FF_SMALL_SUPPLIER_STARS, which has been added as an environment variable in dev/qa.

Out of interest, do you think it would be useful to be able to see a review app with dev/qa env vars sometimes? Or not really?

Yes, absolutely! I would think that the default should be that the review apps use the dev/qa env vars. I'll make a ticket for this.


FlatList refresh does not work

Please check next comment for the description.

I will close this since the main issue is solved. The other issue is still open but I can live with that for now.