Replaced one inv() call with pinv() in CalcEndEffectorWrench()

Some of my simulations recently were breaking because of a call to np.linalg.inv() in the CalcEndEffectorWrench() function (the Jacobian matrix was not full rank and led to line 81 trying to invert a singular matrix). By replacing one of the calls with np.linalg.pinv() my simulations work; Do you know if this modification makes sense?
The errors don't appear to happen for 7dof systems, but happen immediately when using the 6dof model at the beginning of my own simulation scripts. I've tested this change on both the 6dof and 7dof versions of the KinovaStation object.

Yup, that makes sense. If the robot is in a singular configuration (Jacobian not full rank) then that inverse will not be will not be well-defined. pinv is a fine way of avoiding an error. Do keep in mind that the resulting end effector wrench will not be accurate in that case (it should still be accurate in non-singular configurations).
If you can manage to avoid starting the robot in a singular configuration I'd recommend doing so: singular configurations can cause all sorts of headaches down the line. I believe the built-in Gen3 controller tries to avoid them automatically in Cartesian mode.
Merging.


Style guide: do quote assignments

One of the tenets of the style guide is that things are made to be consistent so that they don't have to be rewritten in a refactor.
If the string being assigned gets a literal space, quotes need to be added to the assignment: I'm thinking that kind of goes against that style guide principle.
There are some other ways it feels kind of inconsistent, too, especially when it comes to syntax highlighting.

Moved to plushu/bash-style-guide#2.


Output directory format

Hello
I want to split an image and place the result in a Split directory.
My script
import cv2
from split_image import split_image

split_image("Eau1_gray.jpg",1,8, False, False, |'Split'])

cv2.waitKey(0)
cv2.destroyAllWindows()

do not work. Split is OK but in the current directory

The correct call would be:
split_image("Eau1_gray.jpg", 1, 8, False, False, 'Split')

If it doesn't work, please reopen this issue.

Unfortunately, I am falling in the same issue.
split_image("Eau1_gray.jpg", 1, 8, False, False, 'Split')
didn't work!
Output directory is always the default directory!

Same problem, output dir seems broken


Channel change in links is immediate (while search is on activating the search action)

(Observed when verifying #72 and #70)

This could be seen more as a nitpick, but this is more about keeping things legit and well-organized all the way.
It seems that the links are not built using the state from the current search, but from an amalgamation of the current state of the form + the state of the search. I would expect that, for all results, things always end up changing to either pressing the search button or all form changes. This is currently a mish-mash.

Be on unstable channel.
Search for hello.
Open the hello result
Observe where links point to.
Change the channel to 20.03 DO NOT update using Search.
Observe the links changing.

For hydra links, this is not an issue, but for GitHub location, it is. The location for a result across channels can and does change!

Yeah, noticed this as well yesterday. I'm going to clear the result and resubmit the query as part of #65 shortly.


pass down a ref callback to custom component instead of relying the r…

…eturn value of ReactDOM.render
As per what React says:

ReactDOM.render() currently returns a reference to the root ReactComponent instance. However, using this return value is legacy and should be avoided because future versions of React may render components asynchronously in some cases. If you need a reference to the root ReactComponent instance, the preferred solution is to attach a callback ref to the root element.

In some situations, ReactDOM.render returns null even if we use a class component. As specified by React, one preferred way to solve this is to rely on a callback ref.

This is an issue I've come across. ReactDOM.render returned null even though I used a class component. I'm using React 16.12.0.
The custom component would then pass down the ref like so:
`attachReact (element: Element | DocumentFragment | null, ref: any) {
return ReactDOM.render(
  <CustomDate
    component={this.component} // These are the component settings if you want to use them to render the component.
    onChange={this.handleChange.bind(this)} // The onChange event to call when the value changes.
    value={this.dataValue}
    ref={ref}
  />,
  element
)

}`

Is this still relevant? If so, we will have one of our developers look into it.

I still experience the same issue now, and I believe I'm using newer versions:
 "@formio/react": "^5.3.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-hook-form": "^7.46.2",


[WIP] Added config to restrict port range for passive server

not for merge yet, tbd:

[x] change data_ports from list to Queue
[x] add tests

Good idea to have restricted set of ports.
As I realized, when there is no available port, we create server on random port, and on close connection we add this port to ports pool. So, this mean, that port pool will increase in size with random ports. Is this what user wants?
Another problem is when we use some port from pool and get not "port busy" error, we will not put port back to pool, so pool can became empty.

change data_ports from list to Queue

You mean collections.deque?

As I realized, when there is no available port, we create server on random port, and on close connection we add this port to ports pool. So, this mean, that port pool will increase in size with random ports. Is this what user wants?
no, the idea is the following:

if ports are not limited - always use port=0 for data connection and don't bother with port pools at all
if ports are limited - take first available port from given pool when we start server and put it back when passive server is stopped

Another problem is when we use some port from pool and get not "port busy" error, we will not put port back to pool, so pool can became empty.
will fix this

You mean collections.deque?
asyncio.PriorityQueue - it will allow to:

wait for port if all ports are busy
lower priority for ports which we couldn't aquire

no, the idea is the following

I got the idea, but right now, if port from pool is busy, we use port 0 and put random port back to pool on disconnect.

wait for port if all ports are busy

How long should we wait? Should this be done with custom timeout? Should we wait at all, or just send error to user? Since passive server socket will exist as long as connection.

updated PR... it works, though:

i still don't like the code in _start_passive_server
there's a race condition in python should_stop_searching = (  started_with == connection.passive_server_port )

i still don't like the code in _start_passive_server

Yeah, but there is place to update some things. I will mark lines since we end with main flow.

there's a race condition in

Can't realize what kind of race condition you are talking about. Can you explain this?
Maybe move timeout to caller? Since there is couple of await's in _start_passive_server . And I think there should be explicit timeout for this, something like passive_slot_timeout, or even more detailed. What do you think?
Also, I think there should be two exceptions: timeout and "no free slot/port".

Can't realize what kind of race condition you are talking about. Can you explain this?

port which was saved in started_with might be not in Queue:

first connection tries to aquire port - it is busy and so just lowered in priority
some external app free this port
second connection aquires this port while the first connection is still looking for free one in queue
port is not in queue anymore and so should_stop_searching will never become true

@rsichny, got it.
What do you think about this solution:
    async def _start_passive_server(self, connection, handler_callback):

        if self.available_data_ports is not None:

            viewed = set()
            while True:

                port = await self.available_data_ports.get()
                try:

                    if port in viewed:

                        raise NoAvailablePort

                    viewed.add(port)
                    passive_server = await asyncio.start_server(
                        handler_callback,
                        connection.server_host,
                        port,
                        loop=connection.loop
                    )
                    connection.passive_server_port = port
                    break

                except:

                    self.available_data_ports.put_nowait(port)
                    _, v, _ = sys.exc_info()
                    if not isinstance(v, OSError):

                        raise

        else:

            passive_server = await asyncio.start_server(
                handler_callback,
                connection.server_host,
                connection.passive_server_port,
                loop=connection.loop,
            )

        return passive_server

This should work fine with queue without priority, since order counts for this implementation. Of course we can miss some ports, that will be put back after our first try.
Or, maybe there is still better solution… :confused:

if port in viewed:
i was not sure about keeping a queue of ports just because user might want to have a range of 30k ports for example... and this in check might be be slow as hell on high-loaded server ;)

the idea behind priority queue is to lower priority for ports which we couldn't aquire - just to avaoid re-checking them too often

anyway we can try keep that in, this should work quite fine (just need to check tests tomorrow):
    async def _start_passive_server(self, connection, handler_callback):

        if self.available_data_ports is not None:

            viewed_ports = set()
            while True:

                try:
                    priority, port = self.available_data_ports.get_nowait()

                    if port in viewed_ports:

                        raise NoAvailablePort

                    viewed_ports.add(port)
                    passive_server = await asyncio.start_server(
                        handler_callback,
                        connection.server_host,
                        port,
                        loop=connection.loop
                    )
                    connection.passive_server_port = port
                    break

                except queue.Empty:

                    raise NoAvailablePort

                except (OSError, NoAvailablePort) as err:

                    self.available_data_ports.put_nowait((priority+1, port))
                    if isinstance(err, OSError) and err.errno=errno.EADDRINUSE:
                        pass
                    else:
                        raise

        else:

            passive_server = await asyncio.start_server(
                handler_callback,
                connection.server_host,
                connection.passive_server_port,
                loop=connection.loop,
            )

        return passive_server

this also doesn't wait for queue (maybe even better then waiting for port to be released by other connection).

@rsichny, you are right. Even if we have not so much users and not so much used ports it's bad to collect/check them.
Probably, we should do qsize() iterations, instead of while True?
for _ in range(self.available_data_ports.qsize()):
    ...
    break
else:
    raise NoAvailablePort

This can produce some overhead via recheck already checked ports, though.

Also, I see nothing wrong with waiting queue and having explicit timeout for this.

Also, I see nothing wrong with waiting for queue and having explicit timeout for this.

i was thinking on it - the chance that other connection will release the port in time is very low - better not to bother with timeouts..

@rsichny, you are right. Even if we have not so much users and not so much used ports it's bad to collect/check them.
Probably, we should do qsize() iterations, instead of while True?

did some tests today - in is not that bad (not really memory-efficient but fast enough /guess because python's x in set complexity is O(1)/)
for will create more overhead imo
anyway i've updated PR and suppose to accept it's current state for now

the chance that other connection will release the port in time is very low - better not to bother with timeouts.

True.

not really memory-efficient

That is my main headache. But I assume, that even if we have much connections, they wont create passive connections simultaneously.


Module 'cognitojwt' has no attribute 'decode' when deploying on lambda

Hi,
I'm trying to use this on a lambda.
So I moved your package in a zip along with my function and uploaded.

Then my code is straightforward and works on my laptop - it's the same as the example:
import cognitojwt

id_token = '....'
REGION = 'us-east-2'
USERPOOL_ID = 'us-east-2_XXXX'
APP_CLIENT_ID = '5XXXXX'
verified_claims: dict = cognitojwt.decode(id_token,REGION,USERPOOL_ID, app_client_id=APP_CLIENT_ID, testmode=True)

print (verified_claims)`

However, when running to lambda i get
> "errorMessage": "module 'cognitojwt' has no attribute 'decode'",

I think this has to do with how when doing pip install cognitojwt**[sync]**, the [sync] makes something happens that is not reproduced by just moving the cognitojwt in a zip folder...
Any idea for me to investigate would be appreciated :)

Hi,
I'm trying to use this on a lambda.
So I moved your package in a zip along with my function and uploaded.

Then my code is straightforward and works on my laptop - it's the same as the example:
import cognitojwt

id_token = '....'
REGION = 'us-east-2'
USERPOOL_ID = 'us-east-2_XXXX'
APP_CLIENT_ID = '5XXXXX'
verified_claims: dict = cognitojwt.decode(id_token,REGION,USERPOOL_ID, app_client_id=APP_CLIENT_ID, testmode=True)

print (verified_claims)`

However, when running to lambda i get
> "errorMessage": "module 'cognitojwt' has no attribute 'decode'",

I think this has to do with how when doing pip install cognitojwt**[sync]**, the [sync] makes something happens that is not reproduced by just moving the cognitojwt in a zip folder...
Any idea for me to investigate would be appreciated :)

https://github.com/borisrozumnuk/cognitojwt/blob/6a9b452a823b560552476c6c7cc81f462bd2e70c/cognitojwt/__init__.py#L13
try to install requests (pip install requests)

Yes - indeed.
OK so to recape & close:

Problem was that I was missing some parts of the dependency tree of Requests (given I copied manually as I could not use pip in my environment)
One reason was that cognitojwt/init.py was failing silently so I did not spot this
Solution was quite obvious: install the package dependency properly (i.e. with all sub-dependencies)

Thanks!


added a python script file for cotrip translator and changed requirment.txt file

@abinashkonersman It's been a while since we've opened this and there doesn't seem to be a description of what this PR entails. Can you add a description to this so I know what we're looking at?

Some of these files have mixed indentation and spacing, are you using a formatter? For VSCode I recommend the following extensions to help:

https://marketplace.visualstudio.com/items?itemName=ms-python.python
https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance

Is deduplicated_wzdx_field file supposed to have a file extension? Is it even needed? I see it in the .gitigore file but if we want it gone, we'll need to check in a delete of the file.

Added several comments that need addressing before merge.

Working on those comments.Thanks

Latest changes look good to me. I like the breakout of the get_types_of_work. Can you publish this PR so I can add my approval?

Is deduplicated_wzdx_field file supposed to have a file extension? Is it even needed? I see it in the .gitigore file but if we want it gone, we'll need to check in a delete of the file.

that file is no longer exist

Hi @payneBrandon  i think i addressed all those comments you made. can please review , so that we can merge that into dev and we can start working for the transition of WZDX 3.1

Hi @payneBrandon i think i addressed all those comments you made. can please review , so that we can merge that into dev and we can start working for the transition of WZDX 3.1

@abinashkonersman unit tests are failing:

It looks like we aren't mocking the newly created environment variables.

@payneBrandon  mocked the environment variable in our test function.The PR should be ready to review now. Thanks.

Can we add an entry to the .gitignore for the cotrip output file?

should be fixed


Support enabling websockets via the IngressRoute resource

Contour supports an annotation on Kubernetes Ingress resources that enables websockets for specific routes. We should support this in the IngressRoute resource, either via a new field or an annotation.
Additionally, we should figure out and document how to make the AWS ELB work with websockets. We did some quick testing with a hacked version of contour (that defaulted all routes to use_websockets=true), and ran into issues with the ELB. Specifically, the websocket client (chrome) was getting a 403 error when attempting to open up websocket connections.

I have an initial implementation of this with an annotation on the IngressRoute CRD.
With that said, I can see us creating a proper field in the IngressRoute CRD, specifically on the route, to enable websocket support:
apiVersion: contour.heptio.com/v1beta1
kind: IngressRoute
metadata:
  name: basic
  namespace: default
spec:
  virtualhost:
    fqdn: foo-basic.bar.com
  routes:
    - match: /
      useWebsockets: true
      services:
        - name: s1
          port: 80

@davecheney @stevesloka @rosskukulinski What are your thoughts around this?

I think it's the appropriate location for the flag, but I wonder if we should consider other naming:

websocketUpgrade: true [this is what the Istio VirtualService CRD uses]
enableWebsockets: true

If we're going to enable websocket support, however, we probably should also enable session affinity.  That's a key thing for systems like socket.io

Thanks @rosskukulinski. I don't have strong opinions between the two naming options.
I did a bit of research on how to do sticky sessions in Envoy and it looks like it can be done using a hash-based load balancer..
Do you see session affinity as a prereq for websockets support? I have some of the initial work for websockets ready, so I am wondering if I should finish that up and then we can look into session affinity.

It's not a prereq, but I do know that in node.js land, socket.io typically does a few non-websocket Handshakes to the Server before eventually upgrading to Websockets.  If you don't have sticky-sessions, the upgrade never works.
I think we can separate the two.


CI not running on PRs

Description
circleci config is in place, but CI is not running

Steps to reproduce the issue:
Open a PR. See no checks enabled.
Describe the results you received:
No CI ran.
Describe the results you expected:
CI runs.
Additional information you deem important (e.g. issue happens only occasionally):

cc @rvs

Update. It appears they are running, but are not linked to the PRs. I opened #10 to update docs, no checks linked to required to merge, but I still received a notification email about the tests.

This got fixed just now


Minor cleanup in tag.py

./tag.py -h
usage: tag.py [-h] [--push REMOTE] VERSION

Create and push tag for new release

positional arguments:
  VERSION        version to release ("N.N.N" or "vN.N.N")

options:
  -h, --help     show this help message and exit
  --push REMOTE  remote to push (e.g. "origin")

./tag.py 9.9.1
--- Updating version in roc/version.go to 9.9.1
--- Running command: git add roc/version.go
--- Running command: git commit -m Release 9.9.1
[main a613a14] Release 9.9.1
 1 file changed, 1 insertion(+), 1 deletion(-)
--- Running command: git tag v9.9.1
--- Successfully released v9.9.1

coverage: 95.037%. remained the same when pulling fe6f243eee8047f5ff8314d1449c1f020a3444e6 on gavv:main into c4ec4019003bf1609497ec713bc549f125ab82e7 on roc-streaming:main.


jdk-23+37 riscv64 JVMCI and VectorApi extended.openjdk test failures

As reported here: https://github.com/adoptium/aqa-tests/issues/5598#issuecomment-2353240474
10:51:07  	hotspot_custom_0 - Test results: failed: 7
10:51:07  		Failed test cases:
10:51:07  			TEST: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/NativeCallTest.java
10:51:07          TEST: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/MaxOopMapStackOffsetTest.java
10:51:07          TEST: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/DataPatchTest.java
10:51:07          TEST: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleDebugInfoTest.java
10:51:07          TEST: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleCodeInstallationTest.java
10:51:07          TEST: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/VirtualObjectDebugInfoTest.java
10:51:07          TEST: compiler/vectorapi/VectorGatherMaskFoldingTest.java
10:51:07
10:51:07  	hotspot_custom_1 - Test results: failed: 7
10:51:07  		Failed test cases:
10:51:07  			TEST: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/DataPatchTest.java
10:51:07          TEST: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/NativeCallTest.java
10:51:07          TEST: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/MaxOopMapStackOffsetTest.java
10:51:07          TEST: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleCodeInstallationTest.java
10:51:07          TEST: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleDebugInfoTest.java
10:51:07          TEST: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/VirtualObjectDebugInfoTest.java
10:51:07          TEST: compiler/vectorapi/VectorGatherMaskFoldingTest.java

https://ci.adoptium.net/job/Grinder/10912/consoleFull

Various failures:
10:46:31  java.lang.AssertionError: java.lang.IllegalArgumentException: nmethod entry barrier is missing
10:46:31  	at jdk.vm.ci.code.test.CodeInstallationTest.test(CodeInstallationTest.java:121)
10:46:31  	at jdk.vm.ci.code.test.NativeCallTest.test(NativeCallTest.java:151)
10:46:31  	at jdk.vm.ci.code.test.NativeCallTest.testI32SDILDS(NativeCallTest.java:126)

10:47:44  Base Test: @Test testTwoDoubleVectorStoreMaskedNotEqualMask:
10:47:44  compiler.lib.ir_framework.shared.TestRunException: There was an error while invoking @Test method public static void compiler.vectorapi.VectorGatherMaskFoldingTest.testTwoDoubleVectorStoreMaskedNotEqualMask(). Target: null. Arguments: <void>
10:47:44  	at compiler.lib.ir_framework.test.BaseTest.invokeTestMethod(BaseTest.java:84)
10:47:44  	at compiler.lib.ir_framework.test.BaseTest.invokeTest(BaseTest.java:71)
10:47:44  	at compiler.lib.ir_framework.test.AbstractTest.run(AbstractTest.java:98)
10:47:44  	at compiler.lib.ir_framework.test.TestVM.runTests(TestVM.java:861)
10:47:44  	at compiler.lib.ir_framework.test.TestVM.start(TestVM.java:252)
10:47:44  	at compiler.lib.ir_framework.test.TestVM.main(TestVM.java:165)
10:47:44  Caused by: java.lang.reflect.InvocationTargetException
10:47:44  	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
10:47:44  	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
10:47:44  	at compiler.lib.ir_framework.test.BaseTest.invokeTestMethod(BaseTest.java:80)
10:47:44  	... 5 more
10:47:44  Caused by: java.lang.RuntimeException: assertFalse: expected false, was true
10:47:44  	at jdk.test.lib.Asserts.fail(Asserts.java:691)
10:47:44  	at jdk.test.lib.Asserts.assertFalse(Asserts.java:518)
10:47:44  	at jdk.test.lib.Asserts.assertFalse(Asserts.java:504)
10:47:44  	at compiler.vectorapi.VectorGatherMaskFoldingTest.testTwoDoubleVectorStoreMaskedNotEqualMask(VectorGatherMaskFoldingTest.java:765)
10:47:44  	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
10:47:44  	... 7 more

Looks similar when run on the HiFive Unmatched board: https://ci.adoptium.net/job/Grinder/10913/console

cc @robehn

https://bugs.openjdk.org/browse/JDK-8331704
bool CodeInstaller::pd_relocate(address pc, jint mark) {
  Unimplemented();
  return false;
}

I would probably compile with "--disable-jvm-feature-jvmci", tests should be skipped if there no such support.
I think doing a native image with graal works, but not using graal as a C2 replacement.
Any user can't tell what is what as the VM will says JVM CI yes but only one case works as it seems like.

Thanks @robehn - we'll kick off a build with that configure option and validate whether it causes any test failures 🤞🏻

VectorGatherMaskFoldingTest failure is noted for risc-v here: https://bugs.openjdk.org/browse/JDK-8333248
That fix was not yet backported to 23.

VectorGatherMaskFoldingTest failure is noted for risc-v here: https://bugs.openjdk.org/browse/JDK-8333248
That fix was not yet backported to 23.

Yes, it looks like there was an attempt to get into both 24 and 23, but it seem like it only got into 24.

Some overlap between this issue and https://github.com/adoptium/aqa-tests/issues/5620, where the VectorGatherMaskFoldingTest was excluded for JDK23 (but noting that it is now seen failing for JDK21, https://github.com/adoptium/aqa-tests/issues/5690#issuecomment-2417474300)

Back port to jdk23 is done https://bugs.openjdk.org/browse/JDK-8333248 . Back port to jdk21 is https://github.com/openjdk/jdk21u-dev/pull/1100. Make this dup of https://github.com/adoptium/aqa-tests/issues/5620


Feature request: custom middleware

As far as I can see the only way to add middleware is to add it to the middleware folder.
I thought it would be nice to also add a configuration option to also include middleware from a different custom location.
This way you can also add middleware from other sources (without struggling with updates/composer). And it's easier to build/change middleware for application specific purposes.
For example: I would like to have a middleware which will check my database if a user is already connected. I don't think that is interesting for anyone else :)

Why not simply instantiate your middlewares? I mean:
$dispatcher = $relay->newInstance([
    Middleware::formatNegotiator(), //middleware from this package
    new CustomMiddleware(), //your own middleware
];

I did not know that that was possible! But that sounds like a good solution for my request. So I will close this issue!
Isn't it a good idea to add this to readme?

A middleware is just a function inserted in the request/response cycle. It's well explained here: https://mwop.net/blog/2015-01-08-on-http-middleware-and-psr-7.html
This library it's only a collection of them, but you can take more from other packages (https://packagist.org/search/?q=psr-7 middlewares) or create your own


Markdown makes huge amount of memory allocations during indexing

The LookaheadText.testFromPosition depends on String.subSequence which actually copies the content over to a new array:

As a result during 15s of indexing, even 1.7GB of data can be allocated. You can check it out by profiling indexing of https://github.com/JetBrains/ring-ui/tree/master in WebStorm.
It seems that it would be best to use something similar to com.intellij.util.text.CharSequenceSubSequence to save a lot on memory allocations.

https://youtrack.jetbrains.com/issue/IDEA-320694


Bump the sleep in the controller testing.

The rate limiting queue makes the sleep necessary.  Locally I see 0-2 failures when this is run with -count=10000.  This bumps the sleep slightly to reduce this further.
Fixes: https://github.com/knative/pkg/issues/56

/lgtm


Question: Use Tile38 to de-dupe data?

I have some data i want to de-duplicate geo-spatially.  I was trying to see if there is a way to see what data is near other data within a key. For example, people near people or place near place. I looked at the ROAM option within geofence but I don't think it works for me as the data is static . I could iterate through but wanted to see if there is a better way. Any ideas?

Hi Andrew,
That's an interesting problem. I agree that iterating through all of the data would not be the best way. There isn't any commands in Tile38 that are specifically for the purpose of de-duplication.
The ROAM option won't work because it's for actively changing data.
The best of what I can think of is the SPARSE option which returns 4,8,16,32,... objects from a query.
NEARBY people SPARSE 1 POINT 33.11 -115.23 10000

This will return at the most 4 objects, even though there might be thousands of objects that might have been returned otherwise.
==
Maybe another option is to break the area that you are de-duplicating into small bounding rects. Then iterate though the rects by doing a WITHIN operation on each. Finally DEL the ids of the items that you do not want.
==
Lastly I could always implement new features. Something that facilitates nearby-neighbors or such.

Yea, I don't think there should be a specific feature for de-duplicating, I was just wondering if there was a clever way in Tile38 to compare geometries in a key vs other geometries in the same key.

I'm closing this issue for now. If you have any further ideas around this topic, please feel free to reopen.
On a side note, we recently added KNN support, which can help minimize the number of results in some cases.


Updated regex for playlist, cleaned up regex fix earlier

Regex from earlier is slightly cleaner. If you are using it to queue music just with !!q, you can use any YouTube keyword, any standard http/https YouTube URL, YouTube short URL's that contain a string of letters or _ or - which wasn't the case in the earlier Google/YT API regex. And many of those short codes are still just strings of letters unlike the full URL's. So you can use: keywords, https://youtu.be/dQw4w9WgXcQ, or https://www.youtube.com/watch?v=dQw4w9WgXcQ (http or https) however & or other operators will show as wrong URL after the ID. That ensures that it is, again, only picking up the ID.

Because of this one can also queue seamlessly using the video ID:  !!q dQw4w9WgXcQ

Clean regex added for playlist. This is a complete regex that will handle malformed playlist URL's, as well as most expressions. Because of this, using !!playlist (or !!pl) with a correctly formed playlist URL such as: https://www.youtube.com/playlist?list=PL4lEESSgxM_5O81EvKCmBIm_JT5Q7JeaI

will result in some verbose outputs every time the Google API cannot pull the track. In this way it is kind of good as it shows you an output every time it cannot get the playlist URL for any reason. It is common, sort of out of control with massive queued playlists but I tested it and only 20 or so weren't found out of close to 1,000.

Again, you can very easily and cleanly (almost preferred) use the playlist ID (from above): !!pl PL4lEESSgxM_5O81EvKCmBIm_JT5Q7JeaI will work great

You can of course use keywords !!pl keywords as usual; works just fine. Again any URL's in large queue's it cannot get it will output as verbose output (will not) kill the bot session in any way. But it will let you know.

TESTS DONE

[x] Queued multiple songs from SoundCloud and YouTube

[x] Large playlist from YouTube (to the point of ratelimit!) - verified skipping !!n with a large amount, >300 -- this causes a bit of a delay but it is a very extreme example of using !!n to skip hundreds of songs in. Nadeko doesn't spam excessively either and deletes messages as expected.

[x]  Verified moving songs in large queues (different positions), mixing a loaded playlist with a new playlist, removing and skipping. Also mixing in.

[x] Cleared queue using !!stop and immediately after reloaded - first with playlists, then repeating this while checking commands and regular music. Verified !!destroy (and subsequent re-queue) without restarting the bot. Finally, concluded with resuming !!radio stream, which I had going earlier for 8-12 hours on this codebase with no issues.  😄

(this does *NOT fix !!ap --> that issue was before any of this. I made a few changes locally but have to do more troubleshooting)

Please post a screenshot of the error in the console you're getting with playlists using this code.
Also, I don't understand what you mean by
So you can use: keywords, https://youtu.be/dQw4w9WgXcQ, or https://www.youtube.com/watch?v=dQw4w9WgXcQ (http or https) however & or other operators will show as wrong URL after the ID.
We must be able to let users use links with &, &t , &list=, etc after the video id. It's a vital part of user experience (not having to manually edit youtube links they copy-paste)

I understand where you are coming from; feel free to modify it as you stated in your prior comment. If I queue a large playlist using a keyword, say 250 songs, because of the way YouTube's API works it will almost never return 250 songs perfectly. This has always been the case. However, it is usually not many (2 or 3) that do not end up going in the queue. YouTube API records the error in your Google account.
All the regex did for playlists is output (as it's loading a queue) a single sentence in the console (say, forbidden for some license with a 403 error or 401). These stay within tmux and the bot continues to queue. So if I looked up a keyword for !!playlist house music which got a 250 song list with 5 that could not be queued, there would be 5 of these printed in the console. Again, you can still !!lq and the queue is building. So I only said it was good from a developer point of view because you can see how many are not loading and it stays within the tmux session. When the bot is done with the queue, the command completes, updates, etc. as usual.
This is only for playlists. I did simplify the regex for the regular !!q with this, and it will accept what I stated. It won't affect playlists; just regular tracks. If you put an & or t?=192 (some timestamp) next to this yes it will say "cannot find song" for the single queue. This ensures that when you use !!q keywords the URL is parsed without extraneous characters, which caused errors before because the bot wouldn't be able to parse it. However, this is not any different from the last commit that went out re: single URL queues. I just cleaned it up so that you can easily use (for both playlist and regular URL's) the ID directly which works seamlessly.
[I did not have to shut down the bot during any of my tests for the last few days in any commits, including radio playlists) -- however, I understand the concern with users seeing errors if they put an & symbol or whatnot.

Here is a screenshot. Note this is what happens before with large playlists; in this case I looked up a playlist with !!pl keyword which was 500 songs and it queued 464. Note that !!lq and the first song begin playing and outputting quickly; that time is just for the entire queue. Basically, it's going through each URL in the queue and ensuring it won't cause an error later such as suddenly stopping when it gets there, skipping, or just playing without sound. Each URL is checked; if there's an error on the backend YouTube API it is shown beforehand. The returned URL's are all essentially guaranteed to work. This was the same idea behind the single queue from yesterday, but to a much smaller scale: these errors happened before; but I see where the user experience comes to play vs. developer.
(There are not errors again that affect Nadeko, just backend errors from YouTube API so your bot works fine for everything)

TODO JAN 13

[ ]  Cleanup verbose commands for regex and handle extraneous characters from copy/paste etc.

No need for this since regexes seem to work flawlessly atm


Create a function to extract 'n' number of colors from an image

At v1.1.3, this npm package can only extract one dominant color from the image. Create a new function to extract 'n' number of colors from the image and return it as an array.

@Hartaj-Singh-Dev Yes


marko test fail with vite 2.9 alpha

pnpm test -- marko --release 2.8.6 passes but pnpm test -- marko  fails with
><EMAIL_ADDRESS>mocha
> NODE_ENV=test mocha 'src/**/__tests__/*.test.ts'

  browser-basic
    ✔ dev (1314ms)
    ✔ build (1097ms)

  isomorphic-basic
    ✔ dev (1134ms)
    1) build

  3 passing (4s)
  1 failing

  1) isomorphic-basic
       build:
     /home/dominikg/develop/vite-ecosystem-ci/workspace/marko/marko/src/__tests__/fixtures/isomorphic-basic/dist/index.js:240
window.addEventListener("message", function(ev) {
^

ReferenceError: window is not defined
      at Module.<anonymous> (src/__tests__/fixtures/isomorphic-basic/dist/index.js:240:1)
      at Module._compile (node:internal/modules/cjs/loader:1101:14)
      at Module._compile (node_modules/esbuild-register/dist/node.js:2258:26)
      at Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
      at Object.newLoader (node_modules/esbuild-register/dist/node.js:2262:9)
      at Object.extensions..js (node_modules/esbuild-register/dist/node.js:4801:24)
      at Module.load (node:internal/modules/cjs/loader:981:32)
      at Function.Module._load (node:internal/modules/cjs/loader:822:12)
      at Module.require (node:internal/modules/cjs/loader:1005:19)
      at require (node:internal/modules/cjs/helpers:102:18)
      at Object.<anonymous> (src/__tests__/fixtures/isomorphic-basic/server.js:4:21)
      at Module._compile (node:internal/modules/cjs/loader:1101:14)
      at Module._compile (node_modules/esbuild-register/dist/node.js:2258:26)
      at Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
      at Object.newLoader (node_modules/esbuild-register/dist/node.js:2262:9)
      at Object.extensions..js (node_modules/esbuild-register/dist/node.js:4801:24)
      at Module.load (node:internal/modules/cjs/loader:981:32)
      at Function.Module._load (node:internal/modules/cjs/loader:822:12)
      at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:190:29)
      at ModuleJob.run (node:internal/modules/esm/module_job:185:25)
      at async Promise.all (index 0)
      at async ESMLoader.import (node:internal/modules/esm/loader:281:24)
      at async importModuleDynamicallyWrapper (node:internal/vm/module:437:15)
      at Context.<anonymous> (src/__tests__/main.test.ts:133:12)

vite ref: b0c0efe009c4234c8915a649dc9b1568d1d8a07f

@DylanPiercey  any idea what this might be about?

pnpm bisect -- marko --good v2.8.6
24bb3e40c1add050c4c7bac9eac6b2edf7ddc73c is the first bad commit
commit 24bb3e40c1add050c4c7bac9eac6b2edf7ddc73c
Author: patak<EMAIL_ADDRESS>Date:   Thu Mar 3 14:03:46 2022 +0100

    feat: non-blocking pre bundling of dependencies (#6758)

https://github.com/vitejs/vite/pull/6758

@dominikg unsure why but the error suggests that the resolver on the server has been broken. It is pulling in browser assets (mapped via the browser pkg json field) into the server bundle.

@patak-dev does https://github.com/vitejs/vite/pull/6758 cause vite to use the same cached optimized files for server and browser? Something like that would lead to incorrectly resolved files like this.

That shouldn't have changed. I'll review this tomorrow

The CI was fixed by https://github.com/vitejs/vite/pull/7214, but also see https://github.com/vitejs/vite/pull/7218 as this CI issue uncovered another Vite bug and a Marko bug


Cookie banner > banner does not function without tid setting

The banner performance measuring feature should be optional but currently the banner does not function without supplying a tid setting.
In almost all cases production implementations of the banner would require the measuring for Storm projects, so we should:

add a console warning that the tid is missing
ensure the banner otherwise functions as expected without the tid

Closed with #165


FLUID-6376: Made the site navigation responsive

Currently, the top navigation bar is not at all responsive and becomes extremely unable to use on mobile devices and other smaller devices. This PR aims to fix this.
The necessary breakpoints and their respective screenshots are posted in the corresponding issue

i think for this we can have an toggle button which would be much more good idea for the mobile users.what you think @jobara

@coderbabu10 Using a hamburger would a question of design and need to be discussed with the community. Also, I saw some other sites like FLOE and fluid and they did not use any hamburger icon but they all made the nav responsive.
But I am open to any design suggestions by the community.

Yes @YashJipkate that's why i have tagged @jobara for this.


feat(policies): Add a new column and donut chart for policies, move starter grid down

In https://github.com/kumahq/kuma-gui/pull/503 we removed all the Policies from the side nav bar as it was getting a little busy (and that will only grow), but we noticed that it was a little weird not being able to see which PolicyTypes had non-zero counts in them at a glance.
We also noticed that the information we were after was in the [Resources] tab on the Mesh Overview page.
This PR removes the [Overview] and [Resources] tabs and combines those views, therefore when you click into the Mesh/Mesh Overview page you can immediately see which policies are populated for that Mesh. Note we don't show zero count PolicyTypes. This keeps the sidebar uncluttered but still gives you the ~Droids~information you are looking for.
Additionally we added a new DonutChart showing amount of PolicyTypes for the mesh, and lastly we moved the 'starter blocks' below all the information/data.
Actually, in writing this, I'm thinking we can maybe split the DonutChart into segments of policy types maybe? That can be a followup PR if so? WDYT?

Fixes https://github.com/kumahq/kuma-gui/issues/525
Signed-off-by: John Cowen<EMAIL_ADDRESS>

I see 27 policies in total is it still the same bug? If yes can you fix the mocks (I've fixed the bug earlier today)

Oh yeah - this one you are referring to right? : https://github.com/kumahq/kuma/pull/5577 . I defo should fix up the mock data also, will sort that now, thanks for the nudge!


Update concept-all-sign-ins.md

We no longer publish IP addresses in the MSI report due to Azure security concerns. Removing it in the docs as well

@besiler : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

@mtillman: I'm sorry - only the author of this article, @MarkusVi, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


feat: review buttons styles across the atlas

Need to review all the main buttons on the site, and make a list of which ones should be in the primary style (yellow bg with a snake border), and which ones should be secondary (transparent with a plain yellow border).
Right now, the button styles are chosen randomly and don't reflect the importance/meaning of the button.

I probably haven't found everything, will keep an eye out. But I think that is most of it.
Oh wait, never mind:

If there are deficits, this one should be primary.

In this case, where I have resource deficits, this should certainly not be primary. Infact, it shouldn't even be gold. Can we make the disabled version of the button look like it's a secondary button but where the gold as well as the text are just the regular paper-beige color?
While we are at it, can you change the mouse-hover effect orange rather than red? Something like hex-color #fc9323. Also, the labels of the buttons should be golden, not white, I think.

done in #478


[QUESTION] How to get total imported

Prerequisites

[X] Have read and understood: https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/.github/SUPPORT.md
[X] Checked if your Laravel Excel version is still supported: https://docs.laravel-excel.com/3.1/getting-started/support.html#supported-versions
[X] Checked that your question isn't already asked before.
[X] Filled in the entire issue template

Versions

PHP version: 7.4
Laravel version: 7.26.1
Package version: 3.1.23

Description
After a import, how to get total imported count. Not the total records in the file/reader, as some may be skipped via importer.
Additional Information
None

Have you tried the https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/src/Concerns/RemembersRowNumber.php ? The last row number should be the same as the total rows (including the skipped ones)

I'm not trying to get the total rows, I need to report how many rows were actually imported. Total - Skipped.

Sorry I misread what you meant. You can just keep the count yourself in a property, in a cache store or increment a database column. Whatever works for your app.

I ended up having to abandon trying to use Laravel-Excel for importing CSV files. It was taking just way to long to complete a 15k row file, much more time than our existing use of league csv. I was hoping with the ability the library had when it came to chunking and doing it as queues, that it would help when we tried to move to our larger file for importing 13m rows. Stepping through the code to see what was causing it to eat so much time, it seemed that it imports csv files into memory as a spreadsheet in a workbook so that it can then treat the import as a excel import. Where as with league csv, it just enumerates over the raw file per line.

Unfortunately we don't have control over how PhpSpreadsheet loads csv into memory.  For big CSV imports I would indeed recommend league csv, we do the same in those cases.


[dashboard]charts in nested tab is missing control and filter indicator

😅🤦🏾♀

Could not reproduce

Steps to reproduce:

Edit dashboard.
Drag a tab.
Add a new tab.
Drag any chart to the new tab.
Save dashboard.

I am working on it.

The issue happens with nested tabs, just to clarify.

fixed #15134


Using separate docker instance of database with playsmsm docker

The docker image of playsms is not persistent. As the database (mysql) is inside docker, the database is not persistent. All database data gone after playsms docker instance restarted or host restarted.
I am trying to use a separate mysql docker instance and trying to connect it to playsms docker instance. But even with correct value on config.php in playsms it shows "database connection error message"
How to use a separate docker instance of database with playsms docker?

please continue in https://forum.playsms.org


Failed to deploy on bluemix

Trying to deploy the app and get the following error:

Service offering ibm-blockchain-4-prod not found

Tried changing the pipeline file from:
cf create-service ibm-blockchain-4-prod ibm-blockchain-plan-4-prod nv-blockchain-service
To:
cf create-service ibm-blockchain-5-prod ibm-blockchain-plan-5-prod nv-blockchain-service
But no luck, still keep getting the same error.
Any idea how to fix this?

Nevermind, solved it by creating the service before pushing the app.


Swift 2

This branch would not be merged until public availability of Xcode 7.

This would be ready now. :sparkles:

:ship:


nps init should import scripts that work exactly as they do in npm run.

npm init script should import scripts from package.json so that they work the same under p-s.
i.e. if I run nps init on the following package.json
scripts:{
  "prething": "echo pre-thing",
   "thing":"echo thing"
}

then I should get the following output (in yaml)
scripts:
    prething:
        default: echo pre-thing
    thing:
         default: nps prething && echo thing

This is great! I think we should definitely add it. Would you like to makeapullrequest.com? The relevant code is here.

sadly I can't... i was just moved to another project.  sorry bud.

That's fine. We'll leave this open for anyone else who wants to work on it.

This issue looks promising, I may take care of it :) Especially since I wanted to use it at job and was missing this feature.


Start adding integration tests for CLI

@paetling

:ghost: :cow: .  This is really cool.  I like this


Not sorting, colouring, etc.

Since an update to the latest version the batteries are not showing gradients or colours and not sorting. I have tried the card with no settings and copied and pasted the default config in and this doesn't change. It's only battery levels as the custom configs for wifi levels and movement sensors still work. The percentages are still shown and they are correct.
Any ideas?

Without additional info I won't be able to help. Please provide screenshots, and entity data (add debug: true in the card config and copy-paste here the entity data - check Troubleshooting section in the docs)

Going to close this - uninstalling, restarting HA and re-installing fixed it.


Fixes for workbox, deployment etc

Deploy preview for qrcode-4951b7 ready!
Built with commit bb894f9c18424c4c5d75df4b5b5a972eff56352d
https://deploy-preview-58--qrcode-4951b7.netlify.com


1.5.1 issue, nested if.bind click.delegate does not fire after parent container has been hidden and re-shown

I'm submitting a bug report

Library Version:
1.5.1

Please tell us about your environment:

Operating System:
Windows 10

Node Version:
7.4.0

NPM Version:
4.0.5

JSPM OR Webpack AND Version
webpack 3.3.0

Browser:
Chrome 61.0.3163.100
Firefox 56.0 (32-bit)

Language:
TypeScript

Current behaviour:
Nested if.bind click delegate does not fire when parent container is hidden and re-shown
Expected/desired behavior:
nested if.bind click delegate should fire when parent container is re-shown
Setup
Below is a clone of the aurelia-skeleton repo with only changes to welcome.ts, welcome.html and package.json. I was unable to use gist due to the need to change the areulia-templating dependancy, sorry!
https://github.com/discoaaron/skeleton-typescript-webpack-issue-example
** Expected Behaviour steps **
npm install
npm start
navigate to http://localhost:8080/
Click test - alert shown
Click Toggle (div is hidden)
Click Toggle (div is shown)
Click test - alert shown (as expected)
Erroneous behaviour steps
Update aurelia-templating to latest
change
"aurelia-templating-resources": "1.4.0"
to
"aurelia-templating-resources": "^1.4.0"
stop watch task (if still running)
npm update
npm start
Click test - alert shown
Click Toggle (div is hidden)
Click Toggle (div is shown)
Click test - alert not shown! (not expected, this should have displayed like normal)
I've done some debugging and this is what I have so far

the click.delegate doesn't get called
debugging the event-manager.js, handleDelegatedEvent function shows that target.delegatedCallbacks is null/ empty when it shouldn't be.
I attempted to debug if.js and the newly created if-core.js but this was about the point where I'm unsure what I'm looking at.

This may be a bug, but remember that if.bind doesn't hide an element, it removes it from the DOM.
If you want to hide and show it, use show.bind. I think you'll find you find your code then works.

Yeah, thanks!
For some cases in our application switching things to show.bind works fine without any other changes. However this issue is present in many places in our application and switching some instances to show.bind required other changes to the view models, which is why we decided to report it as a bug.
If no fix is found (or if this is not really a bug!) we'll just have to switch everything over and make the necessary code changes (since we don't reeeally want to be behind on core aurelia versions). But fingers crossed you guys can figure it out!
If there's anything our team can do to help, let me know!

Looks like a duplicate of https://github.com/aurelia/templating-resources/issues/315

Ahh yes! I think so!

Looks like when the ViewFactory isn't caching then unbind isn't setting the nested items showing  state to false correctly anymore. Changing the following seems to fix (although the logic can be re-written to clean it up). This means that when _show is called again to re-render the view, this.showing will be false again and the bindings will be set up correctly.
   IfCore.prototype.unbind = function unbind() {
    if (this.view === null) {
      return;
    }

    this.view.unbind();

    if (!this.viewFactory.isCaching) {
      this.showing = false; // adding this in
      return;
    }

    if (this.showing) {
      this.showing = false;
      this.viewSlot.remove(this.view, true, true);
    } else {
      this.view.returnToCache();
    }

    this.view = null;
  };

Could do with someone else independently verifying this corrects the issue in their environment?

@jamiepollard This fixes the problem in our internal project. I hope this or another patch lands soon. Thank you for providing a quick fix.

I've just updated to the latest version of Aurelia (including all packages). Pretty much every if.bind I had in my app is now broken. How do you apply the IfCore fix? Just adding the code to app.js gives me errors (IfCore is not defined - pretty obvious I guess).

Do you know when the fix for this is going to be released? This is a pretty serious bug that completely breaks any aurelia app using if.bind. Surprised it has been broken so long, anyone new coming to aurelia and getting the latest version might not know to go and get the 1.4 version of the library which works fine. I know it's not always easy to jump on things immediately but in the past aurelia regressions in new releases were always fixed within a day or two, it's a little concerning that recently things seem to have slowed down a lot. Apologies if this isn't an appropriate place to raise that concern...

Hey, please see the above PR I submitted last week https://github.com/aurelia/templating-resources/pull/324
The change itself has been reviewed approved, another contributor helped me to add tests today which are pending review, following this it will hopefully be merged and released shortly thereafter.

Sorry, I should have checked the PR, I see there's been lots of activity on there. Was just a bit concerned that the PR was referenced 7 days ago above but it was still waiting for a release.


reframework

{
"SetTransactionStatus.xaml": [
{
"Description": "Log Message display name is defined many times. Current allowed threshold is 1. Code contains 4.",
"Recommendation": "Names of activities should give a clear indication of how they are being used. Default names are usually too generic. Please avoid duplicate names."
},
{
"Description": "Activity Comment Out has a default name.",
"Recommendation": "Check if it could be easier to understand what the activity does by adding a more descriptive title."
},
...
],
"Send Email Sequence.xaml": [
{
"Description": "Log Message not used in workflow Send Email Sequence.",
"Recommendation": "Using Log Message activities is important both during development and after release. They help understand the flow path, which is very useful for maintenance and error identification."
}
],
...
"CloseAllApplications.xaml": [
{
"Description": "Argument datafile does not respect the set pattern ^in_(dt_)?([A-Z]|[a-z])+([0-9])$",
"Recommendation": "Make sure all the arguments follow the naming convention."
},
{
"Description": "Argument StatusFile does not respect the set pattern ^in_(dt_)?([A-Z]|[a-z])+([0-9])$",
"Recommendation": "Make sure all the arguments follow the naming convention."
},
...
]
}

{
"NoFile": [
{
"Description": "Activity Kill Process has a default name.",
"Recommendation": "Check if it could be easier to understand what the activity does by adding a more descriptive title."
}
],
"InitAllApplications.xaml": [
{
"Description": "Expand to see details",
"Recommendation": "Activities: 1"
},
{
"Description": "Expand to see details",
"Recommendation": "Use "Project Settings" to add the missing information."
}
],
"Main.xaml": [
{
"Description": "Use Browser Chrome: Rpa Challenge display name is defined many times. Current allowed threshold is 1. Code contains 2.",
"Recommendation": "Names of activities should give a clear indication of how they are being used. Default names are usually too generic. Please avoid duplicate names."
},
{
"Description": "Do display name is defined many times. Current allowed threshold is 1. Code contains 2.",
"Recommendation": "Names of activities should give a clear indication of how they are being used. Default names are usually too generic. Please avoid duplicate names."
},
{
"Description": "Activity Get Queue Items has a default name.",
"Recommendation": "Check if it could be easier to understand what the activity does by adding a more descriptive title."
},
{
"Description": "Activity For Each has a default name.",
"Recommendation": "Check if it could be easier to understand what the activity does by adding a more descriptive title."
},
{
"Description": "Activity Get Transaction Item has a default name.",
"Recommendation": "Check if it could be easier to understand what the activity does by adding a more descriptive title."
},
{
"Description": "Activity Set Transaction Status has a default name.",
"Recommendation": "Check if it could be easier to understand what the activity does by adding a more descriptive title."
},
{
"Description": "Activity Bulk Add Queue Items has a default name.",
"Recommendation": "Check if it could be easier to understand what the activity does by adding a more descriptive title."
},
{
"Description": "Activity Log Message has a default name.",
"Recommendation": "Check if it could be easier to understand what the activity does by adding a more descriptive title."
}
]
}

{
"NoFile": [
{
"Description": "Could not load file 'CloseAllApplications.xaml'. Reason: Cannot create unknown type 'LogMessage'.",
"Recommendation": "Check if the LogMessage activity is correctly imported and available in the workflow."
},
{
"Description": "Could not load file 'GetTransactionData.xaml'. Reason: Cannot create unknown type 'LogMessage'.",
"Recommendation": "Check if the LogMessage activity is correctly imported and available in the workflow."
},
{
"Description": "Could not load file 'InitAllApplications.xaml'. Reason: Cannot create unknown type 'LogMessage'.",
"Recommendation": "Check if the LogMessage activity is correctly imported and available in the workflow."
},
{
"Description": "Could not load file 'InitAllSettings.xaml'. Reason: Cannot create unknown type 'LogMessage'.",
"Recommendation": "Check if the LogMessage activity is correctly imported and available in the workflow."
},
{
"Description": "Could not load file 'KillAllProcesses.xaml'. Reason: Cannot create unknown type 'LogMessage'.",
"Recommendation": "Check if the LogMessage activity is correctly imported and available in the workflow."
},
{
"Description": "Could not load file 'Process.xaml'. Reason: Cannot create unknown type 'LogMessage'.",
"Recommendation": "Check if the LogMessage activity is correctly imported and available in the workflow."
},
{
"Description": "Could not load file 'RetryCurrentTransaction.xaml'. Reason: Cannot create unknown type 'LogMessage'.",
"Recommendation": "Check if the LogMessage activity is correctly imported and available in the workflow."
},
{
"Description": "Could not parse file 'SetTransactionStatus.xaml'. Reason: The type 'InArgument(ui:BusinessRuleException)' of property 'in_BusinessException' could not be resolved.",
"Recommendation": "Fix the type resolution issue for the 'in_BusinessException' property in the SetTransactionStatus.xaml file."
},
{
"Description": "Could not load file 'TakeScreenshot.xaml'. Reason: Cannot create unknown type 'CreateDirectory'.",
"Recommendation": "Check if the CreateDirectory activity is correctly imported and available in the workflow."
},
{
"Description": "Could not load file 'GetTransactionDataTestCase.xaml'. Reason: Cannot create unknown type 'Variable(QueueItem)'.",
"Recommendation": "Check if the Variable(QueueItem) type is correctly imported and available in the workflow."
},
{
"Description": "Could not load file 'InitAllApplicationsTestCase.xaml'. Reason: Cannot create unknown type 'LogMessage'.",
"Recommendation": "Check if the LogMessage activity is correctly imported and available in the workflow."
},
{
"Description": "Could not load file 'InitAllSettingsTestCase.xaml'. Reason: Cannot create unknown type 'LogMessage'.",
"Recommendation": "Check if the LogMessage activity is correctly imported and available in the workflow."
},
{
"Description": "Could not load file 'MainTestCase.xaml'. Reason: Cannot create unknown type 'LogMessage'.",
"Recommendation": "Check if the LogMessage activity is correctly imported and available in the workflow."
},
{
"Description": "Could not load file 'ProcessTestCase.xaml'. Reason: Cannot create unknown type 'Variable(QueueItem)'.",
"Recommendation": "Check if the Variable(QueueItem) type is correctly imported and available in the workflow."
},
{
"Description": "Could not load file 'WorkflowTestCaseTemplate.xaml'. Reason: Cannot create unknown type 'LogMessage'.",
"Recommendation": "Check if the LogMessage activity is correctly imported and available in the workflow."
},
{
"Description": "Could not load file 'Main.xaml'. Reason: Cannot create unknown type 'ShouldStop'.",
"Recommendation": "Check if the ShouldStop activity is correctly imported and available in the workflow."
},
{
"Description": "Cannot perform project analysis because some workflows have errors.",
"Recommendation": "_"
}
]
}

In the "SetTransactionStatus.xaml" file:

The Log Message display name is defined many times. Current allowed threshold is 1. Code contains 4. Please avoid duplicate names.
The Activity Comment Out has a default name. Consider adding a more descriptive title.
The Activity Log Message has a default name. Consider adding a more descriptive title.

In the "Send Email Sequence.xaml" file:

The Log Message is not used in the workflow Send Email Sequence. Using Log Message activities is important for understanding the flow and identifying errors.

In the "GetTransactionData.xaml" file:

The Assign display name is defined many times. Current allowed threshold is 1. Code contains 2. Please avoid duplicate names.
The Activity If has a default name. Consider adding a more descriptive title.
The Activity Assign has a default name. Consider adding a more descriptive title.
The Activity Log Message has a default name. Consider adding a more descriptive title.

In the "Sequence.xaml" file:

The Log Message is not used in the workflow Sequence. Using Log Message activities is important for understanding the flow and identifying errors.

In the "Process.xaml" file:

The code starting at Process contains deeply nested activities. Current allowed nesting threshold is 7. Code contains 8. Avoid deeply nested structures and consider dividing the workflow into smaller components.
The code starting at If contains deeply nested activities. Current allowed nesting threshold is 7. Code contains 8. Avoid deeply nested structures and consider dividing the workflow into smaller components.
The Argument dtReport doesn't have a datatable prefix. Ensure datatable arguments start with a dt_ prefix.
The Argument dtReport does not respect the set pattern ^io_(dt_)?([A-Z]|[a-z])+([0-9])*$ for naming conventions.
The Argument dt_StatusInfo does not respect the set pattern ^io_(dt_)?([A-Z]|[a-z])+([0-9])*$ for naming conventions.
The Variable invoice_Date is defined more than once. Define unique names for variables, even in different scopes.
The Argument dt_Statusreport, Variable Image, strSecondmacth, strThirdmacth, strFourthMatch, invoice_Date are not used. Remove unused variables.
The Variable invoice_date does not respect the set pattern ^(dt_)?([A-Z]|[a-z])+([0-9])*$ for naming conventions.
The Activity If, Try Catch, Assign, Throw, For Each, Find Matching Patterns, Log Message, Switch activities have default names. Consider adding more descriptive titles.

In the "CloseAllApplications.xaml" file:

The Argument datafile does not respect the set pattern ^in_(dt_)?([A-Z]|[a-z])+([0-9])*$ for naming conventions.
The Argument StatusFile does not respect the set pattern ^in_(dt_)?([A-Z]|[a-z])+([0-9])*$ for naming conventions.
The Activity Microsoft Office 365 Scope, Send Mail have default names. Consider adding more descriptive titles.

In the "Main.xaml" file:

The Variable FilePath, dt_StatusInfo are not used. Remove unused variables.
The code starting at General Business Process contains deeply nested activities. Current allowed nesting threshold is 7. Code contains 8. Avoid deeply nested structures.

Errors and their corrections:

CloseAllApplications.xaml: Cannot create unknown type 'LogMessage'.
GetTransactionData.xaml: Cannot create unknown type 'LogMessage'.
InitAllApplications.xaml: Cannot create unknown type 'LogMessage'.
InitAllSettings.xaml: Cannot create unknown type 'LogMessage'.
KillAllProcesses.xaml: Cannot create unknown type 'LogMessage'.
Process.xaml: Cannot create unknown type 'LogMessage'.
RetryCurrentTransaction.xaml: Cannot create unknown type 'LogMessage'.
SetTransactionStatus.xaml: System.Xaml.XamlException: The type 'InArgument(ui:BusinessRuleException)' of property 'in_BusinessException' could not be resolved.
TakeScreenshot.xaml: Cannot create unknown type 'CreateDirectory'.
GetTransactionDataTestCase.xaml: Cannot create unknown type 'Variable({http://schemas.uipath.com/workflow/activities}QueueItem)'.
InitAllApplicationsTestCase.xaml: Cannot create unknown type 'LogMessage'.
InitAllSettingsTestCase.xaml: Cannot create unknown type 'LogMessage'.
MainTestCase.xaml: Cannot create unknown type 'LogMessage'.
ProcessTestCase.xaml: Cannot create unknown type 'Variable({http://schemas.uipath.com/workflow/activities}QueueItem)'.
WorkflowTestCaseTemplate.xaml: Cannot create unknown type 'LogMessage'.
Main.xaml: Cannot create unknown type 'ShouldStop'.
Cannot perform project analysis because some workflows have errors.

SourceCode/2023/Sep2023/Projects/Vajrang/RoboticEnterpriseFramework-Roboyo-Invoice Extraction/project.json
SetTransactionStatus.xaml:

Log Message display name is defined many times. Current allowed threshold is 1. Code contains 4.
Activity Comment Out has a default name.
Activity Log Message has a default name.

Send Email Sequence.xaml:

Log Message not used in workflow Send Email Sequence.

GetTransactionData.xaml:

Assign display name is defined many times. Current allowed threshold is 1. Code contains 2.
Activity If has a default name.
Activity Assign has a default name.
Activity Log Message has a default name.

Sequence.xaml:

Log Message not used in workflow Sequence.

Process.xaml:

Variable dt_Statusreport is not used.
Variable Image is not used.
Variable strSecondmacth is not used.
Variable strThirdmacth is not used.
Variable strFourthMatch is not used.
Variable invoice_Date is not used.
Code starting at Process contains deeply nested activities. Current allowed nesting threshold is 7. Code contains 8.
Code starting at If contains deeply nested activities. Current allowed nesting threshold is 7. Code contains 8.
Argument dtReport doesn't have datatable prefix.
Argument dtReport does not respect the set pattern ^io_(dt_)?([A-Z]|[a-z])+([0-9])*$.
Argument dt_StatusInfo does not respect the set pattern ^io_(dt_)?([A-Z]|[a-z])+([0-9])*$.
Variable invoice_Date is defined more than once.
If display name is defined many times. Current allowed threshold is 1. Code contains 2.
Assign display name is defined many times. Current allowed threshold is 1. Code contains 11.
Log Message display name is defined many times. Current allowed threshold is 1. Code contains 4.
Sequence display name is defined many times. Current allowed threshold is 1. Code contains 5.
Variable invoice_date does not respect the set pattern ^(dt_)?([A-Z]|[a-z])+([0-9])*$.
Activity If has a default name.
Activity Try Catch has a default name.
Activity Assign has a default name.
Activity Assign has a default name.
Activity Assign has a default name.
Activity Throw has a default name.
Activity For Each has a default name.
Variable arr_formats does not respect the set pattern ^(dt_)?([A-Z]|[a-z])+([0-9])*$.
Activity Find Matching Patterns has a default name.
Activity Log Message has a default name.
Activity Assign has a default name.
Activity Switch has a default name.
Activity Assign has a default name.
Activity Log Message has a default name.
Variable invoice_Date does not respect the set pattern ^(dt_)?([A-Z]|[a-z])+([0-9])*$.
Activity Assign has a default name.
Variable invoice_Date does not respect the set pattern ^(dt_)?([A-Z]|[a-z])+([0-9])*$.
Activity Assign has a default name.
Activity Assign has a default name.
Activity Assign has a default name.
Activity Assign has a default name.
Activity Log Message has a default name.
Activity Assign has a default name.
Activity Log Message has a default name.
Activity Rethrow has a default name.

CloseAllApplications.xaml:

Argument datafile does not respect the set pattern ^in_(dt_)?([A-Z]|[a-z])+([0-9])*$.
Argument StatusFile does not respect the set pattern ^in_(dt_)?([A-Z]|[a-z])+([0-9])*$.
Activity Microsoft Office 365 Scope has a default name.
Activity Send Mail has a default name.

Main.xaml:

Variable FilePath is not used.
Variable dt_StatusInfo is not used.
Code starting at General Business Process contains deeply nested activities. Current allowed nesting threshold is 7. Code contains 8.

SourceCode/2023/Sep2023/Projects/Vajrang/RoboticEnterpriseFramework-Roboyo-Invoice Extraction/project.json

"SetTransactionStatus.xaml":

The display name "Log Message" is defined multiple times. It's recommended to avoid duplicate names and use more descriptive titles.
The activity "Activity Comment Out" has a default name. Consider giving it a more descriptive title.

"Send Email Sequence.xaml":

The activity "Log Message" is not used in the workflow "Send Email Sequence". Consider using Log Message activities for better understanding and maintenance of the workflow.

"GetTransactionData.xaml":

The display name "Assign" is defined multiple times. It's recommended to use unique and descriptive names for activities.
The activity "Activity If" has a default name. Consider giving it a more descriptive title.
The activity "Activity Assign" and "Activity Log Message" have default names. Consider giving them more descriptive titles.

"Sequence.xaml":

The activity "Log Message" is not used in the workflow "Sequence". Consider using Log Message activities for better understanding and maintenance of the workflow.

"Process.xaml":

Remove unused variables like "dt_Statusreport", "Image", "strSecondmacth", "strThirdmacth", "strFourthMatch", and "invoice_Date".
The code starting at "Process" and "If" contains deeply nested activities (more than the allowed threshold of 7). It's recommended to split the workflow into smaller components for better readability and maintainability.
The argument "dtReport" should start with the prefix "dt_" to follow the naming convention.
The arguments "dtReport" and "dt_StatusInfo" do not follow the set naming pattern. Ensure all arguments adhere to the pattern.
The variable "invoice_Date" is defined more than once. Define unique names for variables, even in different scopes.
The activity "If" and "Assign" have default names. Consider giving them more descriptive titles.
The variable "invoice_date" does not follow the naming convention. Ensure variables adhere to the pattern.
The activity "Try Catch", "Switch", "Find Matching Patterns", and "Rethrow" have default names. Consider giving them more descriptive titles.

"CloseAllApplications.xaml":

The arguments "datafile" and "StatusFile" do not follow the set naming pattern. Ensure all arguments adhere to the pattern.
The activities "Microsoft Office 365 Scope" and "Send Mail" have default names. Consider giving them more descriptive titles.

"Main.xaml":

Remove unused variables like "FilePath" and "dt_StatusInfo".
The code starting at "General Business Process" contains deeply nested activities (more than the allowed threshold of 7). Consider splitting the workflow into smaller components for better readability and maintainability.

SourceCode/2023/Sep2023/Projects/Vajrang/RoboticEnterpriseFramework/project.json
KillAllProcesses.xaml:

Feedback: The activity "Kill Process" has a default name.
Recommendation: Consider adding a more descriptive title to help readers understand what the activity does.

NoFile:

Feedback: Your project is missing an Automation Hub URL.
Recommendation: Use "Project Settings" to add the missing information as required by your organization.

Main.xaml:

Feedback: The activity "Browser Chrome: Rpa Challenge" has duplicate display names exceeding the allowed threshold.

Recommendation: Refrain from using generic default names and avoid duplicate names within your code.

Feedback: The activity "Get Queue Items" has a default name.

Recommendation: Consider adding a more descriptive title to clarify the purpose of the activity.

Feedback: The activity "For Each" has a default name.

Recommendation: Consider adding a more descriptive title to help readers understand the purpose of the activity.

Feedback: The activity "Get Transaction Item" has a default name.

Recommendation: Consider adding a more descriptive title to clarify the purpose of the activity.

Feedback: The activity "Set Transaction Status" has a default name.

Recommendation: Consider adding a more descriptive title to help readers understand the purpose of the activity.

Feedback: The activity "Bulk Add Queue Items" has a default name.

Recommendation: Consider adding a more descriptive title to clarify the purpose of the activity.

Feedback: The activity "Log Message" has a default name.

Recommendation: Consider adding a more descriptive title to help readers understand the purpose of the activity.

SourceCode/2023/Sep2023/Projects/Vajrang/Roboyo-Invoice Extraction-05-09-2023/project.json
Based on the provided error messages, it seems that the files in question are related to a UiPath project. The errors indicate that certain activities or types, such as "LogMessage" and "CreateDirectory", are not recognized or cannot be resolved. Additionally, there are issues with resolving types related to variables and queue items.
To correct these errors, consider the following steps:

Check the UiPath version being used and ensure that it supports the activities and types being used in the project. Upgrade to a compatible version if necessary.

Verify the dependencies and packages being used in the project. Ensure that all required packages are installed and up to date.

Review the file paths mentioned in the error messages and ensure that the referenced files exist in the specified locations. If any files are missing, try to restore them.

If the errors persist, examine the specific activities mentioned in the error messages (e.g., LogMessage, CreateDirectory) and their usage in the workflows. Make sure they are properly imported and referenced in the project.

For issues related to variables and types, double-check the variable declarations and ensure that the correct namespaces are used. If necessary, import additional namespaces or update the existing ones.

If there are any custom activities or workflows, ensure that they are correctly implemented and accessible from the project.

Remember to test the project after each modification to check if the errors have been resolved.

SourceCode/2023/Sep2023/Projects/Vajrang/RoboticEnterpriseFramework-Roboyo-Invoice Extraction/project.json
[D] Log Message display name is defined many times. Current allowed threshold is 1. Code contains 4.
[R] Names of activities should give a clear indication of how they are being used. Default names are usually too generic. Please avoid duplicate names.
[D] Activity Comment Out has a default name.
[R] Check if it could be easier to understand what the activity does by adding a more descriptive title.
[D] Activity Log Message has a default name.
[R] Check if it could be easier to understand what the activity does by adding a more descriptive title.
[D] Activity Log Message has a default name.
[R] Check if it could be easier to understand what the activity does by adding a more descriptive title.
[D] Activity Log Message has a default name.
[R] Check if it could be easier to understand what the activity does by adding a more descriptive title.
[D] Activity Log Message has a default name.
[R] Check if it could be easier to understand what the activity does by adding a more descriptive title.
[D] Log Message not used in workflow Send Email Sequence.
[R] Using Log Message activities is important both during development and after release. They help understanding the flow path which is very useful for maintenance and, when an error occurs, to easily identify the source and the cause.
[D] Assign display name is defined many times. Current allowed threshold is 1. Code contains 2.
[R] Names of activities should give a clear indication of how they are being used. Default names are usually too generic. Please avoid duplicate names.
[D] Activity If has a default name.
[R] Check if it could be easier to understand what the activity does by adding a more descriptive title.
[D] Activity Log Message has a default name.
[R] Check if it could be easier to understand what the activity does by adding a more descriptive title.
[D] Activity Assign has a default name.
[R] Check if it could be easier to understand what the activity does by adding a more descriptive title.
[D] Activity Assign has a default name.
[R] Check if it could be easier to understand what the activity does by adding a more descriptive title.
[D] Log Message not used in workflow Sequence.
[R] Using Log Message activities is important both during development and after release. They help understanding the flow path which is very useful for maintenance and, when an error occurs, to easily identify the source and the cause.
[D] Variable dt_Statusreport is not used.
[R] Remove variables that are not used.
[D] Variable Image is not used.
[R] Remove variables that are not used.
[D] Variable strSecondmacth is not used.
[R] Remove variables that are not used.
[D] Variable strThirdmacth is not used.
[R] Remove variables that are not used.
[D] Variable strFourthMatch is not used.
[R] Remove variables that are not used.
[D] Variable invoice_Date is not used.
[R] Remove variables that are not used.
[D] Variable invoice_Date is not used.
[R] Remove variables that are not used.
[D] Code starting at Process contains deeply nested activities. Current allowed nesting threshold is 7. Code contains 8.
[R] It is usually more difficult to see and understand workflows that have too many deeply nested activities, so it is recommended to avoid deeply nested structures. Instead, it might be better to separate the workflow into smaller ones and use the Invoke Workflow File activity to call them. Consider dividing the workflow into smaller components to avoid deeply nested structures.
[D] Code starting at If contains deeply nested activities. Current allowed nesting threshold is 7. Code contains 8.
[R] It is usually more difficult to see and understand workflows that have too many deeply nested activities, so it is recommended to avoid deeply nested structures. Instead, it might be better to separate the workflow into smaller ones and use the Invoke Workflow File activity

SourceCode/2023/Sep2023/Projects/Vajrang/RoboticEnterpriseFramework/project.json
{
"KillAllProcesses.xaml": [
{
"D": "As an actor, every action I take has a purpose and a meaning. Activity Kill Process has a default name that lacks the essence of its purpose.",
"R": "As a suggestion, I propose that we consider adding a more descriptive title to the activity. This will help the audience grasp the intent of the action more easily."
}
],
"NoFile": [
{
"D": "In the grand scheme of things, your organization requires your project to have an Automation Hub URL defined. However, there seems to be a missing link.",
"R": "I recommend using the magnificent power of "Project Settings" to add the missing information. This will ensure your project aligns with the requirements set forth by your organization."
}
],
"Main.xaml": [
{
"D": "Ah, the thrilling world of cinema! In this intricate masterpiece, the display name of the activity 'Browser Chrome: Rpa Challenge' has been defined multiple times. Alas, the current allowed threshold is merely one.  Default names can be rather generic, so let us traverse the path of uniqueness and avoid duplicate names."
},
{
"D": "Within this grand production, we stumble upon another occurrence of duplicate display names, this time in an activity known as 'Do.' It seems that it, too, has ventured beyond the limits set by our creators.",
"R": "Let us once again reimagine our activities and bestow upon them names that truly reflect their intentions. The audience shall be grateful for the clarity we provide, and our code shall tell a more captivating tale."
},
{
"D": "In the vast realm of this automation opus, I have noticed that the activity named 'Get Queue Items' is adorned with a default name. Alas, it lacks the prowess to convey its true purpose.",
"R": "I implore you to consider bestowing upon this activity a more descriptive title. This shall illuminate its purpose and guide the viewers through the labyrinth of our automation's brilliance."
},
{
"D": "Ah, the enchanting dance of repetition! We find ourselves facing an activity named 'For Each' with a monotonous default name. This, my dear comrade, fails to convey the allure of its purpose.",
"R": "Imagine the magnificence if we were to grace this activity with a more descriptive title. The audience shall be enthralled by its purpose, and our masterpiece shall resonate more deeply with their souls."
},
{
"D": "In this chapter of our saga, an activity called 'Get Transaction Item' emerges with a plain default name. Unfortunately, it fails to captivate the essence of its mission.",
"R": "I urge you to contemplate the profound impact a more descriptive title shall have on this activity. We must pave the way for clarity and ensure the significance of each action shines brilliantly in the eyes of our beholders."
},
{
"D": "Within this tapestry of automation, we encounter an activity named 'Set Transaction Status' that bears the burden of a default name. It yearns for a more profound identity.",
"R": "Let us embark on a quest for enlightenment and assign a more descriptive title to this activity. Our audience shall find solace in the clarity we provide, and our code shall resonate with purpose."
},
{
"D": "Behold, in the realm of our magnificent creation, the activity 'Bulk Add Queue Items' hides behind the veil of a default name. Alas, it fails to shine forth its true brilliance.",
"R": "Let us unravel the mysteries of this activity by endowing it with a more descriptive title. As the audience witnesses its importance, our automation shall ascend to new heights of clarity and excellence."
},
{
"D": "Amidst this captivating tale, we encounter an activity named 'Log Message' with an unassuming default name. It lacks the grandeur befitting its vital role.",
"R": "We must endeavor to infuse this activity with a name that truly embodies its significance. Let us ensure that the audience is enraptured by the clarity we bestow upon our creation, and our code shall forever echo in their hearts."
}
]
}

SourceCode/2023/Sep2023/Projects/Vajrang/Roboyo-Invoice Extraction-05-09-2023/project.json
My dear friend, it seems that you are facing some technical difficulties while loading files. Fear not, for I shall unravel the mysteries behind these errors and guide you towards a solution.
The first file, "CloseAllApplications.xaml", encountered an issue because it could not create an unknown type called "LogMessage". Similarly, the files "GetTransactionData.xaml", "InitAllApplications.xaml", "InitAllSettings.xaml", "KillAllProcesses.xaml", "Process.xaml", and "RetryCurrentTransaction.xaml" faced the same problem.
Moving on, the file "SetTransactionStatus.xaml" could not be parsed due to a System.Xaml.XamlException. The error states that the type 'InArgument(ui:BusinessRuleException)' of the property 'in_BusinessException' could not be resolved. Quite a perplexing situation indeed!
The next file, "TakeScreenshot.xaml", ran into trouble because it couldn't create an unknown type called "CreateDirectory". Additionally, the file "GetTransactionDataTestCase.xaml" suffered from an unknown type called "Variable({http://schemas.uipath.com/workflow/activities}QueueItem)".
Similarly, "InitAllApplicationsTestCase.xaml", "InitAllSettingsTestCase.xaml", "MainTestCase.xaml", and "WorkflowTestCaseTemplate.xaml" encountered the same issue of an unknown type called "LogMessage".
Lastly, the "Main.xaml" file faced an obstacle by not being able to create an unknown type called "ShouldStop".
Alas, dear friend, it appears that the project analysis cannot be performed due to these errors in the workflow files.
But fear not, for there is always a solution to every problem! I recommend examining each file's content, checking for any missing or incorrect activity types, or updating any necessary dependencies. By rectifying these issues, you shall pave the way towards a successful project analysis.
May you find success in your endeavors!
Image of Nandamuri Balakrishna:

SourceCode/2023/Sep2023/Projects/Vajrang/RoboticEnterpriseFramework-Roboyo-Invoice Extraction/project.json
SetTransactionStatus.xaml:
Just like water from a coconut tree, your display names are overflowing my friend. Keep them unique and straight to the point like our sharp Telugu dialogues.
And remember, your activity's title is its identity, just like our cinema titles! How can "Log Message", "Comment Out", or "Activity Log" define what it is exactly doing? Give them a name that suits their character!
Send Email Sequence.xaml:
Eyy, where's your log message? It's as important as my dialogues in a fight scene. Forgot mid-way, did you? Revisit and mark your journey!
 But my friend, keeping the same name for activities can be as confusing as the twist of a suspense thriller. Change it!
Sequence.xaml
Seems like you are not fond of keeping track of your deeds. Log Messages are like story narrations, include them to make your process journey a blockbuster!
Process.xaml:
Yamma! Way too many cast that have not been assigned a role. If the variable is having no purpose like a flower pot in action scenes, discard it!
Oho! You have nested activities deep

SourceCode/2023/Sep2023/Projects/Vajrang/RoboticEnterpriseFramework/project.json
#KillAllProcesses.xaml
Kevvu keka cheppandi. 'Kill Process' oka general peru. Manam vini, em chesthundi ani artham kavali kada? Annitikanna pedda viluva peru, adi kuda oka software lo, antha easy ga ardham avvali.
#NoFile
Endira! Meeru mee project lo 'Automation Hub URL' define cheyaleda? Adi mee organization ki mandatory anukunta. "Project Settings" lo adi add cheskovalenu. 'Dookudu' lo Mahesh laage, prathi step lo koncham smart ga undali maku.
#Main.xaml
Parama veeracharam ga chepthunna, "Use Browser Chrome: Rpa Challenge", "Do" laanti perlu marosari repeat avthunnaaru, loaferla! 2 sari vadaledu, oka sari parimi cheyali.
'Get Queue Items', 'For Each', 'Get Transaction Item', 'Set Transaction Status', 'Bulk Add Queue Items' , 'Log Message' – ivanni kuda general perle, evvani vaduluk

SourceCode/2023/Sep2023/Projects/Vajrang/Roboyo-Invoice Extraction-05-09-2023/project.json
Ee 'unknown type' error issue idi, ma kanna cinema lo villain entrance laga, sudden ga vacchi mana hero ki problem create chestundi. Manam export chesina namespaces check cheyali, vaati tho patu correct activities imported ayyai leda ani verify cheyali. http://schemas.uipath.com/workflow/activities ane package kachitanga install ayyundi kada? Leka LogMessage activity lanti important activities vanish ayyi unnay.
Chivarlo, 'InArgument(ui:BusinessRuleException)' type ni kuda resolve cheyalekapotunnam. Ee type ni declare chese file lo edo teliyani issue undemo chudali.
Ee type of errors chusthe naaku oka dialogue gurthostundi -- "I'm not a joker; I'm an actor!" annattundi. Emphasis ade, manam error messages ni light teeskovalem.
Inka ee system issues anni solve chesaka, "Cannot perform project analysis because some workflows have errors" issue kuda settle aypoddi.
Manam 'chance' kadu 'change' kosam fight chestam kab


get access level of an entity wrong

Prepare
Advertisement entity
A user has two roles ， ROLE_USER, ROLE_ORGANIAZATION
ROLE_ORGANIAZATION  for  advertisement entity has  GROUP_GLOBAL  permission
ROLE_USER for advertiesment entity has GROUP_NOE permission
Use case
now let's us try to get VIEW access level of the advertisement for this user .
Permission to mask map
 'MASK_VIEW_BASIC' =>
  int(1)
  'MASK_VIEW_LOCAL' =>
  int(2)
  'MASK_VIEW_DEEP' =>
  int(4)
  'MASK_VIEW_GLOBAL' =>
  int(8)
  'MASK_VIEW_SYSTEM' =>
  int(16)
  'GROUP_VIEW' =>
  int(31)
  'MASK_CREATE_BASIC' =>
  int(32)
  'MASK_CREATE_LOCAL' =>
  int(64)
  'MASK_CREATE_DEEP' =>
  int(128)
  'MASK_CREATE_GLOBAL' =>
  int(256)
  'MASK_CREATE_SYSTEM' =>
  int(512)
  'GROUP_CREATE' =>
  int(992)
  'MASK_EDIT_BASIC' =>
  int(1024)
  'MASK_EDIT_LOCAL' =>
  int(2048)
  'MASK_EDIT_DEEP' =>
  int(4096)
  'MASK_EDIT_GLOBAL' =>
  'GROUP_GLOBAL' =>
  int(8456)

The cause
the ROLE_USER role will push the trigger mask to 16 , that is system level,  which is inferered from PermissionGrantingStrategy.php#L294 .
the ROLE_ORGNIZATION role  has GROUP_GLOBAL permission on the advertisement entity, it can't set the triggered make to 8 , because from this code, it can only set the triggered mask if  the access level of the required mask is bigger than previous,   so  we get a wrong access level.
currently , I have to add following code, which fix this bug.
 if ($isGranting) {
    // override previous not granted triggered ace
    if (!$result) {
        $triggeredAce = $ace;
        $triggeredMask = $requiredMask;
    }
    $result = true;

    // the access is granted if there is at least one granting ACE
    if (null === $triggeredAce
        || $extension->getAccessLevel($requiredMask, null, $object)
        > $extension->getAccessLevel($triggeredMask, null, $object)
    ) {
        $triggeredAce = $ace;
        $triggeredMask = $requiredMask;
    }
}

I think this might be a bug.

Hello, @videni.
Thanks for reporting this issue.
We know about this problem and working on it.

@yurio , hope it will be resolved soon.

The issue has been fixed in 2.6.30. Thank you


Traverse up to find .env file automatically

I am working on a monorepo setup, where I have following structure of packages
src/
  services/
    service-1/
    service-2/
.env

I would like both services to share same .env, so in srevice-1/package.json I have a script:
"start:dev": "dotenvx run --env-file=${PWD}/../../../.env -- pnpm ts-node-dev -- src/index.ts",

Unfortunately when I run it from inside service-1 directory, I am getting an error:
node: /Users/piotr/Projects/work/x/y/src/services/service-1/../../../.env: not found

which I don't understand, as this file is definitely there when I run ls. Any idea why it's not being picked up?
Would it be possible for dotenvx to traverse folders up, until .env file is found, so I do not have to manually specify --enf-file? Similar thread here: https://github.com/motdotla/dotenv/issues/238#issuecomment-348017037

dotenvx should do so. it's completely flexible with filepaths.
try changing --env-file flag to just -f. the error you are receiving is actually from latest node's --env-file flag (we chose to use the same flag name, but their implementation currently has some edge case bugs we are seeing crop up).
that will give you a better idea of what is going on.
then run cat /Users/piotr/Projects/work/x/y/src/services/service-1/../../../.env to triple check that can render.


Extract text resources to locale json

Introduces i18n and extracts all text resources to en.json locale file in order to make #181 easier.

@andrevmatos I don't have any strong feelings about this, to be honest, the examples I checked on vue i18n were using this format and structure so I followed it.


Extension crashes Chrome when used with Breevy

Hi
Love your extension but had to switch it off as the extension crashes Chrome when used with Breevy.
See here
If i turn off your extension Breevy works, as a text replacer i use it 100 of times a day so I need it more than your extension. Was hoping they could both work together.
AG

Wow, late reply, sorry about that.
Unfortunately, I'm not familiar with Breevy, and since it's not open source software, I can't tell exactly what it's doing. Does this happen on sites that this extension has been configured to not run on as well, or does it only happen when the extension is actively running on a site?

With the release of version 2, the extension is no longer active on any site by default, which should alleviate this problem.


Change install command

There may be other neofetch clones to appear in winget in the near future, so by just typing neofetch it may download something else.
btw also gave a more proper code Markdown code format

both work, neofetch is just shorthand for neofetch-win, I had considered this and if the problem ever arises I will change the readme accordingly


Issue w installing Niche environment

niche_vlaanderen version:  /
Python version: 3.6
Operating System: Windows 7

Niche Python Package question
Description
@johanvdw @stijnvanhoey
When I try to install the NICHE environment, I get following error: ResolvePackageNotFound and a list of packages. I tried to solve it by manually installing these packages, which didn't work. Then I tried moving these packages to pip in the .yml file but this just creates other problems... Any idea on how to solve this?

There is indeed an issues with the provided `niche_env``file in the documentation, which we will need to fix. Thanks a lot for informing us.
As a workaround, let's try  a step by step approach and if this works, we can adapt the documentation as such as well.
@SiegeVB , for your case, let's make sure the old relics are removed by first doing the following commands (removing current environment and cleaning up conda package list):
conda remove --name niche_env --all
conda clean --all -y

As an installation procedure to test:

create an (empty) niche environment and activate the environment

conda create --name niche_env -y -q python=3.6
activate niche_env

(Note: Mac/linux users will use conda activate niche_env

Add the conda forge channel, a community created package repository:

conda config --add channels conda-forge

Install the requirered packages

conda install pandas pyyaml rasterio fiona matplotlib

(type y when asking to proceed)

Install niche_vlaanderen in the same environment

pip install niche_vlaanderen==1.0

Please try these instructions and have check if anyhting goes wrong when running the model. Certainly check eventual occurrence of this issue

If the above instructions work, can you run conda env export > newenv.yml and send me the file?
Than we can make sure other people also get your version.

Unfortunately I get stuck at step 3 >>

I retried a couple of times as suggested, but it still doesn't work (and max retries exceeded?)

This is indeed a network error and not an installation issue as such. Are you running this from inside the INBO network (hermand teirlinck) or at home (with or without VPN)?
@berthuygens is there any possibility that the INBO network is blocking any requests like this?

Maybe good to know (and this points in the direction mentioned by Stijn): I was able to update my niche version today without problem (by using the same yml file on the website that Siege tried to use without success). Both of us were at INBO today (HT)

@stijnvanhoey : this is an anaconda problem
https://github.com/conda/conda/issues/6064#issuecomment-463219171

so, @SiegeVB could you try also:
conda config --set ssl_verify no

and next, do step 3 again?

Still doesn't work, same error... Perhaps there is something wrong with
some of my settings somehow, somewhere.... I guess it's easier if you can
have a try on my computer yourself? But I'm not able to come to Brussels
tomorrow and I see you are in vacation next week.
Op wo 20 feb. 2019 om 10:41 schreef Stijn Van Hoey<EMAIL_ADDRESS>
:

so, @SiegeVB https://github.com/SiegeVB could you try also:
conda config --set ssl_verify no
and next, do step 3 again?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/inbo/niche_vlaanderen/issues/203#issuecomment-465499837,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AtkFZfuOQ9oumIGy3X8HPW8uNFjcNtDsks5vPRg5gaJpZM4bCogE
.

--
Siege Van Ballaert
Junior onderzoeker
Instituut voor Natuur- en Bosonderzoek
Herman Teirlinckgebouw, Site Thurn & Taxis
Havenlaan 88 bus73, 1000 Brussel Belgium
GSM: 0496 56 61 38
<EMAIL_ADDRESS><EMAIL_ADDRESS>www.inbo.be
Ik werk niet op vrijdag.

Indeed a conda error, got it working in the base environment of Siege, closing here.

Just one more question if you don't mind: is this a specific issue on Siege's computer or is it susceptible to be a problem for other (new) users?
If the latest is true, we should think about adding an item in our FAQ

@cecileherr : This is a problem with anaconda. I am quite sure they will fix it soon as this affects a lot of their users.


Compare with optimized convolutions

Hey there, promising work on a C++ JIT.
Can you compare your JIT results with state-of-the-art convolution or at least im2col + GEMM convolution and report the GFLOP/s reached and theoretical peak?
Here are all the resources I gathered regarding convolution optimisation.
The main issue with naive direct convolution are the cache misses and poor utilisation of the CPU cache hierarchy.
On benchmarks on my CPU, a i5-5257U 2.7Ghz dual core Broadwell supporting AVX+FMA the theoretical compute peak is 172.8 GLOP/s, however a naive convolution can reach only 2.6 GFLOP/s. When reframing as a im2col + GEMM (matrix multiplication), I can reach 20+ GFLOP/s.
I didn't finish yet but I hope to reach 120+ GFLOP/s using my own BLAS which attains 98% of the speed of OpenBLAS (72.4 GFLOPS vs 73.8 GFLOPS single threaded, 136 GFLOP/s vs 145 GFLOP/s multithreaded) and fusing im2col with the matrix multiplication repacking steps.
Other promising approaches that should reach 100+ GFLOP/s are MKL-DNN and libxsmm which is described in great detail in this paper.
Also Halide has an optimised JIT generation for computational imagery and already relies on LLVM.

Hello,
First of all, sorry for the ridiculous delay in my response.
Do you have a small reference C/C++ code I could use for benchmarking using any of those methods? I would love to check what happens if I use the jit compiler on them.
One thing to take into account, the convolution benchmark I used is just for depicting the use of the jit compiler. It's not meant to be a real-world scenario. The library still remains a toy.
Thanks!