feat: write unique policy for each record

What would you like to be added:
If there are two binary on a system and I invoke two commands.
$ spoc record ./binary_one
$ spoc record ./binary_two

The first file that's written on the disk at /tmp/profile.yaml is overwritten by the second one.
Why is this needed:
I think it will be great to have something like kubectl where each file written while invoking kubectl edit and something goes wrong is unique. e.g. profile_12009.yaml for the first binary and profile_89233.yaml for the second one.
User story covered

Hey @kranurag7, thank you for the input here! I've chosen /tmp/profile.yaml because it's easy to pickup a default for further subcommands like spoc run. May we could add an overwrite prompt at the end of spoc record. :thinking:


divmod doesn't work on Dask Series

Currently divmod doesn't work on Dask Series. This should just be a matter of defining __divmod__ and __rdivmod__ for Dask Series objects, which can be defined in terms of the integer division and modulus as shown in the Python docs.
In [1]: import pandas as pd

In [2]: import dask.dataframe as dd

In [3]: s = pd.Series([-1.10, 2, -3.33, 4])

In [4]: ds = dd.from_pandas(s, chunksize=1)

In [5]: divmod(s, 2)
Out[5]:
(0   -1.0
 1    1.0
 2   -2.0
 3    2.0
 dtype: float64, 0    0.90
 1    0.00
 2    0.67
 3    0.00
 dtype: float64)

In [6]: divmod(ds, 2)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-6-4bf6ad8b37d6> in <module>
----> 1 divmod(ds, 2)

TypeError: unsupported operand type(s) for divmod(): 'Series' and 'int'

Will be working on this as well, will issue a separate PR in couple of days.

Thanks @Sriharsha-hatwar. It looks like @henriqueribeiro just recently submitted PR ( https://github.com/dask/dask/pull/4884 ). Maybe you'd be interested in helping review/test that?

Solved with PR ( https://github.com/dask/dask/pull/4884 ).


Triggerbot

Trigger still aims on teammates.

Has it always been like that? or is this a new bug?

New bug. That's why rpasta42 said it was semi-working.

I'll see what happened and try to fix it

Problem has to do with the local player team offset

Yeah, besides that, could you remove the Pinky-ish glow? I hate having to manually do it everytime

Thx

Could you remove the Pinky-ish glow?
Fixed in this commit

Going to work on the trigger bot tomorrow,
very interesting bug... :imp:

m_iEntityId == 0x94
if m_iCrosshairId == m_iEntityId //fire

Trigger bot bug fixed in this commit  :100:


[Event Request] Codeunit 950 "Time Sheet Management" - OnGetActivityInfo_OnAfterTypeJob

In codeunit 950 "Time Sheet Management", function GetActivityInfo, please add the following event:
[...]
        with TimeSheetLine do
            case Type of
                Type::Job:
                    begin
                        ActivityCaption := FieldCaption("Job No.");
                        ActivityID := "Job No.";
                        ActivitySubCaption := FieldCaption("Job Task No.");
                        ActivitySubID := "Job Task No.";
                        // >> ----- new
                        OnGetActivityInfo_OnAfterTypeJob(TimeSheetLine, ActivitySubCaption, ActivitySubID);
                        // << ----- new
                    end;
[...]

Signature:
    [IntegrationEvent(false, false)]
    local procedure OnGetActivityInfo_OnAfterTypeJob(TimeSheetLine: Record "Time Sheet Line"; var ActivitySubCaption: Text[30]; var ActivitySubID: Code[20])
    begin
    end;

Done is scope of the request 5833
See OnAfterGetActivityInfo() event that should help with your case as well.


Enable SCIM OOB for JDBC user store manager

Need to add the behavioral change introduced by [1] to migration docs. The behavioral change is we have enabled SCIM by default to JDBC user store manager.
[1] https://github.com/wso2/product-is/issues/7017

Duplicated at https://github.com/wso2/product-is/issues/7769


feat: support cleanUrls to generate urls without .html

Summary
Support a new config as route.cleanUrls to remove the generated links suffix like .html
Related Issue
#93
Checklist

[ ] I have added changeset via pnpm run change.
[ ] I have updated the documentation.
[ ] I have added tests to cover my changes.

@sanyuan0704 Do you have any suggestion on this feature?

@sanyuan0704 Do you have any suggestion on this feature?

Yeah, i'm happy to review this pr.

@chenjiahan @sanyuan0704 Please help review the preview deploy docsite in case I miss something.

LGTM 👍


Version bump 4.4.0

Proposed changes:

Bumps versions to 4.4.0

You have to add the links below and above the comment: https://github.com/Automattic/wordpress-activitypub/blob/d9a7c6677ca10313d4f089a81a1cff5bcaf77f1e/CHANGELOG.md?plain=1#L1129

I have never seen this before! 😄


Avoid creation of directory %USERPROFILE%.config\rclone when using --config or RCLONE_CONFIG

I'm trying out version 1.43 on Windows, and want to specify a custom location for the config file (to run it as "stealth" as possible). I can then use command line argument --config=<configfile> or environment variable set RCLONE_CONFIG=<configfile>. But even if I do, rclone creates an empty directory %USERPROFILE%\.config\rclone. I find that I have to specify environment variable XDG_CONFIG_HOME to avoid this. When looking into the source file fs/config/config.go and function makeConfigPath, I'm wondering if this could be avoided with a minor code change: At line 121 it sets local variables xdgdir and xdgcfgdir based on the value of homedir, and then at line 151 it creates the actual folder path given by xdgcfgdir, before at line 167 it checks for --config or RCLONE_CONFIG.. When user has specified --config or RCLONE_CONFIG, should this take priority so the logic searching for home and xdgdir can then just be skipped?

When user has specified --config or RCLONE_CONFIG, should this take priority so the logic searching for home and xdgdir can then just be skipped?

Yes it should.
Would you like to send a pull request with this change?

Sure, I am not very familiar with Go, but I can try..

I have given it a shot. I was a bit confused about the logic around default (and several of them) vs custom path, but made it so that the description of --config from rclone -h reports what would have been used as path by default if --config was not specified. E.g. rclone --config \path\to\my.config -h reports default path to be according to $XDG_CONFIG_HOME (or $HOME) and not considering the path given by --config. The main change is that when --config (or RCLONE_CONFIG) is specified there is no attempt at creating folders, so for instance if no existing config file or rclone config directory exists and XDG_CONFIG_HOME is specified then the default is reported to be $XDG_CONFIG_HOME/rclone/rclone.conf without checking that it is actually possible to create it.

@albertony thanks for fixing it - I think the code is cleaner and more maintainable now :-)
Find the fix in the latest beta in 15-30 mins.


Poor ordering in map_overlap

Credits go to @jcrist for discovering this during a recent sprint. Merely opening the issue so we can track it. Placing it on the Dask issue tracker to start, but we can move as needed.
Currently with map_overlap operations, it seems the scheduler is preferring computations such that all intermediaries are held in memory before any of the computations will proceed far enough to release chunks of memory. It may be better to prioritize small chains of computations so that memory is released. ATM it is unclear how easy this would be to accomplish or what sort of tradeoffs this will entail. IOW further investigation is required.
Below is a trivial MRE that demonstrates the issue with the corresponding task graph generated by this operation.

Code:
In [1]: import numpy as np

In [2]: import dask.array as da

In [3]: a = da.random.random((12,), chunks=(4,))

In [4]: b = a.map_overlap(lambda e: 2 * e, depth=1)

In [5]: b.visualize(color="order")
Out[5]: <IPython.core.display.Image object>

Dask Graph:

Environment:
name: test
channels:
  - conda-forge
  - defaults
dependencies:
  - appnope=0.1.0=py36_0
  - backcall=0.1.0=py_0
  - blas=1.1=openblas
  - bokeh=0.12.16=py36_0
  - ca-certificates=2018.4.16=0
  - certifi=2018.4.16=py36_0
  - click=6.7=py_1
  - cloudpickle=0.5.3=py_0
  - cycler=0.10.0=py36_0
  - cytoolz=<IP_ADDRESS>=py36_0
  - dask=0.17.5=py_0
  - dask-core=0.17.5=py_0
  - decorator=4.3.0=py_0
  - distributed=1.21.8=py36_0
  - freetype=2.8.1=0
  - graphviz=2.38.0=7
  - heapdict=1.0.0=py36_0
  - ipython=6.4.0=py36_0
  - ipython_genutils=0.2.0=py36_0
  - jedi=0.12.0=py36_0
  - jinja2=2.10=py36_0
  - jpeg=9b=2
  - kiwisolver=1.0.1=py36_1
  - libgfortran=3.0.0=0
  - libpng=1.6.34=0
  - libtiff=4.0.9=0
  - locket=0.2.0=py36_1
  - markupsafe=1.0=py36_0
  - matplotlib=2.2.2=py36_1
  - msgpack-python=0.5.6=py36h2d50403_2
  - ncurses=5.9=10
  - numpy=1.14.3=py36_blas_openblas_200
  - openblas=0.2.20=8
  - openssl=1.0.2o=0
  - packaging=17.1=py_0
  - pandas=0.23.0=py36_1
  - parso=0.2.1=py_0
  - partd=0.3.8=py36_0
  - pexpect=4.6.0=py36_0
  - pickleshare=0.7.4=py36_0
  - prompt_toolkit=1.0.15=py36_0
  - psutil=5.4.5=py36_0
  - ptyprocess=0.5.2=py36_0
  - pygments=2.2.0=py36_0
  - pyparsing=2.2.0=py36_0
  - python=3.6.5=1
  - python-dateutil=2.7.3=py_0
  - python-graphviz=0.8.3=py36_0
  - pytz=2018.4=py_0
  - pyyaml=3.12=py36_1
  - readline=7.0=0
  - setuptools=39.2.0=py36_0
  - simplegeneric=0.8.1=py36_0
  - six=1.11.0=py36_1
  - sortedcontainers=2.0.2=py36_0
  - sqlite=3.20.1=2
  - tblib=1.3.2=py36_0
  - tk=8.6.7=0
  - toolz=0.9.0=py_0
  - tornado=5.0.2=py36_0
  - traitlets=4.3.2=py36_0
  - wcwidth=0.1.7=py36_0
  - xz=5.2.3=0
  - yaml=0.1.7=0
  - zict=0.1.3=py_0
  - zlib=1.2.11=h470a237_3

cc @mrocklin

Yes, that's a great example.  I found myself wanting to get a picture for what was happening at the larger sale, so I did this:
import numpy as np
import dask.array as da
a = da.random.random(100, chunks=(5,))
b = a.map_overlap(lambda e: 2 * e, depth=1)
b.visualize(color="order", node_attr={'penwidth': '6'})
b.visualize('dask.png', color="order", node_attr={'penwidth': '6'})

But looking into I suspect that you went here too and then scaled down.  The graph you provide seems to be the minimal case.  It looks like we start at 0, move up until we need to start some other chunk.  We unfortunately choose to proceed with the task on the far right (7) rather than the task in the center (14).  The next step is probably to dive into exactly what motivated that choice.  I suspect that it is preferred because it has more total dependents (7 is a bit deeper than 14) but I'm not sure.  I find it hard to keep the ordering rules in my head long-term.

It's true that I started bigger and went to the smaller case, but agree it is useful to see the larger case to get a feeling for how this problem behaves at a larger scale.
Do we document the heuristics that inform task ordering somewhere? If not, expect this would be useful to do both for understanding cases like this one and for identifying when the code deviates from our intentions.

Hi, was just introduced to this issue, and I'll jump in naively.
I assume the tasks are organized as a DAG whereby each task has:

a list of predecessors (inputs)
a list of dependents waiting on it (for "notification")
So the scheduler can release anything without outstanding predecessors

The logic involved for the (0), (7), (14) ordering above might be due to a heuristic based on what "completing a released task may allow to be released". So, (0) and (14) are more likely to enable more things to be done before having to wait.
The same applies to the (0), (7), (9).

If this is interesting to you, @convexset, would encourage you to take a look at issue ( https://github.com/dask/dask-ml/issues/206 ), which likely is struggling with the same problem in a different context (though I could be mistaken). Also PR ( https://github.com/dask/dask/pull/3588 ) includes some examples/tests cases and the beginnings of a discussion about how we might approach them. This would certainly be a fun problem to play with.

I can solve the minimal problem in the opening comment in #3652 , however this doesn't resolve the underlying issue.
In this chat @emmanuelle provided the following example (slightly modified to remove scikit-learn's apply-parallel):
from skimage import filters
import dask.array as da

ar = da.random.random((10000, 10000), chunks=(512, 512))

res = ar.map_overlap(filters.gaussian, depth=10)

from dask.distributed import Client
client = Client(processes=False)

res.compute()

Watching the dashboard it's pretty clear that things aren't being run in a pleasant order.
An alteration of @jakirkham 's example to 2d also shows a bad result with the proposed PR
import numpy as np
import dask.array as da
a = da.random.random((100, 100), chunks=(20, 20))
b = a.map_overlap(lambda e: 2 * e, depth=1)
b.visualize('dask.pdf', color="order", node_attr={'penwidth': '6'})

Interesting, thanks for the update on this.
Am trying to wrap my head around what these plots are showing. Admittedly, as noted, displaying this stuff in 2D is hard. :) Maybe having a colorbar would help? Perhaps also a perceptually linear colormap would be good (Viridis?). Will try to play with this a bit as well.
Also do we have any idea what is happening at the upper corners in the last image?

The plots show the order in which a single-threaded scheduler will visit each block of the input and output image.  Seeing that things are smooth is encouraging, it means that we will likely be able to release data as we progress.
I don't think that changing colormaps here would improve things.  This seems to be more a question of understanding what the values mean, rather than a challenge to map between values and colors.

Any non-smoothness in these images is bad, similar to how non-smoothness is bad for dask.visualize(..., color='order').  Things are more smooth after this PR, which is a good sign.  I don't know why the borders are odd, my guess is that they were de-prioritized by the ordering heuristics because they had fewer dependencies.

Going to close as this was fixed in 0.18.2.


Adds a fix to include CA data in generated kubeconfig

What this PR does / why we need it:
Currently when generating KubeConfig Kudo is not reading the files for CA when generating a KubeConfig within the test context that it is running in. This comes into play if you have a component that is using the generated Kubeconfig to make calls to the Kubernetes API within your test. According to the docs ca bundles are handled like so when accessing the k8s api using a service account:

If available, a certificate bundle is placed into the filesystem tree of each container at /var/run/secrets/kubernetes.io/serviceaccount/ca.crt, and should be used to verify the serving certificate of the apiserver.

This patch simply reads that file and loads it into the kubeconfig that the rest of the tests use. Here is a spew dump of the TLSConfig from my patched fix:
2019/12/26 21:41:38 (rest.TLSClientConfig) rest.sanitizedTLSClientConfig{Insecure:false, ServerName:"", CertFile:"", KeyFile:"", CAFile:"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt", CertData:[]uint8(nil), KeyData:[]uint8(nil), CAData:[]uint8(nil), NextProtos:[]string(nil)}

Please let me know how to proceed!

noice!


Cannot launch: destination does not exist

With the latest fixes from 10-12 April, the rocket can't create a station. Chip station is created regularly, the station itself is packed too. The player, puts everything necessary in the rocket and tries to start it. The rocket does not take off and at the same time it shows the inscription "Cannot launch: destination does not exist".

are there any guidance computers on the rocket, if so, what is in them?

Standart Rocket, fuel tanks, engines, computer, seat and chip station

Is station 14 the one you are creating?

This is a chip of an already established station.
But the same thing happens if I try to create a new station. If I try to take off on a rocket with a station chip, then the above inscription is displayed. If I try to send a rocket without myself, to create a new station, then nothing happens, the rocket does not take off.

if you try to create a station around the overworld does it launch properly?

With the container and without the container does not work.

What about without the guidance computer or a seat and launching it with the monitoring station?

The rocket flies, if you do not put the chip with the coordinates to the guidance computer, but when entering the orbit happening crash the game (or server).

I assume you mean #567?

would it be possible to send the temp.dat and if you could put the station container in your inventory and then upload the player file that would also be helpful so I can trying to figure out how you possibly got a station container without creating the station

Yes, this is the same. I have kept for you the whole world map. Mods only AR and LibVuples. Player name player42.
Link: https://www.dropbox.com/s/srzlylfbwv25ky8/ARtests.zip?dl=0
If you need to enter the game, then I did it through the TLauncher in this case.

Port of change in data storage of station data went bad.


CHEBI:150693 add synonyms

CHEBI:150693 is known as

Lacto-N-octaose
LNO

Ref.: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9235823/ (Table II, compound VIII)

Now added. Thanks


Prevent collisions by using $apply over $digest

I was having a problem where the new elements added by an ng-repeat were
showing, but their bindings were applied a bit later, meaning that
they'd show as "{{ something }}" for a moment first. I eventually traced
it back to this click event handler, and found that doing an $apply
instead of a $digest solved the problem.
I have been unable to recreate the problem in a minimal sample, since the setup in which things went wrong were quite complex and the problem also relies on the amount of work that is done, since unless there is a lot to do, the delay will be negligible. Either way, this is a change that shouldn't negatively impact the library, while it should prevent a problem, even if it is rare.

Closing due to rot - if there is interest in sparking up a discussion if this is still an issue, feel free to open an issue with an appropriate reproduction.


Proposal: mplement flag for markdown-lint-check to always pass

This PR proposes the implementation of the -p which will enable a trap in the markdown-lint-check pre-commit bash script to always return an exit code of 0 even if dead links are found. The idea is, that markdown-ci-lint shouldn't break the CI or local pre-commit flow but still be useful for the developer to detect dead links.

how about just not set -e and always exit 0.. when errors should be ignored.. feels odd to set fail on all errors and then add code to handle those cases..

how about just not set -e and always exit 0.. when errors should be ignored.. feels odd to set fail on all errors and then add code to handle those cases..

I disagree. I expect the default behaviour to return exit code 1 if errors are found, but instead making it configurable. We should provide a pre-commit that never fails per default.

i am not sure you can set two different traps on same signal.
my suggestion was not to fail soft by default but not to exit 1 just to trap it... juts do not set -e in case of ignore and exit 0 by default... this will by default exit with error when any error is hit (by definition of -e)

so -p: set +e and exit 0
normal: set -e and exit 0 (set -e should raise the error anyway and exit 0 will not be called)

good suggestions! make sense - sorry for not being a bash hero ;) Applied your suggestions and tested it in my local setup also


🚀 [Feature Request] - adding some style to cards of "first year" notes

Is your feature request related to a problem ? Please describe. ✍

The cards of first year notes are just plane black we can add some image or style to make them look interesting
Describe briefly how you would implement this enhancement.
to implement the enhancement we can simple change the style of the cards

Additional context or screenshots
Please assign me this issue under GSSoC'23
Are you contributing for a program?
GSSoC2023
Code of Conduct

[X] I have read and agree to the Contributing Guidelines of this project.

@1Shubham7 can you add SVGs? check this out #368

yes I can . assign it to me

Go ahead @1Shubham7

hey @1Shubham7 any update?

Really sorry, I tried but its not working. I am fine with assigning it to others

No worries


Bump react-remove-scroll to 2.5.7 (see changelog) to fix behavior in shadow DOM

Description
react-remove-scroll fixes the problem of all children of RemoveScroll not being scrollable via mouse wheel or touch when created inside a shadow DOM. (See react-remove-scroll #98)
Tested in my local project and scroll now works properly in Dialogs etc. in shadow DOMs without seeing any negative change to other use cases.

Can we get this merged in please 🙏  @benoitgrelard

Looks like this has already been updated. Sorry it took a while to get a reply!


Fix [Error 22] under Windows reading .editorconfig

Under windows system, if the .editorconfig file is not CRLF ended, after reading file using file.readline(), the file.tell() will give negative values, which at last raises IOError: "[Errno 22] Invalid argument".
This patch open config files in "universal newlines" mode, which treat all line endings as '\n', hopefully fixes this issue.
@timothycrosley, I don't have enough tests, just let you know about this issue. Thanks for providing such awesome program :)

This looks great! Thanks for finding this shortcoming and providing a fix @timonwong :)
~Timothy

But how can I configure that "crlf" is normal ending in py files?
[*.py]
end_of_line=crlf

in .editorconfig file is not working.


 I'm not really sure if such a processing is possible.
Use Case
Take for example an opacityFilter like so:
filter(opacity: 50%)[
  This is my semi-transparent text, followed by some
  #rect(...) or #image(...) or #table(...) or else
]

@Beiri22 in the meantime, for opacity specifically, I use a semitransparent rectangle colored as the background to simulate the same effect:
https://github.com/andreasKroepelin/polylux/pull/91

Blur might be one of those filters
filter(blur: 100pt)[
  This is my blurred text, followed by some
  #rect(...) or #image(...) or #table(...) or else
]


fix: use FTS for log_upload and config_snapshot operations

TODO

[x] fix blocking using a downloader actor
[ ] add a test which confirms that download no longer blocks will not be done because it's too complex for the current architecture @reubenmiller for questions

Proposed changes
Makes tedge-mapper-c8y use the File Transfer Service (FTS) when processing log_upload or config_snapshot operations.
Previously tedge-mapper-c8y implicitly assumed that it's installed on the same device as the tedge-agent and tried to access the file-transfer directory directly. Now it correctly downloads the files in the operation's tedgeUrl parameter via HTTP.
Types of changes

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Improvement (general improvements like code refactoring that doesn't explicitly fix a bug or add any new functionality)
[ ] Documentation Update (if none of the other choices apply)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue
https://github.com/thin-edge/thin-edge.io/issues/2390
Checklist

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA (in all commits with git commit -s)
[x] I ran cargo fmt as mentioned in CODING_GUIDELINES
[x] I used cargo clippy as mentioned in CODING_GUIDELINES
[x] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments
The 1st commit introduces the FTS download operation by using the Downloader directly, fixing the bug.
The 2nd commit in this PR removes the use of Downloader inside log_upload and config_snapshot handlers to use DownloaderActor instead.
The advantage of this is that downloading from the FTS no longer blocks and other such operations can be processed in the meantime.
I will argue, however, that this also had negative effects on code complexity and maintainability. Whereas previously the download was in a single place and one could trace the control flow easily, now the state with maintaining the state of the download is spread very thin across many different functions and variables.
The effect of the current architecture is that for every complex operation where multiple steps are required, for every transition step1 -> step2 (e.g. before the download and after the download) one has to create:

a piece of state where we await the response from the actor that performs the effect associated with the transition, e.g. pending_fts_download_operations for DownloaderActor
a function step1 which starts the transition to step2 by sending a message request
a function step2 which gets the result response
a function which listens to response from the actor, and inspects the response to dispatch it to correct function which performs the next step

I believe that Rust's async/await was created to solve, among others, exactly this problem, by transforming every async function into a state machine which automatically handles transistions between .await points which block.

I will argue, however, that this also had negative effects on code complexity and maintainability. Whereas previously the download was in a single place and one could trace the control flow easily, now the state with maintaining the state of the download is spread very thin across many different functions and variables.

I will not argue the contrary. The c8y mapper was already complex and the current design adds complexity.
Not only there is some complexity at the functional level, but also this complexity is made worse - as you highlight well - by this idea to persist the current state of any operation that must be resumed later when a response is received.
To be concrete, for a log upload request, the mapper has to forward the request to the child device, to await its response, to download the child-device log excerpts from the file-transfer service then upload these log excerpts to c8y. Athe code level, this leads to 3 states that have to be materialized, stored, handled, cleaned ("request sent to the child", "fts download request sent" and "c8y upload request sent".

I believe that Rust's async/await was created to solve, among others, exactly this problem, by transforming every async function into a state machine which automatically handles transistions between .await points which block.

This is correct up to the point one needs to share some mutable state. With async/await, one has a nice view of the sequence of steps (sent a request to a child device, await for its response, download the log excerpt from fts, upload this excerpt to c8y). And tasks can be spawned in the background to handle such sequences concurrently ... as long as there is no mutable shared state.
Do we have such mutable shared state here? Requests are sent over senders, which are Clone and hence not an issue.  However to receive responses such a task needs to own its receiver. Why not? No straightforward to quickly implement now given the current state of the c8y mapper, however I see no blocker.
Can code clarity be improved without a deep refactoring? I see some improvements, but I would be happy to merge this PR as is, to meet the 0.13.1 release, and address improvements later.

The code is currently scattered. The pending_fts_download_operations cache is defined and created in converter.rs, populated in config_operations and log_upload.rs and finally cleared in actor.rs.
Sending a request to the downloader (or the uploader) works in pair with caching the request. Receiving a response and resuming a pending download (upload) operation also works in pair. Can this be abstracted by some wrapper that cache and send requests as well as received and resume responses with their context?


Support for other terminals for switches? (updated: board build question)

Hi, just wondering is there support for the other terminals as shown on the photo? Ability to add wall buttons for open/close/stop/light?

There's a few schematics that have been provided that have them, yeah.  Check the schematics that have been uploaded.

I'll check again, probably my electronics n00bness causing me to miss the details... I'll keep looking.

I had a couple of esp8266 boards laying around and my old freetronics experimenters kit so I attempted building my own rat-ratgdo board.
I only have the Red + White wire connected as I don't currently have an obstruction sensor installed. I have a Merlin MT100EVO.
It works but it's intermittent? I can control what's in Esphome/HA but eventual stops responding to commands. Door position will eventually show open/close status but not while it's moving.

Door
Lights
Lock remotes
Toggle

I can see Openings status but Motor status is always Not running.
Does anything look incorrect with my board?

I've also noticed when I have the board connected the GDO diag lights starts flashing. I'll reconnect it again to see what the diag codes are.

Lastly, I've ordered Wemos D1 mini's just to make sure I have an identical board and maybe new 2n7000's. Just want to make sure I've wired it up correctly before I solder to a board for permanent install.

Looks like you're missing some resistors. Ironically, the obstruction sensor part looks correct to me, and that's the part that probably isn't necessary if you're not going to connect it for a lack of obstruction sensors.
It looks like you're missing both 10k resistors on the RX line from D2, and there is a 1k resistor between D1 and the Gate on the mosfet on the TX line on the v2.5 boards.
I will be curious when you get this running better, though, because some people have had an issue with the RATGDO command to close the door not working when they don't have obstruction sensors. I've been suspecting that they are having the problem because it looks like they have the Blk/Obst wire connected to the GDO.

Thanks for taking a look and helping @foreverimagining.
I followed this originally: ratgdo open source D1 Mini_schem_v6.png.
I've now revised it as per this one: RatGDO-OpenSource-D1Mini-ESP8266.pdf.
Seems to still be the same. The Door control still seems to be flakey, but the Toggle door seems to work fine. Still no change in Motor status.
With the door control, am I meant to be able to open the door then stop it where ever and then press open or close? Currently if I use the slider or the open/close button if I stop it the door control stops responding. The only thing that seems to continue to work is Toggle door.

That second one is a more up-to-date schematic based on my v2.5 board, so that's a better one to go with. The first one does work for some, but the second one seems to work for more people when the earlier schematics fail.

am I meant to be able to open the door then stop it where ever and then press open or close?

I just tested mine, and yes, in the ESPHome version of the firmware, you are supposed to be able to do all of that.
It's a bit weird that you can do a command (toggle) but not the others. It at least means something is getting through on the TX line, but maybe your mosfet isn't matched well enough to be able to respond reliably. It would probably be a good idea to try different mosfets. On the SMD boards, the TX line has a AO3400A mosfet, though some people have gotten 2N7002s to work just fine. The 2N7002s seem to be a bit finicky, and some people have had to try several before they manage to find ones that work.
One other thing that might be affecting you depending on where you are, someone in Denver is reporting trouble with their original RATGDO in the HA forum that they think is due to the frigid cold temperatures. Mine seems to be fine on this comparatively warm day here in Illinois, but I also have a decently insulated, south-facing garage.

Just an update, I flashed using 2.5 instead of 2.5i. Traced all my wiring. The door control works for opening and stop, but not close. Toggle button always works. Still no motor status, does this work for people?
I have obstruction sensors... in the box, just need to find time to install it to see if that fixes my issue.

I've installed my obstruction sensor. I can now close via the Door control/cover.
Lastly before I migrate from breadboard to soldering to PCB, with the dry contact for open/close/light, does the D# pins just short to ground or do I do I need resistors between D# pins <-->button<-->10K ohm<--->ground?

Sounds like some good progress. And I believe that answers that on how well it works without obstruction sensors. It just seems weird that the RATGDO can't close the door without them. Must be something with the coded command.

Still no motor status, does this work for people?

My motor status does update, though I'm personally only interested in the open/close statuses.

with the dry contact for open/close/light, does the D# pins just short to ground or do I do I need resistors between D# pins <-->button<-->10K ohm<--->ground?

If you're not planning to use the Dry Contact side (and I don't know why you would need it if the Serial Line Control side works), you can just leave it off. If you do want to have it, I'm not entirely clear on your question because the open/close/light circuits are simply a diode between the microcontroller pins and the dry contact switch terminals. The dry contact statuses have a mosfet each and a 10k resistor between the microcontroller pins and Gates.
Maybe this'll help.

This is from my almost-finished breakdown of the second schematic from above. It makes it a little easier to focus on the various particular parts. The labels on the left sides are going to the microcontroller pins and the labels on the right sides are all going to the corresponding terminals.

Thanks for your help mate!
I currently have a Two Button Wireless Wall Button and would like to remove it and replace with a wired wall control/button. That's why I wanted to know how the Open/Close/Light switch/buttons would be wired up.
Am I correct in my understanding, that if I wire it up I'd have a wall switch to control open/close and light on/off?
Sorry mate, I'm a n00b here so just to validate:
Example: D# PIN---BUTTON---(1N414) |>|---BOARD GND?

Sounds like some good progress. And I believe that answers that on how well it works without obstruction sensors. It just seems weird that the RATGDO can't close the door without them. Must be something with the coded command.

Do we just want to fork the esphome-ratgdo repo and start adding our own code alterations for these edge cases?  I mean, I kinda already did it for 2MB ESP8266 modules.

Am I correct in my understanding, that if I wire it up I'd have a wall switch to control open/close and light on/off?
Sorry mate, I'm a n00b here so just to validate:
Example: D# PIN---BUTTON---(1N414) |>|---BOARD GND?

The dry contact input pins on the actual ratgdo boards are wired like this:
D# PIN---(1N414) |>|---BUTTON---BOARD GND
The protection diodes are included in case you want to connect them for use with limit switches for sensing when the door is open/closed for dry-contact control method on older non-Security+ 1/2 GDOs (where the GDO would also be using those same limit switches and you don't want the ratgdo's D# PINs exposed to the GDO's higher voltage). Since that isn't what you are using them for, you don't need the diodes (or additional resistors as you initially asked). You can just do
D# PIN---BUTTON---BOARD GND
Note that you usually have to use 3 buttons (Open, Close, Light Toggle), but you can change your device .yaml in ESPHome to change the Open input pin to a toggle instead of Open Only, if you only want to use 2 buttons. You would connect the Dry Contact Close directly to ground, and use just the Dry Contact Open. And add this at the bottom of your device .yaml file:
#custom modifications using https://esphome.io/guides/configuration-types.html#extend
binary_sensor:
- id: !extend "${id_prefix}_dry_contact_open"
  on_press:
    - if:
        condition:
          binary_sensor.is_on: ${id_prefix}_dry_contact_close
        then:
          - cover.toggle: ${id_prefix}_garage_door

Thanks for your help mate!
I currently have a Two Button Wireless Wall Button and would like to remove it and replace with a wired wall control/button. That's why I wanted to know how the Open/Close/Light switch/buttons would be wired up.
Am I correct in my understanding, that if I wire it up I'd have a wall switch to control open/close and light on/off? Sorry mate, I'm a n00b here so just to validate: Example: D# PIN---BUTTON---(1N414) |>|---BOARD GND?

I'm really not much less of a n00b than you; I've just been keeping an eye on the community for longer. XD
Ok, I think I get it now. You've got what amounts to another remote but want to replace it with what amounts to a simple, wired wall panel.
I think that would fall under the wiring in this diagram, but depending on your use case, may require some fiddling.

My understanding would be that it should be D# pin <--> 1N414 Diode >| <--> terminal if you want easy connections <--> button <--> GND. Where the fiddling might come in is how many buttons you want to deal with, 2 or 3, and then, possibly the kind of buttons.

Do we just want to fork the esphome-ratgdo repo and start adding our own code alterations for these edge cases? I mean, I kinda already did it for 2MB ESP8266 modules.

I almost want to say yes, but I lean heavily no at this point for a few reasons.

This particular issue is actually already known in the ESPHome issue 146 since mid December, but they don't seem to be finding a simple solution. It sounds like the command used for closing the door won't trigger correctly without the obstruction sensors installed. Since the GDOs work without them using the remotes (and wireless wall buttons), there must be some different code to get around it, unless they're just using a command to toggle, which does still work. Which is now what I'm betting on.
This repository allows for a wide variety of use cases and could therefore require just as many forks to match them all. Since that is the case, it makes more sense for people to make their own forks as needed for different board styles.
There haven't been much in the way of software problems that I've noticed so far that are common and exclusive to the RAT-RATGDO community. This may change over time, though, and if the main repositories still aren't interested in making peace and working with us on support, then we could always revisit the decision.

That being said, your 2MB ESP8266 fork may be a good starting point for some of the cases in 2. to modify from, so maybe it will become useful/necessary to do so.

Only thing I'm curious about is if I can add a DHT11 to it without causing issues.

I haven't added one myself but it shouldn't pose any problem. I don't the ratgdo firmware is so close to using all the RAM or CPU speed that adding more sensors would stop it.

Anyone have any issues after rebooting the device and the door status is open when it's physically closed? Sometimes query status doesn't output the status.

Anyone have any issues after rebooting the device and the door status is open when it's physically closed? Sometimes query status doesn't output the status.

Yes, I am having synchronization problems after reboots too (often). Although I don't see any status after restarting (the ESP). Restarting the GDO (always?) fixed it. Still not completely happy with my current circuit / draft (and I am somehow blaming the used BS170 MOSFETs for this).
And I am also completely unable to control my GDO via open/close commands. Toggle is always working fine. Status works if it synced correctly once (see above). From what I've read in this thread, it seems to be REQUIRED to have an obstruction sensor? I don't have one (and haven't planned to install one up until now) but it seems I need one to make this work... 😐 Do you know whether something like this (cheaper, from AliExpress) would work?
I am using a SHT3X temp/humidity and a VEML7700 ambient light sensor (both via I2C) on a ESP32 (via ESPHome). That's working flawlessly. (I can share a picture if you need one.) Thus, a DHT11 should work as well. 🙂


ref(rollback): use helm upgrade logic for helm rollback

A rollback is an "upgrade" of an older revision. This change removes all of the one-off logic from helm rollback, relying on the business logic backing helm upgrade.
This comes with several advantages:

uniform behaviour with regards to feature flags like --force, --recreate-pods and --no-hooks
features implemented for helm upgrade can be enabled for helm rollback with no significant development cost (for example #6011 could be ported to helm rollback by simply adding it to rollback's flagset).

I also caught an unused flag. --version was unused. The mandatory argument [REVISION] specifies the version to rollback to. Because of this, I removed it.
BREAKING CHANGES:
This change removes the pre-rollback and post-rollback hooks, opting to use the existing pre-upgrade and post-upgrade flags. These flags are not implemented by any of the charts in the incubator or stable repositories, so it appears safe to remove. However, this is a compatibility breaker from what's available in Helm 2. Any opinions here on how to proceed here?
Signed-off-by: Matthew Fisher<EMAIL_ADDRESS>

I think we may want to directly translate pre/post-rollback hooks to pre/post-upgrade and then print a deprecation warning.

That would cause pre- and post-rollback hooks to run during an upgrade. That seems like a dangerous/unintended side-effect that I wanted to avoid in this case, so it seemed safer to ignore the hook.
After searching for the term helm.sh/hook: pre-rollback, most of the hooks appear to be registered as a helm.sh/hook: pre-install,pre-upgrade,pre-rollback hook, meaning they are already running as a pre- or post-upgrade hook.
The only interesting case was in a stale project where the pre-rollback hook was used to roll back to an older migration table. Most sane schema updates are non-destructive by design because the software running in production must not break when the updates are applied. Even if you have to rollback production code, you can often keep the updated schema, then simply apply a few additional migrations, if necessary, rather than rolling back and re-applying a modified version of the original migration.
In other words, I believe that this corner case isn't something where a rollback-specific hook makes sense. The application should be designed to handle table inputs from previous versions of the API.
Given this, perhaps the better approach may be to accept pre- and post-rollback hooks, but ignore them. In the case where they're registered as a pre-upgrade,pre-rollback hook (like in the example above), they'll continue to be triggered during a helm rollback.

closing in favour of https://github.com/helm/helm/pull/6133


DEV-3082: Updates print statement syntax in update_index.py

This was messing with me earlier when I ran update_index, this is great, thanks!


The bot counts itself as a voting member in the vote to skip a song

Steps to reproduce:

Create a new server.
Join the voice channel of that server.
Add Rem Bot to that server.
!w.play [a song]
!w.skip

Output:
Type !w.yes to voteskip the current song. Current votepercentage at 50%/50
Users that have voted:
.------------------------.
| the_only_member |
'-------------------------'
But clearly, if the only human member of the voice channel has voted, then 100% of the members, whose vote should matter, have voted.
Image:

That is clearly an issue, let me hotfix that real fast

I have examined your commit, however I am not sure it completely fixes the bug.
If my understanding is correct, the bug lies in this line of the function startVoteskip:
60	let size = channel.voiceMembers.size;
The bot is counted, because it is in the voice channel, as it is playing the song. Having already assured that there are more than zero voice channel members before calling startVoteskip, we should also decrement the variable size so as not to count the music-playing bot:
60	let size = channel.voiceMembers.size - 1;
The more general fix would be not counting all the bots, but I doubt that many bots are in the voice channel at the same time in practice (since the only reason a bot would join the voice channel that I know of is to play music).
To show that the bug also happens when there is more than one voice channel member (in the image I have attached in the original post, the bot was not in the voice channel, because the song had already finished):

The percentage should be 50%, because of the two members of the voice chat that are not Rem Bot, one has voted to skip the song.

damn >_< That was too fast of just now, alright let me fix it


944 | Delete Columns to Make Sorted | C++

Delete Columns to Make Sorted -
What will change - Add solution for problem 944. Delete Columns to Make Sorted in C++
Type of Issue -
Please add/delete options that are not relevant.

[x] Adding New Code

Programming Language
Please add/delete options that are not relevant.

[x] C++

Self Check

Ask for issue assignment and wait to get assigned to it before making Pull Request.
Add your file in the proper folder
Clean Code and Documentation for better readability
Add Title and Description of the program in the file

:star2: Star it :fork_and_knife:Fork it :handshake: Contribute to it!
Discord server ✉ - https://discord.gg/CXksGdn
Happy Coding,

Please assign this issue to me :)


webhook: add missing field Request.System

I need the system.link value in the webhook request but it's not available when using this library

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Clear deprecated deploy yaml file

What type of PR is this?
cleanup

Which issue does this PR fix:
N/A
What does this PR do / Why do we need it:
Clear deprecated deploy yaml file
If an issue # is not available please add repro steps and logs from aws-gateway-controller showing the issue:
N/A
Testing done on this change:
N/A

Automation added to e2e:
N/A

Will this PR introduce any new dependencies?:
No

Will this break upgrades or downgrades. Has updating a running cluster been tested?:
No
Does this PR introduce any user-facing change?:
No

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 31.654%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3142

Relevant Lines:
9926

💛  - Coveralls


Fix spuriously passing tests.

This should not pass:
module.exports = function (year) {
  return "Foo"
};

Your proposed code doesn't make all tests to pass, so it wouldn't be a valid solution to the exercise. But I see the point of your changes and I agree with you. Now they are better tests.
Thanks!

I found corresponding not.toBe tests in "pythagorean-triplets" and "grains". A fix for the one in "pythagorean-triplets" has been added to this PR, since it was straightforward. In "grains" the tests are that the expectation is "not.toBe" some non-boolean values. That seems dubious to me, but I'm not versed in Jasmine or JS to say what a better alternative would be.


Rotation first steps

Added transform_origin field to interface classes.
Attempted to test the field but ran into some issues. The relevant code is commented out in path_interface.py and test_text_interface.py.
Things should be formatted correctly now.

Made some progress today in understanding how all this works. I still have not figured out how to add transform_origin to QClippingPath. Once I figure that out, I should be able to un-comment line 121 in text_interface.py and subsequently un-comment line 72 in test_text_interface.py and actually pass the test.

also, please run the cleanup scripts before committing, as I see the import cleanup wasn't run. I recommend doing this in a pre-commit hook so you can't forget. check out the guide for this.
(we temporarily disabled the build check on imports, but I'm going to re-enable it soon)

Thanks for the assistance!
Tests should all be made, and they are all passing.
I'm on a Windows machine currently using WSL to get access to bash commands. I can install the devtools just fine, but I may be getting an error when applying the pre_commit hook, I'm not sure...
sh dev_scripts/pre_commit.sh
: not found/pre_commit.sh: 2:
Running pre-commit cleanup
: not found/pre_commit.sh: 4:
dev_scripts/pre_commit.sh: 5: set: Illegal option -

Otherwise, Black seems to handle a lot of the formatting just fine.

Hm yeah seems like some WSL integration issue. The step that seems to not be running on your end is isort, which you can run manually with isort .. It's easy though so I just ran it myself and pushed. Once the build passes I will merge. I'll update the issue with next steps. thank you!

btw, for future PRs I recommend creating your own separate branch off of origin/rotation. I just squash-merged this PR into origin/main, so you'll notice your local branch is now out of sync with origin/rotation. It's best practice to create a separate branch for each PR and delete it after merging.


napa_compliance branch: Update script to generate request bodies for /queries:run endpoint

In this branch, I added code that will generate bodies (each one in its own JSON file) for HTTP requests that can be made to the /queries:run endpoint of the Runtime API.
I tested the added code (by running it in a Jupyter notebook that contained only the added code and a contrived deleted_record_identifiers list, shown below).
Here's a screenshot showing what the request bodies would look like for an example (contrived) deleted_record_identifiers list:

Note: I did not remove the preexisting some_collection.delete_one(...) statements from this Python script. I will leave that to my teammate to do when she is ready.
Note: The target branch for this PR is the napa_compliance branch, not the main branch.

I will remove the preexisting delete_one statements now.


OpenStack Watcher Modules fail to load

Please make sure that you have checked the boxes:

[X] Pease review the Troubleshooting doc for additional details regarding your issue.

Debug Logging is enabled
Reviewed other issues

[X] Review the Quickstart guide
[X] Search for both open and closed issues regarding the problem you are experiencing

https://github.com/Netflix/security_monkey/issues/1112 and https://github.com/Netflix/security_monkey/issues/1126 seem similar but result in different problems.

[X] For permissions issues (Access Denied and credential related errors), please refer to the requisite docs before submitting an issue:
AWS, GCP, OpenStack, GitHub

Description of issue:
I created an OpenStack account (which is active in the Dashboard). However, no data seems to get imported so I ran monkey find_changes manually to identify any issues. The only issue I can identify is that all openstack watcher modules fail to load. The full logfile is attached
(monkey_find_changes.log), this is just an excerpt:
2019-02-05 09:19:47,363 DEBUG: Failed to load module openstack_watcher from /usr/local/lib/python2.7/dist-packages/security_monkey/watchers/openstack/openstack_watcher.py [in /usr/local/lib/python2.7/dist-packages/security_monkey/common/utils.py:103]
2019-02-05 09:19:47,363 DEBUG: Loaded module __init__ from /usr/local/lib/python2.7/dist-packages/security_monkey/watchers/openstack/__init__.py [in /usr/local/lib/python2.7/dist-packages/security_monkey/common/utils.py:105]
2019-02-05 09:19:47,364 DEBUG: Failed to load module openstack_port from /usr/local/lib/python2.7/dist-packages/security_monkey/watchers/openstack/network/openstack_port.py [in /usr/local/lib/python2.7/dist-packages/security_monkey/common/utils.py:103]

I'm using the git master with docker-compose on docker-compose.yml. Is there any more data I can provide or do you already have any ideas?
Edit:

The module files (e.g. /usr/local/lib/python2.7/dist-packages/security_monkey/watchers/openstack/network/openstack_port.py) are available.
I tested the monkey find_changes in the secmonkey-scheduler and secmonkey-worker container, if that makes a difference?

Thanks,
Matthias

* The module files (e.g. /usr/local/lib/python2.7/dist-packages/security_monkey/watchers/openstack/network/openstack_port.py) are available.

To confirm, those are available in the container? This error is typically due to the missing openstacksdk.
You also have your creds/yaml configured/mounted (https://github.com/Netflix/security_monkey/blob/master/docker-compose.yml#L69)?

* The module files (e.g. /usr/local/lib/python2.7/dist-packages/security_monkey/watchers/openstack/network/openstack_port.py) are available.

To confirm, those are available in the container? This error is typically due to the missing openstacksdk.

No, but the clouds.yaml file is mounted which from my understanding is the correct one for the OpenStack connection?
  worker:
    [...]
    volumes:
      - ./docker/celeryconfig.py:/usr/local/src/security_monkey/security_monkey/celeryconfig.py
      - ./clouds.yaml:/clouds.yaml

/clouds.yaml is also configured as path in the account settings.

Also there does not seem any request from the monkey instance to the openstack instance to take place (based on tcpdump while running monkey find_changes). I however verified that the identity API can be accessed from the monkey instance.

I actually wonder if this is an issue with the os-client-config library that recently came up. I have a PR to cloudaux (SM helper library) to address. https://github.com/Netflix-Skunkworks/cloudaux/pull/96
Testing a potential workaround pinning the os-client-config in Dockerfile pips

@mikegrima Just merged and pushed changes to pypi. Rebuild a clean image (shoud pull in cloudaux 1.6.1).


Feature/deploy

Before making the Pull Request:
Updated name of project to match Heroku deploy. Switched database in config to use postgres. Stripped out Pre-Auth from User controller.

[x ] Is there a description to this pull request that points to a specific user story, feature, or bugfix?
[x ] Are there comments where the code may be unclear?
[ ] Is all dead code, commented out code, etc. removed?
[ ] Are there tests written for these changes?
[ ] Does the ReadMe need to be updated?

Before being merged by the TPL:

[ ] Has the pull request been reviewed by at least two team members?
[ ] Did they leave any comments or suggestions?
[ ] Were those suggestions acted on?
[ ] Are all tests passing?
[ ] Has the documentation been updated?

more details added


Building OpenBLAS 0.3.20 w/ Spack using OneAPI 2022.1.0: DT_NEEDED missing libifcore

When I build<EMAIL_ADDRESS><EMAIL_ADDRESS>with Spack, libopenblas.so doesn't include libifcore in the DT_NEEDED:
$> objdump -x $(spack location -i openblas)/lib/libopenblas.so | grep -i needed
  NEEDED               libm.so.6
  NEEDED               libpthread.so.0
  NEEDED               libsvml.so
  NEEDED               libirng.so
  NEEDED               libintlc.so.5
  NEEDED               libdl.so.2
  NEEDED               libiomp5.so
  NEEDED               libc.so.6
  NEEDED               ld-linux-x86-64.so.2

This creates issues downstream when trying to build some other packages that rely on OpenBLAS:
$> spack install plasma...
...
==> Installing plasma-21.8.29-y5otmtsxindyp3tuguijpg7wmypjyl7q
==> Fetching https://mirror.spack.io/_source-cache/archive/e0/e0bb4d9143c8540f9f46cbccac9ed0cbea12500a864e6954fce2fe94ea057a10.tar.gz
==> No patches needed for plasma
==> plasma: Executing phase: 'cmake'
==> plasma: Executing phase: 'build'
==> Error: ProcessError: Command exited with status 2:
    'make' '-j16'
...
  >> 6547    /usr/bin/ld: /spack/opt/spack/linux-ubuntu20.04-x86_64/oneapi-2022.1.0/openblas-0.3.20-q6ovcjsiw3mkzigitn7q4vvidcrki424/lib/libopen
             blas.so: undefined reference to `for_cpystr'
  >> 6548    /usr/bin/ld: /spack/opt/spack/linux-ubuntu20.04-x86_64/oneapi-2022.1.0/openblas-0.3.20-q6ovcjsiw3mkzigitn7q4vvidcrki424/lib/libopen
             blas.so: undefined reference to `for_concat'
  >> 6549    /usr/bin/ld: /spack/opt/spack/linux-ubuntu20.04-x86_64/oneapi-2022.1.0/openblas-0.3.20-q6ovcjsiw3mkzigitn7q4vvidcrki424/lib/libopen
             blas.so: undefined reference to `for_cpstr'
  >> 6550    clang: error: linker command failed with exit code 1 (use -v to see invocation)
  >> 6551    make[2]: *** [CMakeFiles/plasmatest.dir/build.make:3147: plasmatest] Error 1
...

You can see the linker can't find definition for symbols:

for_cpstr
for_concat
for_cpystr

These are defined in the libifcore.so.5 bundled with OneAPI:
$> nm -D /opt/intel/oneapi/compiler/2022.1.0/linux/compiler/lib/intel64_lin/libifcore.so.5 | grep for_cpstr
00000000000c1b60 T for_cpstr

$> nm -D /opt/intel/oneapi/compiler/2022.1.0/linux/compiler/lib/intel64_lin/libifcore.so.5 | grep for_cpystr
00000000000c1ed0 T for_cpystr

$> nm -D /opt/intel/oneapi/compiler/2022.1.0/linux/compiler/lib/intel64_lin/libifcore.so.5 | grep for_concat
00000000000c1ce0 T for_concat

I've not encountered this type of issue before so please forgive me if this isn't an issue with the OpenBLAS build. Perhaps it is an issue with the OneAPI compiler, I don't know. I can manually patch libopenblas.so using patchelf so that libifcore.so.5 is listed as needed -- this resolves the undefined symbol problem with downstream packages that rely on OpenBLAS.
What do you think?
@wspear

Not sure if this is an issue with OpenBLAS - we obtain the list of libraries to link to by feeding a small test program to the compiler and parsing the verbose output from the compiler and linker. So there is nothing expressly removing libifcore anywhere in the build system, but possibly the oneAPI compiler has become so modularized that the test program would actually need to contain a string concatenation or copy operation to make sure that libifcore features in the link list.
Alternatively, the error you are seeing comes about as your "plasma" code appears to be using ld rather than ifort for the link step, so any implicit "knowledge" the latter has about standard link requirements of ifort code is unavailable. (And I notice you seem to be using clang rather than oneAPI here, which may lead to your code referencing two competing OpenMP runtimes)

Alternatively, the error you are seeing comes about as your "plasma" code appears to be using ld rather than ifort for the link step, so any implicit "knowledge" the latter has about standard link requirements of ifort code is unavailable. (And I notice you seem to be using clang rather than oneAPI here, which may lead to your code referencing two competing OpenMP runtimes)

The same undefined symbol error I see with plasma, I also see with:

mfem
superlu-dist
py-scipy

I am using the icx/icpx/ifx compilers -- aren't those based on clang?

I see now we've been there before with #1956 , but this was supposedly fixed years ago by ensuring that the final linking of libopenblas.so is done with the Fortran compiler ( in exports/Makefile) if it is Intel.

Oh - icx/icpy/ifx you say ?  Chances are that the f_check script does not recognize ifx yet so is not setting F_COMPILER=INTEL in Makefile.conf

Oh - icx/icpx/ifx you say ? Chances are that the f_check script does not recognize ifx yet so is not setting F_COMPILER=INTEL in Makefile.conf

I bet that is it! It was that past issue that got me on this track in the first place, and yes, I see that is the older intel and now we have the newer ifx as well! Thank you for your help!
We would need to patch the f_check script then?

Yes, something like this  (remove the .txt extension that github insists on):
f_check.txt
not fully tested as I need to update my oneAPI installation - with the 2021.2.0 release it is running into what looks like an internal script error where invalid arguments like "+avx2" get passed to xfortcom

Yes, something like this (remove the .txt extension that github insists on): f_check.txt not fully tested as I need to update my oneAPI installation - with the 2021.2.0 release it is running into what looks like an internal script error where invalid arguments like "+avx2" get passed to xfortcom

This resolves the issue!


Intellisense does not appear off of generic type

Opened by: latkin
In the below code, intellisense no longer pops up at the specified point. It used to work ok in 3.1.X, but has stopped working in 4.0
type GT<'a> =
  static member P = 12
  static member Q = 13

let _ = GT<int>. <--- no intellisense here now, expecting list with 'P','Q'
let _ = GT.   <---- intellisense does still appear here

Testing it out on some older builds, this appears to have been introduced with the "constructors as first-class functions" feature.

comments

dsyme wrote Dec 11, 2014 at 1:35 PM [x]

What's the name of the specific IDE unit test that's failing? I'll aim to run them and make the fix tomorrow

latkin wrote Dec 11, 2014 at 2:12 PM [x]
UnitTests.Tests.LanguageService.AutoCompletionListTests, testcase Generics.GenericTypeMembers

latkin wrote Dec 11, 2014 at 2:30 PM [x]
Note that you'll need a build of VS 2015, plus the VS 2015 SDK, installed to run the IDE tests for fsharp4. You can get both from here  http://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs.aspx

@dsyme this regressed (I'm pretty sure) as part of the "ctors as first-class functions" work.

Have assigned it to myself

Don,
is there any progress on this?  It is a regression and so it is one we would prefer to have a fix for when we release F# 4.0

I've looked at it several times and not found the mistake.  I'll keep looking :)

I made my third attempt on this and finally got somewhere.  It was hard!  At least I now understand what changed between F# 3.1 and F# 4.0 and have prepared a potential fix. https://github.com/Microsoft/visualfsharp/pull/354
I'd appreciate help in testing if the fix works "for real" in intellisense in VS2015. I've tried to make the fix as non-intrusive and low-risk as possible (even though that involved duplicating some code).


PB-387 simplify serve module

References
https://xainag.atlassian.net/browse/PB-387
Summary
Start monitor_hearbeats() in the main thread instead of a background
thread.

Reviewer checklist
Reviewer agreement:

Reviewers assign themselves at the start of the review.
Reviewers do not commit or merge the merge request.
Reviewers have to check and mark items in the checklist.

Merge request checklist

[ ] Conforms to the merge request title naming XP-XXX <a description in imperative form>.
[ ] Each commit conforms to the naming convention XP-XXX <a description in imperative form>.
[ ] Linked the ticket in the merge request title or the references section.
[ ] Added an informative merge request summary.

Code checklist

[ ] Conforms to the branch naming XP-XXX-<a_small_stub>.
[ ] Passed scope checks.
[ ] Added or updated tests if needed.
[ ] Added or updated code documentation if needed.
[ ] Conforms to Google docstring style.
[ ] Conforms to XAIN structlog style.

@finiteprods thanks for the review. I rewrote the docstring and updated the summary. Let me know if the motivation is enough.


Automatically expand snippets

I want to expand snippets automatically, without pressing expand key, on a per snippet basis. I know this has been requested before (#77), but I think the solution proposed there is ugly (e.g., imap <silent> ( (<plug>luasnip-expand-or-jump). This is because I don't want to have to create an extra mapping for every snippet I want to expand automatically.
Is there an extra option to add to specific snippets to make them expand automatically?

Autosnippets exists already, https://github.com/L3MON4D3/LuaSnip/blob/007a0af6d0fd412dfbb31953bb1b81eaf8fbd6fd/doc/luasnip.txt#L1525

Check in the doc and in the example file, maybe it needs more visibility.

Will check this out, thanks!

Is it also possible to set autosnippets from json-style snippets, such as friendly-snippets?

I cannot find anything useful about autotrigger in the luasnip docs, do you just add the field with true?

Yes, that's should do the work.

Hmm, does not seem to be working for me :sob:
I have enable_autosnippets = true in my LuaSnip config, do I need anything else?

Try to define normal (non vscode) autosnippets if that works vscode ones should work likewise.

I cannot find anything useful about autotrigger in the luasnip docs, do you just add the field with true?

I think we look in snippet->luasnip->autotrigger, so
"display math" : {
	"prefix" : "dm",
	"luasnip" : {
		"autotrigger" : true
	}
	...
}

should do it


IPv6 Neighbour-Discovery messages cause all pods to restart

I was recently setting up a Thread Border Router device on my network. Whenever the device joined the network, it caused all of the pods on my single-machine cluster to be restarted.
I found these in the logs:
Nov 24 19:36:01 mario microk8s.daemon-apiserver-kicker[722]: CSR change detected. Restarting the cluster-agent
Nov 24 19:36:01 mario microk8s.daemon-apiserver-kicker[722]: CSR change detected. Reconfiguring the kube-apiserver

It appeared some kind of network change was triggering this.  I initially thought maybe the BR was running DHCP or something, but after posting in the BR tracker (https://github.com/espressif/esp-thread-br/issues/45) it seems this is Neighbour Discovery which allocates IPv6 addresses on the network to allow bi-directional IPv6 communication across the BR.
I was able to avoid the issue by setting --bind-address=<IP_ADDRESS> (which I presume means only IPv4 addresses are considered, so the IPv6 address won't trigger this), but since while searching I found a lot of people complaining about random reboots I thought it may be useful to a) verify if this default behaviour is WAI, and b) have some notes on this cause (and a workaround/fix) noted here that may help others diagnose the same issue in future.

Hi @DanTup, thank you for raising the issue.
An alternative approach could be to create the no-cert-reissue lock file like this:
sudo touch /var/snap/microk8s/current/var/lock/no-cert-reissue

Which has the same effect, it will disable the MicroK8s automatic check for changes in the IP addresses of the host.

Ah, that sounds a little better, I'll change to that.
Out of interest - what's the reason for this behaviour? At first I thought it was because changes in IP addresses could mean the service needs to bind to new addresses, but it seems like it's related to a certificate being regenerated rather than the network itself.
(and also, is it intended that IPv6 router advertisements could trigger this? perhaps it's necessary, but it feels quite aggressive to me!)

This meant that the certificates generated for the first IP address would be invalid, therefore the cluster would go into a broken state

I'm not very familiar with this, so apologies if this is a silly question (I'm just curious to understand), but under what conditions would this cause problems? Would a new IP address being added to a machine ever cause problems, or is it only changes (or more specifically, removals)?
Because if it's only removals, I wonder if the reissue could be done only if:

an IP addresses removed; and
it wasn't an IP address that was added since the cert was last issued.

Eg., if I an IP address is added and later removed (without changing any IPs that existed when the cert was first issued) and the cert was not re-issued, would that cause any problems?

Hiya, apologies for missing this, dropped the notification somehow.

I'm not very familiar with this, so apologies if this is a silly question (I'm just curious to understand), but under what conditions would this cause problems? Would a new IP address being added to a machine ever cause problems, or is it only changes (or more specifically, removals)?

The go-to example scenario: A developer has a laptop running on their home network (let's say with address <IP_ADDRESS>/24) and installs MicroK8s.  This means that the certificate IP SANs are now all broken (as the IP address has changed).
To avoid this problem, MicroK8s by default performs a check to see if any of the IP addresses of the machine have changed (which includes lots of false positives, but works in a mostly frictionless manner).

Eg., if I an IP address is added and later removed (without changing any IPs that existed when the cert was first issued) and the cert was not re-issued, would that cause any problems at all?

Indeed that would not be an issue. As long as you are not using the Kubernetes services over an IP that is not included in the certificate IP SANs, there should not be any problems.

I've ran in to this exact issue. I think it's fair enough that it is an ingrained behaviour that would be difficult to break although the method for disabling it could be more obvious and the documentation should be updated to make it clear that running IPV6 on the host introduces, major instability to the pods.


Make Column Filter UI lazy.

Fixes mysterious bug. https://github.com/xh/hoist-react/issues/3833
Could have figured out what the problem was, but noticed only manifesting on "stale" copies of the filter that had previously been mounted.
Was surprised that these models were still being created from the get go, although I know we discussed. Making this disposable is more efficient, lightweight, and easier to reason about.
Hoist P/R Checklist
Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.

[X] Caught up with develop branch as of last change.
[X] Added CHANGELOG entry, or determined not required.
[X] Reviewed for breaking changes, added breaking-change label + CHANGELOG if so.
[X] Updated doc comments / prop-types, or determined not required.
[X] Reviewed and tested on Mobile, or determined not required.
[X] Created Toolbox branch / PR, or determined not required.

If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.

Pull request reviewers: when merging this P/R, please consider using a squash commit to
collapse multiple intermediate commits into a single commit representing the overall feature
change. This helps keep the commit log clean and easy to scan across releases. PRs containing a
single commit should be rebased when possible.

Looks good and works well - fixed a small issue with a broken import and left over logging. 100% agree that it makes sense to recreate the state when the popover is opened, much easier to reason about 👍


Link for migrating from deprecated DNNLinearCombinedRegressor is broken

Thank you for submitting a TensorFlow documentation issue. Per our GitHub
policy, we only address code/doc bugs, performance issues, feature requests, and
build/installation issues on GitHub.
The TensorFlow docs are open source! To get involved, read the documentation
contributor guide: https://www.tensorflow.org/community/contribute/docs
URL(s) with the issue:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/learn/python/learn/estimators/dnn_linear_combined.py#L849
Description of issue (what needs changing):
Link is broken. Why is it deprecated? What should I do about it?

Perhaps this is the link you are looking for,
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/learn
It covers the migration instructions.

Perhaps this is the link you are looking for,
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/learn
It covers the migration instructions.

Ok, that works! The link in the docstring is still broken, so other people may encounter the same problem, but thanks.


What's the difference between the adjacency matrix and the incidence matrix on cora and Pubmed dataset？

Hi, thank you for your work! But , I have a question as I  stated in the issue's title. "What's the difference between the adjacency matrix and the incidence matrix on cora and Pubmed dataset？"
I think that they are the same. Right?
Looking forward to your reply, Thank you!

Hi, thank you for your attention. Here, we construct hyperedge from their one-hop neighbors for each node. If you don't concatenate extra hyperedge to existing citation constructed incidence matrix, they are just the same in the number but thorough different in mathematical. We can also construct hyperedge from the combination of one-hop and two-hop neighbors for each node. Hypergraph incidence matrix is more flexible than the graph adjacency matrix.

I understand, thank you!


Shipyard Docker image to Docker HUB

Would be nice if new version 3.0.4 would be tagged in Github and new Docker image is available from Docker HUB.

+1

There is a bug I'm fixing.  After that I'll push.

Done.  3.0.4 pushed and is latest.


setComparator did not refresh PopUp

(Original issue 31 created by None on 2012-11-26T12:29:56+00:00)
When I set a Comparator for a editor with

filterHeader.getFilterEditor(4).setComparator(new ColumnSorterDateAsStringComparator());

the conten of the popup ist not sorted by this compartor.

I changed the following in FilterEditor and everything works fine. I dont have much
experience with your lib but maybe zhis is an error.

    /** IFilterEditor method. */
    @Override public void setComparator(Comparator comparator) {
        // the comparator is used for sorting rendered choices, and for
    	// comparison operations on the text parser
        if ((comparator != this.comparator) && (comparator != null)) {
            this.comparator = comparator;

            ChoiceRenderer lcr = getRenderer();
            if (lcr == null) {
                editor.updateParser();
            }
//            else {
//                popup.setRenderedContent(lcr, comparator);
//                requestChoices();
//            }
            // do this alway !!!
            popup.setRenderedContent(lcr, comparator);
            requestChoices();
        }

Original issue reported on code.google.com by arndt.schoenberg on 2012-11-26 12:29:56

(Original issue 31 last updated on 2012-11-26T12:29:56+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by coderazzi on 2012-11-27T13:16:25+00:00)
Hi, could you give some details on the way you are using the table filter?
1- In your table model, which class is associated to the column 4? Is a Date or is
a String?
2- Could you include your ColumnSorterDateAsStringComparator code?

Thanks!

  Lu

Original issue reported on code.google.com by coderazzi on 2012-11-27 13:16:25

(Original comment by None on 2012-11-28T06:26:49+00:00)
Hi Lu,

i had much problems using date so i dicedid to use string in the model. The date field
is converted in a dd.mm.yyyy string.

After creating the empty table and some user actions data is put into the table. In
the popup the item are correct but not ordered.

The comparator ist also used in the sorter and works fine

Kind regards,

Arndt

<EMAIL_ADDRESS>

-------------
public class ColumnSorterDateAsStringComparator implements Comparator<String> {

    private static SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");

    public ColumnSorterDateAsStringComparator() {
    }

    @Override
    public int compare(String o1, String o2) {
        if (o1 == null || o1.isEmpty()) {
            return 1;
        }
        if (o2 == null || o2.isEmpty()) {
            return -1;
        }
        try {
            return sdf.parse(o1).compareTo(sdf.parse(o2));
        } catch (ParseException e) {
            Noop.doNoop();
        }
        return -1;
    }
}

Original issue reported on code.google.com by arndt.schoenberg on 2012-11-28 06:26:49

(Original comment by coderazzi on 2012-11-28T13:04:58+00:00)
Hi, Arndt,

the popup items in the editor are always treated as Strings. In your specific example,
the comparator on the popup items will compare Strings with Strings, which is obviously
fine. If your table model had used Date instances instead of Strings, you would have
been greeted with nice exception backtraces :-)

Now, using String instead of Date in the table model is probably not the best; in the
filter header, for example, you will be able to enter ">1", which makes no sense for
Dates, but does for Strings. Also, performance-wise, is a big hit if the user decides
to sort on that column (with the filter or just buy sorting the table itself), as there
would be a lot of conversions from String to Date internally.

Anyway, you have your very valid reasons to use Strings, so this is not the point for
this issue: but your patch would work only for columns with String content.

BUT it does not work completely: dates are indeed shown in the choice box correctly
sorted (date-wise), but the choice box expects the content to be alphabetically sorted.
This is required for navigation (when you enter '1' it automatically lists all entries
starting with 1, that should be consecutive) but also for autocompletion. In general,
it would be difficult now to change the behavior for the choice box to expect unsorted
content.

I guess that the point for you is: how to handle correctly dates in the filter editor,
for dates to appear correctly sorted on the choice box?

One answer is to use a formatter yyyy.MM.dd instead of dd.MM.yyyy (FilterSettings.dateFormat
can be used for this as well). With this, the alphabetic order is the same as the natural
order.

This answer is probably wrong if your business model requires dates to have that very
specific format. Unfortunately, there is currently no alternative in the filter editor
to handle this case; as I said, it affects a few algorithm's logic and a solution requires
much more work that the patch you suggested.

I am writing a new issue to cover this scenario, using a different subject: "Allow
different sorting on choices box".

Best regards,

 L.

Original issue reported on code.google.com by coderazzi on 2012-11-28 13:04:58

(Original comment by coderazzi on 2012-12-18T10:34:26+00:00)
Hi, I have in fact started work on this issue. Elements in the popup are not treated
now as Strings, but as the associated column's type.
I have commited the changes into the repository, although the code is not yet final:
it works as expected, just the API is not yet final.
You can try it by downloading directly the code at the google site
(http://code.google.com/p/tablefilter-swing/source/checkout). If you
do so, you still need to do, on the columns where you expect natural
ordering: getFilterEditor().setAlphabeticalOrderOnChoices(false);

Again: the API will most likely change before release.

 L.

Original issue reported on code.google.com by coderazzi on 2012-12-18 10:34:26

(Original comment by coderazzi on 2013-03-12T23:09:48+00:00)
So, in the new release 5.0.0 choices are automatically sorted using the comparator for
the associated class. This is the default behaviour. It is possible to define different
comparators for the choices, which can be interesting to use, for example, inverse
sorting on dates, etc.
To revert to the original status (sorting alphabetically), it is needed to set the
choices comparator to null.

Original issue reported on code.google.com by coderazzi on 2013-03-12 23:09:48


Properly document the new member of the Steering Committee

Opening this in reference to PR #199, to keep track of the progress regarding that request:

@dptdgi, could you please post the rationale and background of the decision and introduce yourself as well?
Also, your profile should be open, possibily with an avatar, and clearly indicate whose username it is, who's the person behind it and your affiliation.
Thanks

Originally posted by @bfabio in https://github.com/publiccodeyml/publiccode.yml/issues/199#issuecomment-2485704087

Thanks @dptdgi. An open profile would improve the transparency though, because it indirectly signals your affiliation via the web of trust of the repos you committed and have access to. And as you said there's the issue of not being able to show the orgs - the user description is a poor substitute because it's user editable.
It would make things a lot easier for everyone without going through any loops.
Besides that, care to add an avatar to the profile?


API Design

Now that the base is set, the logical next step here is to design some sort of API.
For obj we need to be able to link to the mtl file. Maybe...?
<model-obj src="example.obj" src-mtl="example.mtl" />

For gltf we should be able to change the active camera. Maybe...?
<model-gltf src="example.gltf" active-camera="1" />

For stl we may want to display it in wireframe. Maybe...?
<model-stl src="example.stl" wireframe />

We may want to add specific controls too. I don't know if Web Components allow this sort of extension, but... maybe...?
<model-obj src="example.obj">
    <model-controls-trackball />
</model-obj>

It's easy to see how messy this can get unless there is a bit of discussion first. Anyone with experience designing HTML APIs? 😅

I made something like that you made. I'm glad if this can be helpful in your api design.
http://technohippy.github.io/three-canvas/

I made something like that you made. I'm glad if this can be helpful in your api design.
http://technohippy.github.io/three-canvas/

Nice! Looks lie a more threejs-y a-frame! 😀

<model src="xxx" type="fbx">
    <param name="xxx" value="xxx"/>
</model>

thie idea from flash
<object type="application/x-shockwave-flash" data="xxx.swf" width="100%" height="100%">
    <param name="wmode" value="direct" />
</object>

<tjs m-obj="example.obj" m-obj-mtl="example.mtl" />
<tjs m-gltf="example.gltf" tjs-cam="1" />
<tjs m-stl="example.stl" m-stl-wireframe />

@matrix3d that brings memories...

Hmm...
<model-3d type="obj" src="example.obj" src-mtl="example.mtl" />

<model-3d type="obj" src="example.obj">
    <param mtl="example.mtl" />
</model-3d>

Something I like about <model-obj> vs <model-3d type="obj"> is that the element itself is aware of it's own supported attributes. Otherwise we'll have to listen to all the possible attributes.
For reference:
https://github.com/mrdoob/model-tag/blob/master/src/model-gltf.js#L33

More ideas...
<script src="model-viewer.js"></script>
<script src="model-viewer-obj.js"></script>

<model-viewer type="obj" src="example.obj" src-mtl="example.mtl" />

There is already tag responsible for drawing graphics on the page. Why dont use that.
I mean <canvas>.
I know that threejs creates a <canvas> tag on the fly by container.appendChild( renderer.domElement );,  but if you look for <canvas> just after page loaded you can used it for reference.
Then you can read extension as a type of file and link with params.
Like .obj then look for mtl if empty load just model.
<canvas model="example.obj" mtl="example.mtl">

After you read all parameters replace <canvas> with proper renderer.domElement

I don't think modifying <canvas> is a good idea, nor I think it's possible. However, <canvas-3d> could be an option.

Then maybe:
<threejs model="example.obj" mtl="example.mtl" />
<tjs model="example.obj" mtl="example.mtl" />
<canvas-threejs model="example.obj" mtl="example.mtl" />

or
<script src="model-viewer.js" type="webgl/threejs"></script>

<webgl type="obj" src="example.obj" src-mtl="example.mtl" />

@mwronski WebComponents require -' in their tag names. So threejs', tjs' and webgl' are all impossible.

I wasn't aware of this.
In that case i will suggests:
<three-js data-model="example.obj" data-model-mtl="example.mtl" />
<three-js data-model="example.gltf" data-camera-active="1" />


Search for job by args.job_id

I can't easily query for a job at the moment (added using ActiveJob), because MyJob.perform_later.job_id returns uuid-style id and not the number of the job_id column.
What can we do to make job querying easier?

Change job_id from autoincrement to uuid (used by ActiveJob)?
Change json to jsonb, adding index (this would in general be a good idea)?

For now I just do a hack like this:
class Job < ActiveRecord::Base
  self.table_name = :que_jobs
  scope :args, ->(hash) { where("args::text LIKE ALL (?)", "{#{hash.collect{|k, v| ("%\\\"#{k}\\\":\\\"#{v}\\\"%") }.join(",")}}") }
end

I'm don't know why ActiveJob would return a uuid. I haven't looked at it, and with all the incompatibilities people have been reporting, I wouldn't really recommend using it.
To answer your questions, changing the format of the job_id isn't an option, since then there'd be no way to lock jobs if there's no unique integer to use. Changing the args column to jsonb feels like a bad default, since jsonb data tends to be larger than json, and I don't think most people would query on that column. And I don't think it should be configurable, because having the DB structures be dependent on configuration options would make migrations a lot more complex. I don't think it would be that hard to make Que not break if you manually changed the args hash to be jsonb - that appeals to me because Que is meant to be extendable and flexible. But I couldn't guarantee that it'd be supported in the future.

Can we rely on jsonb at all? it's only for >= 9.4

Yes, which is another reason not to make it the default.
I'm going to close this until/unless there's more interest in supporting jsonb as an option, but I'll also add that if you're only interested in querying jobs by a particular value in the args hash, an expression index is probably a better fix for you right now. It'll be something like (from memory, not tested):
CREATE INDEX que_jobs_args_job_id ON que_jobs (args->'id');

Then you could efficiently query like:
SELECT * FROM que_jobs WHERE args->'id' = 89


Every knex command prints usage first

Not sure why, but every knex command I run now prints usage. Even  a simple one like this first prints usage and then outputs the results:
$ npx knex -V
Usage:  [options] [command]
Options:
  -V, --version                   output the version number
  --debug                         Run with debugging.
  --knexfile [path]               Specify the knexfile path.
  --knexpath [path]               Specify the path to knex instance.
  --cwd [path]                    Specify the working directory.
  --client [name]                 Set DB client without a knexfile.
  --connection [address]          Set DB connection without a knexfile.
  --migrations-directory [path]   Set migrations directory without a knexfile.
  --migrations-table-name [path]  Set migrations table name without a knexfile.
  --env [name]                    environment, default: process.env.NODE_ENV || development
  -h, --help                      output usage information

Commands:
  init [options]                          Create a fresh knexfile.
  migrate:make [options] <name>           Create a named migration file.
  migrate:latest [options]                Run all migrations that have not yet been run.
  migrate:up [<name>]                     Run the next or the specified migration that has not yet been run.
  migrate:rollback [options]              Rollback the last batch of migrations performed.
  migrate:down [<name>]                   Undo the last or the specified migration that was already run.
  migrate:currentVersion                  View the current version for the migration.
  migrate:list|migrate:status             List all migrations files with status.
  seed:make [options] <name>              Create a named seed file.
  seed:run [options]                      Run seed files.
Knex CLI version: 0.20.7
Knex Local version: 0.20.7

# Environment
Knex version: 0.20.7
Database + version: PostgreSQL 11
OS: 10.15.2

I have the same problem with 0.20.7 while 0.20.6 seems fine.

There's an open PR to fix this right now: #3617


SIGSEV in xrAttachSessionActionSets() after calling xrSuggestInteractionProfileBindings() more than once

If we have multiple potential interaction profiles for a given device (as for HVR glasses were we have both 6DoF and 3DoF profiles) then we should call xrSuggestInteractionProfileBindings() multiple times. That's fine according to the spec.
However if you do that then the second call will fail with error
E/HxrInstance: [@SDK][HxrInstance.cpp:hxrAllocatePath](765): XR_ERROR_PATH_COUNT_EXCEEDED

And then after that when xrAttachSessionActionSets() is called the program will SIGSEV.
I found it working on Wolvic but I could reproduce it using HVRSDK_XrDemo. You just need to add an additional xrSuggestInteractionProfileBindings call and you'll get it.

feedback from HVR team:This problem needs to be further located.

I cannot reproduce it anymore with the latest .79 package

Close as confirmed by the developer this is resolved by the below apk:

Sorry but I was not and this is not fixed. We should reopen this. I'm still getting
2022-09-23 17:41:54.572 23821-24834/com.igalia.wolvic.dev E/HxrInstance: [@SDK][HxrInstance.cpp:hxrAllocatePath](765): XR_ERROR_PATH_COUNT_EXCEEDED
The error happens in the call to xrAttachSessionActionSets(). Seems that we can call xrSuggestInteractionProfileBindings multiple times, but the call to xrAttachSessionActionSets() SIGSEVs.
So please reopen this.

per developer:
Small correction here. #34 is not fixed. In OpenXR when registering the bindings for the actions of the controllers there are two calls that you use one after another, they're
xrSuggestInteractionProfileBindings()
xrAttachSessionActionSets()
Originally calling the 1st one multiple times was causing a SIGSEV (crash). Now, after .79, we can call the first multiple times but the second one is now crashing with the same error. So although technically the original issue is "fixed" the whole process of registering the bindings is still broken.

I think this is for the 3dof&6dof one apk, some suggestions, please help to test
1，about the manifest 3dof|6dof  ,it is the only flag indicated the app can support 3dof or 6dof or 3&6dof,
the VR runtime check the this flag and hardware,
if the app is 6dof but the hardware is 3dof , a 6dof app will not be launch, an  the runtime push a window to remind the user to install the 6dof camera kit.
if the app is 3dof, but the hardware is 6dof, it will be launch and run, and the app will run in 3dof.
2、so maybe you can try set the  manifest to 3dof|6dof， and  bindings for the actions of the controllers only run one time. only use the 6dof profile.
xrSuggestInteractionProfileBindings()
xrAttachSessionActionSets()
3，

I think this is for the 3dof&6dof one apk, some suggestions, please help to test
1，about the manifest 3dof|6dof ,it is the only flag indicated the app can support 3dof or 6dof or 3&6dof,
the VR runtime check the this flag and hardware,
if the app is 6dof but the hardware is 3dof , a 6dof app will not be launch, an the runtime push a window to remind the user to install the 6dof camera kit.
if the app is 3dof, but the hardware is 6dof, it will be launch and run, and the app will run in 3dof.
2、so maybe you can try set the manifest to 3dof|6dof， and bindings for the actions of the controllers only run one time. only use the 6dof profile.
xrSuggestInteractionProfileBindings()
xrAttachSessionActionSets()
3，use the xrGetSystemProperties() to get hardware capacity, and do different actions.

Yes, if I set the manifest to 3dof|6dofand use only the 6DoF profile that does not crash. But if I use more than one then it'll crash. For the short term we can live with that but it has to be fixed because it should be allowed to set more than one suggested binding.


Update grpc-netty to 1.41.0

Updates io.grpc:grpc-netty from 1.38.1 to 1.41.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.grpc", artifactId = "grpc-netty" } ]

labels: library-update, semver-minor

Superseded by #444.


MATLAB binding impl missing methods

In the MATLAB binding, implement a few methods that were missing or broken: env_list_all, env_action_space_info, env_action_space_sample, env_observation_space_info.

Thanks!


unhelpful warning environment task variable not assigned

https://github.com/adjtomo/seisflows/blob/099a8f0672b99b6f81241a58b4bcca8535d2cc8d/seisflows/tools/config.py#L133-L149
This warning is logged when jobs are run as single (not array). It was originally meant as a warning for when tasks were not assigned an environment variable by the system.run() function but it shows up when we do system.run(single=True) so it's not really a warning, which can be confusing. Probably want to either skirt this warning when we run single jobs, or remove altogether.

Completed with #230


You cannot set the username field of the user model from the CLAIM_MAPPING setting. Instead use the USERNAME_CLAIM setting

Hi @JonasKs
I am using custom user model in my Django REST Framework Application. My settings:
AUTH_ADFS = {     'TENANT_ID': '*********************',     'AUDIENCE': ''*********************',',     'CLIENT_ID': ''*********************',',    'RELYING_PARTY_ID': ''*********************',',     'USERNAME_CLAIM': 'upn',     'LOGIN_EXEMPT_URLS': [         '^api',  # Assuming you API is available at /api     ],     "CLAIM_MAPPING": {"first_name": "given_name",                       "last_name": "family_name",                       "email": "email"}, }
Username field in my User model is
USERNAME_FIELD = 'email'
But I am getting:
django.core.exceptions.ImproperlyConfigured: You cannot set the username field of the user model from the CLAIM_MAPPING setting. Instead use the USERNAME_CLAIM setting.
I really dont find any way to figure out this exception in env/lib/python3.8/site-packages/django_auth_adfs/config.py
Please help
Thanks

Try removing "email": "email" from your CLAIM_MAPPING.
The code in question:
# Validate setting conflicts
usermodel = get_user_model()
if usermodel.USERNAME_FIELD in self.CLAIM_MAPPING.keys():
    raise ImproperlyConfigured("You cannot set the username field of the user model the CLAIM_MAPPING setting. Instead use the USERNAME_CLAIM setting.")


Unable to estabilish connection with Facepunch.Steamworks 2.3.3

While the example seems to work as it should, with its included libraries, updating Facepunch.Steamworks to a newer version (2.3.3 from nuget) produces a connection error.
Steps to reproduce

Download, unpack this repo
remove from .csproj

<None Include="Facepunch/Facepunch.Steamworks.Posix.dll" />
<None Include="Facepunch/Facepunch.Steamworks.Win64.dll" />

delete ./Facepunch folder
add
<PackageReference Include="facepunch.steamworks" Version="2.3.3" />

dotnet restore in root directory
replace steam_api.dll and steam_api64.dll with versions from facepunch steamworks release (Unity/redistributable_bin/*)

run project, run exported project on separate steam account
host lobby, connect to lobby on second account, lobby joining works, but it breaks on trying to estabilish socket connection
error:
ERROR: System.Collections.Generic.KeyNotFoundException: The given key '76561198043000362' was not present in the dictionary.
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at Steam.SteamMultiplayerPeer.ProcessPing(SetupPeerPayload receive, UInt64 sender) in C:\personal\godot\projectsv4\SteamMultiplayerPeer-master\Steam\SteamMultiplayerPeer.cs:line 257
   at Steam.SteamMultiplayerPeer._Poll() in C:\personal\godot\projectsv4\SteamMultiplayerPeer-master\Steam\SteamMultiplayerPeer.cs:line 249
   at Godot.MultiplayerPeerExtension.InvokeGodotClassMethod(godot_string_name& method, NativeVariantPtrArgs args, godot_variant& ret)
   at Steam.SteamMultiplayerPeer.InvokeGodotClassMethod(godot_string_name& method, NativeVariantPtrArgs args, godot_variant& ret) in C:\personal\godot\projectsv4\SteamMultiplayerPeer-master\.godot\mono\temp\obj\ExportDebug\win-x64\Godot.SourceGenerators\Godot.SourceGenerators.ScriptMethodsGenerator\Steam.SteamMultiplayerPeer_ScriptMethods.generated.cs:line 270
   at Godot.Bridge.CSharpInstanceBridge.Call(IntPtr godotObjectGCHandle, godot_string_name* method, godot_variant** args, Int32 argCount, godot_variant_call_error* refCallError, godot_variant* ret)

SteamMultiplayerPeer.cs:373 -> AddConnection receives steamId equal to 0

Other than stability and feature completeness, it is useful to have facepunch as a nuget package, since exporting for different platforms is more streamlined.

Yeah I am using a pretty hyper specific version of both steamworks and the facepunch setup. At some point my idea is to upgrade the steam works api to the newest version, and rewrite the facepunch library pretty heavily. Unfortunately the nuget package version is missing some undocumented functionality or is out of sync with newer steamworks version IIRC.

I assume this is the source of the libraries? If so it is worth pointing out in the readme.

That is the source of the steam binaries but the facepunch setup was pulled from a branch that was a significant amount ahead of their nuget release. Getting the actual source and documenting it is a good idea though, I'll see if I can track where I got it from.


Allow downloading multiple containers

This re-enables downloading multiple images at once, since the v2 registry fixed the bug where trying to download redis or other images twice would break the daemon.

@jeffdm is this PR affected by this one: https://github.com/kitematic/kitematic/pull/399 ?

@Elesant should be independent

@jeffdm Awesome. LGTM then!

Merging


upgrade Docusaurus to 2.0.0 beta.21

Change Summary
This PR is to upgrade Docusaurus to 2.0.0 beta.21.
PR Checklist

[x] I have read and signed the Contributor License Agreement.

sorry Typesense team, I thought this was the supabase repo 😂

Hahaha! I appreciate the approval nevertheless @kiwicopple 😂
Thank you for the PR @burmecia!

Published this in v0.4.0


Fix Haptic glove transmission - HapticGloveModule

See https://github.com/robotology/walking-teleoperation/issues/136#issuecomment-1916788820

@EhsanRanjbari could you please rebase on top of master?

@S-Dafarra, it should be fixed now.

Could you rebase on top of master @EhsanRanjbari. Thanks

@EhsanRanjbari, was it intended to close this?

@EhsanRanjbari, was it intended to close this?

Oops, I deleted this by mistake. Fortunately I had it locally and I was able to recreate it. I opened a new branch (instead of a fork) and related PR here: https://github.com/robotology/walking-teleoperation/pull/143