Cant use focal manipulator thaumcraft 6

Hello, I can't use the focal manipulator at all. I have all of the requirements including 24x the experience level needed for the first projectile spell. I also have the modus crystal needed and it still wont let me craft it.  I have a focus pouch too. Thanks.

Could you post a screenshot of your GUI? They'll need more information to diagnose your issue.

I'm having a similar issue. I haven't been able to craft any foci, the "Start Crafting" button simply wont light up.


Cursor jumps to the end after adding a space between an emoji and a text

Problem
The cursor jumps to the end after adding a space between an emoji and a text in the singleline input.
Steps to reproduce

Inside the singleline input enter a text with the emoji, for example 😁hello
Insert a space between 😁 and hello, you will see that the cursor will jump to the end of the line.

Video:
https://github.com/user-attachments/assets/2835579a-bf6a-47ab-b4f8-623c2f453bb5
Platforms
WEB

^^ @parasharrajat

Hello! @VickyStash :)

I think this might help solve the issue of the problem
first capturing the cursor position using 'input.selectionStart'  before the input change occurs.

And next, get the current value of the input field using 'input.value'

Find the index where the space should be added by locating the last occurrence of space using 'currentValue.lastIndexOf(' ')' and adding 1 to get the position after the last space.

Insert Space: Slice string, add space.
Update Value: Set input to new string.
Restore Cursor: setSelectionRange.()

Fixed in https://github.com/Expensify/react-native-live-markdown/pull/482
https://github.com/user-attachments/assets/1a36fe60-64db-4f32-8e27-7eaefbad4c6c

Fixed in https://github.com/Expensify/react-native-live-markdown/pull/482
https://github.com/user-attachments/assets/1a36fe60-64db-4f32-8e27-7eaefbad4c6c


How to hook a function by Address ?

There is a class in System.Net named RemoteCertificateValidationCallback that's used for validating remote certificate, I hooked this class's constructor and it had an argument that contains the address of validator function, I want to hook that to always return true
already tried this for hooking the address and it didn't work:
system = Il2Cpp.domain.assembly("System");
system.image.classes.forEach((clazz) => {if (clazz.name.includes("RemoteCertificateValidationCallback")) {rcvc = clazz}});
m = rcvc.method(".ctor");
m.implementation = function(a, b) {
    Interceptor.attach(
        ptr(b.toString()), {
            onLeave: function(ret){
                console.log(ret)
            }
        }
    );
    this.method(".ctor").invoke(a, b)
}

I'm sorry for mentioning you but it's so force for me @vfsfitvnm

I think you want to do something like this;
const system = Il2Cpp.domain.assembly("System").image;
for (const klass of system.classes) {
	klass.fullName.includes("RemoteCertificateValidationCallback") {
		klass.method(".ctor").implementation = function(arg1, arg2) {
			console.log(`arg1: ${arg1}`)
			console.log(`arg2: ${arg2}`)

			arg2.class.method("idk").implementation = function(...args) {
				const orig = this.method("idk").invoke(...args);
				console.log(`idk: ${ret}`)
				return orig
			}

			const orig = this.method(".ctor").invoke(arg1, arg2);
		}
	}
}


test(sync): try a smaller lookahead limit

Motivation
This could be faster than #3582.

Motivation
This could be faster than #3582.

It was slower.


Figure out what is causing grief on k8s 1.23

This passed with 1.21 and 1.22 but 1.23 seemed to be timing out jobs since looked like they were only retried 6 times. Is this a new behaviour or did something else change?
https://github.com/sigstore/cosign/runs/5697562612?check_suite_focus=true

Ok, so here's a problem and surely it looks to be with 1.23 version of kind.
kind create cluster --name 1.23 --kubeconfig /Users/vaikas/kind-kubeconfig --image kindest/node:v1.23.4@sha256:0e34f0d0fd448aa2f2819cfd74e99fe5793a6e4938b328f657c8e3f81ee0dfb9

create a simple job:
apiVersion: batch/v1
kind: Job
metadata:
  name: checktree
spec:
  template:
    spec:
      restartPolicy: Never
      containers:
        - name: checktree
          image: ghcr.io/sigstore/scaffolding/checktree@sha256:4743ba4fdbbe305dafb70474ac4aeb9d23a36acdd38f7c1677de56d2f5ed35e0

No, I mean like really create the job:
kubectl --context kind-1.23 --kubeconfig /Users/vaikas/kind-kubeconfig create -f ~/Downloads/checktree.yaml

Then you can watch pods spinning up without proper backoff:
vaikas@villes-mbp chains % kubectl --context kind-1.23 --kubeconfig /Users/vaikas/kind-kubeconfig get pods
NAME              READY   STATUS   RESTARTS   AGE
checktree-49v25   0/1     Error    0          7s
checktree-8z9gg   0/1     Error    0          8s
checktree-hwpd7   0/1     Error    0          9s
checktree-kbddb   0/1     Error    0          15s
checktree-l4c8g   0/1     Error    0          4s
checktree-pbz7p   0/1     Error    0          5s
checktree-xjt7c   0/1     Error    0          6s

Note they all run in a matter of ~15 seconds, and after 7 of them (default being 6 retries). So, there's no backoff.

enabled and run here https://github.com/cpanato/cosign/runs/5784412526?check_suite_focus=true looks ok

but if you create a cluster and run only that job, this is expected to fail/error because it cannot connect to the service
which I tested with 1.22/1.23 and got the same behavior
$ k logs checktree--1-vzrw9
2022/04/01 08:52:59 Failed to get entry at index 0Get "http://rekor.rekor-system.svc/api/v1/log/entries?logIndex=0": dial tcp: lookup rekor.rekor-system.svc on <IP_ADDRESS>:53: no such host
panic: Failed to get entry at index 0Get "http://rekor.rekor-system.svc/api/v1/log/entries?logIndex=0": dial tcp: lookup rekor.rekor-system.svc on <IP_ADDRESS>:53: no such host

goroutine 1 [running]:
log.Panic({0x400050feb0, 0x2, 0x2})
        log/log.go:354 +0x98
main.main()
        github.com/sigstore/scaffolding/cmd/rekor/checktree/main.go:54 +0x270

$ k get po
NAME                 READY   STATUS   RESTARTS   AGE
checktree--1-jthmt   0/1     Error    0          3s
checktree--1-r5g66   0/1     Error    0          13s
checktree--1-vzrw9   0/1     Error    0          23s

or am I missing something?

Yes, that pod is indeed expected to fail. But, notice the backoff behaviour is wildly different. On 1.23 it takes ~15 seconds to retry the job 7 times => job fails.
On 1.22 it takes the expected 6 minutes to fail, and if you look at the times when pods are recreated after a failure, they follow the exponential backoff.
So, when I run that on 1.22 cluster, the pods are recreated following the expected exponential backoff, not the one after another that we seem to be observing on the 1.23:
vaikas@villes-mbp chains % kubectl --context kind-1.22 --kubeconfig /Users/vaikas/kind-kubeconfig-22 get pods -w
NAME                 READY   STATUS   RESTARTS   AGE
checktree--1-2vwvk   0/1     Error    0          3m29s
checktree--1-4nwhh   0/1     Error    0          3m19s
checktree--1-87kv4   0/1     Error    0          58s
checktree--1-q5tcd   0/1     Error    0          3m50s
checktree--1-rhhcx   0/1     Error    0          2m19s
checktree--1-tsn8j   0/1     Error    0          2m59s
checktree--1-8hksr   0/1     Pending   0          0s
checktree--1-8hksr   0/1     Pending   0          0s
checktree--1-8hksr   0/1     ContainerCreating   0          0s
checktree--1-8hksr   1/1     Running             0          2s
checktree--1-8hksr   0/1     Error               0          3s

Does that make sense?

@vaikas ahh i see, you are correct

And for completeness sake, this is how I created the 1.22 cluster above:
kind create cluster --name 1.22 --kubeconfig /Users/vaikas/kind-kubeconfig-22 --image kindest/node:v1.22.7@sha256:1dfd72d193bf7da64765fd2f2898f78663b9ba366c2aa74be1fd7498a1873166

@cpanato thank you so much for looking into it :)

maybe that is a bug, will run some tests and check logs

I've worked around this by increasing the retry count, as well as breaking the install into smaller chunks, so jobs shouldn't have to deal with long retries anymore.


Changes in code will lead to failure of Hot Reload

After a change in my code I get the error
[MyProject (net8.0)] Change failed to apply (error code: ''). Further changes won't be applied to this process.
I also tried it with net9.0. Same problem...

I just created a new dotnet9 console app and it was working fine, are you able to give a minimal repro?

I did the following to reproduce:

Open the Terminal in Visual Studio Code
Type in -> dotnet new webapp -o RazorPagesMovie
Click on Run and Debug
Select Debugger -> .NET Watch
Click on Run -> Page will open in Browser
Do a change in Pages/Index.cshtml and save -> Page will quickly refresh
Check Terminal -> Error

Error
dotnet watch ❌ [RazorPagesMovie (net9.0)] Change failed to apply (error code: ''). Further changes won't be applied to this process.
I use:

macOS 15.1.1 (24B91)
Visual Studio Code 1.95
.NET 9.0.100


Test (Backend): Test for logoutUser

Codecov Report

Merging #125 (a3d1475) into main (20c08ce) will increase coverage by 1.23%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main     #125      +/-   ##
============================================
+ Coverage     55.72%   56.96%   +1.23%
- Complexity       99      100       +1
============================================
  Files            39       39
  Lines           323      323
  Branches          7        7
============================================
+ Hits            180      184       +4
+ Misses          138      134       -4
  Partials          5        5

Impacted Files
Coverage Δ
Complexity Δ

...dicedev/kakebo/services/impl/LoginServiceImpl.java
100.00% <0.00%> (+50.00%)
3.00% <0.00%> (+1.00%)

Continue to review full report at Codecov.

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


Create a man page

The title is pretty self-explanatory; tools like these definitely should have a man page. :-)

@Airblader I agree. Since I've never created a man page yet, and since I'm not familiar with the format and the tooling around it, it might take a while for me. Any help would be appreciated!

The easy answer is to write the raw man file yourself. An example for this is i3lock's man page. But that's a bit bothersome. Another way is this, using asciidoctor and then generating the man page from it. But I'm not familiar with Haskell build system setup.
I assume other Haskell projects have man pages and I'd take inspiration from there. :-)

pandoc can generate manpages, but I have no experience with that. Here's a short tutorial.


VSCode : End of line Sequence issues

Issue Type: Bug
I noticed these issues from this morning,

I'm trying to set end of line sequence to 'LF', its not effecting any of the existing files. By default its auto, VS code is unable to detect the OS i guess (not sure 🤔 ).
So i changed in the right bottom from CRLF to LF, its fixes only in the current file and it was registered as a change to the git (weird). So I have to change all my files manually implies that all my files are in the git changes. Not sure why the change is effected as a change to the file.

VS Code version: Code 1.40.0 (86405ea23e3937316009fc27c9361deee66ffbf5, 2019-11-06T17:09:34.601Z)
OS version: Darwin x64 17.7.0

I'm trying to set end of line sequence to 'LF', its not effecting any of the existing files.

Where did you "set end of line sequence to 'LF'"?

change all my files manually implies that all my files are in the git changes. (not weird)

Changing eof to LF means replacing all \r\n in your text file to \n, that will definitely count as file changes.
If you want to work with Git, check your core.autocrlf setting. You may had set it true when you was installing Git for Windows. And you may want input from your statement.

Where did you "set end of line sequence to 'LF'"?
In the VScode settings.. Prefernces -> settings -> Text Editor -> Files -> Eol

Changing eof to LF means replacing all \r\n in your text file to \n, that will definitely count as file changes.
Thanks noted. Thats a valid answer.

EDIT: I see you are using macOS. so maybe your core.autocrlf is false (default), and the problem is that your repository is in CRLF eof. In this case there is no way to checkout as LF and commit as CRLF, so don't change it...
--I may have to change it because, There is a linting error across my code i.e., (Expected linebreaks to be 'LF' but found 'CRLF'.eslint(linebreak-style)).. It is occurring only on my machine

Thanks for your feedback, VS Code will only modify line break of active file in the editor instead of all files in the workbench, that's as expected.


Adding YouTube link

Want to add YouTube link to each chapter

Can you assign this to me,
Thank you


Right-click context menu doesn't work in the Stream or Topic fields

Users cannot use spell check in the Topic field as the menu will not appear at all.  Works fine in the comment body, just not stream or topic.

Refreshing (Ctrl-R) has resolved this issue.  It was actually happening everywhere for some users, only in stream/topic fields for me.  But a refresh cleared it up everywhere.

Refreshing (Ctrl-R) has resolved this issue.  It was actually happening everywhere for some users, only in stream/topic fields for me.  But a refresh cleared it up everywhere.

@PatrickLDiaz are you seeing this only in the Zulip desktop app?

Closing this issue as not replicable. We can reopen if we get a reproducer.


bryntroll cant crit

This can't crit according to multiple comments from https://www.wowhead.com/wotlk/item=50415/bryntroll-the-bone-arbiter#comments

vigo should be doing this


Fix lazy fill_value retrieval

The "smallest slice" method of retrieving the fill value from a dask array doesn't always work. In particular it won't work if that array is formed from the concatenation/stacking of several arrays or proxies which have differing fill values, or combinations of ndarrays and masked arrays:
>>> import numpy as np
>>> import dask.array as da
>>> from iris._lazy_data import get_fill_value
>>> a = da.from_array(np.array([1, 2, 3]), 1)
>>> m = np.ma.masked_array([1, 2, 3], [0, 1, 0], fill_value=10)
>>> m = da.from_array(m, 1, asarray=False)
>>> am = da.concatenate([a, m])
>>> print am.compute().fill_value
10
>>> print get_fill_value(am)
None

@pp-mo @bjlittle @pelson

Specifically, this comes up at save time when you want to stream data. Currently, that just means NetCDF. The shimmy around this issue is to write to disk and check that your fill_value is consistent, rather than try to understand your fill_value up front. This can be done with the da.store function. My proof of concept:
In [1]: import numpy as np
   ...: import dask.array as da
   ...: from iris._lazy_data import get_fill_value
   ...:
   ...:
   ...: a = da.from_array(np.array([1, 2, 3]), 1)
   ...: n = np.ma.masked_array([1, 2, 3], [0, 1, 0], fill_value=10)
   ...: m = da.from_array(n, 1, asarray=False)
   ...: am = da.concatenate([a, m])
   ...: print am.compute().fill_value
   ...:
   ...: print get_fill_value(am)
   ...:
   ...:
   ...: class F(object):
   ...:     def __init__(self):
   ...:         self.fill_values = set()
   ...:
   ...:     def __setitem__(self, keys, arr):
   ...:         self.fill_values.add(getattr(arr, 'fill_value', None))
   ...:         print('-->', arr, getattr(arr, 'fill_value', None))
   ...:
   ...: foo = F()
   ...:
   ...: da.store([am], [foo])
   ...:
   ...: print(foo.fill_values)
   ...:

10
None
('-->', array([1]), None)
('-->', array([2]), None)
('-->', array([3]), None)
('-->', masked_array(data = [1],
             mask = [False],
       fill_value = 10)
, 10)
('-->', masked_array(data = [--],
             mask = [ True],
       fill_value = 10)
, 10)
('-->', masked_array(data = [3],
             mask = [False],
       fill_value = 10)
, 10)
set([None, 10])

Incidentally, I discovered we have some questionable behaviour with regards to iris save of netcdf files. It comes down to the assumption that the fill value actually represents the mask of a masked_array:
In [16]: from netCDF4 import Dataset
    ...: import numpy as np
    ...: import numpy.ma
    ...:
    ...: arr = np.ma.masked_array([1, 2, 3], mask=[1, 0, 0], fill_value=2)
    ...:
    ...: arr = arr - 1
    ...:

In [17]:

In [17]: print(arr)
[-- 1 2]

In [18]: nc = Dataset('test.nc','w')
    ...: d = nc.createDimension('x', 3)
    ...:
    ...: v = nc.createVariable('v',
    ...:                       arr.dtype, 'x',
    ...:                       fill_value=arr.fill_value)
    ...:
    ...: v[:] = arr
    ...: nc.close()
    ...:
    ...:
    ...: nc = Dataset('test.nc')
    ...:
    ...: print(nc['v'][:])
    ...:
[-- 1 --]

There are a couple of options here. We could:

array.filled(a_fill_value) - but that requires choosing a fill value that doesn't collide with existing numbers
raising a warning if the fill value is used as an actual datapoint, telling the user how to re-define their fill value

What is clear: there is redundancy between the masked_array's mask and the fill_value, and there is no attempt from numpy to ensure they remain consistent. Essentially, I therefore consider the existing masked array fill_value to be entirely useless, and certainly not worthy of use as an element of valuable metadata.

Summary of key details:
•	np.ma -> slice -> np.ma in all situations
•	da.ma -> slice -> da.ma in all situations
•	np.ma -> save nc with fill value -> loaded array is ma only if there are masked points (fill value lost if no masked points)
•	There is negligible performance difference between reading a variable with/without a fill_value if there are no actual masked points (this could certainly have not been the case)
My conclusion: stream out our data with a default (overridable) fill value, warning if there are genuine data point collisions as we go. If we want round-trip fill_values, we need to add that to the data model (i.e. not use the fill_value in a ma, because of the previous comment). Adding fill_value to the data model is a possible thing - there are lots of details to ensure that we are consistent, and even then we still need to validate the arrays as they get written to ensure there are no data-point collisions. Implementing this has nothing to do with da.ma, and I don't currently have a strong driver to actually implement round-trip fill_values (we don't round trip other variable attributes, such as valid_range etc.)
Appendix
Performance for reading 100,000,000 points from a NetCDF variable (no masked points):

In [7]: %timeit Dataset('test_w_fill_value.nc')['v'][:]
1 loop, best of 3: 425 ms per loop

In [8]: %timeit Dataset('test_w_fill_value.nc')['v'][:]
1 loop, best of 3: 425 ms per loop

In [9]: %timeit Dataset('test_no_fill_value.nc')['v'][:]
1 loop, best of 3: 422 ms per loop

In [10]: %timeit Dataset('test_no_fill_value.nc')['v'][:]
1 loop, best of 3: 422 ms per loop

I have posted a query on the dask "masked_arrays" PR : https://github.com/dask/dask/pull/2301#issuecomment-323090956
Initial responses are positive for providing a pre-compute fillvalue access.
But I think the trend of discussion here is now tending to render that irrelevant ?

I therefore consider the existing masked array fill_value to be entirely useless, and certainly not worthy of use as an element of valuable metadata.

I think this is consistent with the previous iris-dask code
- that is, when we were using nan-arrays, and had a cube.fill_value

Discussed in offline meeting @pelson @djkirkham @bjlittle @pp-mo
Adopted @pelson maximum-simplicity approach, which in summary is :

do not make a fuss about 'round-trip' of format encodings for now

in particular, such as fill_value encoding

but could also consider PP packing; CF valid range

netcdf support does not do this anyway
PP currently attempts this, but with known shortcomings

don't respect fill-value attached to masked data at all
(instead) use format-appropriate default fill-values whenever we save

netcdf has per-dtype fill-values
PP/FF has a default BMDI concept

add save options to control
leave future space for
(but) *do not implement now
(instead) await user-request for this


25 input deconstruction

Connects #25. Re-develops input (for text and number) with help text, errors, label. Also adds jsdom for testing with mount.

Incorporated much of your work into another branch that is now merged. Thanks!


In area of interest preview table - remove redundant fields

When the user defines a specific area of interest and they press "preview" (or whatever it's named) they get a table of results. The table is currently the same structure as the main table (with the same fields) and it somewhat doesn't make sense.
Remove fields:

Delete

TBD - add labels (I can't).


Employee attendance automator

Script Title -
Brief -
automatic employee attendance system using Facial Recognition helps banks and industries to take attendance with out any biometrics and human interference which reduces the chance of transferring COVID'19 through any human interference.
Instructions

Create a new folder for your script and file/folder name should be appropriate.
Create a README.md in your folder for program Instructions
add requirements.txt if needed

Programming Language

[x] Python
May I solve this as an issue and work on it to add this new feature?
Happy Coding

Can I help?
Would need more details on this issue

sure if pawan allows us to do i will need help

i already made some script you can see ,find and remove bugs @danger-ahead

Hey @sayantann11 it looks like a complete project, rather than a script 😄😄, Anyway if wanna add it here, feel free to do.

thanks pawangeek but its just a script for now. :D
many more work is needed to complete it as a project

I have perform these changes
https://github.com/python-geeks/Automation-scripts/pull/390
you can refer this pull request i request you to accept this.

@pawangeek I have an entire project dedicated to marking Attendance of our faculty.  I would be happy to merge it here. Please check my Deep-learning for this. I have multiple versions of this project as well. It primarily involves Raspberry pi for capturing , sending image to server. receiving acknowledgment form server, Standalone Raspberry pi module which handles Everything on the device itself.
I would love to put it here. it is almost bug free, and more Importantly it has SPOOF DETECTION .
Please Assign me to this.


[feature request] Json reports to be named with the device name/info

There should be a fature to set a custom name on the json report at the CucumberOptions plugin. Otherwise the reports are named with the fork number and it's not easy to identify the remote device where the test was actually executed.
Would it be possible to rename it with the device platform and browser getting them thorugh system or env properties?
I'm happy to help on this if someone provides some guidance

Fork the repository
Come up with an example demonstrating the functionality you wish to include.  Create a failing acceptance test based on your example, including it in the src/it directory with the expectations for the functionality.  Use one of the existing tests as a starting point.
Create a pre-emptive pull request and we can take it from there.

@foxhound91  Yes this feature we can add. I have added in my local repo. Idea behind this is same as you describe.  To get Device name or Node machine name or Browser Name or Browser version should get reflected in json html reports, to get this done it will be combination of this plugin and your webdriver. WebDriver initialization must be done as per configuration withing Generated Runner Class. i.e. suppose i have 10 node machines and i pass machine wise runner get generated , each machine name appeared on each json/html report on which test executed.
Runner.java
@BeforeClass
public void InitializeWebDriverConfig(String sDeviceName)
{
   Webdriver driver = new RemoteWebDriver("***********HubURL with sDeviceName************");
}

@Test
public void Runner()
{
   All cucumber invocation logic goes here...
}

@AfterClass
public void CleanUp(){
   All Clean Up activity goes here.
}

@temyers can i add this in separate repo? but it will be involvement of Selenium WebDriver API's.

@sugatmankar Interacting with Selenium is outside the scope of the parallel plugin.
This plugin is for generating files for running cucumber scenarios in parallel.
Being able to set the name of the json report would be acceptable, but that should be blanket for a run and done in config only.

Yes i got that. @foxhound91 please use this in your webdriver class. No need to worry about other things.
@After
public void AddDeviceToJson(Scenario scenario) {
        scenario.write("This test was executed on device "+ getDeviceName);
}

@temyers I think this issue can be closed.

Thanks for the investigation.


Field responsesRespondedTo in NatsConnection produces OOM

Defect
Field Map<String, NatsRequestCompletableFuture> responsesRespondedTo in NatsConnection always grows during application runtime and never clean up which leads to out of memory error. Especially that field will be empty after try reconnect to NATS broker, but if there is no tries, so OOM will be produced.
Versions of io.nats:jnats and nats-server:
2.11.2
OS/Container environment:
OS: Linux
Docker Image: nats:2.1.7
Steps or code to reproduce the issue:

Create new connection
Send request to connection with method request
Receive a response to your request
Size of NatsConnection.responsesRespondedTo was increased, but it never clean up. This leads to OOM.

Expected result:
No OOM.
Actual result:
OOM.

Amount of entries in the map under load:

Amount of entries in the map after load (8 minutes after last load):

I saw that map was cleaned up after load on application was over, I think that was some reconnects to broker.
But when application is under the load heap continuous grows, and during my heap dump analysis continues grows especially responsesRespondedTo

@scottf as I understand it works a little bit different. Let's look on usage of responsesRespondedTo.
Method where new items are added inresponsesRespondedTo:
void deliverReply(Message msg) {
        boolean oldStyle = options.isOldRequestStyle();
        String subject = msg.getSubject();
        String token = getResponseToken(subject);
        String key = oldStyle ? msg.getSID() : token;
        NatsRequestCompletableFuture f = responsesAwaiting.remove(key);
        if (f != null) {
            responsesRespondedTo.put(key, f);
            statistics.decrementOutstandingRequests();
            if (msg.isStatusMessage() && msg.getStatus().getCode() == 503 && f.isCancelOn503()) {
                f.cancel(true);
            }
            else {
                f.complete(msg);
            }
            statistics.incrementRepliesReceived();
        }
        else if (responsesRespondedTo.get(key) != null) {
            statistics.incrementDuplicateRepliesReceived();
        }
        else {
            statistics.incrementOrphanRepliesReceived();
        }
    }

When we sent some request to NATS broker we saved that request in our map responsesAwaiting
When we received some response from NATS broker we are trying to process that response: first try to get something from responsesAwaiting for check if we need await for some responses. If there is present some future, we just removes that future from responsesAwaiting, passes value to that future and save link to that future in responsesRespondedTo
Problem is in point 2. We save future for track if we will receive two responses for one request in future and we will not this behavior in code

if (responsesRespondedTo.get(key) != null) {
    statistics.incrementDuplicateRepliesReceived();
}

but we never clean up responsesRespondedTo.
Cache responsesRespondedTo used just for track if we receive two or more responses for one request. But that cache stores data always and never clean up it. So we always need keep a cache filled and never clean up it. This leads to out of memory error.
I see two solutions for this behavior:

Completely remove cache responsesRespondedTo
Expire entries in responsesRespondedTo after some timeout, for example if items was in cache during last 5 minutes, remove them.

I tested solution 1 "Completely remove cache responsesRespondedTo" and it works fine. System under load has stable heap:

Heap of system under load with responsesRespondedTo:

responsesRespondedTo does clean up after a period of time, there is already an expiration. Please see this code:
https://github.com/nats-io/nats.java/blob/main/src/main/java/io/nats/client/support/NatsRequestCompletableFuture.java
and this code:
https://github.com/nats-io/nats.java/blob/main/src/main/java/io/nats/client/impl/NatsConnection.java#L978
I suspect the problem is, that under load and many messages, tracking at all could grow this map very large.
So my proposal is to provide options to turn this tracking off. Duplicate messages will be ignored and not counted. There will be an Options option to turn this behavior off and also to set the cleanup timeout padding for when you keep it on. If you need to count them, then the best solution is to reduce the padding timeout.

Sure I saw that https://github.com/nats-io/nats.java/blob/main/src/main/java/io/nats/client/impl/NatsConnection.java#L978 will clean up the map, but as I understand it will be clean up when connection will reconnect to NATS broker.
Option for disable tracking statistics sounds good for me.

Thank you for #659


Windows source code not available

What's the purpose of this project ?
With linux you can do a loooot more ...
(And even recompile the entire system for your own needs)

The same purpose as your comment, it seems 😂


Update: Add documentation for Node.js Circuit Breaker Booster

This pull request adds documentation for running and using the Node.js circuit breaker booster.
Ref: https://github.com/openshiftio/booster-catalog/pull/82

Can one of the admins verify this patch?

[test]

merged: 30602e024dc711a69dee994a514e956f3c084b77


consistent_replicate_gbk losing data after redo apply

Which jobs are flaking?
cdc_ghpr_integration_test
Which test(s) are flaking?
consistent_replicate_gbk
Jenkins logs or GitHub Actions link

[2022-04-01T16:36:43.146Z] [2022/04/02 00:36:43.133 +08:00] [INFO] [redo.go:103] ["apply redo log starts"] [checkpointTs=432231149290913799] [resolvedTs=432231153485217794]

[2022-04-01T16:36:43.146Z] [2022/04/02 00:36:43.141 +08:00] [INFO] [mysql_params.go:314] ["sink uri is configured"] [dsn="normal:******@tcp(<IP_ADDRESS>:3306)/?interpolateParams=true&multiStatements=true&allow_auto_random_explicit_insert=1&charset=utf8mb4&readTimeout=2m&sql_mode=%22IGNORE_SPACE%2CALLOW_INVALID_DATES%2CNO_ENGINE_SUBSTITUTION%2CONLY_FULL_GROUP_BY%2CNO_AUTO_VALUE_ON_ZERO%22&tidb_placement_mode=%22ignore%22&tidb_txn_mode=optimistic&time_zone=%22UTC%22&timeout=2m&transaction_isolation=%22READ-COMMITTED%22&writeTimeout=2m"]

[2022-04-01T16:36:43.428Z] [2022/04/02 00:36:43.145 +08:00] [INFO] [mysql.go:180] ["Start mysql sink"]

[2022-04-01T16:36:43.428Z] Apply redo log successfully

[2022-04-01T16:36:43.693Z] check diff failed 1-th time, retry later

[2022-04-01T16:36:46.316Z] check diff failed 2-th time, retry later

[2022-04-01T16:36:48.280Z] check diff failed 3-th time, retry later

[2022-04-01T16:36:50.226Z] check diff failed 4-th time, retry later

[2022-04-01T16:36:52.848Z] check diff failed 5-th time, retry later

[2022-04-01T16:36:54.775Z] check diff failed 6-th time, retry later

[2022-04-01T16:36:57.353Z] check diff failed 7-th time, retry later

[2022-04-01T16:36:59.333Z] check diff failed 8-th time, retry later

[2022-04-01T16:37:01.921Z] check diff failed 9-th time, retry later

https://ci.pingcap.net/blue/organizations/jenkins/cdc_ghpr_integration_test/detail/cdc_ghpr_integration_test/2595/pipeline/
Anything else we need to know

Does this test exist for other branches as well?

Has there been a high frequency of failure lately?

The checkpointTs fetched from metadata is<PHONE_NUMBER>90913799
The commitTs parsed from redolog file '<IP_ADDRESS>/8300_54272dd3-d81d-499b-813d-ada74ca4ad4d_1648804873_row_432224302843297799.log' is also<PHONE_NUMBER>90913799.
In https://github.com/pingcap/tiflow/blob/master/cdc/redo/reader/file.go#L366, since startTs equals to commitTs, shouldOpen() returns false and the redolog file is not opened. As a result, the DML event in redolog file is not executed.

After checking the commitTs of the RedoRowChangedEvent in redolog，it equals to the commitTs recorded in redolog file name. So this problem is due to a CheckpointTs mis-advancing.

another case: https://ci2.pingcap.net/blue/organizations/jenkins/cdc_ghpr_integration_test/detail/cdc_ghpr_integration_test/11811/pipeline

/label affects-5.3

https://ci2.pingcap.net/blue/organizations/jenkins/cdc_ghpr_integration_test/detail/cdc_ghpr_integration_test/13629/pipeline another case


Don't resolve types if the resolved type is intentionally not exported

Search Terms
type alias, resolve, not exported
Problem
I have configured typedoc to not include non-exported types. I have a type called NoParent<T> that is implemented using a few non-exported type. This is necessary, because these types are a pure implementation detail of NoParent<T> and may change. Unfortunately, typedoc resolved some NoParent<T> types to the non-exported types.
Example:
export interface VisitNoParentAstHandler {
	onAlternationEnter?(node: NoParent<Alternation>): void;
	onAlternationLeave?(node: NoParent<Alternation>): void;
	onAssertionEnter?(node: NoParent<Assertion>): void;
	onAssertionLeave?(node: NoParent<Assertion>): void;
	onCharacterClassEnter?(node: NoParent<CharacterClass>): void;
	onCharacterClassLeave?(node: NoParent<CharacterClass>): void;
	onConcatenationEnter?(node: NoParent<Concatenation>): void;
	onConcatenationLeave?(node: NoParent<Concatenation>): void;
	onExpressionEnter?(node: NoParent<Expression>): void;
	onExpressionLeave?(node: NoParent<Expression>): void;
	onQuantifierEnter?(node: NoParent<Quantifier>): void;
	onQuantifierLeave?(node: NoParent<Quantifier>): void;
	onUnknownEnter?(node: NoParent<Unknown>): void;
	onUnknownLeave?(node: NoParent<Unknown>): void;
}

NoParentNode is one of my intentionally non-exported types.
Suggested Solution
Don't resolve (trivial) type aliases if the resolved type is intentionally non-exported.

This is almost certainly going to be a design limitation, because what typedoc documents is the type it gets from typescript. If TS resolves the type, then typedoc doesn't know what it was originally

I wonder how VSCode still shows NoParent<Alternative>? I remember that the release notes of a TS version long ago mentioned that the TS language server got a lot smarter in how it handles type aliases.

Maybe we're lucky and there's an easy trick to get the same here too?

TypeDoc is already using that trick unfortunately, VSCode still shows NoParent because it is using the type nodes rather than the actual type signature. TypeDoc uses the type for methods/properties instead of the type node to properly handle generic types without having to manually implement type parameter replacement
declare const x: VisitNoParentAstHandler
x.onAlternationEnter // <-- hover over that

I've considered a few times trying to always use type nodes and resolve type parameters manually, but it'd be super ugly and likely easily broken with more complicated types.

Argh, that's a shame. So it seems like this isn't possible right now. Well, it's not like this is a huge issue (for me).
Should we close the issue? Maybe we could keep it open as a long-term goal, but if you don't see this happening in the foreseeable future, feel free to close this as won't fix.

It's still a possibility, but a pretty low one at this point... I don't see spending the time to write a type parameter resolver anytime soon


Manjaro WIP

This is my try to port it. I didn't try to make it pretty but this is what I have. And it doesn't work.
wheel is not needed but I wanted to compile PyGObject so I added it (somebody suggested it).
It fails when it tries to build PyGObject.
This OS package:
gobject-introspection-1.70.0-2-x86_64 fails to install because every mirror responds with 404.
(sudo pacman -S gobject-introspection)
And if I don't install it then I get this error (from pip):
  running build_ext
  Package gobject-introspection-1.0 was not found in the pkg-config search path.
  Perhaps you should add the directory containing `gobject-introspection-1.0.pc'
  to the PKG_CONFIG_PATH environment variable
  Package 'gobject-introspection-1.0', required by 'virtual:world', not found
  Command '('pkg-config', '--print-errors', '--exists', 'gobject-introspection-1.0 >= 1.56.0')' returned non-zero exit status 1.
  ----------------------------------------
  ERROR: Failed building wheel for PyGObject
Failed to build PyGObject
ERROR: Could not build wheels for PyGObject, which is required to install pyproject.toml-based projects

More details:
https://github.com/salihmarangoz/system_tray_extensions/issues/38#issuecomment-966323057

I got it working with a live Manjaro USB! Will be updating the installation. I will notify you in the issue then you can test it.

@Invertisment I have updated the installation. Read the Installation section in the README.md again. In general, base-devel meta package solved the issue on Manjaro. I think it is related to development tools, etc.


CI: reinstate cache check

This check had been removed (cf #17490 and #17491) since it stopped working temporarily.  It seems that it works again!  :octopus:

maintainer delegate

And if I leave a gap, I can still
maintainer merge
like before?

One more test
maintainer delegate
not at the start of the message.

Not sure if you still want to use this for testing the maintainer merge / delegate comments, but this PR looks good to me!
bors d+

No, I am done with the testing and I can always use a different PR, in case!
Thanks!
bors merge


wasm support

Currently any dart package that depends on ffi lib does not support web due to its dart:io dependency .
Since many modern native toolchains provide wasm cross-compile support for the web/js, is it possible to provide web platform support in this ffi library that interoperates with wasm? Thanks!

Currently any dart package that depends on ffi lib does not support web due to its dart:io dependency.

Due to its dart:ffi dependency (besides its dart:io dependency). dart:ffi is not available on the web. Because of this, package:ffi is not available on the web.
If you'd like packages wrapping native libraries to be available on the web, those packages would need to be compiled to wasm and one would use dart:js to interface with web assembly. One would not use dart:ffi nor package:ffi.
This needs to be solved on a per package basis, we can't solve it for all packages by doing something in dart:ffi or package:ffi. Closing issue.


Add an intermediate instruction set

This intermediate representation or instruction set should support the scripting features from multiple RAGE games (at least, GTA IV, MP3, GTA V and RDR3) so it can be converted to and from the real scripts bytecode.
It should also be simpler where possible, for example:

Instead of all PUSH_CONST_* for integers or floats just a single opcode for integers and another for floats.
No *_LOAD or *_STORE versions of other opcodes. Use the LOAD and STORE opcodes after pushing the address instead.
Instead of versions of the same opcode with different operand size like STATIC_U8 and STATIC_U16 just a single opcode.

For now, the intermediate instruction set will only support the decompiler.
For the compiler, an abstraction over CodeGenerator with specific implementations for each game should work.

Closed in #42.


Publish on master only

Add link to online API docs from README with build instructions
Fix presentation of links in README

bors merge

bors merge


Implement automated UI functional tests for - Create and View Nested Iterations

See:
https://github.com/fabric8io/fabric8-planner/issues/1170

https://github.com/fabric8io/fabric8-planner/pull/1737


Update index.md

Added my TODO ideas related to getting started

Oops, thanks for pointing this out!


cmd/compile: inconsistent float64 behaviour between arm64 and amd64

What version of Go are you using (go version)?

$ go version
go version go1.13.6 linux/amd64

Does this issue reproduce with the latest release?
Yes.

What did you expect to see?
Matching behaviour between arm64 and amd64.
What did you see instead?
Floating point difference for one approach.
This difference is only seen when the floats are in a slice, the equivalent in a single value behaves as expected.
~ $ cat inv_single.go
package main

import "fmt"

func main() {
	nNeg := 10.0
	fpr := 10.0
	invNeg := 1 / nNeg
	fpr = 1 - fpr*invNeg
	fmt.Println(fpr)
}
~ $ GOARCH=amd64 go run inv_single.go
0
~ $ GOARCH=arm64 go run inv_single.go
0

CC @randall77 @griesemer
The spec says (https://golang.org/ref/spec#Arithmetic_operators):

An implementation may combine multiple floating-point operations into a single fused operation, possibly across statements, and produce a result that differs from the value obtained by executing and rounding the instructions individually. An explicit floating-point type conversion rounds to the precision of the target type, preventing fusion that would discard that rounding.

That is, Go has never promised to produce bit-identical results on different architectures.  I suspect that is what is happening here, but leaving the issue open for investigation or discussion.

Yes, that's why I asked at go-nuts. The thing that tipped the balance is that I see a difference between in slice and single value versions of the code.

So it does look like it's due to that, just not in the direction I was thinking. On arm64 a fused multiply sub instruction is generated, but on amd64, a mul and sub set are emitted. Adding an explicit float64 conversion makes the arm64 behaviour match amd64.

Yes, this is the arm64 backend using a fused multiply-subtract to compute the result. invNeg is not exactly 1/10, so 1 - (~1/10)*10 is not exactly zero. But (~1/10)*10 is within an epsilon of 1 (epsilon is around 10^-16 here), so the intermediate rounding gives a result of 0 on other platforms.

Thanks. So the surprising thing is that in the old code, where the expressions were over two lines
		fpr[i] *= invNeg
		fpr[i] = 1 - fpr[i]

the fused operation is still generated. I would have thought that the *= did a float64 conversion.

You can only prohibit the fusing with an explicit float64 cast.

Yes, just confirmed that, the second line would need to be fpr[i] = 1 - float64(fpr[i]). It seems the SSA analysis does an amazing job at finding diffuse objects.


Failure to launch on MacOS 14.1 Sonoma

Here's the error output on my Macbook pro:
Traceback (most recent call last):
File "../opt/anaconda3/envs/pyxy3d/bin/pyxy3d", line 5, in
from pyxy3d.main import launch
File "../opt/anaconda3/envs/pyxy3d/lib/python3.10/site-packages/pyxy3d/init.py", line 16, in
app_dir = Path(os.getenv("LOCALAPPDATA"), package_name)
File "../opt/anaconda3/envs/pyxy3d/lib/python3.10/pathlib.py", line 960, in new
self = cls._from_parts(args)
File "../opt/anaconda3/envs/pyxy3d/lib/python3.10/pathlib.py", line 594, in _from_parts
drv, root, parts = self._parse_args(args)
File "../opt/anaconda3/envs/pyxy3d/lib/python3.10/pathlib.py", line 578, in _parse_args
a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType

Hi @Corey-PT ! Based on the error message you provided, it appears that at initialization, the operating system is being misidentified as windows (using os.name == "nt"). I've revised the code to use a different method of checking (platform.system). This is working on macOS 13, the most recent version of the OS I can readily test.
This new code has been pushed to PyPI (v0.2.4). If you uninstall and reinstall into your .venv via pip, hopefully this should work. Please let me know if this doesn't fix the problem!
Thank you,
Mac

Thanks for the update @Corey-PT. It may take some time for me to block out to drill down into this. In the meantime I'll update the Readme with the issues on sonoma. I'm leaving a link here for my own reference to start exploring potential solutions:
https://stackoverflow.com/questions/68659865/cannot-pip-install-mediapipe-on-macos-m1

At first glance, it works OK on on Sonoma 14.0 for me. I installed from HEAD into a Python 3.10 venv virtual environment. Python was installed with Homebrew, not Anaconda. Note you must use Python 3.10 since Numba doesn't support newer releases. No issue installing any of the dependencies including MediaPipe.

@rgov,
Thank you for the MacOS and Numba information. I will pin the python version to 3.10 with that in mind, and close the issue with confirmation that it launches.
General comment since you are taking a look at things: I wanted to keep you in the loop that I'm in the midst of a fairly large refactor to switch the calibration to be based off of pre-recorded footage. The intention is to allow easier integration with systems based around something other than webcams (which is what I'm learning more individuals want). I'm doing my best to not touch the currently existing functionality until I have a full scale replacement, but I wanted to keep you aware that things may get "delicate" while this work is in process.
Thanks again for your interest in the project and the recent PR. If you have any questions or requests please just let me know.
Mac

@mprib Thanks. I very much want to use pre-recorded footage for calibration, so I hope this is available for testing soon.


Add tests for host only network retrieval feature

Happy for the help but want to make sure to test this, the other paths could use some love as well so they're added here.
Signed-off-by: Nathan LeClaire<EMAIL_ADDRESS>

Hold off on this a second, I have an improvement I want to make.

OK good times, now this is ready for merge.


Correctly check the argument whe EpollServerSocketChannelConfig.setTc…

…pFastOpen(...) is called
Motivation:
Due a bug we didnt check the argument but the already set value when calling setTcpFastOpen(...)
Modifications:

Correctly check argument
Add unit test

Result:
Throw if incorrect argument is used

Found while working on https://github.com/netty/netty/pull/12593


Galactic Research overriding AsmodeusCore's features

If playing with Galactic Research and AsmodeusCore, there are a few features that get disabled due to GR overriding them:

AsmodeusCore has time between flying to different planets to make it more realistic. Galactic Research simply removes this, even with the feature turned on.
Some visual bugs: "Launch" button and tier mark is red, even if you're on the rocket that's the same or higher tier.
Not sure if the tier system is also working, as I'm still on Earth and only checked how it is on the Moon.

What version of asmodeusCore?

AsmodeusCore 1.0.2


Updated version number to v1.2.3

Status
READY
Description
Update version number.

Pull Request Test Coverage Report for Build 1285

0 of 0   changed or added relevant lines in 0 files are covered.
15 unchanged lines in 4 files lost coverage.
Overall coverage increased (+0.2%) to 70.506%

Files with Coverage Reduction
New Missed Lines
%

icetea_lib/CliResponse.py
2
56.67%

icetea_lib/tools/tools.py
2
68.16%

icetea_lib/Events/EventMatcher.py
3
88.57%

icetea_lib/LogManager.py
8
75.76%

Totals

Change from base Build 1271:
0.2%

Covered Lines:
5001

Relevant Lines:
7093

💛  - Coveralls

Pull Request Test Coverage Report for Build 1283

0 of 0   changed or added relevant lines in 0 files are covered.
15 unchanged lines in 4 files lost coverage.
Overall coverage increased (+0.2%) to 70.506%

Files with Coverage Reduction
New Missed Lines
%

icetea_lib/CliResponse.py
2
56.67%

icetea_lib/tools/tools.py
2
68.16%

icetea_lib/Events/EventMatcher.py
3
88.57%

icetea_lib/LogManager.py
8
75.76%

Totals

Change from base Build 1271:
0.2%

Covered Lines:
5001

Relevant Lines:
7093

💛  - Coveralls

Pull Request Test Coverage Report for Build 1286

0 of 0   changed or added relevant lines in 0 files are covered.
15 unchanged lines in 4 files lost coverage.
Overall coverage increased (+0.2%) to 70.506%

Files with Coverage Reduction
New Missed Lines
%

icetea_lib/CliResponse.py
2
56.67%

icetea_lib/tools/tools.py
2
68.16%

icetea_lib/Events/EventMatcher.py
3
88.57%

icetea_lib/LogManager.py
8
75.76%

Totals

Change from base Build 1271:
0.2%

Covered Lines:
5001

Relevant Lines:
7093

💛  - Coveralls

Pull Request Test Coverage Report for Build 1284

0 of 0   changed or added relevant lines in 0 files are covered.
12 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.2%) to 70.2%

Files with Coverage Reduction
New Missed Lines
%

icetea_lib/bench.py
1
52.85%

icetea_lib/LogManager.py
3
76.89%

icetea_lib/TestStepError.py
8
63.64%

Totals

Change from base Build 1271:
-0.2%

Covered Lines:
4980

Relevant Lines:
7094

💛  - Coveralls


publish<EMAIL_ADDRESS>

Requested by: @jan-auer
Merge target: (default)
Quick links:

View changes
View check runs

Assign the accepted label to this issue to approve the release.
Leave a comment containing #retract under this issue to retract the release (original issuer only).
Targets

[ ] pypi
[ ] sentry-pypi
[ ] gcs

Targets marked with a checkbox have already been executed.  Administrators can manually tick a checkbox to force craft to skip it.

Following https://github.com/getsentry/relay/issues/3785, we'll update to 0.9.0


Fix several minor class reference issues

I figured these were minor enough issues that it makes sense to fix them in one PR instead of several. I can split these up if needed though.

Fixes https://github.com/godotengine/godot-docs/issues/7424
Fixes https://github.com/godotengine/godot-docs/issues/8798
Fixes https://github.com/godotengine/godot-docs/issues/8802

Thanks!


chore: remove lerna hoisting

Which problem is this PR solving?

Short description of the changes

Checklist

[ ] Ran npm run test-all-versions for the edited package(s) on the latest commit if applicable.

Codecov Report

Merging #57 (044e55d) into main (5f63606) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #57   +/-   ##
=======================================
  Coverage   95.91%   95.91%
=======================================
  Files          13       13
  Lines         856      856
  Branches      178      178
=======================================
  Hits          821      821
  Misses         35       35


Bug when switch axis

Version
5.1.0
Reproduction link
https://codepen.io/tanghaojie/pen/eYgXNWO
Steps to reproduce
A chart with 2 axis in one direction, 1 axis in other direction.
Init chart, when switch axis:
chart.setOptions({
 xAxis: ...,
 yAxis: ...
})

What is expected?
axis change.
What is actually happening?
not change

It's because the axes will be merged by default when setOption. You need to set notMerge to true.


IMU Calibration will not load to camera

I am having an issue with the rs-imu-calibration.py script. I can run through all of the six orientations and gather data for them. Then I can save the data. However, after all of that I never get the prompt of 'upload to camera?'
I only get a line that says 'Done. too many indices for array'
Does anyone know how to fix this?
Thanks.

Hi @g-robot-tech
I've included a link below to the documentation around the imu calibration example for the D435i camera.  Let us know if you've reviewed this document as part of your process of utilizing the rs-imu-calibration script.  Also have you updated the camera FW to the latest FW?  You can use the realsense viewer that is part of the latest librealsense 2.32.1 to update the FW to the latest
https://dev.intelrealsense.com/docs/depth-camera-d435i-imu-calibration
If you can provide a bit more details of your configuration and setup, that would help.

Hi,
Thank you for your response!
I have been using the documentation attached. I have updated the camera to the latest firmware of 2.32.1.
I have the D435i. Right now I have it in its box with a small hole cut for the connecting usb cord to exit. This is so I can steadily hold it at 90 degree angles.
I have tried to run the rs-imu-calibration.py on both python2 and python3. I go through the whole process of holding the camera in the six different positions, I save the data, then I get the message below:

Status.collect_data[....................]
Direction data collected.
Would you like to save the raw data? Enter footer for saving files (accel_.txt and gyro_.txt)
Enter nothing to not save raw data to disk. >test3
Writing files:
accel_test3.txt
gyro_test3.txt
Done. too many indices for array

I believe I should be prompted with some sort of "would you like to upload this to your camera?" message, but I never receive that message.

Hi
Do you by chance have another D435i device to test with?  This particular issue haven't been seen before on our end.

Hi
Do you by chance have another D435i device to test with?  This particular issue haven't been seen before on our end.
If we don’t hear from you in 7 days, this issue will be closed.


[Fixes] Version Card Fix

Signed-off-by: dhruv0000<EMAIL_ADDRESS>Description
Minor fixes to load version properly in docker and k8s deployment of meshery.
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

Codecov Report

Merging #3763 (3620b1b) into master (d6d0b90) will decrease coverage by 8.25%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3763      +/-   ##
==========================================
- Coverage   21.01%   12.75%   -8.26%
==========================================
  Files          45       45
  Lines        3817     3819       +2
==========================================
- Hits          802      487     -315
- Misses       2803     3217     +414
+ Partials      212      115      -97

Flag
Coverage Δ

gointegrationtests
?

unittests
12.75% <ø> (-0.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

mesheryctl/internal/cli/root/system/status.go
0.00% <0.00%> (-62.83%)
:arrow_down:

mesheryctl/internal/cli/root/system/start.go
1.11% <0.00%> (-52.97%)
:arrow_down:

mesheryctl/internal/cli/root/system/stop.go
0.90% <0.00%> (-39.10%)
:arrow_down:

mesheryctl/internal/cli/root/system/check.go
1.42% <0.00%> (-21.71%)
:arrow_down:

mesheryctl/internal/cli/root/system/logs.go
0.00% <0.00%> (-21.60%)
:arrow_down:

mesheryctl/internal/cli/root/perf/list.go
25.56% <0.00%> (-0.72%)
:arrow_down:

mesheryctl/internal/cli/root/perf/view.go
64.34% <0.00%> (+0.27%)
:arrow_up:

Continue to review full report at Codecov.

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

Thank you, @dhruv0000


fix: create empty lists in stats

Signed-off-by: Felipe Zipitria<EMAIL_ADDRESS>After running a couple of plugin tests, I realized that if some error was badly propagated, stats were created with nil, but at the os.Exit we were calling the stats, hence getting a fault.
Now this PR makes two changes:

create Stats as empty lists instead of nil
propagate errors so it can be shown at the cmd level

My local golanci-lint pushed me to piggyback more changes unrelated to this one, about problems on output:
output/output.go:50:2: field `cat` is unused (unused)
	cat        catalog
	^
output/output.go:124:3: ineffectual assignment to text (ineffassign)
		text, found = normalCatalog[key]

So I've made use of those explicitly and wrote additional tests.


IndentBlanklineContextStart underline colour is not respected under tmux

Setting a colour for IndentBlanklineContextStart via highlight IndentBlanklineContextStart guisp=#C678DD gui=underline doesn't work when in tmux. I've tested this in both kitty and alacrity and have tried playing around with my tmux settings (e.g. to try to overwrite this via setulc). No matter what colour is specified the underline colour will be the same as the text colour it's underlining if I'm in a tmux session (but works as intended outside of tmux), e.g.

I am able to set the underline colour in other cases in neovim just fine, just not for IndentBlanklineContextStart which leads me to believe that it's a bug in this package, although I'm unfortunately not able to diagnose the problem beyond this.

I am able to set the underline colour in other cases in neovim just fine

That is very weird. I don't do anything special with the underlines.
Try setting this in your tmux config
set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m'

Huh, I had this exact line in my tmux config last night and it wasn't working. I was pretty sure I detached from the previous tmux session, re-sourced config correctly etc. but I must have done something wrong as after a reboot it's now working in tmux with this line in both kitty and alacrity. Sorry for the confusion, but thanks a lot for your assistance (and all your work on this great plugin)!

I'm having the same issue. I'm using alacritty + tmux.
@lukas-reineke
the setting you suggested does not work :disappointed_relieved:
any other solution ?
Thanks :pray:
here is my config
lua <<EOF
vim.opt.list = true
vim.opt.listchars:append "eol:↴"

vim.cmd [[highlight IndentBlanklineContextStart guisp=#B16286 gui=underline]]
vim.cmd [[highlight IndentBlanklineContextChar guifg=#B16286 gui=nocombine]]

require("indent_blankline").setup {
    space_char_blankline = " ",
    show_current_context = true,
    show_current_context_start = true,
}
EOF

indent-blankline is not doing anything special. It just uses a highlight group with underline. If it doesn't work, it's a problem with Neovim, Tmux and Alacritty.
I don't really have any advice other than what I posted above, sorry.


Bloat fix for promise code

Builds on #28968

@drfloob

This change moves a bunch of code from a header to the implementation file.


Remove kedro-tutorial

Description
The need for kedro-tutorial has been replaced with a Kedro Spaceflights Starter. This repository is being removed as part of the final clean up of the former kedro-examples. README.md changes will be handled in #66.
Checklist

[ ] Opened this PR as a 'Draft Pull Request' if it is work-in-progress
[x] Assigned myself to the PR
[ ] Added tests to cover my changes

Notice

[x] I acknowledge and agree that, by checking this box and clicking “Submit Pull Request”:

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.

I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorised to submit this contribution on behalf of the original creator(s) or their licensees.

I certify that the use of this contribution as authorised by the Apache 2.0 license does not violate the intellectual property rights of anyone else.

💯 Am I correct that README.md will be updated later?

I think so. We just need the repo for a presentation soon :) We will tidy it up soon.


Additional hanging topic at Restore

Hi Stefan,
thank you for the fixing advice of the previous backup hanging issue posted by claire. Backup now works fine.
Unfortunately we have an additional restore hanging issue.
After opening the backup file we get the message "For delete: x; For insert: y; For update: z". After pressing the "Restore" button the green spinning wheel is running endless, no message appears or anything else happens.
We are running Qlik Sense 3.2 and tested it on Desktop and Server. I've tested it also with a very simple backup file (corresponding to a new created empty app). Beside the 10.1 backup-and-restore app version we've tested it also with the 10.0 und 9.4 version. Same issue in 10.0. In 9.4 no "For delete ... insert ... update " message appears and the "Restore" button never becomes active.
The backup and restore app would be a tremendous value for us. We are very thankful for a fixing hint.
tom

Hi,
I'm encountering the same problem. I'm running version 0.10 of QS-backup-and-restore on Qlik Sense 3.1.
Appreciate any hint on how to fix this as well.
Cheers
Eric

I am facing the same issue after implementing your solution for backup. Currently, it throws the below error:
Code:15
Message: "Request Aborted"
Parameter:"Failure"


fix/ keyboard interrupt for listen_loop

just added daemon=True
By adding daemon=True, "transcribe_forever" process will exit gracefully with the main process.
[Mentioned Issue]
#53

Please fix the conflict.  Otherwise, this fix seems relatively simple and I can do it.
Thanks!

Fixed in lastest PR.
Thanks for PR though!


Creating array of ints or strings using select

There is a detail that is skipped in this that is really useful to know, and that I think should be included in this documentation.
If you want to produce an array of ints, or strings, not an array of objects, it can be done if you know the trick
In the documentation we are converting an array of ints to an array of objects.
[1,2,3,4] => [{"Product_ID":"1"},{"Product_ID":"2"},{"Product_ID":"3"},{"Product_ID":"4"}]
I think it's likely often important to go the other way, i.e.
[{"Val":"1", "Txt":"One"},{"Val":"2", "Txt":"Two"},{"Val":"4", "Txt":"Four"},{"Val":"10", "Txt":"Ten"}] => ["One","Two","Four","Ten"]
Here I've tried to document how to do it - I think some explanation of how to do this should be in the doco.
If I have the array [{"Val":"1", "Txt":"One"},{"Val":"2", "Txt":"Two"},{"Val":"4", "Txt":"Four"},{"Val":"10", "Txt":"Ten"}] as an output from something, and I want an array of the Txt values...
I can set that array as my input,
When I set up the Map fields I would again create objects
But if I go into the source It turns out I don't have to.
For example in source the documented example would look something like...
  "inputs": {
    "from": "@variable('myintegerarray')",
    "select": {
        "Product_ID":"@{item()}"
    }
  },

and returns [{"Product_ID":"1"},{"Product_ID":"2"},{"Product_ID":"3"},{"Product_ID":"4"}]
In my example, this looks like
  "inputs": {
    "from": "@body('mydatasource')?['value']",
    "select": {
        "Text":"@{item()?['Txt']}"
    }
  },

and returns
[{"Text":"One"},{"Text":"Two"},{"Text":"Four"},{"Text":"Ten"}
But I want an array ["One","Two","Four","Ten"]
In otherwords using select to extract a property from each object in an array.
As it turns out, it's easy in code (though I don't think can be done directly in the UI)
The select clause item is directly added each time, so all I have to do is change it to
  "inputs": {
    "from": "@body('mydatasource')?['value']",
    "select": "@{item()?['Txt']}"
  },

and now I get the array ["One","Two","Four","Ten"] that I wanted.
I hope this is helpful and can be added in some form to the doco.

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

ID: e580b76a-a648-1f18-ed28-a7d6f206ce41
Version Independent ID: 64711039-ee01-6547-4588-a8ab1ae90d33
Content: Perform operations on data - Azure Logic Apps
Content Source: articles/logic-apps/logic-apps-perform-data-operations.md
Service: logic-apps
GitHub Login: @ecfan
Microsoft Alias: estfan

Minor note - you can do this in the UI by switching to text mode, where you get to specify "valid JSON", which of course an be code that generates a simple string or int.

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

Actually, it would also be great to include a way to reference the iterationindex for the array.  For example if I want to create a record like... 1:one,2:two,3:four,4:ten (i,e, index : item()?['txt'] ) what can i use to reference the array index in my mapping?

Hi @ChaosCrafter,
Thanks for your feedback! We've added your example as another sample to the doc. The update will go live on 12/14/2023 after 11 AM Pacific Time.


Config changes to reflect the default branch from master to main. Please merge to complete the default branch renaming job.

Auto branch renaming content.

Docs Build status updates of commit 45ba539:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch f3054f6f-2325-4021-8ae2-f7b8645b7edd has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


widget update called with arguments, not arg array

The widget update function did not get called with the arguments, but the arguments array.
I expected this to be the intended behaviour. 😕
Do correct me if i am wrong 😁

yup totes, thanks for spotting && patching! :tada: :tada: :tada: :tada:


Get a 0 status code when it should be a 200

Instrumentation of this tool reports metrics like:
        "metric": {
          "__name__": "http_requests_total",
          "instance": "statsd-proxy:80",
          "job": "statsd-proxy",
          "method": "POST",
          "path": "/count",
          "status_code": "0"
        },

When the actual status code should be 200. Need to determine why we're getting bad values.

This is likely some artifact of how httprouter and negroni interact. Perhaps moving routing frameworks would help solve this?


Update uprn import for the updated model

Codecov Report

Merging #18 into master will decrease coverage by 0.36%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master      #18      +/-   ##
==========================================
- Coverage   56.31%   55.94%   -0.37%
==========================================
  Files          12       12
  Lines         309      311       +2
==========================================
  Hits          174      174
- Misses        135      137       +2

Impacted Files
Coverage Δ

...vailability/lr/management/commands/import_uprns.py
0% <0%> (ø)
:arrow_up:

...ndavailability/lr/management/commands/importers.py
32.72% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


#[doc] does not concat if a macro produces a literal string

I'm incredibly new to macros so I don't know if this is even possible to address.
If a macro that produces a string literal is used in #[doc], paste does not concat.
macro_rules! create_string {
    () => {
        "example"
    };
}
macro_rules! example {
    () => {
        paste::paste! {
            #[doc = create_string!() "example"]
            fn example(){}
        }
    };
}

error: expected one of `.`, `?`, `]`, or an operator, found `"example"`
  --> sandbox/src/lib.rs:20:38
   |
20 |             #[doc = create_string!() "example"]
   |                                      ^^^^^^^^^ expected one of `.`, `?`, `]`, or an operator
...
26 | example!();

I don't think paste fits here,  afaik the doc comment expects a &str, and the result of paste is an identifier.
You can just use concat! here:
macro_rules! create_string {
    () => {
        "example"
    };
}
macro_rules! example {
    () => {
            #[doc = concat!(create_string!(), "a")]
            fn example(){}
    }
}

You also  would use [< >] if you want to create a new identifier, but I'm not sure if paste can expand macros.


encapsulate config in data attribute then init with js after pageload

@avree Thank you so much, for working on it.


Improvement suggestion to help to fix Android issues dependencies hard to find

When we add lot of packages, there are often the same Android dependency with some incompatibles versions (or too old versions), added to the flutter project.
So, when we add or upgrade packages, a warning message to explain which Android dependency is problematic would be very helpfull.
Then we can easly fix the version in the file app\build.gradle like that way:
[...]
configurations.all {
    resolutionStrategy {
        force 'com.google.android.gms:play-services-location:15.0.0'
    }
}

I just got bit by this issue. I'm using both a location package and google_maps_flutter package and they were using different versions of google play services. Net result is I got this runtime error below.

Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.maps.GoogleMapOptions>: java.lang.NoClassDefFoundError: Faile
d resolution of: Lcom/google/android/gms/internal/zzbfm;
I/zygote  ( 2954):   at void io.flutter.plugins.googlemaps.GoogleMapBuilder.() (GoogleMapBuilder.java:15)

google_maps_flutter was using 'com.google.android.gms:play-services-maps:11.8.0' whereas location was using 'com.google.android.gms:play-services-location:15.+'
To fix the runtime issue I modified my fork of google_maps_flutter to use the same 15.+ version.

Similar to #17046

Sorry for the late response.
Is this still an issue with recent Flutter versions?

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
See also this comment https://github.com/flutter/flutter/issues/17046#issuecomment-388761358


Sanity checks for manager rpcs

Are we still looking to merge this change or has it already been merged into main branch?


Output

Here are my patch to update ASV output. This should match what is currently running on our bench machine 1.

Should we add this output only in verbose mode?

Which output ? the timing one or the Variant run? the variant run should already be debug only (at least it use the same pattern at the output if I got things right.


ES6 Module / Class Support?

I'm trying to used SignalR with ES6 modules and classes, but can't find the right imports. There doesn't seem to be a top level class or factory for SignalR. Basically, I'm trying to do something like the examples in the https://docs.microsoft.com/en-us/aspnet/core/signalr/javascript-client?view=aspnetcore-2.1#call-client-methods-from-hub, but inside an ES2015 module or inside a JavaScript class. Using a script tag, the docs has:
<script src="~/lib/signalr/signalr.js"></script>
<script>
    const connection = new signalR.HubConnectionBuilder()
        .withUrl("/chatHub")
        .configureLogging(signalR.LogLevel.Information)
        .build();
    connection.start().catch(err => console.error(err.toString()));
</script>

In a ES6 module (or module script block), it seems I should be able to do something similar. I looked for an exported SignalR class, but don't see one. I couldn't find any imports to work with. Something like an exported class with a static builder method (HubConnectionBuilder or similar) would allow something like
import { SignalR } from "/js/signalR.js";
const connection = SignalR.HubConnectionBuilder...

// or exposing properties

import { HttpConnection, HubConnection } from "/js/signalR.js";

const hubUrl = "http://localhost:5000/hub";
const httpConnection = new HttpConnection(hubUrl);
const hubConnection = new HubConnection(httpConnection)

Am I missing something?

In an ECMAScript module, the namespace prefix isn't required, the following code should work:
import { HubConnectionBuilder } from "@aspnet/signalr";

const connection = new HubConnectionBuilder()
    .withUrl("/chatHub")
    .build();
// ... connect, invoke methods, attach handlers, etc.

The priorities for documentation have been the <script> tag form, but you're right, we're lacking some docs for using the library from an ECMAScript module. I'll file an issue for that. We do have some docs as part of our WebPack documentation (the code snippets also apply when using SignalR via any other ECMAScript module environment, not just WebPack)

Don't know if the @aspnet makes a difference (I'm just using loose files), but
import { HubConnectionBuilder } from "/js/signalr.js";

const hubConnection = new HubConnectionBuilder()
    .withUrl(hubUrl)
    .build();

gives
Uncaught SyntaxError: The requested module '/js/signalr.js' does not provide an export named 'HubConnectionBuilder'

So where did you get this signalr.js file? Are you using ASP.NET Core on your server? The ASP.NET Core SignalR client comes from the NPM package @aspnet/signalr.
If you're using ASP.NET (non-Core, i.e. System.Web) then it doesn't support ECMAScript modules.

It's core, the one from the npm package, dist directory. I just dropped it into this solution's wwwroot.

@overview ASP.NET Core SignalR JavaScript Client.
@version 1.0.2.

The script in dist/browser? That one isn't designed for use via a module loader. If you're using a module loader, is there a reason you aren't just using it out of node_modules? That's the main purpose for using a module loader.
The dist/browser script is the one designed for single-file including via a <script> tag. If you really need to take the scripts out of the module and put them somewhere else, you want the dist/esm folder, which has an ECMAScript Module version of the library. This should all be done for you though if you reference the module directly via node_modules.

I'm seeing that now. Found the esm folder. Thanks.


Deal with subprocesses cleanly in the worker

This fixes 2 things.
Zombies (CORE-1279)
If user code spawns a background process and it exits without the user code calling waitpid on it before the user code exits, we end up with a zombie process that takes up a slot in the process table forever.  We now run the worker through dumb-init to reap these zombies, preventing the process table from filling up when user code behaves like this.   Fixing this is not a huge deal in practice, but it's good for correctness.  Setting DUMB_INIT_DEBUG=1 will print something whenever a zombie is reaped.  A pipeline that runs a bash script like sleep 30 & touch /pfs/out/foo is an example of how to produce a zombie prior to this change.
Subprocesses that don't exit (CORE-1016, CORE-1280):
If user code spawns a background process that DOES NOT exit, then we have big problems.  It could hold stdout open forever, which means we wait forever reading that inside cmd.Wait(), even if the user code is killed because of a context timeout.  We had a workaround prior to #8066, but it didn't go far enough.  A case it ignores is where a child of the user code doesn't read STDOUT but uses some other resource on the system, like a TCP port.  Issue #8375 is an example of something that does this.  This PR fixes that case by running the user code in a process group, and sending SIGKILL to the process group when the user code exits (leaving around background processes) or is killed (because of an expiring context).  This means that everything the user code spawned gets SIGKILL'd and is guaranteed to terminate, releasing any file descriptors we were reading (STDOUT) or other resources (TCP ports).
We make a best effort to log when we're about to do this (find /proc/... races with processes exiting on their own before we call kill); so the logs look something like this running the opencv example as a bash script like sleep infinity & python3 /edges.py:
Nov 22 22:43:24 beginning to run user code pipelineName:↑ projectName:↑ workerId:↑ jobId:↑ data:[{"hash":"q4zXe15LED6ufrTyMlNYCP+dN/coyuQPAQ/KoY7n9iQ=","path":"/1VqcWw9.jpg"}] datumId:aa7e5b5ee2d9e78cfd714209d5d591078f86671e53e1710f1e658e353813cc25
Nov 22 22:43:24 /usr/local/lib/python3.4/dist-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment. pipelineName:↑ projectName:↑ workerId:↑ jobId:↑ data:↑ datumId:↑ user:true
Nov 22 22:43:24   warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.') pipelineName:↑ projectName:↑ workerId:↑ jobId:↑ data:↑ datumId:↑ user:↑
Nov 22 22:43:24 /usr/local/lib/python3.4/dist-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment. pipelineName:↑ projectName:↑ workerId:↑ jobId:↑ data:↑ datumId:↑ user:↑
Nov 22 22:43:24   warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.') pipelineName:↑ projectName:↑ workerId:↑ jobId:↑ data:↑ datumId:↑ user:↑
Nov 22 22:43:24 note: about to kill unexpectedly-remaining subprocess of the user code: pid=35 comm=(sleep) cmdline=sleep infinity  pipelineName:↑ projectName:↑ workerId:↑ jobId:↑ data:↑ datumId:↑
Nov 22 22:43:24 finished running user code after 598.008993ms pipelineName:↑ projectName:↑ workerId:↑ jobId:↑ data:↑ datumId:↑

A process can leave the process group and they will have the same problems (stdout stuck open) as before.  You have to go out of your way to leave the process group, but if a user does that, we have no way of fixing that.  (For that, we'd have to create a PID namespace with unshare, but that requires root or at least CAP_SYSADMIN.)
Anyway, this bug is fairly common; if you've ever run "stop job" and it didn't stop, or if you see something taking longer than the DatumTimeout, you hit this bug.  I've seen it quite a bit but didn't recognize the cause until looking into this in detail.  sleep infinity & touch /pfs/out/foo is an example of a script that used to break, but now works.
TestService in pachyderm_test would be broken by this bug, but they found a workaround for this issue: exec python ... instead of python ....  I've made that test do it "wrong" now, acting as a test for this fix.  Now users don't have to be UNIX wizards to have a working web server for files in a repo!
One reason this bug is problematic in general is that we use SIGKILL (via a hard-coded default in exec.Cmd); if the user code has cleanup code to terminate it subprocesses, it can't run it because SIGKILL is not something it can catch.  SIGTERM + grace period + SIGKILL would be more polite and less likely to cause problems; a well-behaved app would catch SIGTERM and kill its children.  The ideal solution here is to run the user code in a new PID namespace and let it be pid 1; then user code could use dumb-init to remap SIGKILL to SIGTERM if it felt like it.  But creating a PID namespace requires root, which we try to avoid, so I didn't pursue that route.
Finally, this is technically a breaking change.  If you had a pipeline like do_actual_work & sleep 10 and do_actual_work runs longer than 10 seconds, that would work in the past, but won't work now.  Worse, the job will be marked successful because bash will exit 0 after the sleep 10.  In the past, we would wait indefinitely for do_actual_work to close stdout, but now we SIGKILL it instantly.  Something we'll have to watch out for as users upgrade.
How I tested this
I ran TestPipelineWithSubprocess with and without this PR -- without, it hangs forever; with, it passes.
I ran (this PR's version of) TestService with and without this PR -- without, the first version of the server never gets killed and the test times out; with, it works as expected.  Some logs:
Nov 22 21:22:23 beginning to run user code master:true pipelineName:pipelineservice47fafd305644 projectName:default workerId:pipeline-default-pipelineservice47fafd305644-v1-5jpzk data:[{"hash":"tzUlQiTOsvaBavGE0GHMNpn5FVUqne/23Cvboctq8pw=","path":"/"}] datumId:17f6ef2602f33a7faa8e4fe5eca9730c4851f2132fb97dd67c1d48cecf82a1c7

Nov 22 21:22:28 <IP_ADDRESS> - - [23/Nov/2022 02:22:28] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:true
Nov 22 21:22:28 canceling previous service, new job ready master:true pipelineName:↑ projectName:↑ workerId:↑
Nov 22 21:22:29 <IP_ADDRESS> - - [23/Nov/2022 02:22:29] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:[{"hash":"tzUlQiTOsvaBavGE0GHMNpn5FVUqne/23Cvboctq8pw=","path":"/"}] datumId:17f6ef2602f33a7faa8e4fe5eca9730c4851f2132fb97dd67c1d48cecf82a1c7 user:true
Nov 22 21:22:29 <IP_ADDRESS> - - [23/Nov/2022 02:22:29] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:↑
Nov 22 21:22:30 <IP_ADDRESS> - - [23/Nov/2022 02:22:30] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:↑
Nov 22 21:22:32 <IP_ADDRESS> - - [23/Nov/2022 02:22:32] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:↑
Nov 22 21:22:33 <IP_ADDRESS> - - [23/Nov/2022 02:22:33] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:↑
Nov 22 21:22:35 <IP_ADDRESS> - - [23/Nov/2022 02:22:35] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:↑
Nov 22 21:22:40 <IP_ADDRESS> - - [23/Nov/2022 02:22:40] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:↑
Nov 22 21:22:43 <IP_ADDRESS> - - [23/Nov/2022 02:22:43] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:↑
Nov 22 21:22:46 <IP_ADDRESS> - - [23/Nov/2022 02:22:46] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:↑
Nov 22 21:22:49 <IP_ADDRESS> - - [23/Nov/2022 02:22:49] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:↑
Nov 22 21:22:53 <IP_ADDRESS> - - [23/Nov/2022 02:22:53] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:↑
Nov 22 21:22:58 <IP_ADDRESS> - - [23/Nov/2022 02:22:58] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:↑
Nov 22 21:23:05 <IP_ADDRESS> - - [23/Nov/2022 02:23:05] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:↑
Nov 22 21:23:08 <IP_ADDRESS> - - [23/Nov/2022 02:23:08] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:↑
Nov 22 21:23:13 <IP_ADDRESS> - - [23/Nov/2022 02:23:13] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:↑
Nov 22 21:23:17 <IP_ADDRESS> - - [23/Nov/2022 02:23:17] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:↑
Nov 22 21:23:22 <IP_ADDRESS> - - [23/Nov/2022 02:23:22] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:↑
Nov 22 21:23:26 <IP_ADDRESS> - - [23/Nov/2022 02:23:26] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:↑
Nov 22 21:23:30 <IP_ADDRESS> - - [23/Nov/2022 02:23:30] "GET /TestService_data9eabed90410e/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:↑

(Note how we keep serving the wrong content after "canceling previous service, new job ready"; the requests for file1 at increasing intervals is the backoff loop waiting for the content to change.)
With this change, the logs are much more in line with what we expect:
Nov 22 21:29:51 beginning to run user code master:true pipelineName:pipelineservice6c2a4335d762 projectName:default workerId:pipeline-default-pipelineservice6c2a4335d762-v1-pljn6 data:[{"hash":"tzUlQiTOsvaBavGE0GHMNpn5FVUqne/23Cvboctq8pw=","path":"/"}] datumId:f69008bc94305836b09b32cedafbbc3544a97d1d1ac08da93cef0b8b4c93dafc
Nov 22 21:29:56 <IP_ADDRESS> - - [23/Nov/2022 02:29:56] "GET /TestService_data23806d8940d0/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:true
Nov 22 21:29:56 canceling previous service, new job ready master:true pipelineName:↑ projectName:↑ workerId:↑
Nov 22 21:29:56 killing remaining children master:↑ pipelineName:↑ projectName:↑ workerId:↑ data:[{"hash":"tzUlQiTOsvaBavGE0GHMNpn5FVUqne/23Cvboctq8pw=","path":"/"}] datumId:f69008bc94305836b09b32cedafbbc3544a97d1d1ac08da93cef0b8b4c93dafcNov 22 21:29:56 errored running user code after 5.124852286s: signal: killed master:↑ pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑
Nov 22 21:29:56 starting new service, job: 073c5aa44d0f4d959f342f16dadae57b master:↑ pipelineName:↑ projectName:↑ workerId:↑
Nov 22 21:29:57 beginning to run user code master:true pipelineName:pipelineservice6c2a4335d762 projectName:default workerId:pipeline-default-pipelineservice6c2a4335d762-v1-pljn6 data:[{"hash":"NXAbkRl+Dg9yqP1d97rKGS/hekrlWOTEN8Tqj8pi+dg=","path":"/"}] datumId:f69008bc94305836b09b32cedafbbc3544a97d1d1ac08da93cef0b8b4c93dafc
Nov 22 21:29:57 <IP_ADDRESS> - - [23/Nov/2022 02:29:57] "GET /TestService_data23806d8940d0/file1 HTTP/1.1" 200 - pipelineName:↑ projectName:↑ workerId:↑ data:↑ datumId:↑ user:true

Fix #2544


CSI driver developer support

Add documentation and examples which helps CSI driver developers to implement SnapshotMetadata service
Extend/add CSI sanity test
Mock Kubernetes snapshot service that can be used to validate CSI SnapshotMetadata service

The CSI sanity test is in the csi-test repository.

/assign @carlbraganza


Phone Number Validation Message Issue in Login Page

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

Action Performed:

Open new Expensify.
Log out if already logged in
Login using a phone number, enter the phone number without country code

Expected Result:
While entering it should have shown the message
Please enter a phone number including the country code e.g +447814266907
Actual Result:
Only after press continue an error message is shown.
While Entering

After pressing continue

Workaround:
Yes users can add country code after an error shows up
Proposal
We already had a similar issue in search we can use the same check for phoneNumber
In LoginForm.js https://github.com/Expensify/App/blob/474a1492b5507390cf65aa177aa4e20b6f06a0a4/src/pages/signin/LoginForm.js#L81-L90
add these lines below,
{this.state.login
          && !CONST.REGEX.DIGITS_AND_PLUS.test(this.state.login) && Str.isValidPhone(this.state.login)
              && (
              <Text style={[styles.formError]}>
                  {this.props.translate('messages.noPhoneNumber')}
              </Text>
              )}

Will change styles based on input from the team.
Also, we can move the phone validation logic to Str.js in expensify-common,  if needed, and use the same in other places

Platforms
Where the issue is occuring?

[x] Web
[x] iOS
[x] Android
[x] Desktop App
[x]  Mobile Web

Version Number:
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
View all open jobs on Upwork

Triggered auto assignment to @MitchExpensify (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

Hey @Santhosh-Sellavel! Sorry for the delay. Confirmed the message doesn't show when typing a number without the country code. This seems like a reasonable improvement, labelling eng to review your proposal before they label external and have the Upwork job created

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

Oops I got the order wrong. First I should label external which will cause a job to be created in Upwork. Once done it will be labelled exported for engineering to review the proposal. Unassigning @tgolen and labeling external

Created a job in Upwork!
Internal: https://www.upwork.com/ab/applicants/1425538123129339904/job-details
External: https://www.upwork.com/jobs/~0158c04a9aa11f0914

Triggered auto assignment to @deetergp (Exported), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

@marklouisdeshaun I can fix this issue. All I have to do is add a callback on onChange of input and on each key press I will validate user input against a regex formate and will display message as soon as regex match fails.

The proposal from @Santhosh-Sellavel looks good 👍

Proposal slightly updated, Kindly verify when you have time. @deetergp
I'll wrap up a PR by tomorrow!
Just one concern regarding style can we leave the same style as below or can we update?

@Beamanator
Do I need to hold this, since your are writing requirements for phone number validation regex & this issue is similar too.
Earlier I suggested validation changes from PR https://github.com/Expensify/App/pull/4354, since changes were approved.
But when I validated the solution today it does not work, so only asked here to clarfiy in https://github.com/Expensify/App/issues/2934#issuecomment-898233586
and got clarified about requirement change there.
In here I'm planning to update existings regex or add a new regex to validate the phone number, show messages.
DIGITS_AND_PLUS Regex will updated or will replace with a new regex   /^\+(?:[0-9]*)$/
{this.state.login
          && !CONST.REGEX.DIGITS_AND_PLUS.test(this.state.login) && Str.isValidPhone(this.state.login)
              && (
              <Text style={[styles.formError]}>
                  {this.props.translate('messages.noPhoneNumber')}
              </Text>
              )}

What do you say, do I need to hold this, can I proceed with PR?

I'd say go for this one, whatever y'all decided here! I was actually talking about a different issue that isn't related to the login page, so I'd say proceed on this one :)

I'd say go for this one, whatever y'all decided here! I was actually talking about a different issue that isn't related to the login page, so I'd say proceed on this one :)

Thanks again for clarification! @Beamanator

cc: @marklouisdeshaun  @deetergp
After approaching the solution for this issue.
I found the following issues/concerns.

Enter 16 or more numbers, even though this looks like a phone number, we show an "invalid email" message.

In empty login do we need to allow continue?

After the user press continue button in empty login we show the error as in above. When the user gives input do we need to persist that error message?

It may lead to something like this if we don't clear

In this issue context, can we allow the user to press the continue button when we already show the number is invalid?

Can we show the user multiple errors like this.

Can I separate few issues and raise them separately except(4)?
If so which issues to raise separately or can be group.
Or We can handle all these issues here?
Post your inputs thanks!

@Santhosh-Sellavel You've definitely brought up some good points in your investigation. Here's my take on it: fix the phone number problem in this issue and include a fix for 4 since it does seem related.
Then create a new issue regarding how the error messages and continue button interact with one another. I think that is a bigger discussion that should stand on its own and require more input from others. Sound good?

To me, it seems that all are the result of incorrectly parsing the input value and calculating the error early. cc @Santhosh-Sellavel.

Only validation or input parsing is done here on the client-side is whether login is empty.
In this issue, I will handle phone number validation.
Every other error is calculated from the server-side.
What do you call calculating early?

@Santhosh-Sellavel You've definitely brought up some good points in your investigation. Here's my take on it: fix the phone number problem in this issue and include a fix for 4 since it does seem related.
Then create a new issue regarding how the error messages and continue button interact with one another. I think that is a bigger discussion that should stand on its own and require more input from others. Sound good?

Sure @deetergp!

@deetergp draft once you are okay with changes, I'll add screenshots and wrap up PR mark it ready for review!

Not overdue, just waiting for review of the draft PR

I looked over the draft earlier today and it looked good thus far.

After talking it over with others, we've decided that the way the validation works currently, validating after pressing Continue, is the desired functionality. This is no longer a priority.


Can we get an all repository and all users option?

I am keen to see contributions across my entire team and all repositories. These filters would be a great help.

The filter for all users and all repos can be bookmarked as each change to the filter updates the url


Wireguard VPN and Handshake update

The handshake status in VPN-wireguard-status is not updated in case of loss of connection of that specific VPN.
I have 3 wireguard VPN connections (PROTON), implemented with a fall-back logic. The second one is used only when the first has problems (and so the second and third ones).
Considering that the problem is solved only restarting the modem (I am still investigating it), if the opnsense is restarted only then the handshake status is properly updated (handshake not possible).
OPNsense 24.7.3_1-amd64
FreeBSD 14.1-RELEASE-p3
OpenSSL 3.0.14
The issue was already present with previous versions (I started using opnsense 1 year ago).

after several additional tests, Need further investigations to better understand if the handshake is still active but it is only the gateway that doesn't reply.


Elasticsearch will remove mapping types

In es 6.0, you can't have more than 1 type in an index in your mapping anymore, and it seems they'll remove the type parameter in the URL later.
https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html
Will that have an effect on this project?

@PiaWhoLoveSia
Of course yes, we may re-design the table mapping rule for 6.0, but now I have no time to support this.


[ng add]: support for dev dependencies

🚀 Feature request
Command (mark with an x)
- [ ] new
- [ ] build
- [ ] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [X] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Description
For our library, we want to provide schematics for the ng add command. However, this automatically installs our library as dependency. Shouldn't there be a way to install it to the devDependencies?
We do add our library to the devDependencies our selves (using schematics), but that results in the following warning:
Installed packages for tooling via npm.
    ✅ Added "foo" into devDependencies
    🔍 Installing packages...
UPDATE package.json (980 bytes)
npm WARN The package foo is included as both a dev and production dependency.

Describe the solution you'd like

Support for an additional dev option: ng add mylib --dev.
Update the npmInstall() task with an additional dev: boolean argument.

This could be done in a backwards compatible way.
Alternative solution

Let ng add perform an npm install --no-save
Change the package.json ourselves

This might be breaking.

This feature makes sense to me. Especially with ng deploy there could be more and more dev dependencies that folks want to add to their projects.
Thanks for the PR as well!

There are several articles about how to write your own ng-add schematic, but what I understand is that you don't need to run the addPackageJsonDependency() yourself? At least not for the package that is installed right?

Hi all, this has been addressed via https://github.com/angular/angular-cli/pull/15815

You don't need to run addPackageJsonDependency() because it will be added to the dependencies via https://github.com/angular/angular-cli/blob/master/packages/angular/cli/tasks/npm-install.ts


chore(communication): bump libp2p version

Description of change
Patch libp2p version from v0.28 to v0.32.
Links to any relevant issues
fixes issue #73
Type of change

[x] Bug fix (a non-breaking change which fixes an issue)
[ ] Enhancement (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Fix

Can you add a .changes file @elenaf9 ?


Specify that the Content-type is text/plain not application/json

Specify that the content-type of the response is not JSON but plain text and therefore some libraries might not parse them properly when trying to parse the content of the requests that are made to the API.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@Alevale : Thanks for your contribution to the Azure documentation! The author, @priyaravi20, has been notified to review your proposed change.

All response is JSON. We are working to get the right content type returned. Plese close this PR.

#please-close


New CSS and index pg

Let me know if this messes up anything.
I've seen in the below comparison that there are significant changes. I can fix anything that may not work with these new files. I'd also like to format the "imprint" page.
Let me know what other additional work you've done and I can update it on my end, too.

closing this as it got superseded by #6