Problem when running 3D model on 2-channel  stack

Hello,
I have trained a 3D model on 2-channel images, but I have problems when I try to run it on a new dataset having similar shape zyxc, (50, 233, 257, 2).
Here is the code I am using:
import os
import sys
import numpy as np
from tqdm import tqdm
from glob import glob
from csbdeep.utils import Path, normalize
from stardist.models import StarDist3D
from tifffile import imread, imsave

Z = sorted(glob(pathname+"/*.tif"))
Z = list(map(imread,Z))

n_channel = 1 if Z[0].ndim == 3 else Z[0].shape[1]
axis_norm = (0,1,2)   # normalize channels independently
if n_channel >1:
      if Z[0].shape[:-1]!=n_channel:
        Z = [np.moveaxis(z, 1, -1) for z in Z]
        n_tiles = (n_tiles_Z, n_tiles_Y, n_tiles_X, n_channel)

model = StarDist3D(None, name=model_name, basedir=model_dir)

#Normalization
Z = [normalize(z, 1,99.8) for z in Z]

# run prediction
n_tiles_Z =  1
n_tiles_Y =  4
n_tiles_X =  4
n_tiles = (n_tiles_Z, n_tiles_Y, n_tiles_X)

for i in range(len(Z)):
    labels, polygons = model.predict_instances(Z[i], axes="ZYXC", n_tiles = n_tiles)

And here is where I get the error messages:

Traceback (most recent call last):
  File "C:\Users\Lucrezia\stardist\stardist_venv\lib\site-packages\stardist\models\base.py", line 674, in _axes_tile_overlap
    self._tile_overlap
AttributeError: 'StarDist3D' object has no attribute '_tile_overlap'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C_prediction_2C.py", line 136, in <module>
    labels, polygons = model.predict_instances(Z[i], axes="ZYXC", n_tiles = n_tiles)
  File "C:\Users\Lucrezia\stardist\stardist_venv\lib\site-packages\stardist\models\base.py", line 419, in predict_instances
    prob, dist = self.predict(img, axes=axes, normalizer=normalizer, n_tiles=n_tiles, show_tile_progress=show_tile_progress, **predict_kwargs)
  File "C:\Users\Lucrezia\stardist\stardist_venv\lib\site-packages\stardist\models\base.py", line 322, in predict
    axes_net_tile_overlaps = self._axes_tile_overlap(axes_net)
  File "C:\Users\Lucrezia\stardist\stardist_venv\lib\site-packages\stardist\models\base.py", line 676, in _axes_tile_overlap
    self._tile_overlap = self._compute_receptive_field()
  File "C:\Users\Lucrezia\stardist\stardist_venv\lib\site-packages\stardist\models\base.py", line 668, in _compute_receptive_field
    return [(m-np.min(i), np.max(i)-m) for (m,i) in zip(mid,ind)]
  File "C:\Users\Lucrezia\stardist\stardist_venv\lib\site-packages\stardist\models\base.py", line 668, in <listcomp>
    return [(m-np.min(i), np.max(i)-m) for (m,i) in zip(mid,ind)]
  File "<__array_function__ internals>", line 6, in amin
  File "C:\Users\Lucrezia\stardist\stardist_venv\lib\site-packages\numpy\core\fromnumeric.py", line 2793, in amin
    keepdims=keepdims, initial=initial, where=where)
  File "C:\Users\Lucrezia\stardist\stardist_venv\lib\site-packages\numpy\core\fromnumeric.py", line 90, in _wrapreduction
    return ufunc.reduce(obj, axis, dtype, out, **passkwargs)
ValueError: zero-size array to reduction operation minimum which has no identity

I am not sure what I am doing wrong... by chance do you have a clue of what I should modify/correct?
Thank you a lot!!
Lucrezia

Hi @lcferme ,
Might related to #121 . Could you try the following:

Close all running notebooks and restart the prediction notebook
print the shape of the input

print(Z[0].shape)

Increase the number of tiles to e.g. (2,8,8) and try predicting

n_channel = 1 if Z[0].ndim == 3 else Z[0].shape[1]
if n_channel >1:
      if Z[0].shape[:-1]!=n_channel:
        Z = [np.moveaxis(z, 1, -1) for z in Z]

Note that Z[0].shape[:-1]!=n_channel is always True, since Z[0].shape[:-1] is a tuple and n_channel is an integer.

For bigger files, what is the correct way to set up the tiles? Should I specify the number of channels , like n_tiles = (2, 8, 8, 2) for ZYXC or I only define ZYX?

n_tiles must have an entry for each of the axes, but channels cannot be tiled, i.e. the entry for channels must be 1. E.g.:
model.predict_instances(Z[i], axes="ZYXC", n_tiles=(2,8,8,1))

This works for me:
from stardist.models import StarDist3D, Config3D

config = Config3D(n_channel_in=2)
model = StarDist3D(config, 'my_model', basedir=None)

x = np.zeros((12,133,157,2), dtype=np.float32)
out = model.predict_instances(x, axes='ZYXC', n_tiles=(1,4,4,1))

@uschmidt83 thanks, I corrected the mistake with the tuple :)
But I still have problems running the prediction on bigger files, for instance for a file of shape  (193, 1699, 1938, 2) I get the same error.

Just tried it with this shape, and it works on my GPU (8GB RAM):
from stardist.models import StarDist3D, Config3D

config = Config3D(n_channel_in=2)
model = StarDist3D(config, 'my_model', basedir=None)

x = np.zeros((193, 1699, 1938, 2), dtype=np.float32)
out = model.predict_instances(x, axes='ZYXC', n_tiles=(2,16,16,1))


An operator to replicate data from DynamoDB to S3

This is a PoC Airflow operator that scans a DynamoDB table and upload data to S3.

@jghoman @yeameen
Here is the PoC that replicate data from a DynamoDB table to S3.

Codecov Report

Merging #143 into data-platform-upgrade will decrease coverage by 0.22%.
The diff coverage is n/a.

@@                   Coverage Diff                    @@
##           data-platform-upgrade    #143      +/-   ##
========================================================
- Coverage                  69.22%     69%   -0.23%
========================================================
  Files                        142     142
  Lines                      11318   11318
========================================================
- Hits                        7835    7810      -25
- Misses                      3483    3508      +25

Impacted Files
Coverage Δ

airflow/utils/state.py
86.66% <0%> (-13.34%)
:arrow_down:

airflow/executors/__init__.py
64.51% <0%> (-3.23%)
:arrow_down:

airflow/settings.py
91.13% <0%> (-2.54%)
:arrow_down:

airflow/www/app.py
94.11% <0%> (-2.36%)
:arrow_down:

airflow/utils/dag_processing.py
85.77% <0%> (-0.82%)
:arrow_down:

airflow/jobs.py
73.78% <0%> (-0.57%)
:arrow_down:

airflow/configuration.py
83.91% <0%> (-0.51%)
:arrow_down:

airflow/utils/helpers.py
43.06% <0%> (-0.5%)
:arrow_down:

airflow/www/views.py
68.11% <0%> (-0.35%)
:arrow_down:

airflow/models.py
86.23% <0%> (-0.05%)
:arrow_down:

Continue to review full report at Codecov.

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


Type error is thrown

Hi,
Command :  trusttrees.py --target example.com
The following error occurs.
Traceback (most recent call last):
  File "trusttrees.py", line 765, in <module>
    draw_graph_from_cache(target_hostname),
  File "trusttrees.py", line 530, in draw_graph_from_cache
    ns_result=ns_result,
  File "trusttrees.py", line 636, in get_graph_data_for_ns_result
    query_error['error'],
TypeError: cannot concatenate 'str' and 'tuple' objects

Whoops, I will look into  this immediately :D

Thanks a bunch for reporting this @oldesec 🤗  I fixed it in the above commit.
Let me know if you run into anything else 👍


Submenues for burger menu options

I see the Android UI is a bit different from that of Linux and Windows, namely, File List Playback Record Convert and Help all have their own submenu.
I guess all Record and Playback options are already visible as i don't see them in the drop-down menu …?
Otherwise, File ande List could have their own menu available like this:

About and Help menues would be available from the tapping the icon on the left, or by tapping the current burger menu if the icon isn't to your liking.

beta14 now has a separate List menu.  I don't think that it's really necessary to make a separate menu for File commands - for now it's better to minimize the number of toolbar buttons. What do you think?

I don't have a definitive answer to that. I guess we'll have to wait and see what most use cases are, and adapt to that.
On the other hand i don't see why we should minimize the number of buttons ? If it allows one to quickly find the tools they need, i'd say let's do it :) if not then let's not.
Le 30 décembre 2023 07:00:23 GMT+01:00, Simon Zolin @.***> a écrit :

beta14 now has a separate List menu.  I don't think that it's really necessary to make a separate menu for File commands - for now it's better to minimize the number of toolbar buttons. What do you think?
--
Reply to this email directly or view it on GitHub:
https://github.com/stsaz/phiola/issues/8#issuecomment-1872461628
You are receiving this because you authored the thread.
Message ID: @.***>

I'll add a separate menu for File commands and see how it looks.  Maybe there will be not enough space for low-res phone screens in the app title with 3 status flags (i.e. [PLA,STP,REC]) are set - this requires some testing.

Didn't know there could be 3 status flags at once.
These status could be communicated through other means though !

The record button could change color when recording, as well as a notification popping-up if the user changes the foreground app.
The play button could change color as well vhen a track is playing, same thing with the notification.
And that would also work with the stop button as well :)
Then the status flags wouldn't be needed anymore, and they wouldn' take tpace elsewhere. What do you think?

Le 11 janvier 2024 05:19:01 GMT+01:00, Simon Zolin @.***> a écrit :

I'll add a separate menu for File commands and see how it looks.  Maybe there will be not enough space for low-res phone screens in the app title with 3 status flags (i.e. [PLA,STP,REC]) are set - this requires some testing.
--
Reply to this email directly or view it on GitHub:
https://github.com/stsaz/phiola/issues/8#issuecomment-1886216342
You are receiving this because you authored the thread.
Message ID: @.***>

Added separate File menu.
Everything looks fine with 3 status flags and 3 toolbar buttons.

The record button could change color when recording

Yes, it's colored in red.

Then the status flags wouldn't be needed anymore

Status flags can be turned off in Settings anyway, so I hope there won't be any issues...

The record button could change color when recording

Yes, it's colored in red.
Oh my, i knew i was colourblind, but that colourblind haha. Didn't see it until you mentioned it !


Z-targeting: Expressions are not visible.

Character is not showing expressions.
https://user-images.githubusercontent.com/104460803/174453245-785a12e2-b17a-4345-9e97-cc1cec838440.mp4
https://user-images.githubusercontent.com/104460803/174453254-ac7ebd6b-cc19-4a1d-ab2c-28f2f13a0f73.mp4

This was working, might just need review
@msm0823 this is in master branch?
Might be fixed in z-targeting

Tried this in both master and z-targeting. Works fine.


Fix incorrect /security alias

https://kubernetes.io/security must route to the EN docs.

@dipesh-rawat
you can approve instead of arhell :) (now I LGTM too :) )

/assign @sftim
ref. https://kubernetes.slack.com/archives/C1J0BPD2M/p1715189916292929

Wow, on behalf of the Russian localisation team, I want to apologise for such an omission on our side! :cry: That happened in #43368. I found a similar issue with /cve, which should be fixed in #46293.

Wow, on behalf of the Russian localisation team, I want to apologise for such an omission on our side! 😢 That happened in #43368. I found a similar issue with /cve, which should be fixed in #46293.
P.S. I also grep'ed all other languages for aliases: and didn't find similar issues.

No worries, this type of stuff is easy to miss.
I don't know if it is possible, but perhaps we should have some kind of linter that validates that aliases don't overlap?

I don't know if it is possible, but perhaps we should have some kind of linter that validates that aliases don't overlap?

I just asked this question in Slack :sweat_smile: I'm not aware of anything in place ATM, but let's see what others say. Perhaps this issue may evolve into bringing some linting to the website changes.

Issues are welcome (and then we have a good place to discuss how to address the gap)

#46295


Display configuraion of finished jobs as a tree instead of raw JSON

This

should be a rendered as a collapsible tree (which only first level entries expanded by default).
At the same time values should be rendered in a meaningful way, i.e. entries with empty values should be omitted, and times should be converted to local time.

I suggest that instead of a collapsible tree we use a description list or something structured, as the object is always known. Maybe something along the lines of this example:

Can be closed with #917 merged.


Add Typesense health check

Its based on the MeiliSearch check.
Basically, we are checking the health url http://<IP_ADDRESS>:8108/health of Typesense and it should contain {"ok": true} if healthy, doesn't have any other type of responses.
Typesense docs: https://typesense.org/docs/guide/install-typesense.html#🆗-health-check

Which PHP package adds that TypesenseCheck?

Which PHP package adds that TypesenseCheck?

I added the 'TypesenseCheck' here in this repo you can see my three commits in the pull request.

Ah, I missed that 🙂
Because I don't want to maintain the code myself, I would prefer you put it in a separate package of your own.
Take a look at this check as an example: https://spatie.be/docs/laravel-health/v1/available-checks/ssl-certificate-expiration


Extend openzeppelin

Modified contract to extend the OpenZeppelin implementation of ERC721
This branch includes an upgradeable version of ERC721A (ERC721AUpgradeable). A separate pull request for an upgradeable version that does not extend the OpenZeppelin ERC721Upgradeable implementation is #4.
I believe that extending the OpenZeppelin implementations simplifies this contract, as not every feature needs to be re-written from scratch. I also needed the legacy _mint(address,uint256) because I need the ability to mint items with specific item IDs for use with Xenum-Technology/cross-chain-bridge-nfts.

Hey @MrMcGoats can you try to isolate your PR to the smaller changes? Can you remove the typescript changes and only include the upgradeable changes? It's super difficult to review large PRs and ensure that every change is vetted thoroughly

Do you mean just remove hardhat.config.ts ?

Yes and the tsconfig. We should also remove any added linters here - that should be in a separate PR that the community can decide up on

Ok, np.
I don't think I added any linters myself, but I agree that should be a separate PR

Oh, right. Hardhat config sets up linters. I'll remove them

You also added a new eslint settings file. You also linted several files which has resulted in a couple changes that I don't think you intended to be part of this PR

I just ran npm run lint:sol and that seems to have corrected the mistake. Lmk if you find anything else though, of course.
Also, not sure what eslint settings file you're referring to. I don't see one in the changed file list

Will take a look at this soon

Is this good enough to be used currently?

I use it in this project and it does everything I need.


copy_message_button: Use div HTML tag instead of button.

For some reason, browser is treating clicking on the button as submitting the form, which results in the page getting redirected to the same page with an additional empty query ? in the URL.
discussion: https://chat.zulip.org/#narrow/stream/49-development-help/topic/Copied!.20Tippy.20tooltip.20.2321036

@amanagr -- I pulled your branch/PR down and tested it manually.  I notice that the spacing of the Tippy tooltip in relation to the copy/clipboard button has changed.
Default (tooltip is closer to the copy/clipboard button):

PR (tooltip is further to the right and no longer centered over the copy/clipboard button):

@elizfunk thanks for noticing.

@amanagr LGTM!
I pulled the changes and tested manually.  Looks beautiful!  Thank you for all of the udpates!

I think we should probably be either doing type="button" (probably the best option) or a preventDefault here, rather than switching our button a different HTML element type that is less semantic and requires extra CSS to look right. Thoughts?
https://stackoverflow.com/questions/932653/how-to-prevent-buttons-from-submitting-forms

See here for more discussion but I think this approach works best.

OK, I think I agree there may not be a simpler answer given how ClipboardJS works. Merged, thanks @amanagr!

(And thanks @elizfunk for the review!)


CPU frequency is inconsistently collected and persisted

During new asset inductions, only CPU information for the first socket is persisted.  CPU information for sockets 2 - N is discarded.
As an example, given the following CPU information from LSHW, only CPU id 0 will be saved to the database. Note the differences between CPU speed:

Id
Cores
Threads
Speed
Description

0
8
16
1.560070
Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz Intel Corp.

1
8
16
1.480089
Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz Intel Corp.

As a result of this behavior, collins will drop information from the second socket:

Id
Cores
Threads
Speed
Description

0
8
16
1.560070
Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz Intel Corp.

1
8
16
1.560070
Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz Intel Corp.

This problem originally manifested itself while troubleshooting failing lshw XML tests: https://github.com/tumblr/collins/pull/537#discussion_r117804273. We noticed that our servers were reporting different CPU speeds on different sockets as a result of dynamic frequency scaling. This caused tests in LshwHelperSpec to consistently fail.
As pointed out during the discussion in #537, a more appropriate fix would probably involve disabling dynamic frequency scaling in genesis to avoid different CPU speeds on different sockets.
@byxorna @michaeljs1990

A linked issue against Genesis should be created, to add/update a task to disable speed stepping before lshw collection.
So, collins only stores the CPU speed for the first socket, and only in one dimension? (i.e. CPU_SPEED_GHZ[0]). I wonder if there would be benefit of using dimensionality of tags to represent these values.

A linked issue against Genesis should be created, to add/update a task to disable speed stepping before lshw collection.

Will do, I can probably get a PR submitted for this as well.

So, collins only stores the CPU speed for the first socket, and only in one dimension? (i.e. CPU_SPEED_GHZ[0]). I wonder if there would be benefit of using dimensionality of tags to represent these values.

Ugh, I think I have this flipped, it's CPU[N] (the last CPU) that will be stored, not CPU[0]. Sorry for the confusion. I just verified by modifying an lshw XML dump with different product/vendor/speed information and inserting the node into collins.
I don't really have a strong preference on this dimensionality either way. Ideally all CPUs should be identical, however this speed stepping tripped us up.


Null int[] values are not getting mapped

Even though the mapping doesn't include IgnoreNullValues(true), and the mapping in TypeAdapterConfig.GlobalSetting rules has IgnoreNullValues as NULL, when the source int[] property is NULL, it doesn't overwrite the destination property.

Hi this can reproduce, I will create the fixed shortly. Thank you for the bugs.

Just create the fix ver 3.3.1, pls retest.

It works now. Thanks!


[Task] Write OIDC(?) Vault guide

Some known limitations.
Will need to make sure to differentiate between Vault OSS and Vault HCP?

De-prioritizing to work on Pulumi IaC configuration steps for ESC in AWS, Azure, GCP.

Some docs on getting the vault provider working with esc would be great! I can't seem to get this working yet and am not sure what needs to be setup to get this to work?

@ejhayes has picked up this task and created a PR with content for OIDC/Vault. (thank you again! this is definitely needed)

Thanks @toriancrane. I’m not by a computer right now but it looks like the images in the published docs aren’t displaying. My image references might be wrong?

Hey @ejhayes,
There are a few tweaks that I am making in a patch. As soon as these changes get merged, your images should show properly.


Add more resources to framework in dApp development

Add a few more frameworks with resources to learn.

@surajondev I'd like to work on this issue

Go on.

I am participating in Hacktoberfest 2023, Can I get this issue assigned?


enhance github ISSUE_TEMPLATE files

What is the change?

Update bug_report and feature_request files to yml to enable Github's form based issue template

https://youtu.be/qQE1BUkf2-s?t=23

update config.yml file to help direct users to the helpful pages

Motivation

encourage's bug reporter's to put more care into their bug report before submission
this may help maintainer's receive more detailed & higher quality bug report's
adds helpful tips for user's during the process of creating a bug/issue report

Demo of Change

this PR is similar to this one I created for solid-js repo: https://github.com/solidjs/solid/blob/main/.github/ISSUE_TEMPLATE/bug_report.yml

Thanks for publishing this project, I'm learning about the react-reconciler currently and its great to see it used in different places
Probably this PR isn't the best for a long form discussion, but I was curious about the history of this project and what problem its solving at Intuit😄

What's the history of this project and what problem its solving at Intuit (or elsewhere)?
Is this used across react on web & mobile hence usage the usage of react-reconciler?

In our use-cases we leverage it as a way of authoring JSON content used in a server-driven navigation framework, that we're working on open-sourcing.

Lastly do you have any favorite resources that are relatively modern on getting started with react-reconciler for someone new to it? There aren't too many resources on this topic it seems

Yeah unfortunately there weren't many good ones that I found. I ended up just looking through the source-code, and the host config examples (like  ReactART)


Nvidia Rect Flicker Hack hard drops FPS by large preset increments instead of gradually as normal

Godot version:
Godot 3.2.3 RC2
OS/device including version:
Linux Mint 19.2, Nvidia Geforce GTX 750 Ti, GLES3
Issue description:
When enough lag is produced while using the Nvidia Rect Flicker Hack and it drops anywhere below 60 FPS, but above 30 FPS then it will drop it to a stable 30 FPS. Anywhere below 30 it will drop to 20, and so on. It would seem it is hitting some preset numbers when it should be flexible as normal allowing for any frame rate to occur.
Steps to reproduce:
Run the included sample project. In it you will notice that I've turned on Nvidia Rect Flicker Hack in the project options under Rendering > Quality > 2D .
When the program is loaded it will continually spawn sprites/lights (depending what you set) until it dips just below 60 FPS. However you will notice that as soon as it does stop spawning them, it will drop down to a stable 30 FPS and stay locked there until nodes are freed or are no longer on-screen. You can see this in the sample by moving the camera with WSAD or the arrow keys.
Minimal reproduction project:
Nvidia Rect Flicker Hack dropping preset divisions of frames demonstration.zip

GeForce GTX 1660 SUPER/PCIe/SSE2
My results:

This might be related to:  https://github.com/godotengine/godot/issues/35038

Our settings should be the same as you're using the project as-is, so #35038 is not related. Not to mention it's not applicable according to those settings considering:

The bug does not occur if you have V-sync off. Are you turning V-sync off in the project settings or have it forced off from your graphic driver configuration utility? Please give your OS details as well.

V-Sync will always introduce this kind of stuttering, unless you use a variable refresh rate monitor (and the game is configured to make use of it).

Calinou, it is not stuttering. As I say in the post it goes into a stable 30 FPS when it should be somewhere between 50-60FPS.
This bug is not present in 3.2.1 where it fluctuates between 50-60 FPS as predicted:

This is a regression. If there was no adaptive V-sync before, then it's not the solution now.

This is expected behavior:

When frame rates dip below the cap VSync locks the frame rate to the nearest level, such as 45 or 30 frames per second.
(Source: https://www.nvidia.com/en-us/geforce/technologies/adaptive-vsync/technology/)

Thank you for the information, hoontee. I did not know this detail about V-sync, but this only confuses me further.
Why does it then not happen in 3.2.1 stable for me despite the settings being the same (V-sync enabled & Nvidia Rect Flicker Workaround enabled)? Dare I bisect to find it? I warn you I only just learned! Seems it might give us the answer to that however.

You must have had a slight reduction in performance that set it over the threshold. You should try to find out what might have caused it, whether it be a change made to the engine or something running in the background on your PC.

CC @GlaceGwyneth

CC @lawnjelly

This bug is not present in 3.2.1 where it behaves predictably:

3.2.1 didn't have nvidia workaround for GLES3, it was only GLES2 at that point. The GLES3 version is direct porting of the GLES2 code across.
Agree with Calinou, I don't think there is a bug (in the workaround). The workaround is simply very slow on GLES3, about 1/3 of normal speed. It looks like something is causing you to be vsynced.
With vsync, with occasional slow frames (which is what you might see with other performance limitations) you might get number occurring between 60 and 30. With constant slow frames (which may occur with workaround) you will get more or less instant drops from 60 to 30, to 20, to 15 etc as divisors of the refresh rate, which is what you are seeing.

The bug does not occur if you have V-sync off. Are you turning V-sync off in the project settings or have it forced off from your graphic driver configuration utility? Please give your OS details as well.

I ran it as is.

Will close this now as it seems solved, if there's some evidence of a bug, we can reopen.

Sorry I was away for a few days, had to clean out the computer of dust & rearranged the desk :sweat_smile:
I did some more testing just to confirm and lawnjelly is correct.
I did not understand how V-sync would cut the framerate by these margins. I guess in all my years I never made such an observation though I use V-sync it all the time. :flushed:
I forgot that the NVidia Rect Flicker Workaround did not apply to GLES3 in version 3.2.1 as well, which was added as a feature in 3.2.2 .
This is not a bug & it's an error of understanding on my part. I'm a bit confused on why V-sync alone doesn't cause this issue in older versions where it will still have a dynamic frame rate when it's on. I can only guess that V-sync was fixed since then and didn't work properly in 3.2.1 and before :shrug:


Intensities from Lidar PointCloud2 topic into the generated PCD

✸ Add intensity field from the Lidar topic into the generated PCD file.
If you have topic messages with intensities from the lidar measurements, it will be added when you generate a .pcd file.
For some reason, this functionality was implemented only when generating a .ply file.

Hi, thanks for the pull request. You need to sign-off your commit with Git, otherwise we can't merge.
It takes 1 minute. The DCO check shows you what you need to do: https://github.com/cartographer-project/cartographer/pull/1762/checks?check_run_id=1253819084

@ikhann friendly ping


CAPI worker node role labeling

At the moment it looks like the only viable solution is to create an application deployed as a daemon set that would do the labeling.
Background

What is upstream doing about this issue? Are there any upstream issues discussing this problem?
The node in Kubernetes is not allowed to relabel its own role label (e.g. kubernetes.io/role) because of security concerns;
In KaaS sync we agreed to move forward with the daemon set idea until there is a better solution in the upstream.

Semi-related upstream issue - https://github.com/kubernetes-sigs/cluster-api/issues/493

done


[Data Structure] Priority Queue [Python]

To implement the priority queue in python

@jenistenxavier, Please assign the issue to me. Thanks.

created pull request #486


feature request. around the date to show the face with the desired color

i need it

its fine i can make it so that you can select one of the faces and select the desired color at the same time :smile:

Hey there, yes i am aware and updates are pending. You should realize that it might take time untill i make the changes and release for fdroid.

Why? Didn't you ask to be able to add a face with custom color for any day?

To add the face with desired color edit the day. On edit page the first option is to add a face with a color

feel free to close the issue if everything is fine

ok in the next update i will add a feature to select between custom face or the average of the rates on the day. if you select to have the average then it shows the average ones.


Adding (optional) automated saving of plots and removing .DS_Store files of Mac

@universmile please fix the .gitignore and make sure that Manifest.toml is not pushed.


rkt: remove unused images directory

It looks like it is not used anymore.

Good catch! Thanks, lgtm.


threadUpdate: Combine thread and oldThread types

Fixes #20

The typings are as is for a reason

@DonovanDMC What's the reason? TypeScript doesn't enforce all function variables to be used

Having everything typed separately allows narrowing one to narrow the other

That makes sense. Thanks!


How to use it to change ProductName/legalcopyright, etc.

Hello, how can I use reshacker to change resources in versioninfo?
I tried
./node_modules/resourcehacker/lib/ResHacker -modify "test.exe", "test.exe", "Test Name", "VERSIONINFO", "ProductName"

And several other iterations of that but I couldn't get it working

node-resourcehacker is a simple wrapper around resourcehacker.
I don't know how to do that.
You may find more information in the ./node_modules/resourcehacker/bin/Help/help.html file shipped with resourcehacker.
You can also use the gui (just launch the exe) to find the correct path / Variable to change


Name of error macro for cross-platform strerror

Improve test_errno script to enable reverse lookup

Done, via c29d9fcf68df656cac71c10621707cbd45868aed - and further improved/fixed with the following commits.


chore(main): release audit 1.20.2

:robot: I have created a release beep boop
1.20.2 (2023-02-14)
Bug Fixes

infinte recursion when getting dep paths (e5d2c70)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/sandworm-hq/sandworm-audit/releases/tag/audit-v1.20.2 :sunflower:


Are configurations in .sublime-workspace supported?

Between a configuration set in a sublime-project file that gets overwritten by cmake and global settings that is visible everywhere, I suppose workspace files is a good compromise.

Why is your sublime-project file being overridden that seems weird. There is no api to work with sublime-workspace files and I don't think they are supposed to be hand edited.

cmake's sublime text generator works this way.


Showing defaults globally

Added show_default parameter to Context, enabling all defaults to be displayed globally. Implementing feature request #1018

It looks like you don't have Git configured correctly.  Then amend the commit to set the author.

It looks like you don't have Git configured correctly.  Then amend the commit to set the author.

Thanks! Fixed it now.

Due to the spurious merge commit, I'm going to squash merge this. Hope that's alright.
Also, retargeting to the 7.x branch.


Refactor StorageFillComponent into a more generic ContainerFillComponent

imo storagefill should be refactored into

a generic containerfill that takes containerid, as well as prototypes to fill
a inherited (yes its not nice, but it means less work for yaml monkeys) storagefill that just has the containerid hardcoded to "storagebase" (the storagecontainer id)

Fixed by #11772


Add /rest to url in create_featurestore function

I believe that it's necessary to add '/rest' to the url variable in create_featurestore function to work properly.

#56.

#56.


Document competency question tests

Based on the implemented CQ-based tests (#27), implement a documentation generation mechanism in the CI to put the tests on the website in a simple, readable manner. For this, create a new task in the CI worker with some custom Python code to handle this.

Not quite right. Needs minor fixes in CI.

Now all is good.


Contract Requestor validates contract content against contract provider

Bug Report
Describe the Bug
The contract requestor makes a policy validation of the contract content against the contract provider. If the contract provider does not pass it's own policies it is not possible to successfully negotiate a contract with it.
For example this makes it impossible to create policies that limit the number of connectors using a policy, if it would not pass it's own policy.
Possible Workarounds:

add these kinds of policy only to the AccessPolicy in the ContractDefinition, but not the the ContractDefinition
~create contract policies in a way, that a contract providing connector is able to pass it's own policy, too.~ not possible anymore, see #2026

Expected Behavior

there is no policy check from the contract consumer against the contract provider

Observed Behavior

contract consumer checks whether contract provider passes it's own policies

Steps to Reproduce
Steps to reproduce the behavior:
Create the following policy:

curl -X POST "$CONTRACT_PROVIDER/data/policydefinitions" \
    --header 'X-Api-Key: password' \
    --header 'Content-Type: application/json' \
    --data '{
               "id": "1",
                "policy": {
                    \"uid\": \"1\",
                    \"prohibitions\": [],
                    \"obligations\": [],
                    \"permissions\": [
                        {
                            \"edctype\": \"dataspaceconnector:permission\",
                            \"action\": { \"type\": \"USE\" },
                            \"target\": \"1\",
                            \"constraints\": [
                                {
                                    \"edctype\": \"AtomicConstraint\",
                                    \"leftExpression\": {
                                    \"edctype\": \"dataspaceconnector:literalexpression\",
                                    \"value\": \"OnlyForConnectorWithId\"
                                    },
                                    \"rightExpression\": {
                                    \"edctype\": \"dataspaceconnector:literalexpression\",
                                    \"value\": \"FooConnectorId\"
                                    },
                                    \"operator\": \"EQ\"
                                }
                            ]
                        }
                    ]
                }
            }' \
    -s -o /dev/null -w 'Response Code: %{http_code}\n'

Initiate the contract negotiation
curl -X POST "$CONTRACT_CONSUMER/data/contractnegotiations" \
        --header "X-Api-Key: password" \
        --header "Content-Type: application/json" \
        --data "{ \
                    \"connectorId\": \"foo\",
                    \"connectorAddress\": \"$CONTRACT_PRIVIDER/api/v1/ids/data\",
                    \"offer\": {
                        \"offerId\": \"1:foo\",
                        \"assetId\": \"1\",
                        \"policy\": {
                            \"uid\": \"1\",
                            \"prohibitions\": [],
                            \"obligations\": [],
                            \"permissions\": [
                                {
                                    \"edctype\": \"dataspaceconnector:permission\",
                                    \"action\": { \"type\": \"USE\" },
                                    \"target\": \"1\",
                                    \"constraints\": [
                                         {
                                          \"edctype\": \"AtomicConstraint\",
                                          \"leftExpression\": {
                                          \"edctype\": \"dataspaceconnector:literalexpression\",
                                          \"value\": \"OnlyForConnectorWithId\"
                                          },
                                          \"rightExpression\": {
                                          \"edctype\": \"dataspaceconnector:literalexpression\",
                                          \"value\": \"FooConnectorId\"
                                          },
                                          \"operator\": \"EQ\"
                                      }
                                    ]
                                }
                            ]
                        }
                    }
                }" \
    -s | jq

Context Information
Used commit ‹658c5e31a›, but bug should also exist on the main branch.
Detailed Description
From ConsumerContractNegotiationManagerImpl.java:
/**
     * Tells this manager that a previously sent contract offer has been confirmed by the provider. Validates the
     * contract agreement sent by the provider against the last contract offer and transitions the corresponding
     * {@link ContractNegotiation} to state CONFIRMED or DECLINING.
     *
     * @param token         Claim token of the consumer that send the contract request.
     * @param negotiationId Id of the ContractNegotiation.
     * @param agreement     Agreement sent by provider.
     * @param policy        the policy
     * @return a {@link StatusResult}: FATAL_ERROR, if no match found for Id or no last offer found for negotiation; OK otherwise
     */
    @WithSpan
    @Override
    public StatusResult<ContractNegotiation> confirmed(ClaimToken token, String negotiationId, ContractAgreement agreement, Policy policy) {

        // skipped code

        var result = validationService.validate(token, agreement, latestOffer);

        // more skipped code

        return StatusResult.success(negotiation);
    }

From ContractValidationServiceImpl.java
@Override
    public boolean validate(ClaimToken token, ContractAgreement agreement, ContractOffer latestOffer) {
        // TODO implement validation against latest offer within the negotiation
        var contractIdTokens = parseContractId(agreement.getId());
        if (contractIdTokens.length != 2) {
            return false; // not a valid id
        }

        var agent = agentService.createFor(token);
        return policyEngine.evaluate(NEGOTIATION_SCOPE, agreement.getPolicy(), agent).succeeded();
    }

Possible Implementation

Dominik Pinsel<EMAIL_ADDRESS>Mercedes-Benz Tech Innovation GmbH, legal info/Impressum

I think the consumer validation shouldn't be removed, as the provider could have changed it, and should result in a counter-offer.
Could be a solution to use the "IN" operator and add both the provider and the consumer ids in the right value?

I think the consumer validation shouldn't be removed, as the provider could have changed it, and should result in a counter-offer.
Could be a solution to use the "IN" operator and add both the provider and the consumer ids in the right value?

Hm.. I think the problem is that the contract is intended for the consumer. So the idea is that the consumer is able to fulfill the conditions of the contract.
I would assume that it is not required, that the provider fulfills the same conditions, too.

So the proposal would be to remove the validation on the consumer side since the policy was defined by the provider and it needs to be verified only by the provider against the consumer and not other way around.
I guess the equality validation has to kept in place added as the consumer needs to verify that no changes have been applied by the provider on the policy (otherwise it would be like a counter-offer.
Does this make sense?

So the proposal would be to remove the validation on the consumer side since the policy was defined by the provider and it needs to be verified only by the provider against the consumer and not other way around.
I guess the equality validation has to kept in place added as the consumer needs to verify that no changes have been applied by the provider on the policy (otherwise it would be like a counter-offer.
Does this make any sense?

Yes :) This does make sense.
Dominik Pinsel<EMAIL_ADDRESS>Mercedes-Benz Tech Innovation GmbH, legal info/Impressum


Exposing module within the built file.

I'm trying to load a browserify built file into an app using requirejs, even using the --standalone option requirejs breaks and gives an unhelpful error message. I've noticed that built file returns a require function e.g.
var require = (/* browserify bundle here */);
require("12"); // returns the module with index 12 as given by module-deps output

I'm currently using a brittle script to work out the index of the module I'd like to expose and feel like the transform should be done in the pipeline rather than after browserify writes to the file system.
Would it be possible to have some kind of expose flag that took certain modules, and used a given string rather than their index as the ID?
Maybe something like browserify -e main.js -o bundle.js --expose ./app.js:app
var require = (/* browserify bundle here */);
require("app"); // returns the "./app.js" module (relative to where browserify was run)

I'm happy to do the work and PR it but wondering if it's something you'd consider accepting. If not, is the browserify specific code anywhere so I can pipe through module-deps -> browser-pack -> browserify and intercept in the middle?

I'm not sure about how requirejs might change things, but you can use -r FILE:TARGET to expose a name externally instead of referencing by ID:
echo "console.log('hello')" > app.js; cat <(browserify -r ./app.js:app) <(echo "require('app')") | node
hello

Ah I can't believe I missed that, this is perfect, thank you.


split up hub backup pod

Signed-off-by: Cameron Wall<EMAIL_ADDRESS>https://github.com/stolostron/backlog/issues/26284

/hold

/retest

/lgtm

/unhold


After submitting or editing a request, redirect to that request's page

Rather than simply display a note saying the request was created, for most use cases it would probably be better to redirect back to that request's page. This implements that.

LGTM, thanks @Calvinp


Neogit leaves blank buffer if cwd not a git repo

Is your feature request related to a problem? Please describe.
Whenever I accidentally open Neogit in a non git repository, it leaves a blank buffer. Small thing, but easy to resolve (will submit PR).
Describe the solution you'd like
Before opening a buffer, Neogit should check whether the current working directory is a git repository.

While I agree that a blank buffer is not desirable, It would be nice for neogit to be able to initialize a repository if one doesn't exist (or clone, similar to https://magit.vc/manual/2.90.0/magit/Repository-Setup.html).


Implement coinbase puzzle

Motivation
WIP Implementation of the new coinbase puzzle.
Test Plan

(Write your test plan here)
Related PRs

(Link your related PRs here)

This is good to go; the clippy is unrelated to the contents of this PR. I will shortly make a follow up PR that optimizes proving by using the Lagrange basis SRS.

Closing in favor of #1100


BCEditor1.FindPrevious() should be called twice to search the previous text

First, thank you very much for your TBEditor, which is best one I think:-).
I ever tried SyntexEdit, SynEdit, but your TBCEditor is really cool,
For example FindText:

Hello aaaa
Hello bbbb
Hello cccc
When BCEditor1.Search.SearchText := 'Hello', it search the 1st line, and BCEditor1.FindNext()  search 2nd lines,
the problem is when i wanna search back to 1st line, i called BCEditor1.FindPrevious() once,
it still stays at the 2nd line, and the i call the BCEditor1.FindPrevious() again, it searches back to 1st line,
I mean I should call BCEditor1.FindPrevious() twice to search back to previous text.

Indeed, I need to refactor this.

Ah, only minor bug. Fixed.

Thank you for your code, you are so so so fast
在 2015-12-18 23:55:14，"Lasse Rautiainen"<EMAIL_ADDRESS>写道：
Closed #266.
—
Reply to this email directly or view it on GitHub.


Serialise/deserialise Options

We need to add serialization and de-serialization for Options. This will let us move away from ConfigArgParser and give us a better configuration format.
Here's one comparison of the options out there:
https://gist.github.com/njsmith/78f68204c5d969f8c8bc645ef77d4a8f
There's some additional interesting context here:
https://github.com/avakar/pytoml/issues/15
At this point, I think it's a tossup between yaml and toml. I'm slightly leaning towards toml.

Vote for TOML, it is similar to JSON, which is intuitive to most developers. And it is a lot lightweighter than YAML.
... the complete parser is 300 lines of code (plus another 100 lines for the TOML writing support). (Compare to PyYAML, which is >4200 lines of code.)

One feature that would be nice to have is the ability to re-write an existing config without losing comments, changing structure, etc. This would let us, for instance, save out options changes from mitmproxy console without annoying users. Rust's toml library has this "format preserving" feature:
https://github.com/joelself/tomllib

Here's a Python toml library that retains formatting:
https://github.com/jumpscale7/python-consistent-toml
Development momentum is zero, though, so we might have to be willing to maintain it if we use it.

Here's a format and comment preserving parser for YAML, which seems to be well-maintained and active:
https://bitbucket.org/ruamel/yaml

I've now had a look around, and while I prefer toml as a format, I think we should go with Yaml because of the libraries available - in particular, I think we should go with the ruamel.yaml library. There's nothing comparable for toml - in fact, it seems all the Python toml libraries have issues of various sorts.

Done


A fix and a couple of new features

fix for references. json-schema-ref-parser doesn't use $ref field for references.
path can be an url and the swagger schema will be fetched
if GQLProxyBaseUrl is not provided, take the baseUrl from swagger schema
allow multiple swagger schema and join them using namespaces

ping...

@mihaislobozeanu possible to resolve merge conflict ?

@mihaislobozeanu do you have any plan to merge it soon? Also it would be helpful if you update the docs or write tests about multiple swagger schema.

I'm closing it, because it still contains conflicts and some of the features already done by other PRs. Also please, suggest small changes except of big ones, it's much easy to manage and accord to issues. Thanks!


memory leak while adding adding/deleting a port mapping at libupnp1.6.19

I am working a router gateway project using with IGD/libupnp, thanks for your libupnp.
Brief info: Arm CPU, Linux 3.14.77, libupnp1.6.19.
When I used upnpc to verify function by adding  a port mapping and deleting this port mapping again, then observed a memory leak by Valgrind.
The memory leak point out the malloc function @ ixmlDocument_createDocumentEx (document.c:186), I did not know why there is  a memory leak, can you help point out the root cause ?  Thanks .
[2020-08-13 15:34:12] ==7622== Invalid read of size 4
[2020-08-13 15:34:12] ==7622==    at 0x4A00B20: ??? (in /lib/libuClibc-1.0.14.so)
[2020-08-13 15:34:12] ==7622==  Address 0xbdc91bfc is on thread 1's stack
[2020-08-13 15:34:12] ==7622==  20 bytes below stack pointer
[2020-08-13 15:34:12] ==7622==
[2020-08-13 15:34:12] ==7622== Invalid read of size 4
[2020-08-13 15:34:12] ==7622==    at 0x4000F98: ??? (in /lib/ld-uClibc-1.0.14.so)
[2020-08-13 15:34:12] ==7622==  Address 0xbdc91bec is on thread 1's stack
[2020-08-13 15:34:12] ==7622==  20 bytes below stack pointer
[2020-08-13 15:34:12] ==7622==
[2020-08-13 15:34:13] /usr/sbin/IGD: can't resolve symbol '__libc_freeres'
[2020-08-13 15:34:13] ==7622==
[2020-08-13 15:34:13] ==7622== HEAP SUMMARY:
[2020-08-13 15:34:13] ==7622==     in use at exit: 2,628 bytes in 70 blocks
[2020-08-13 15:34:13] ==7622==   total heap usage: 17,802 allocs, 17,732 frees, 8,561,591 bytes allocated
[2020-08-13 15:34:13] ==7622==
[2020-08-13 15:34:14] ==7622== 770 (52 direct, 718 indirect) bytes in 1 blocks are definitely lost in loss record 18 of 20
[2020-08-13 15:34:14] ==7622==    at 0x482C408: malloc (vg_replace_malloc.c:299)
[2020-08-13 15:34:14] ==7622==    by 0x488E0C7: ixmlDocument_createDocumentEx (document.c:186)
[2020-08-13 15:34:14] ==7622==    by 0x489080B: Parser_parseDocument (ixmlparser.c:2360)
[2020-08-13 15:34:14] ==7622==    by 0x489080B: Parser_LoadDocument (ixmlparser.c:2612)
[2020-08-13 15:34:14] ==7622==    by 0x4876B43: UpnpAddToPropertySet (upnptools.c:478)
[2020-08-13 15:34:14] ==7622==    by 0x11FCB: s_PortMappingNumberChangedNotify (igd_action_port_mapping.c:1519)
[2020-08-13 15:34:14] ==7622==    by 0x12FAF: IGD_add_PortMapping (igd_action_port_mapping.c:717)
[2020-08-13 15:34:14] ==7622==    by 0x48496EB: _handle_action_request (pal_upnp_device.c:359)
[2020-08-13 15:34:14] ==7622==    by 0x48496EB: upnp_event_handler (pal_upnp_device.c:411)
[2020-08-13 15:34:14] ==7622==    by 0x4865F9B: handle_invoke_action (soap_device.c:822)
[2020-08-13 15:34:14] ==7622==    by 0x48663E3: soap_device_callback (soap_device.c:898)
[2020-08-13 15:34:14] ==7622==    by 0x486721F: dispatch_request (miniserver.c:157)
[2020-08-13 15:34:14] ==7622==    by 0x486721F: handle_request (miniserver.c:230)
[2020-08-13 15:34:14] ==7622==    by 0x4A1D403: WorkerThread (ThreadPool.c:576)
[2020-08-13 15:34:14] ==7622==    by 0x48AF317: ??? (in /lib/libpthread-1.0.14.so)
[2020-08-13 15:34:14] ==7622==
[2020-08-13 15:34:14] ==7622== 770 (52 direct, 718 indirect) bytes in 1 blocks are definitely lost in loss record 19 of 20
[2020-08-13 15:34:14] ==7622==    at 0x482C408: malloc (vg_replace_malloc.c:299)
[2020-08-13 15:34:14] ==7622==    by 0x488E0C7: ixmlDocument_createDocumentEx (document.c:186)
[2020-08-13 15:34:14] ==7622==    by 0x489080B: Parser_parseDocument (ixmlparser.c:2360)
[2020-08-13 15:34:14] ==7622==    by 0x489080B: Parser_LoadDocument (ixmlparser.c:2612)
[2020-08-13 15:34:14] ==7622==    by 0x4876B43: UpnpAddToPropertySet (upnptools.c:478)
[2020-08-13 15:34:14] ==7622==    by 0x11FCB: s_PortMappingNumberChangedNotify (igd_action_port_mapping.c:1519)
[2020-08-13 15:34:14] ==7622==    by 0x13B6B: IGD_delete_PortMapping (igd_action_port_mapping.c:1101)
[2020-08-13 15:34:14] ==7622==    by 0x48496EB: _handle_action_request (pal_upnp_device.c:359)
[2020-08-13 15:34:14] ==7622==    by 0x48496EB: upnp_event_handler (pal_upnp_device.c:411)
[2020-08-13 15:34:14] ==7622==    by 0x4865F9B: handle_invoke_action (soap_device.c:822)
[2020-08-13 15:34:14] ==7622==    by 0x48663E3: soap_device_callback (soap_device.c:898)
[2020-08-13 15:34:14] ==7622==    by 0x486721F: dispatch_request (miniserver.c:157)
[2020-08-13 15:34:14] ==7622==    by 0x486721F: handle_request (miniserver.c:230)
[2020-08-13 15:34:14] ==7622==    by 0x4A1D403: WorkerThread (ThreadPool.c:576)
[2020-08-13 15:34:14] ==7622==    by 0x48AF317: ??? (in /lib/libpthread-1.0.14.so)
[2020-08-13 15:34:14] ==7622==
[2020-08-13 15:34:14] ==7622== 1,088 bytes in 8 blocks are possibly lost in loss record 20 of 20
[2020-08-13 15:34:14] ==7622==    at 0x482EA98: calloc (vg_replace_malloc.c:711)
[2020-08-13 15:34:14] ==7622==    by 0x400252F: ??? (in /lib/ld-uClibc-1.0.14.so)
[2020-08-13 15:34:14] ==7622==
[2020-08-13 15:34:14] ==7622== LEAK SUMMARY:
[2020-08-13 15:34:14] ==7622==    definitely lost: 104 bytes in 2 blocks
[2020-08-13 15:34:14] ==7622==    indirectly lost: 1,436 bytes in 60 blocks
[2020-08-13 15:34:14] ==7622==      possibly lost: 1,088 bytes in 8 blocks
[2020-08-13 15:34:14] ==7622==    still reachable: 0 bytes in 0 blocks
[2020-08-13 15:34:14] ==7622==         suppressed: 0 bytes in 0 blocks
[2020-08-13 15:34:14] ==7622==
[2020-08-13 15:34:14] ==7622== For counts of detected and suppressed errors, rerun with: -v
[2020-08-13 15:34:14] ==7622== ERROR SUMMARY: 243 errors from 7 contexts (suppressed: 0 from 0)

Hi lirengen10,
The function ixmlDocument_createDocumentEx() calls malloc() to allocate an ixmlDocument struct on behalf of the caller, which is responsible for freeing it after using by calling ixmlDocument_free(). So it is implicit that the one that requested the doc should free it.
 UpnpAddToPropertySet() does not call Parser_LoadDocument(), so I really don't know how the code ended there.
The idg seems to be trying to add/remove a port mapping. It should do something like this in order to not to leak:
UpnpAddToPropertySet(&propSet, "PortMappingNumberOfEntries", num);
UpnpNotifyExt(deviceHandle, ca_event->DevUDN, ca_event->ServiceID, propSet);
ixmlDocument_free(propSet);

Regards,
Marcelo.

Hi Marcelo,
Thanks for your quickly feedback.
In the libupnp-1.6.19, the call stack looks like: UpnpAddToPropertySet -->ixmlParseBufferEx(if (*PropSet == NULL))--> ixmlParseBufferEx.
Meanwhile , it seems I missed ixmlDocumt_free(propset) after calling UpnpNotifyExt, i will try to add this line and test again.
Thanks,
Rengen

Hi Marcelo,
Seems this issue was fixed, thanks.


Question about RealSense backend / software stack

I am trying to understand how RealSense cameras work on Linux, focusing only on pieces of software that are involved during RGB-D data streaming. If I understand correctly, the RealSense API controls the cameras through Video4Linux2 API by default (V4L backend).

Is there any other documentation on software architecture/implementation details, besides API_arch (maybe linux specific)?
If I understand correctly, the RealSense controls video streaming trough userspace library libuvc when RSUSB_BACKEND is selected. Is the V4L still involved in any way when using this backend?
With a 1000 mile overview, what is the RealSense API doing under the hood when running a minimal RGB-D frame grabbing example using the pipeline interface?
Is my idea of software stacks involved correct (ignoring device enumeration, control, metadata, only focused on video streaming functionality)?

V4L BACKEND:
        +---------------+
        | RealSense API |
        +---------------+
        |   V4L2 API    |       user space
+----------------------------------------------+
        |     V4L       |       kernel space
        +---------------+
        |    uvcvideo   |
        +---------------+
        |    usbcore    |
+-------+---------------+----------------------+
             USB HC             hardware

RSUSB (libuvc) BACKEND:
        +---------------+
        | RealSense API |
        +---------------+
        |    libuvc     |
        +---------------+
        |    libusb     |       user space
+-------+---------------+----------------------+
                                kernel space

        +---------------+
        |    usbcore    |
+-------+---------------+----------------------+
             USB HC             hardware

Thanks for your great work and support!

Hi @jurc192

Is there any other documentation on software architecture/implementation details, besides API_arch (maybe linux specific)?

Not a lot, these are ultimately implementation details. That said, we are happy to share any information about the implementation.

If I understand correctly, the RealSense controls video streaming trough userspace library libuvc when RSUSB_BACKEND is selected. Is the V4L still involved in any way when using this backend?

One of the first things RSUSB_BACKEND does is detaching the native driver. From there, V4L2 is no longer involved in any way.
RSUSB is based on the original libuvc from 3 years ago (github.com/ktossell/libuvc) as we state in the attribution list, but it's by now a complete C++ re-write of the library, including HID protocol for IMU devices, so it has little in common with current libuvc master.

With a 1000 mile overview, what is the RealSense API doing under the hood when running a minimal RGB-D frame grabbing example using the pipeline interface?

When you are doing:
pipeline p;
p.start();
p.wait_for_frames();

It more or less corresponds to the following pseudocode -
context ctx;
dev = ctx.query_devices().first()
depth_sensor = dev.query_sensors().where(profile.stream() == RS2_STREAM_DEPTH);
color_sensor = dev.query_sensors().where(profile.stream() == RS2_STREAM_COLOR);
syncer s;
frame_queue q;
std::map<rs2_stream, frame> last;
s.start([](frameset fs){
   for (auto f : fs) last[f.profile().stream()]=f;
   auto new_fs = last.values(); // pull .second from every item, put them in a frameset
   q.enqueue(new_fs);
});
depth_sensor.open(...)
color_sensor.open(...)
depth_sensor.start(s);
color_sensor.start(s);

fs = q.wait_for_frame().as<frameset>()

So, frame is dequed from V4L2 inside dedicated internal processing thread. On that thread, frame goes through some internal processing to reach right requested format, goes into a syncer, if match is found, on the same thread it is converted into a matched frameset, next its extended into a full frameset with older frames in case match is partial, finally frameset is pushed to a queue and pulled from the application thread (or invoked directly into pipeline callback if you start pipeline with a callback)

Is my idea of software stacks involved correct (ignoring device enumeration, control, metadata, only focused on video streaming functionality)?

Yes

Thanks for your time and explanation, it helps me a lot!


Feature/3643 improve rule name

Renaming rule name to better match its purpose. Changes done according to https://github.com/detekt/detekt/discussions/6035#discussioncomment-5702473
MayBeConst -> MayBeConstant

Can you please update this (and other PRs) name to better reflect the content, like "Rename rule MayBeConst to MayBeConstant"? It makes easier to spot them in the CHANGELOG 👍


macOS binary having wrong PATH?

➜  facebook-delete git:(master) ✗ ./deleter-macos
panic: runtime error: index out of range [1] with length 1

goroutine 1 [running]:
main.(*fbLogin).StoreProfileID(0xc000126480, {0xc0003fc000, 0x135ac46})
	/Users/marcel/pr/facebook-delete/deleter.go:178 +0xbe
main.(*fbLogin).IsLoggedIn(0xc000126480)
	/Users/marcel/pr/facebook-delete/deleter.go:172 +0x75
main.newFbLogin(0xc00010b140)
	/Users/marcel/pr/facebook-delete/deleter.go:113 +0x53
main.main()
	/Users/marcel/pr/facebook-delete/deleter.go:522 +0x289

Latest deleted-macos binary.

(My user is not marcel, neither path is /Users/marcel/pr/facebook-delete/)

duplicate of #38
The login process fails.
The path is not an issue. It's because I compiled the binaries from this system path.


[Feature Request]:

What feature would you like to see added to TallyArbiter?
I want this feature!
thanks for your work
I am  normally using Sony and Grassvalley  Switcher
sony is using  parallel and serial tally
Grassvalley is using parallel tally and Ethernet tally
do you have any plan to support that?
traditionally parallel tally is still more used as source  in switcher
I hope that tally arbiter changes (parallel tally: GPO)  from switcher to TSL-UMD
so that  I can use sony switcher as a source in tally Arbiter

Hey @haejung-kim !
We would love to support Sony's and Grass valley's tally protocols, but our big issue is that we don't have direct access to either of those switchers to reverse engineer the protocols for them.
Are you in a place where you could possibly get us remote access to a Sony or grass valley to do the required dev work and then test out our beta build?

I have a GPIO to TSL pogram that I can license to you as well. You would run it on a Raspberry Pi and read the GPI pins on the Pi as they are connected to the GPO pins on your switcher. Then you would send this data into your TA instance via a TSL 3.1 source type. Feel free to reach out to me via email if you want more information on that.

Hi @haejung-kim
It's fairly early stages, but I think I've got Grass Valley Kahuna Tally protocol working in this pull request:
https://github.com/josephdadams/TallyArbiter/pull/589

@peternewman lmk. when it's ready to merge

Hi @josephdadams I'm not sure if you know this already or if its of any use, but Grass Valley have included a Frame simulator that is installed with the rest of the K-Frame software:
(https://www.youtube.com/watch?v=6dvG_S4Nf80&list=PL1BAIpX2JvdAqDYsD0V7j-EzxvRXHajxc&index=1).
The K-Frame software is downloadable from their website:(https://community.grassvalley.com/support/s/productdownloadmaster/ProductDownloadMaster__c/Default)


fix(api docs): Moving port to 5001, and making api docs the default f…

…ront end

:tada: This PR is included in version 2.4.1 :tada:
Your semantic-release bot :package::rocket:


Start trigger in goroutines

What kind of change does this PR introduce? (check one with "x")
[*] Bugfix
[] Feature
[] Code style update (formatting, local variables)
[] Refactoring (no functional changes, no api changes)
[] Other... Please describe:

Fixes: #166
What is the current behavior?
Today engine starts all trigger at main engine thread, main engine goroutine will be blocked if one of trigger fails to release the main engine goroutine.
What is the new behavior?
Start all triggers in the different goroutine.

BTW, I tested 3 rest triggers and they are working great independently.

Is the concern that a trigger gets stuck on intialization?  You want to have it not on the main thread so you can still kill gracefully via a signal?

@fm-tibco According to our test which more depend on how user develops trigger. for our case, it gets stuck when starting trigger, one of our trigger loops to receive events from AWS, this case the main thread will be stuck in start.  In order to avoid user face this kind of issue, I prefer to start trigger in another thread which doesn't hurt anything.

@lixingwang So the issue is that want to start triggers in parallel, so the other triggers aren't waiting for the AWS one to start.  Does this AWS trigger eventually start?  Or is this just a poorly designed trigger that you are trying to work around?

After discussing with @fm-tibco and @vijaynalawade.   we shouldn't encourage bad coding.  we should enhance the documentation. such as the start method shouldn't hold on to the thread and must return.


refactor: drop mutable()

removes mutable() function at passing stores docs as it was deprecated
What is it?

[ ] Feature / enhancement
[ ] Bug
[x] Docs / tests

Description
This change removes the usage of mutable() function as now it is deprecated and everything is now mutable
Checklist:

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

Thanks @GustavoMelloGit !
Seems like it's failing on prettier errors
Can you please run it locally and fix those errors?
Thanks!

Thanks @GustavoMelloGit !
Seems like it's failing on prettier errors
Can you please run it locally and fix those errors?
Thanks!

Thats strange, i ran both prettier.fix and lint.prettier scripts and no errors found.
root@dc9574fd35c0:/workspaces/qwik# yarn lint.prettier Checking formatting... All matched files use Prettier code style!
Can you help me with that?

thanks @GustavoMelloGit !
You can point prettier --fix to the specific files with the warnings  -
packages/docs/src/routes/tutorial/props/store/problem/app.tsx
and
packages/docs/src/routes/tutorial/props/store/solution/app.tsx

(from here -
https://github.com/BuilderIO/qwik/actions/runs/3210863322/jobs/5249434467 )

Same thing, no errors found.

weird, let me try to run it locally

I dont know if i am doing something wrong, but it does not change anything, but it is saying that it has an error
root@dc9574fd35c0:/workspaces/qwik# yarn prettier -w packages/docs/src/routes/tutorial/props/store/problem/app.tsx
packages/docs/src/routes/tutorial/props/store/problem/app.tsx 444ms
root@dc9574fd35c0:/workspaces/qwik# yarn prettier -w packages/docs/src/routes/tutorial/props/store/solution/app.tsx
packages/docs/src/routes/tutorial/props/store/solution/app.tsx 441ms

Since it's the WHOLE file that appears in the diff, I might guess line endings.  Off the top of my head I'm not sure if github diffs show line endings.

@ulic75 i am running it on dev container and it is by default LF, i dont know if it is a problem

Good catch @ulic75
Sounds like it might be it
I just ran it on a windows machine and it shows me a warning, but when I run pretter --fix I see that it's change but nothing was changed in the diff (though the file can be committed), so it must be the invisible line endings or something

@shairez Can you commit it for me? i cannot commit these files since it does not shows any changes for me

Are you using VSCode? You should be able to change line breaks on a per file basis. https://dev.to/wagslane/how-to-get-consistent-line-breaks-in-vs-code-lf-vs-crlf-2c3p

@GustavoMelloGit just did it... let's see if it works :)

Thank you @shairez, it is ready for merge now

Yep looks like we made it! 🎉 😄
Thanks for the contribution @GustavoMelloGit !


Add Versatile Toolbox System: USI Pack from SpaceDock

This pull request was automatically generated by SpaceDock on behalf of Nazari, to add Versatile Toolbox System: USI Pack to CKAN.
Please direct questions about this pull request to Nazari.

"For compatibility with USI resources, you must install USI Life Support and mods that enable USI fuels(Karbonite)." Not sure what the mod does other than adding USI support. Maybe depends on USI-LS and Recommends Karbonite?


document system-level environment variables for file-based pipeline nodes

Document system-level environment variables for file-based pipeline nodes at level Jupyterlab, KFP or Airflow runtime, or both.
Follow-up to #3227

What changes were proposed in this pull request?

How was this pull request tested?

Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

I layed this out conceptually in terms of where the system-level envs apply to, i.e. Jupyterlab or at runtime Airflow and KFP or both (scope).
@harshad16 what should I write about ELYRA_WRITABLE_CONTAINER_DIR? This is only actually used in KFP.

@lresende Thank you. Now we just need to pull this, I guess, from readthedocs, which is I guess related to #3205 .
@romeokienzler FYI

#3245 should fix the doc build

https://elyra.readthedocs.io/en/latest/user_guide/env-variables-file-based-nodes.html


Chapter 06 creating cluster failed

Running create_cluster.sh failed with following errors. How can I resolve the error?
$ ./create_cluster.sh <BUCKET> us-central1-c
Waiting for cluster creation operation...done.
ERROR: (gcloud.dataproc.clusters.create) Operation [projects/<myproject>/regions/global/operations/66fca575-94c6-356f-b11e-036fd3b335c5] failed: Multiple Errors:
 - Cannot start master: Insufficient number of DataNodes reporting
 - Worker ch6cluster-w-0 unable to register with master: ch6cluster-m. This could be because it is offline, or network is misconfigured.
 - Worker ch6cluster-w-1 unable to register with master: ch6cluster-m. This could be because it is offline, or network is misconfigured..

Sorry, it looks like my firewall issue. Once closing. Thanks!


Question: why are filePaths joined to "userData" folder

why are filePaths joined to "userData" folder?
is it possible to avoid this and save, or load a file from, for example, the user's Desktop? or a custom-defined path relative to the filesystem root?

return path.join(userData, filePath);

Thanks!

nevermind, I read the doc better.


[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[x] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Codecov Report

Merging #4559 (1ba70f0) into master (06e69dd) will decrease coverage by 0.06%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master    #4559      +/-   ##
============================================
- Coverage     53.30%   53.24%   -0.06%
  Complexity       13       13
============================================
  Files           573      573
  Lines         31493    31499       +6
  Branches       4237     4238       +1
============================================
- Hits          16786    16773      -13
- Misses        13128    13142      +14
- Partials       1579     1584       +5

Impacted Files
Coverage Δ

...apache/kyuubi/engine/chat/ChatProcessBuilder.scala
0.00% <0.00%> (ø)

... and 11 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Add write_edge_list methods

In #113 we added a constructor method to the graph classes to create a
graph object from a edge list file. However there was not a native way
to generate such a file from retworkx. This commit adds that function
with a new method, write_edge_list(), which can be used to write an edge
list file in the same format that can be read by read edge list.

Pull Request Test Coverage Report for Build 756079450

72 of 74 (97.3%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 96.15%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/digraph.rs
36
37
97.3%

src/graph.rs
36
37
97.3%

Totals

Change from base Build 748553606:
0.01%

Covered Lines:
6219

Relevant Lines:
6468

💛  - Coveralls

LGTM, my only comment is that the documentation of BufWriter recommends calling flush before dropping.

LGTM, my only comment is that the documentation of BufWriter recommends calling flush before dropping.

Good call, I'll update that now


UI hangs when doing app analysis

When you run app analysis on a site with a lot of workers/traffic the UI can hang.
My suspected reason is that building all of the graphs/data for the graphs is causing it.
Another thing to note here is that Sisira, in her work for the external UI, has asked that we fill all the data with 0s on the API side. It is still not set in stone, we need to talk to Nitasha and others but if that is something we end up doing, it could simplify our logic significantly on the javascript side

Hi Steve,
For the first issue, your guess is right. every graph is an svg element and because of multple svg elements, page size becomes huge and UI becomes sluggish/ hangs.
There is a possible solution to

either not show graphs be default and only show them when wants to see.
or
only show the first rank detector graph and hide the other detector graphs behind a click

for the second ask, there is a problem doing that in API. Consider following scenarios:

for availability, if there is no data - should we put 0 or defualt 100. If lets say we put 0 (which is representing no data), then on client side, its impossible to distinguish between an actual 0 and no data.

I think its best at client side to handle no data. Like in our case, we are showing no data as either 0 or 100. In Byron's mockup, he had no data as empty graph with no point. (not sure whether his new mocks has that or not)

Yeah, I completely agree. We just had a passing conversation about it but it just doesn't make sense to do it on the API side.

However, I am going to look into a way to make the Sia view a little more digestible. Right now there are some detectors that always beep (another issue) and it is hard to figure out what the issue actually is


Downloaded FOD CABs file name can be malformed warning

Brower: Edge 110
Issue
Download the FOD .cab file for Windows 10, version 2004, x64, as stated in the text and link. The URL is below:
https://download.microsoft.com/download/4/c/7/4c79bf31-946c-444a-bc5f-61398d3b0a76/Msix-PackagingTool-Driver-Package~31bf3856ad364e35~amd64~~.cab
When downloading the cab from URL, Edge (maybe other browsers also) malforms the filename on save, the ~ symbol and converted to a _ symbol. This impacts the cab file and Dism is unable to work.
Solution
Add warning on document to ensure file name is as expected. Check that file name is correct with ~ symbols.
Msix-PackagingTool-Driver-Package~31bf3856ad364e35~amd64~~.cab
*not sure why the numbers have a strike through in the link, please ignore.
And not
Msix-PackagingTool-Driver-Package_31bf3856ad364e35_amd64__.cab

Hi @rileyz,
We have found that Dism command works even with '_' symbols, if the file path is correctly specified (with _ and '.cab' extension)


Version constraint system is fragile

Problem
The version constraint system is fragile.
The version ID is really important! Mostly because we use it to determine compatibility across machines.
A queuer will use its version number to determine which queues it will queue to.
A worker uses its version number to determine which queues it will consume from.
This means that queuers and workers that are the same installed version can work together.
At the moment that version number is determined by a short version of the git commit sha that the application was installed from. We can get the commit sha from the direct_url.json file in the package's dist-info directory. This works perfectly, so long as all the instances of Resolve Proxy Encoder are installed from git.
We have plans to move to semantic versioning to control versions IDs and thus queues, and although versions are immutable and compatibility constraints would be guaranteed, development still requires constraints to work on a commit-basis.
Two potential solutions
Support both
Additional research necessary here. I'm assuming the direct_url.json file won't exist if the application is pulled from a non-git repository like PyPi. If the file doesn't exist, we can simply use the release version. If that's the case, we can create additional logs, prompts and warnings depending on if the user is using a git version or release version.
Use neither
Technically, if we wanted to support both semantic-versioning and git-commits completely seamlessly, we could try instead to run a recursive checksum on the application directory and another checksum on those multiple checksums to use as a version number. This would likely be too slow to run any time other than first-run. We could add a rehash command to calculate the checksum again if need be.

Looks like direct_url.json was implemented in PEP 610, 2019. More info is available here: https://packaging.python.org/en/latest/specifications/direct-url/

For a little while I was entertaining the idea of using a short mnemonic phrase for version constrain based on the git commit or the package version, similar to What 3 Words. Of course, no such cryptographic standard exists, except for maybe BIP39 which is a little far from our simple use case and beyond my understanding.
We could have our own curated list of words and come up with an encoding/decoding algorithm, but it's a lot of effort for something we're just using to create a unique phrase. Even then, it's only useful to us. If other's relied on them, the word list could never change, lest decoding be broken.

Ahh! Here's a better idea.
We're currently using the git commit that we get from the direct_url.json file as the queue ID for the version constraint. This file is generated during setup by pip when "pulled". We could do something similar on the "push" side by using a GitHub action to incorporate a queue_id file on each git push. Since the ID simply needs to be "unique enough" with no requirements for encoding/decoding, we can use a simple mnemonic library to create a short, unique tokenized name, like Docker's container names, or really whatever we'd like to.
Pros:

Use any unique version/name/string generator we like
No longer depends on the package version or git commit
Easily printed with banner without requiring complex logic or validation
(see #152)

Cons:

Introduces dependency on CI/CD workflow to generate critical code

More difficult to migrate project to other git hosting platform

that said, already depends on GitHub API to check for updates (but non-critical function)

More difficult for others to fork repo and self-host or use another provider

There seems to be a merge check fail issue with precommit.ci. Will need to keep a finger on the pulse for a bit before closing this. It's potentially cloning from the wrong branch or an old commit? Or may be we need to run the action on push and pull-request? Not sure. Will find out!

Created new issue from comment. Closing PR now.


can i train dab-deformable-detr with multi-gpu in one machine?

i've tried to train dab-deformable-detr with multi-gpus in one ubuntu server by using  'torch.nn.Parallel', but a runtime error raised which is "Expected tensor for augment #1 'input' to have the same device as tensor for argument #2 'weight'; but device 0 does not equal 1(while checking arguments for cudnn_convolution)". Is this a bug? Or there is any other way to train dab-deformable-detr with multi-gpus?

why don't you use training script from the repo?
# for dab_deformable_detr: 48.1 AP
python -m torch.distributed.launch --nproc_per_node=8 \
  main.py -m dab_deformable_detr \
  --output_dir logs/dab_deformable_detr/R50 \
  --batch_size 2 \
  --epochs 50 \
  --lr_drop 40 \
  --transformer_activation relu \
  --coco_path /path/to/your/COCODIR

Thanks for the reply of @lebionick. It is the correct answer to the question.


add configuration for ghcide

Merging this blindly, hoping you/others will followup if it doesn't work :)


Add support for multiple requests when using ODataBatch (helps support xcsrf tokens)

A few of these changes felt really clunky to me because of the existing design patterns.  Like I'm trying to shoe horn in my use case to fit into the overall architecture, but I also tried to keep the changes minimal.  Integration/Unit tests are shown as examples more than anything else as they aren't able to hit any endpoints that actually provide xcsrf tokens, but when I tested this code in my specific environment where I'm able to get back tokens, it was working.

Thanks for the PR. I will review it during the weekend.

Merged, all tests passed. I will release version 4.26 shortly.

After some additional testing, I have discovered that the call to GetMetadataAsStringAsync or GetMetadataDocumentAsync is a poor candidate for retrieving the token due to the caching.  If others inquire about this, it would be a good idea for them to have a single endpoint dedicated to generating the x-csrf-token.  An alternative would be to allow callers to disable the document caching, but that seems like a bad idea.


Invalid request URL

First of all, thanks so much for creating this amazing tool! This is exactly what I was looking for to easily manage all my references when writing my masters thesis, but unfortunately I can't get it to work.
I have went over the installation procedure several times, and think I am doing everything correctly.
I have installed the ns package with pip, created the integration, set the token, database and bib-file, but when running ns run, I get an 'notion_client.errors.APIResponseError: Invalid request URL.'
The connection to ns-scholar is in the Publication DB (I copied the template), and the database-id is set to the URL of this page.
Am I doing something wrong, or are there any solutions to this?
I am doing this on an M2 Mac, from the default zsh terminal. My Notion account is also accessed through my University email, as this grants me a free Education Plus Plan.
Here is the output I get in the terminal, I have also ran ns inspect-config first if the information should be useful:
erlendkopperud@eduroam-193-157-176-218 ~ % ns inspect-config

config_file_path: /Users/erlendkopperud/Library/Application Support/notion-scholar/config.ini
config_file_exist: True

token: secret_NIA0cY0UAJzxnt5rK1WeNJ4mMhK5FCAOEXpeflefq6A
database_id: https://www.notion.so/erlendkopp/199bf7f29eb64de3b439ec2796584249?v=ac9d18439dbd4b97ad0d9a38316f9a6b
file_path: /Users/erlendkopperud/Documents/Master/refs.bib
erlendkopperud@eduroam-193-157-176-218 ~ %
erlendkopperud@eduroam-193-157-176-218 ~ % ns run
Traceback (most recent call last):
  File "/Users/erlendkopperud/.pyenv/versions/3.9.16/lib/python3.9/site-packages/notion_client/client.py", line 118, in _parse_response
    response.raise_for_status()
  File "/Users/erlendkopperud/.pyenv/versions/3.9.16/lib/python3.9/site-packages/httpx/_models.py", line 749, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://api.notion.com/v1/databases/https://www.notion.so/erlendkopp/199bf7f29eb64de3b439ec2796584249?v=ac9d18439dbd4b97ad0d9a38316f9a6b/query'
For more information check: https://httpstatuses.com/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/erlendkopperud/.pyenv/versions/3.9.16/bin/ns", line 8, in <module>
    sys.exit(main())
  File "/Users/erlendkopperud/.pyenv/versions/3.9.16/lib/python3.9/site-packages/notion_scholar/main.py", line 143, in main
    return run(**config_manager.get_run_kwargs())
  File "/Users/erlendkopperud/.pyenv/versions/3.9.16/lib/python3.9/site-packages/notion_scholar/run.py", line 35, in run
    key_list = get_publication_key_list_from_database(
  File "/Users/erlendkopperud/.pyenv/versions/3.9.16/lib/python3.9/site-packages/notion_scholar/notion_api.py", line 104, in get_publication_key_list_from_database
    return get_property_list_from_database(
  File "/Users/erlendkopperud/.pyenv/versions/3.9.16/lib/python3.9/site-packages/notion_scholar/notion_api.py", line 74, in get_property_list_from_database
    query = notion.databases.query(
  File "/Users/erlendkopperud/.pyenv/versions/3.9.16/lib/python3.9/site-packages/notion_client/api_endpoints.py", line 132, in query
    return self.parent.request(
  File "/Users/erlendkopperud/.pyenv/versions/3.9.16/lib/python3.9/site-packages/notion_client/client.py", line 194, in request
    return self._parse_response(response)
  File "/Users/erlendkopperud/.pyenv/versions/3.9.16/lib/python3.9/site-packages/notion_client/client.py", line 126, in _parse_response
    raise APIResponseError(response, body["message"], code)
notion_client.errors.APIResponseError: Invalid request URL.

Thank you for your comment !
Did you use the URL of the database ID and not the URL of the page containing the view of the database ?
Moreover, did you enter only the database_id and not the full URL ? (see the decomposition of the URL below)
https://www.notion.so/<workspace_name>/<database_id>?v=<view_id>

I did use the URL of the database (the "Publication DB" from the template, although I have also tried it with the "Category DB"), not the board overview/"Bibliography" page.
As seen in the previous comment when I ran ns inspect-config the registered URL is:
https://www.notion.so/erlendkopp/199bf7f29eb64de3b439ec2796584249?v=ac9d18439dbd4b97ad0d9a38316f9a6b

which seems to satisfy the composition you are mentioning, assuming the long hashes are the database id and view id, separated by ?v=.
Also, when I copy the link from the Notion app, instead of from the browser, the URL gets the additional ending tag &pvs=4, but alas I have tried both including and excluding this tag and still get the same error.
I am also stationed in Norway, but I do not see how that could affect the result, as notion uses .so and do not seem to have any different URLs depending on this, but maybe it is somehow relevant.
However I noticed that the raised error includes the following URL:
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://api.notion.com/v1/databases/https://www.notion.so/erlendkopp/199bf7f29eb64de3b439ec2796584249?v=ac9d18439dbd4b97ad0d9a38316f9a6b/query'

which has two https's in the URL and seems to be a concatenation of some database API and my database URL. Trying to access this URL in a browser yields the same error name and code as from the terminal output.
Maybe this is the cause of the issue, that this URL somehow gets concatenated incorrectly? This may be because of when I set the database id, I had to enclose the URL in quotation marks, or I would get an error.
When I tried
ns set-config -db https://www.notion.so/erlendkopp/199bf7f29eb64de3b439ec2796584249?v=ac9d18439dbd4b97ad0d9a38316f9a6b

I got this error:
zsh: no matches found: https://www.notion.so/erlendkopp/199bf7f29eb64de3b439ec2796584249?v=ac9d18439dbd4b97ad0d9a38316f9a6b

But when I put it in quotation marks:
ns set-config -db 'https://www.notion.so/erlendkopp/199bf7f29eb64de3b439ec2796584249?v=ac9d18439dbd4b97ad0d9a38316f9a6b'

It worked.
I do not know if my assumptions are correct, or if this is easy or hard to fix, but thanks for the response and looking into it!

The command that was meant to be used in this context is this one :
ns set-config -db 199bf7f29eb64de3b439ec2796584249
Because you need to take only the db section of the url https://www.notion.so/erlendkopp/199bf7f29eb64de3b439ec2796584249?v=ac9d18439dbd4b97ad0d9a38316f9a6b (as explained in the documentation and my previous message). If it worked with your command it was not on purpose. I may do a URL parser in the future to make notion scholar more flexible though


try to eliminate the while loop on the running the agent

of course first off test for frequency of restarts prior to adjust

definitely not since this agent still crashes on when it looses connection


test: add test which emulates the error thrown in the simulation (issue #207)

see issue #207

Note:
I don't think that the problem is the alignment of the when, because if we call foo outside when but inside share, it breaks anyway.

when is it annotated first, and when is it annotated then? Copy the stacktraces

when is it annotated first, and when is it annotated then? Copy the stacktraces

java.lang.IllegalStateException: Aggregate alignment clash by multiple aligned calls with the same path: PathImpl(path=[gradient.1, share.1, sharing.1, exchange.1, foo.1, neighboringViaExchange.1, exchange.1]).
The most likely cause is an aggregate function call within a loop
	at it.unibo.collektive.aggregate.api.impl.AggregateContext.exchanging(AggregateContext.kt:58)
	at it.unibo.collektive.aggregate.api.impl.AggregateContext.exchange(AggregateContext.kt:45)
	at it.unibo.collektive.aggregate.api.operators.AggregateOperatorsKt$neighboringViaExchange$1.invoke(AggregateOperators.kt:30)
	at it.unibo.collektive.aggregate.api.operators.AggregateOperatorsKt$neighboringViaExchange$1.invoke(AggregateOperators.kt:30)
	at it.unibo.collektive.aggregate.api.impl.AggregateContext.alignedOn(AggregateContext.kt:81)
	at it.unibo.collektive.aggregate.api.operators.AggregateOperatorsKt.neighboringViaExchange(AggregateOperators.kt:30)
	at it.unibo.collektive.aggregate.NestedCallsTest$1$foo$1.invoke(NestedCallsTest.kt:16)

I mean both stacktraces, since you enter twice. One throws the exception, but there must be another

I mean both stacktraces, since you enter twice. One throws the exception, but there must be another

the exception is thrown only in the second device, because on the first one it stops in the condition where the localId == 0, so foo is evaluated only in the else condition

to trigger that exception, the control flow must enter the method with the same path twice. I want those two stacktraces (the latter is consequence of an exception, the former is not, and must be obtained through the debugger)

we have this path at first path=[gradient.1, share.1, sharing.1, exchange.1, foo.1, neighboringViaExchange.1, exchange.1]
with this stack trace https://pastebin.com/NAeJaaH4
then it iterates a second time creating this path [gradient.1, share.1, sharing.1, exchange.1, project.1, neighboringViaExchange.1, exchange.1]
and this stack trace https://pastebin.com/RRbbpYCk
last it has again this path [gradient.1, share.1, sharing.1, exchange.1, foo.1, neighboringViaExchange.1, exchange.1]
https://pastebin.com/XhdzU2Hp


Trouble Running the Docker

I keep getting this error when trying to run the docker command.
Domain is not permitted: Domain must include lower-case letters, numbers, and dashes only.
    at HomeDBManager.unwrapQueryResult (/grist/_build/app/gen-server/lib/homedb/HomeDBManager.js:2312:15)
    at setupDb (/grist/_build/stubs/app/server/server.js:97:16)
    at async main (/grist/_build/stubs/app/server/server.js:133:9) {
  status: 400,
  details: undefined

my domain is a normal subdomain of my actual site.

Oh you can not use a capital in the TEAM = xxxx


LUIS 403 error when prediction key assigned / provisioned in settings

Describe the bug
When you use Composer to provision / assign existing LUIS resources for local dev / testing, it sets a prediction key.  Once this is set, you will get an error when you try and test your bot, "Response status code does not indicate success: 403 (Forbidden).", which I believe is due to the fact that the resource has not been associated with your LUIS app that Composer is creating / updating when you start your bot.
Version
Version:  1.4.0-nightly.231667.d104286
Electron: 8.2.4
Chrome: 80.0.3987.165
NodeJS: 12.13.0
V8: 8.0.426.27-electron.0
Expected behavior
If you have set a LUIS prediction key locally, we should associate the LUIS app with the prediction resource when your bot is started.
@Dewain27

When we initiate the process to create the LUIS instance for the Developer Environment for Composer, we are creating an Endpoint / Prediction key.  This is not needed for the developer instance.  We will need to make the following changes:
Changes Needed

[ ] Remove the generation of a LUIS Prediction / Endpoint key from the provisioning process.
[ ] Remove the LUIS prediction / endpoint key fields from the following UIs

What needs to remain

[ ] Advanced Settings View retains the setting for endpointKey


Power on EKS auto scaling group via lambda?

Hi there, this is just an idea.
We have an EKS cluster that used rarely and needs to be powered on when it's used.
It would be great, somehow that if the ALB notices the target group is empty, that it can execute a lambda function to power on the cluster.
Could it be possible?

Hi,
not sure whether i correctly understand this question.
But yes, ALB publish metrics about targets(e.g. HealthyHostCount) in targetgroup: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html
So ideally you can have alarms on these metrics and send to SNS and triggers lambda, then you can do almost anything inside an lambda function :D


Build failure: quirc

Steps To Reproduce
Steps to reproduce the behavior:

sudo nixos-rebuild switch --upgrade-all

Build log
ln: failed to create symbolic link '/nix/store/igc14rpxdci0pjw4yw7x2amx4qxwia6k-quirc-1.2/lib/libquirc.so': File exists
/nix/store/5r0df66ikad3xw06azlqvswcvncll8wa-stdenv-linux/setup: line 193: pop_var_context: head of shell_variables not a function context
error: builder for '/nix/store/2qfkvyq0ccnbw4bb91q83rx9pcd96ad1-quirc-1.2.drv' failed with exit code 1

Additional context
Just trying to update the system
Using unstable
Notify maintainers

@toonn
Metadata
 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.41, NixOS, 24.11 (Vicuna), 24.11pre655136.1d9c2c9b3e71`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.5`
 - channels(root): `"nixos, nixos-stable-23.11, nixpkgs"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Add a :+1: reaction to issues you find important.

This should've been fixed by #328915, has that not made it to the channel you're using?

I'm using unstable, i see that the patch its not there yet https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/tools/graphics/quirc/default.nix#L58
just have to wait a little bit
thanks

Apparently we are facing the same issue, my issue #329871. I'm also on the unstable channel.


the r3 (ren-c) process exits when fast consequent http requests are made

I tried to run the shttpd.r script. Few simplifications were needed, for it to work on latest ren-c. I basically made it just return text/html "Hello from R3". When it runs I manually make fast consequent http requests by pressing F5 and the process silently exits. I saw same behaviour on https://gist.github.com/rgchris/73510e7d643eb0a6b9fa69b849cd9880 which is based on this script. Probably some R3 / ren-c internal bug?

This is now fixed. The issue was writing to a broken pipe.


Add artifact command line

Work in progress, this is the command add and subcommand artifact to add docker image to sous.

          1 Warning

:warning:
PR is classed as Work in Progress

  Generated by :no_entry_sign: Danger

Codecov Report

Merging #756 into master will decrease coverage by 0.21%.
The diff coverage is 4.54%.

@@            Coverage Diff             @@
##           master     #756      +/-   ##
==========================================
- Coverage    55.8%   55.58%   -0.22%
==========================================
  Files         264      267       +3
  Lines       15489    15552      +63
==========================================
+ Hits         8643     8644       +1
- Misses       6118     6180      +62
  Partials      728      728

Impacted Files
Coverage Δ

ext/docker/builder.go
69.86% <ø> (ø)
:arrow_up:

graph/graph.go
62.18% <0%> (ø)
:arrow_up:

graph/actions.go
29.84% <0%> (-4.29%)
:arrow_down:

cli/actions/add_artifact.go
0% <0%> (ø)

cli/sous_add.go
33.33% <33.33%> (ø)

cli/sous_add_artifact.go
6.25% <6.25%> (ø)

lib/auto_resolver.go
88.05% <0%> (-1.5%)
:arrow_down:

Continue to review full report at Codecov.

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

@samsalisbury Got an actual deploy working all the way through in dev-ci-sf.  Details commented on https://github.com/samsalisbury/otpl-deploy-scripts/commit/5f34ae819df30a150936771191c10bc43011a01e This branch needs a review and the advisory for the artifact isn't currently being set, the reason is needed to figure out a mechanism for whitelisting advisory once set, so just left a blank for testing for now.

@samsalisbury Thanks for the review, I think I addressed all your items, it should be ready when you get a chance to take a look again.  Thanks!

As far as code coverage, not sure why it's complaining, I added tests as well as if you click on details: https://codecov.io/gh/opentable/sous/compare/ea1517db235a3ad9e6223100c6f6c13626302612...7d94921ebe8041e1a1b16c3a385461c14ed38a83 it actually says missing base report can't give diffs.


Error when credential holder or key index from signers option is out …

…of bounds
Purpose
Closes #6
Changes
Check if indices specified after "--signers" actually point to a key.
Checklist

[x] My code follows the style of this project.
[x] The code compiles without warnings.
[x] I have performed a self-review of the changes.
[x] I have documented my code, in particular the intent of the
hard-to-understand areas.

Also @SimonKamp can you please add your bugfix to the changelog?


How do I use this class to get md5 of a binary file content?

Just seen your examples, it works on strings but can I use this class to work on a file. So I load the file and get the md5 of the file.
Thanks.

Hello @jasonmnemonic . Thanks so much for using the MD5 library. It's really not possible to get it from a binary file, but I found it interesting and I'm going to implement this feature today.

The feature already available in version 2.0.4. Upgrade to get access!
MD5
README updated


Remove unused import

Current coverage is 96.66% (diff: 100%)

Merging #1040 into master will not change coverage

@@             master      #1040   diff @@
==========================================
  Files            43         43
  Lines          2040       2040
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1972       1972
  Misses           68         68
  Partials          0          0

Powered by Codecov. Last update e08bf52...d9435e0


failed to using request GET ../peers

Explain your question as detailed as possible
I need help with ajax request to my ../peers (api)
I have only on this request CORS block. But i can see in console log all data. What is that problem? Why i cant use this data for my stats??
Failed to load http://api.opendota.com/api/players/131389547/peers?api_key=706700BD62A6A2A65A14C30E3D1A7260: Redirect from 'http://api.opendota.com/api/players/131389547/peers?api_key=706700BD62A6A2A65A14C30E3D1A7260' to 'https://api.opendota.com/api/players/131389547/peers?api_key=706700BD62A6A2A65A14C30E3D1A7260' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://<IP_ADDRESS>:8080' is therefore not allowed access.
If you have a support request or question please also check our Discord Server: https://discord.gg/opendota

I think you just have to use https