Add Stuart as a collaborator on PyPI

I reserved the package name setuptools-pyproject-migration on both PyPI and Test PyPI by uploading an early version of the project and then deleting it - so the project pages aren't publicly visible, but I have control over the name. @sjlongland whenever you get around to it - and there's really no rush on this - send me your account(s) on both sites and I'll add you as a co-owner.

2023-07-04T18:23:00.471603+10:00 gapmx postfix/smtpd[4353]: connect from a27-186.smtp-out.us-west-2.amazonses.com[<IP_ADDRESS>]
2023-07-04T18:23:05.465167+10:00 gapmx postfix/smtpd[4353]: NOQUEUE: reject: RCPT from a27-186.smtp-out.us-west-2.amazonses.com[<IP_ADDRESS>]: 554 5.7.1 Service unavailable; Client host [<IP_ADDRESS>] blocked using dnsbl.sorbs.net; Currently Sending Spam See: http://www.sorbs.net/lookup.shtml?<IP_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>proto=ESMTP helo=<a27-186.smtp-out.us-west-2.amazonses.com>

… ahh great, so someone used Amazon SES to send spam, now pypi is blocked.  Fun stuff.
Okay, I have the account sjlongland on pypi… but test-pypi will take a little longer.  I'll have the same username there, once I get the email address verified. :-)

Done! (or, invites sent on both)


Pass options to babel-register when requireing it

nyc --requrie babel-register should provide a way to pass config to babel-register.
In my case I invoked Yarn via shelljs, and babel-register applied for the globally installed Yarn scripts, which is not expected. The result obviously should not be affected by code outside of the project itself. As babel-register doesn't look for .babelrc (not for now, will be resolved in Babel 7), I wish there was a way to pass options to babel-register when --requireing it.

The way to accomplish this is to create a helper module as such:
// test/helpers/register.js:
require('babel-register')({/* set options */});

Then use nyc --require test/helpers/register.js instead of directly requiring babel-register.  There is no user friendly way for us to take the options argument directly from command-line.


Provide API to be able to add Robot Framework listeners at runtime

This would be interesting to add a debugger at runtime (i.e.: it could be started from a keyword without any previous setup).

@fabioz - since libraries can register listeners, there is a option to register listener in runtime, e.g. https://github.com/sebastianciupinski/robotframework-listenerlibrary

Thanks, I think that should suffice for me. Closing this issue.


[kueuectl] Add short description for first level pass-through commands.

What type of PR is this?
/kind cleanup

What this PR does / why we need it:
Add short description for first level pass-through commands.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

/approve
@mbobrovskyi can we cherry-pick this to website?

/approve @mbobrovskyi can we cherry-pick this to website?

I think yes.

/lgtm
/cherry-pick website

Ah, we need to cherry-pick this as well...


bash configs/pretrain_r50.sh  ：KeyError: 'matcher_label' and

python -u main.py --coco_path /database/whk/coco --num_frames 1 --memory_support 1 --dataset_file coco --backbone resnet50 --masks --with_box_refine --rel_coord --epochs 12 --lr 1e-4 --lr_drop 4 10 --exp_name r50_pretrain --batch_size 4
Not using distributed mode
number of params: 42724653
loading annotations into memory...
Done (t=15.91s)
creating index...
index created!
loading annotations into memory...
Done (t=0.56s)
creating index...
index created!
Start training
0it [00:00, ?it/s]
Traceback (most recent call last):
File "main.py", line 256, in
main(args)
File "main.py", line 199, in main
train_stats = train_one_epoch(model, criterion, data_loader_train, optimizer, device, epoch, args.clip_max_norm,
File "/media/M2021/wanghongkai/whk/InstanceFormer/engine.py", line 57, in train_one_epoch
outputs, loss_dict = model(samples, targets, criterion)  # freeze_detr=False
File "/media/M2021/wanghongkai/whk/anaconda3/envs/instanceformer/lib/python3.8/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
result = self.forward(*input, **kwargs)
File "/media/M2021/wanghongkai/whk/InstanceFormer/models/online_segmentation.py", line 128, in forward
o_classes, o_cord, o_maks, top_mem, t_classes, supcon_ind, all_indices, idx_permute = transformer_postprocess(self, hs,memory, init_reference,
File "/media/M2021/wanghongkai/whk/InstanceFormer/models/segmentation_helper.py", line 118, in transformer_postprocess
indices = criterion.matcher(outputs_layer, gt_targets, frame, valid_ratios)  # todo check matching dat includes all frames
File "/media/M2021/wanghongkai/whk/anaconda3/envs/instanceformer/lib/python3.8/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
result = self.forward(*input, **kwargs)
File "/media/M2021/wanghongkai/whk/InstanceFormer/models/matcher.py", line 51, in forward
tgt_ids = torch.cat([v["matcher_label"][nf] for v in targets])
File "/media/M2021/wanghongkai/whk/InstanceFormer/models/matcher.py", line 51, in
tgt_ids = torch.cat([v["matcher_label"][nf] for v in targets])
KeyError: 'matcher_label'

The "matcher_label" does not exist for COCO dataset. Can you comment that line and run it. We will update the repository.
THe pretraining is not necessary as the pretained weights are already available at this link.


Acrolinx test

see https://dev.azure.com/ceapex/CPS/_workitems/edit/749438

Related Issues/PRs

#xxx
What changes are proposed in this pull request?
Briefly describe the changes included in this Pull Request.
How is this patch tested?

[ ] I have written tests (not required for typo or doc fix) and confirmed the proposed feature/bug-fix/change works.

Does this PR change any dependencies?

[ ] No. You can skip this section.
[ ] Yes. Make sure the dependencies are resolved correctly, and list changes here.

Does this PR add a new feature? If so, have you added samples on website?

[ ] No. You can skip this section.
[ ] Yes. Make sure you have added samples following below steps.

Find the corresponding markdown file for your new feature in website/docs/documentation folder.
Make sure you choose the correct class estimators/transformers and namespace.
Follow the pattern in markdown file and add another section for your new API, including pyspark, scala (and .NET potentially) samples.
Make sure the DocTable points to correct API link.
Navigate to website folder, and run yarn run start to make sure the website renders correctly.
Don't forget to add <!--pytest-codeblocks:cont--> before each python code blocks to enable auto-tests for python samples.
Make sure the WebsiteSamplesTests job pass in the pipeline.

Acrolinx Scorecards
A minimum Acrolinx score of 80 is required.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology.

Article
Acrolinxscore
Word andPhrases Score
CorrectnessScore
Scorecard
Processed

website/docs/about.md
77
72
72
link
:white_check_mark:

More information about Acrolinx

Install Acrolinx locally for VSCode
False positives or issues
Troubleshooting issues with Acrolinx


[Feature] Use getVideoPlayerOptions to support CldVideoPlayer

Is your feature request related to a problem? Please describe.
getVideoPlayer options was released as a function available in the @cloudinary-util/url-loader package allowing us to maintain the logic to support the component in a shared module.
Using it is as simple as passing the options / props directly to the function, returning the options that will then be passed to the player.
const playerOptions = getVideoPlayerOptions(props, config);
videoPlayer(videoRef.current, playerOptions);

An additional argument is the config object, which is shaped as ConfigOptions, currently being used in the library.
Next Cloudinary: https://github.com/cloudinary-community/next-cloudinary/pull/478
Cloudinary Util: https://github.com/cloudinary-community/cloudinary-util/pull/157

Hey @colbyfayock
Thanks for this issue. I will add it to the plan for the next RC version :)

Hey @colbyfayock
I tried to add it to the module but I am experiencing some strange issues. Have you encountered something like this before?

i haven't seen this before, did you try to see if it produces that error without passing it into the videoPlayer? or if you hardcode the cloudName into the config?
this is the code:
https://github.com/cloudinary-community/cloudinary-util/blob/main/packages/url-loader/src/lib/video-player.ts
i'm unfamiliar with what validators-functions.js is and im not getting any results on google trying to search for it


C++: Implement dominanceFrontier with recursion

This implementation is borrowed from Java's QL library and offers a great performance improvement. For example, on Wireshark the performance goes from
Dominance::bbDominates#ff ....... 40.3s
SSAUtils::dominanceFrontier#ff .. 30s

to
SSAUtils::dominanceFrontier#ff .. 418ms (executed 67 times)

The big performance problem before was the need to materialize bbDominates, which is the reflexive-transitive "basic block dominates" relation. It had 79 million rows on Wireshark.

I expected to find a similar performance problem in the IR, but it doesn't seem to be so severe. It may just be that there are fewer basic blocks in the IR, allowing the dominance relation to fit in RAM. In any case, I'd like to observe a real problem before copying this solution to the IR.


Notification Issue

Hi Helper Team,
I am facing an issue where, after clicking on any notification, the URL changes to localhost. and How can we setup the application in shared hosting (hostinger). Please help!
Thanks

Hey,
Check in .env file to see if you have set up the application url
APP_URL=http://localhost:8000

If there are issues reopen this.


Report function does not work

Hi, I just installed the package from pip. I was running the tutorial and failed to get the visualizations.
Reproduce:
from simglucose.simulation.env import T1DSimEnv
from simglucose.controller.basal_bolus_ctrller import BBController
from simglucose.sensor.cgm import CGMSensor
from simglucose.actuator.pump import InsulinPump
from simglucose.patient.t1dpatient import T1DPatient
from simglucose.simulation.scenario_gen import RandomScenario
from simglucose.simulation.scenario import CustomScenario
from simglucose.simulation.sim_engine import SimObj, sim, batch_sim
from datetime import timedelta
from datetime import datetime

# specify start_time as the beginning of today
now = datetime.now()
start_time = datetime.combine(now.date(), datetime.min.time())

# --------- Create Random Scenario --------------
# Specify results saving path
path = './results'

# Create a simulation environment
patient = T1DPatient.withName('adolescent#001')
sensor = CGMSensor.withName('Dexcom', seed=1)
pump = InsulinPump.withName('Insulet')
scenario = RandomScenario(start_time=start_time, seed=1)
env = T1DSimEnv(patient, sensor, pump, scenario)

# Create a controller
controller = BBController()

# Put them together to create a simulation object
s1 = SimObj(env, controller, timedelta(days=1), animate=False, path=path)
results1 = sim(s1)
print(results1)

from simglucose.analysis.report import report
import pandas as pd
from pathlib import Path

result_filename = './results/adolescent#001.csv'
df = pd.read_csv(result_filename, index_col=0)
report(df)

I found all errors raised in the plot function is regarding to BG which is defined by BG = df.unstack(level=0).BG. I tried both single day/ >1 days and looks the plot functions always raise error. What shape should BG be?

This might be a dependency issue. Mine is good. I feel there is some updates in pandas causing this issue, but I agree the report function is written in quite a messy way. I will need to install the latest pandas and debug more.

I also met a similar issue when generating report:
Traceback (most recent call last):   File "/home/alan/simglucose/sim_origin.py", line 6, in <module>     simulate(start_time=datetime.combine(datetime.now().date(), datetime.min.time()),controller=BBController(),cgm_seed=123412,animate=False,parallel=True)   File "/home/alan/simglucose/simglucose/simulation/user_interface.py", line 383, in simulate     results, ri_per_hour, zone_stats, figs, axes = report(df, save_path)   File "/home/alan/simglucose/simglucose/analysis/report.py", line 251, in report     ri_per_hour, ri_mean, fig_ri, ax5 = risk_index_trace(BG, visualize=False)   File "/home/alan/simglucose/simglucose/analysis/report.py", line 102, in risk_index_trace     fBG_df = pd.concat(fBG, axis=1).transpose()   File "/home/alan/.local/lib/python3.10/site-packages/pandas/core/reshape/concat.py", line 372, in concat     op = _Concatenator(   File "/home/alan/.local/lib/python3.10/site-packages/pandas/core/reshape/concat.py", line 462, in __init__     raise TypeError(msg) TypeError: cannot concatenate object of type '<class 'numpy.float64'>'; only Series and DataFrame objs are valid
My dependencies are:
pandas: 2.0.2
numpy: 1.24.3
Python: 3.10.6


RSA example plot missing

https://mne-tools.github.io/dev/auto_examples/decoding/decoding_rsa.html#sphx-glr-auto-examples-decoding-decoding-rsa-py
There should be an image here right?
@kingjr @larsoner

No, does not start with plot_ (what SG actually plots) so this is by design. The dataset is too big for our automated build system.
Feel free to add a comment if you think it would help users

No, makes sense.


Selected Stories - Unable to close the pop-up

Bug Description

When selected stories block is selected an pop-up is shown to select the stories, but say if I don't want to select any story and come out of the block, I would click on close pop-up, but on doing so the pop-up is not getting closed.

Instead the pop-up is getting reloaded.

Expected Behaviour

On clicking on X mark the pop-up should be closed even if stories are not selected.

Screenshots
https://user-images.githubusercontent.com/41000648/107360773-67c1f780-6afc-11eb-9ae3-d225e8d6e196.mp4

This issue has been addressed


Question: How to test that mavlink works?

Hi,
Thank you for creating and contributing to this useful project.
I'm struggling to understand the flow of data and hope that you can shed some light on it. Where can I test that I can start/top etc. the camera through mavlink commands? I was hoping this would work with QGrouncControl.
As I understand it, there are 4 components involved:

A drone running a flight controller that speaks Mavlink. Or a sitl like ArduPilot sim_vehicle.py
mavproxy
mavlink-camera-manager
A GCS like QGroundControl

Which components are connected together? I assumed that QGroundControl and mavlink-camera-manager, there is no need to involve the flight controller. But I'm starting to think that his is wrong. Because I can't get it to work:
I followed the example in the Readme and issued the following commands:
./Tools/autotest/sim_vehicle.py -v ArduCopter

./mavlink-camera-manager-linux-desktop --verbose --mavlink-system-id 1 --mavlink tcpout:<IP_ADDRESS>:5760

./QGroundControl.AppImage

I then changed the QGroundControl Application settings to listen on port 5600 for a UDP stream. Once configured in the UI of mavlink-camera-manager, the video shows up in QGroundControl.
When I check the output of mavlink-camera-manager, it doesn't say anything about a successful mavlink connection. It is outputting the same debug message about mavlink HEARTBEAT, regardless of weather QGroundControl is running or not.
2024-10-22T10:47:17.984371Z DEBUG sender_loop: src/lib/mavlink/manager.rs:175: Message sent: MavHeader { system_id: 1, component_id: 100, sequence: 0 }, HEARTBEAT(HEARTBEAT_DATA { custom_mode: 0, mavtype: MAV_TYPE_CAMERA, autopilot: MAV_AUTOPILOT_INVALID, base_mode: (empty), system_status: MAV_STATE_STANDBY, mavlink_version: 3 })

What am I missing here?

Hi @phuesler,
Yeah, the exactly thing you are missing is to ask for mavproxy for an exclusive endpoint for mavlink camera manager.
./Tools/autotest/sim_vehicle.py -v ArduCopter --mavproxy-args --out=tcpin:<IP_ADDRESS>:5777

and then:
./mavlink-camera-manager-linux-desktop --verbose --mavlink-system-id 1 --mavlink tcpout:<IP_ADDRESS>:5777

I hope this helps,
thanks!

Thanks for your quick reply and for taking the time.
Unfortunately I see still the same behavior, issuing the above commands.

mavlink-camera-manager is sending mavlink messages to mavproxy who sends it to the autopilot?
mavlink-camera-manager is broadcasting its mavlink heartbeats announcing its camera?
Does QGroundControl send the camera related messages to ArduPilot and not mavlink-camera-manager directly?
What is the expected behavior in QGroundControl when it 'works'?

If it helps, I see this in the SITL console:
COMMAND_ACK: REQUEST_CAMERA_INFORMATION: UNSUPPORTED

Hi @phuesler,
sorry for my late reply, I hope you already got it working. In any case, here is my answer for your questions:

mavlink-camera-manager is sending mavlink messages to mavproxy who sends it to the autopilot?
Correct. You can also use Mavlink Server as an alternative router:

mavlink-server tcpclient:<IP_ADDRESS>:5760 udpserver:<IP_ADDRESS>:14550 tcpserver:<IP_ADDRESS>:5777 --verbose

mavlink-camera-manager is broadcasting its mavlink heartbeats announcing its camera?

Correct, as long as you don't check the Disable Mavlink box when configuring your stream.

Does QGroundControl send the camera related messages to ArduPilot and not mavlink-camera-manager directly?

Correct, any mavlink client sends data to someone who routes them to the target or broadcasts it to everybody.

What is the expected behavior in QGroundControl when it 'works'?

When it works, it should show Connected on the topbar, and any stream configured on MCM should be available.
I just ran a localhost test here, and for QGC to communicate just fine:
https://github.com/user-attachments/assets/20e5f7fe-982a-433d-a00c-8666bfaa8123
Let me know if you need more help, have a great week!

oops, I just noticed that my test was using a stream configured on udp://<IP_ADDRESS>:5600, and QGC was getting it automatically without using the Mavlink protocol. When I changed it to udp://<IP_ADDRESS>:5601, it received no streams.
I'll do some more testing here, but my first suspect is that maybe the autopilot isn't doing the routing.

well, that's definitely a router configuration problem. I'm not very familiar with mavproxy, but this worked:
Tools/autotest/sim_vehicle.py -v ArduCopter --mavproxy-args '--master=tcp:<IP_ADDRESS>:5760 --master=tcpin:<IP_ADDRESS>:5777 --master=udpin:<IP_ADDRESS>:14550'

mavlink-camera-manager --verbose --mavlink tcpin:<IP_ADDRESS>:5777

Hi @joaoantoniocardoso,
Thank you very much for taking the time. Now it indeed seems to work. ArduPilot shows that Links with new components and QGroundControl let's me inspect the camera's settings, which wasn't the case before. I used the commands above as with the latest camera manager release and the latest qgroundcontrol release.
I will run some more tests with missions, but so far so good. Once again, thank you. I appreciate you taking the time.

Good to know!
Btw, I don't know what your project is about, but maybe you could benefit from using BlueOS and Cockpit, which has Mavlink Server and other handy tools.
I'll close this for now, we can reopen if needed, so let me know if you need more help.


semiotic breakdown (lack of binary signifies/signified combinations)

if semiotics have taught me anything, its that I'm missing signifiers to particular signified objects.
In particular, multiple signifiers when combined equate to a single signified, (which in my language, and every other language) remains unamed.  The point is, take either model of a sign (saussure to pierce), and make sure we can reprsent the language recursively in this way at the level of visible signs.  and ensure they can be disjoint from other signs.  This is an important realiszation, because I've already noticed myself doing this on multiple occasions.  On the other hand, its essentially an argument against composition for everything being associated.  (Don't worry, the transcompilation process will still use composition).  But what I'm saying is, we express composition in the language not through composition itself, but through association.
We also allow for areas to bundle concepts/tokens/signs and give them their own name (signifier) to be used elsewhere.
so lets take a [mr][int][val].
This becomes its own language level concept that could be named (and in many times be implicitly named for you)
[changeable_val]
[mr][int][val]
/\ example not that important.
But now multiple functions can use [changeable_val] directly.
We've already done the same thing with dependencies (module/header/link/etc) onto types.
What does this mean for the language?  It means the user (if they want to be more granular; and in customizable cases will be enforced to) specify closer to (signifiers)->signified where each signified is used as part of another level of a signifiers part to create another signified.
Ideally we want the (signifiers) to only be one name or one symbol, we may relax this on more discrete cases (such type annotations for parameter passing as talked about above)
Keep in mind, this is already a compositional association we did for sharing a data member between two structs, and how we build structs today.  (more generally, I mean product/sum types)  We give the data members their parent relations.

I think we will also be able to pull some ideas of "Semiotics of Programming" by Kumiko


Fix github-release action when the dev tag is missing

There was a missing rest field access. In addition createTag doesn't actually create a tag, it creates a tag object. A tag object is an object which references a commit or other kind of object and has various kinds of metadata. You need to store it in a reference stored in refs/tags/ to actually show as tag in the git ui. The code to update the tag however creates a lightweight tag (which is a file in refs/tags/ which directly references a commit rather than a tag object) as such do the same when creating the initial dev tag by using createRef with a commit id as object sha.
See also https://git-scm.com/book/en/v2/Git-Internals-Git-References for the difference between a lightweight tag and an annotated tag.

I found this while trying to reuse this action in cg_clif.


marked as static in podspec

Tested by adding this to an existing project's podfile pod 'SnapKit', :git => 'https://github.com/Cyberbeni/SnapKit.git', :branch => 'static-framework' and then running pod install and building the app.

https://github.com/SnapKit/SnapKit/issues/504


Gradle Sync Fails

After following the instructions in the README to add this module to my android/setting.gradle file and my android/app/build.gradle file, gradle sync fails with this error:
Configuration with name 'default' not found

Also, the instructions on registering the module in the MainActivity.java seem to be out of date, newer versions of RN for Android just have you add a new package instance to a list like so:
   /**
   * A list of packages used by the app. If the app uses additional views
   * or modules besides the default ones, add more packages here.
   */
    @Override
    protected List<ReactPackage> getPackages() {
        return Arrays.<ReactPackage>asList(
                new MainReactPackage(),
                new Vibration()  // <- Add new package here
        );
    }

Has anyone else run into any problems adding this module to their android projects?

You need to add the line:
include ':ReactNativeVibration', ':app'
to settings.gradle somewhere before the line:
project(':ReactNativeVibration').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vibration/android')
and after the line:
include ':app'


Completed kata still being reported as not completed in kata detail page

Describe the bug
So i just completed this kata, (more exactly, i clicked submit my solution). And suddenly redirected to the solutions page as usual but seeing

The 4 point honor was added (39888 -> 39892), and it is both reported as completed on /{user}/completed page and /kata list page

But not on the kata detail page or trainning page

// I missed the screenshot for the detail page, but the button was TRAIN instead of TRAIN AGAIN IIRC
To clearify, im the only one completed it so far.
And i was not logged out during the whole process.
PS. I will not submit again before someone can investigate it.
┆Issue is synchronized with this Clickup  by Unito

Not exactly the same issue, but I think it might be relevant:
I have completed a kata, voted on it, it is in my profile under 'Solutions', I can see my solution under the solutions tab in the kata page, but it still shows up in my filtered search among the 'kata I have not completed' (1st pic).

This is happening for me too for this kata. I tried the kata back when it was beta and just completed it, however solutions are not unlocked.
It seems that when this happens, the saved solution associated with the kata is gone and the kata won't be displayed as solved.

It's not that solution is completely gone, usually there is some trace that it was accepted. For me, it's usually "Kata" tab in my profile - they always appear there for me, although on kata page I get no "train again" and solutions are hidden.

Yesterday hit the problem twice, and it happens to be more and more common. Or, at least, not as uncommon to be called just a 'glitch'. I noticed that incorrectly recorded solutions miss "Discuss" link in Profile/Solutions view, and there's quite a lot of these - I'd estimate it as 10% of all solutions do not have the link, so they are probably affected by this bug (and I have a scraper for these, so I can count exactly if someone wants). Quite a few.

My question would be, when such situation is encountered, what should we do and what should not we do? After fix is done, will invalid solutions disappear or be fixed? Do we need to have at least one correctly recorded solution to make everything ok after the fix, or the incorrect ones will be fixed?

Indeed I'm seeing both of them:

The problem is, the belong to the same project, but with a different session. The top one is
https://www.codewars.com/kata/projects/5c879f967aabc44ea5d7eefe/agda/session/5c8b5abba99b9c000d07d828
which is visible to me when I do a post request to it, while the bottom is
https://www.codewars.com/kata/projects/5c879f967aabc44ea5d7eefe/agda/session/5c879f985253b04f7f198347
which doesn't even return 403, it returns 404. So the session has completely disintegrated or something.

@kazk I recall a long time ago when there was a preview link to CW with the project interface (like the one in qualified.io?) that has the entire directory listing and several code editor blocks. Does it have to do with this?

Interesting follow-up: when issue creates two sets of solutions, I can choose into which set I submit solutions from now on. So when I accidentally got two Java solutions for one kata, I was able to submit Haskell solution twice too, once for each "set":

It kinda sucks, because all numbers get really skewed then - I get honor, total progress and language progress counted as many times as there are "sets" :(

I'll try to explain what's going on in more detail expanding on https://github.com/Codewars/codewars.com/issues/1683#issuecomment-456951790.
This should also help me to organize my thoughts.  I might create a new issue later from this and pin it so I can point to it from the issue caused by this.
Background
Codewars stores a user's activities (progress, session, solutions, votes, etc) for a code_challenge (kata) in a document called project. So a project is supposed to be the source of truth. project has foreign keys user_id and code_challenge_id so Codewars can look up this information whenever needed. We have 19.6 million projects.
project obviously needs to be unique to (user_id, code_challenge_id) and Codewars assumes this. A new project is only supposed to be created when project with the same id pair doesn't already exist. But it's very unclear when a project gets created because of the ORM's implicitness, and it seems like a new project is being created without this check in some conditions (I haven't figured this out yet). Also, this uniqueness is not enforced at the database level and therefore leaves some space for race conditions. This has been happening for at least few years and the frequency increased recently. The increased frequency is caused by either the database driver update or the increased number of users and projects.
Problems
project is sometimes not unique and is causing all kinds of bugs.
Completed kata not marked as complete/Withheld solutions after submit final
Codewars checks if a user completed a kata by looking up the information in project.
This assumes that project is unique so the information can be wrong if a wrong project was returned.
{id: p1, user_id: u1, challenge_id: c1, completed: false}
{id: p2, user_id: u1, challenge_id: c1, completed: true}

The reason why multiple solutions show up in profile is that Codewars looks up all projects of a user.
Clicking "Refactor" results in empty editor
Failing to look up the correct project where the solution is embedded in.
{
  id: p1,
  user_id: u1,
  challenge_id: c1,
  languages: [
    {
      id: l1,
      language_name: 'javascript',
      solutions: [{ id: s1, solution: 'some code' }]
    }
  ]
}
{
  id: p2,
  user_id: u1,
  challenge_id: c1
}

Finding solution s1 fails when looking up the project for challenge_id and user_id returns the second one.
Work in progress solution is gone after reopening trainer
A different project was returned which doesn't contain the work in progress solution.
Other Problems
We have some other issues that are often considered related to the issues mentioned above by the users.
Solution not listed in kata's solution page/Missing "Discuss" link
This is caused by the solution failing to be grouped (including being in its own group).
There was a major data integrity issue that was causing this to happen very frequently which I've fixed, but this is still happening in some unknown conditions.
Not marked as completed in search result
There's a separate list of completed kata ids that's being used for this and seems to get outdated sometimes.

@Voileexperiments

The problem is, the belong to the same project, but with a different session.

No, you have two projects.
The first one belongs to project with id 5c879f967aabc44ea5d7eefe and the second one belongs to project with id 5c879f96acf4894b0c349a1b.

@kazk I recall a long time ago when there was a preview link to CW with the project interface (like the one in qualified.io?) that has the entire directory listing and several code editor blocks. Does it have to do with this?

 I wish it was at least consistent like that.

@hobovsky

when such situation is encountered, what should we do and what should not we do?

Submitting multiple times can create duplicate solutions in multiple projects so it's not ideal, but I don't think it matters much at this point. The data is already really messed up over the past few years. We can't provide short term solution for this issue and users might be able to see others' solution or get honor points by doing it so I understand.

After fix is done, will invalid solutions disappear or be fixed? Do we need to have at least one correctly recorded solution to make everything ok after the fix, or the incorrect ones will be fixed?

I still need to figure out the impact of this by analyzing 19.6 million documents before deciding what to do, but the highest priority will be obviously to preserve users' work. So we'll have at least one solution and maybe some extra if it's too difficult to determine. Other metadata like timestamps might be lost or altered. Again, I haven't decided how to approach this yet.

https://www.codewars.com/users/Elmavis
The same problem: #1779

Just happened to me on an SQL kata

Happened to me on this kata - https://www.codewars.com/kata/who-likes-it/solutions/csharp
I'm able to see solutions and I have a "Train Again" button, but neither my solution is included in the list, nor the kata is marked as completed for me.

Hello. I've experienced this bug. Today on 2 Katas I had following behaviour:

I type in solution, check with testcases.
Push an "Attempt" button, get honor and get a "solution" and a "kata solved mark in my profile".
Other users solutions are not unlocked, so I go to my profile, copy solution and re-submit.
Other users solutions are now opened, I get honor again and "get another kata solved".

In the past the solutions for the same kata were under single header, now they are like on different headers for the same kata, so it is possible to doublesolve same kata and get honor twice with this bug.

Links for Katas:
https://www.codewars.com/kata/5287e858c6b5a9678200083c
https://www.codewars.com/kata/526233aefd4764272800036f
Link to my profile:
https://www.codewars.com/users/AlexPutz

Hello.
At least I can consistently reproduce it.

https://www.codewars.com/kata/perimeter-of-squares-in-a-rectangle/c

https://www.codewars.com/kata/53da6d8d112bd1a0dc00008b/solutions/c

Same here. Tried it twice but can't see the other solutions. In my profile solutions they are duplicated.

Just encountered this issue for the first time with https://www.codewars.com/kata/5d1dd2ba7c046b0023724882/ :

I'm getting this issue as original reported for solutions in 2 languages for https://www.codewars.com/kata/54b42f9314d9229fd6000d9c
First the C solution submission seemed to time out and meant that the solutions was partially submitted. It also seems like this leaves things in a bad state as the Haskell solution submission resulted in the same issue only without any apparent time out.

The issue happen to me for first time today. The page was also loading really slow while all my other sites were loading fast. I reloaded the page and submitted solution again.

@kazk without knowing about the data sensitivity nature of the problem... but thought about dropping something like a 1kyu bounties for support in fixing some bugs on the platform like this one?

I clicked on 'submit solution' and I got an error such as: "You need to complete this task in order to check solutions of other people" then I returned back and submitted my code again and it worked fine but it gave me an extra honor because I repeated this actions 3 times with another submitted solutions (at the third time I have completed this task with more clear code) and then I checked my profile and I have amazed because now I got 100 honors instead of ~30-40 for JUST ONE KATA.
kata - https://www.codewars.com/kata/range-extraction/python
my profile - https://www.codewars.com/users/OlegRadchenko

It is still not rectified in 2019 Aug.Why the hell ,code wars are not resolving this bug.My impression on code wars is lost due to this bug.

I ran into this issue for the first time (the first time I remember) two times in the past week and I just recently got codewars red. Does it have anything to do with codewars red or is it just coincidence and is just there being duplicate projects?

@MP7373 it's not related to Codewars Red.

Whatever is going on, the problem initially and randomly would not allow me to see Kata solutions (sometimes old ones and sometimes new ones after completion, even 8 kyu challenges with an access warning). Now it's extended to being all the time, on multiple browsers (regardless of logging in/out again which would resolve the "issue" in the past) and now I get an "Unauthorized" error when trying to leave a comment. I used to use CodeWars daily but now use it rarely, but started up again to complete Kata's with a friend who is learning to code.

@aliasfoxkde what's your CW's username?

It's aliasfox

Your account have been restricted because evidences of plagiarism have been found (a lot).

That's interesting because I've solved every Kata first and then have gone back to refactor solutions more cleverly, often more condensed and shorter, which is what CodeWars seems to lend toward (more clever than maintainable code). It doesn't break any rules and being most things are solved the same way, it is also hardly plagiarism . But if that's the system, I guess it is what it is. I also never received a message and still get daily Kata updates. That sounds like a bug to me. Thanks.

[...]  It doesn't break any rules

Refactoring, no it doesn't. But that's not the reason why your account got restricted.
Sorry, but when looking at your solutions data, it's absolutely obvious you didn't solve the hard kata "on your own" (nothing in 4 kyu or harder).

I also never received a message

Effectively, that isn't implemented so far. Dunno if that will be done.
The kata updates aren't related to the account restriction, so no bug there.

I read through the "Code of Conduct" and "Privacy Policy" and I didn't explicitly violate them, but I see looking at your account on GitHub that you did: "Please do not post your solutions on Github.". I do have another account with have more progress, but I digress. I don't mean disrespect, but if you're going to hold someone accountable, hold them (including yourself) to a standard.
You might need a refresher, so here's some reading material:
Links:
https://docs.codewars.com/community/rules/
https://www.codewars.com/about/privacy

I didn't explicitly violate them

Completing kata using solutions of other users is not "honorable" in any way...

(including yourself)

'beg you pardon??

May I ask why my account was closed? Username: My_brain_is_gone. I'v lost no opportunity to see other users solutions

May I ask why my account was closed? Username: My_brain_is_gone. I'v lost no opportunity to see other users solutions

It was temporarily muted for use of bad language in comments. The lock is not permanent, it will be removed soon.

From now on I'll know that

May I ask why my account was closed? Username: My_brain_is_gone. I'v lost no opportunity to see other users solutions

It was temporarily muted for use of bad language in comments. The lock is not permanent, it will be removed soon.

From now on I'll know that there are Russian-speaking moderators on CW


Windows Server not work

My server not work

Hey! Looks like you are missing the .net runtime environment, you can get the required v7 version from here: https://dotnet.microsoft.com/en-us/download/dotnet/7.0

Hi, I have the same issue. Installing the runtime did not solve the issue for me. I'm also on Windows Server, any other ideas?

Hi, I have the same issue. Installing the runtime did not solve the issue for me. I'm also on Windows Server, any other ideas?

Could you share a picture of your console output here? 👀

Hi, I have the same issue. Installing the runtime did not solve the issue for me. I'm also on Windows Server, any other ideas?

Could you share a picture of your console output here? 👀

It is identical to the previously posted screenshot. I have also tried switching from windows server to win 11 but to no avail.
I am using azure vms for this. It works fine on my local pc though.

it's good for me


vimPlugins.null-ls-nvim: init at 2021-07-14

Motivation for this change
Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
https://github.com/jose-elias-alvarez/null-ls.nvim
path is overidden because it looks for null-ls.nvim in rtp here
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 130418 at 43260afe run on x86_64-linux 1

3 packages built successfully:

spacevim
tests.vim.test_vim_with_vim_nix
vimPlugins.null-ls-nvim

2 suggestions:

warning: missing-phase-hooks
buildPhase should probably contain runHook preBuild and runHook postBuild.
Near pkgs/misc/vim-plugins/build-vim-plugin.nix:28:14:
   |
28 |       inherit unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
   |              ^

warning: missing-phase-hooks
configurePhase should probably contain runHook preConfigure and runHook postConfigure.
Near pkgs/misc/vim-plugins/build-vim-plugin.nix:28:14:
   |
28 |       inherit unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
   |              ^


Added compileOnly to "api" dependencies in plugins.

Fixed issue: #123
Same as: https://github.com/decebals/pf4j/blob/master/demo/api/pom.xml#L32

Coverage remained the same at 13.648% when pulling 0f61cbe5b8d9e80f5bb6fac2aa807ada00569a31 on lyze237:master into f6d6db326a2d2ae61d0b42dd7337b5c17e84bef1 on decebals:master.

Coverage remained the same at 13.648% when pulling 0f61cbe5b8d9e80f5bb6fac2aa807ada00569a31 on lyze237:master into f6d6db326a2d2ae61d0b42dd7337b5c17e84bef1 on decebals:master.

Thanks!


240-dolly-2-instruction-following uses a deprecated Gradio API (enable_queue=True)

Describe the bug
A clear and concise description of what the bug is, including steps to reproduce the bug if possible.
With the latest version of Gradio (4.0.2 in our tests), the enable_queue=True parameter has been changed to queue().
Using enable_queue makes the demo crash (see screenshots)
Dolly is using enable_queue, so the demo can't run with latest Gradio: https://github.com/openvinotoolkit/openvino_notebooks/blob/main/notebooks/240-dolly-2-instruction-following/240-dolly-2-instruction-following.ipynb?short_path=5d88ad5#L702-L706
Expected behavior
A clear and concise description of what you expected to happen.
Demo should run with latest gradio versions
Screenshots
If applicable, add screenshots to help explain your problem.
With enable_queue=True

With queue()

Installation instructions (Please mark the checkbox)
[  ] I followed the installation guide at https://github.com/openvinotoolkit/openvino_notebooks#-installation-guide to install the notebooks.
** Environment information **
Please run python check_install.py in the openvino_notebooks directory. If the output is NOT OK for any of the checks, please follow the instructions to fix that. If that does not work, or if you still encounter the issue, please paste the output of check_install.py here.
Additional context
Add any other context about the problem here.
This is on Developer Cloud for the Edge (but I am guessing it is also reproducible in other environment)

@itrushkin  could you please take a look?

PR 1422 with fix has been merged to main branch. Closing this as issue has been addressed. Feel free to reopen and ask any questions related to this topic.


Add dependabot.yml to detect new rf releases #436

Closes #436

Codecov Report

Merging #539 (615d535) into master (022c69a) will not change coverage.
The diff coverage is n/a.

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

@bhirsz you have to enable/activate dependabot for the project

@bhirsz you have to enable/activate dependabot for the project

Looks like it's working:


Documentation / New package built for python to use helm

Hello!
I just finished creating a package that makes it very easy to use Helm using python objects which get translated to a Helm chart. I was wondering if it would be possible for my package to be listed under Additional Tools so that it's easy for others to find.
For reference the package is called avionix and you can also find the documentation here

Certainly. PRs are welcome over at https://github.com/helm/helm-www


[cli] kubectl not found in docker image

Rancher versions:
rancher/cli: v2.0.2-rc1
Steps to Reproduce:
docker run --rm -it -v <PATH_TO_CONFIG>:/root/.rancher/cli2.json rancher/cli kubectl

Results:
FATA[0000] kubectl is required to be set in your path to use this command. See https://kubernetes.io/docs/tasks/tools/install-kubectl/ for more info. Error: exec: "kubectl": executable file not found in $PATH

I had the same issue and this worked for me.
wget https://storage.googleapis.com/kubernetes-release/release/v1.6.4/bin/linux/amd64/kubectl
docker run -it \
  -v /root/.rancher/cli2.json:/root/.rancher/cli2.json \
  -v /root/kubectl:/usr/local/bin/kubectl \
  rancher/cli:v2.0.2-rc1  kubectl

Basically kubectl is missing from the docker image and therefore fails.
https://github.com/rancher/cli/blob/master/cmd/kubectl.go#L28

Any news on this? It's pretty useless to have a rancher/cli2 image without kubectl

There are a lot of attempts to have this: https://hub.docker.com/search?q=rancher-cli-k8s&type=image but having an official one is the way.


Internet Explorer 11 support is poor with Docusaurus V2

🐛 Bug Report
Navigating to v2.docusaurus.io using Internet Explorer 11 (in my case version 11.1565.16299.0) does not yield good results. I first discovered this about a week ago where doing so would yield a semi-broken site (not being able to open sidebar categories, many visual elements not displaying correctly etc.) but trying it just now, I actually just get a bunch of HTML displayed instead of any site (see picture below).
IE support is important for me personally, so better IE support would definitely be great.
Have you read the Contributing Guidelines on issues?
Yes.
To Reproduce

Open IE 11
Navigate to v2.docusaurus.io
No site is displayed

Expected behavior
Internet Explorer should work somewhere near the same as any other browser (Chrome, Edge etc.).
Actual Behavior
The image below displays the HTML I get instead of the site.

Reproducible Demo
Reproducible on Docusaurus V2 live site, so I have not attached any demo.

Closes in favor of #2657
We'll only have one issue to track it.


Error occurred while GetObject. S3 Error Code: NoSuchKey

I'm having an issue:

Error occurred while GetObject. S3 Error Code: NoSuchKey. S3 Error Message: The specified key does not exist. (Service: AWSLambdaInternal; Status Code: 400; Error Code: InvalidParameterValueException; Request ID: 1e25ca58-b420-458b-bdef-fbb3c029f47a)

I'm executing CloudFormation Stack in the same region as S3.

Can you please provide the following information to help our investigation? Thanks!

Which region were you trying to launch the stack?
Input parameter values for your stack
Error screenshot including event steps
Were you using an existing or new s3 bucket?

Hi!
Thanks for the response!
This time the deployment went smooth - cannot reproduce it. Please close this issue.

Hello,
Same problem on eu-central-1 frankfurt region...
Like you can see I tried with public access open on s3 template bucket, but no way to make it working
Any idea please ?
Best Regards,
Loïc


Update Beam Python version for 2.1.1 release

R: @robertwb

LGTM. I assume we're not calling this "rc" in the version number so that we can go from rc to release without any code changes?

@robertwb yes, that is the case.

Merged into the release branch, please close.

Changes Unknown when pulling 9b99e4c89a980f4cd81b3713f9ba2a2e9072772b on charlesccychen:update-211-version into ** on apache:release-2.1.1**.


Clean up user verification page. Fix #1365

Adds the user email to the page, as well as pre-populating the username in the login form.

Fixes https://github.com/biocore/qiita/issues/1365

:+1:


Make sure the working branch can be deleted

Make sure the working branches can be deleted for labsync.
Closes: theopenlab/openlab#284

recheck

recheck

recheck

recheck

recheck

recheck

recheck


Implement /snippets GET endpoint

Description: Create the API endpoint to retrieve all text snippets.
Acceptance Criteria:
* Endpoint accepts GET requests without any parameters.
* Endpoint returns a 200 (OK) status code with a JSON array of all snippets.
* Each snippet in the array includes its ID and text content.

closing this as duplicate of #3


feat: introduce node health as a metric

This is a feature request
Problem
Based on the Reliability RFC,
Node health is a metric meant to determine the connectivity state of a light node and its present ability to reliably send and receive messages from the network. We consider this reliability to be dependent on amount of simultaneous connections to responsive service nodes. Unfortunately the more connections light node establishes - the more bandwidth is consumed. To address this we RECOMMEND following states:
unhealthy - no connections to service nodes are available regardless of protocol;
minimally healthy:
Filter has one service node connection;
LightPush protocol has one service node connection;
sufficiently healthy:
Filter has at least 2 connections available to service nodes;
LightPush has at least 2 connections available to service nodes;
Proposed Solutions
Introduce this as an API
Notes

Some notes:

we should expose state from WakuNode directly;
we should expose event based API for consumers to be up to date with changes;
documentation would be important to provide;

Follow up to this feature would be to develop strategies for recovery from mentioned health states: https://github.com/waku-org/js-waku/issues/2076

I feel like 2 nodes might not be enough for calling the state sufficiently healthy - we are working with decentrlaized peer-to-peer potentially unreliable connections:)

thread: https://discord.com/channels/1110799176264056863/1263470028540346391/1263470032172613776
as we discussed it on PM - this can be approached differently, node can be considered minimally health or unhealthy given the example from the description.
it's the matter how we correlate individual healthiness of protocols by & or |
for js-waku in particular it should be an exceptional case when lightPush is unhealthy and filter is fine, reason for it is:

we maintain up to date peers in the background;
if there are drops or failures - we rotate peers;

given that js-waku will transition into fully healthy or fully unhealthy state eventually
for implementation it seems only reasonable to expose health state per protocol and then combine
from my side, giving it another thought and read for RFC - I think we should use & so that if even one protocol unhealthy - whole node is.


Config update

Saving config, reloading config on enable is completely useless as pocketmine does this when you first getConfig()
Setting data to the config helps you to save data for games Is very vague and you don't want people to save game data to a configuration file, use a database or anything BUT the config file.
$this->getConfig()->save() can be shortened and better handled with $this->saveConfig()

Thank you we should have changed this a long time ago


Queuing of more than 2 concurrent requests leads to starvation

I apologize if this is somehow fixed in a newer version (I am using 4.5.4) but it looks like no changes have been made to any queuing logic recently: https://github.com/modernmt/modernmt/tree/master/src/decoder-neural/src/main/java/eu/modernmt/decoder/neural/queue
ModernMT's queuing has a bug somewhere which causes certain requests to not be processed when the concurrent load of one engine is consistently > 2 requests.
This bug is trivial to reproduce, if you simply spin up an MMT engine (using a single GPU) and run the following Python code from 3 different shells against the engine simultaneously:
import requests

text = "This is some text to translate for the engine to showcase that the queueing of MMT is unfair."
params = {"source": "en", "target": "de", "q": text}
c = 0
while True:
    response = requests.get("http://localhost:8045/translate", params=params, timeout=5)
    print("Success", c)
    c += 1

You will see that everything works well with 2 processes submitting translations, but as soon as you start the 3rd process, you will observe that one of the 3 processes no longer gets any translations processed and thus very quickly hit the 5 second timeout.

@ecly,
actually in the latest version we improved the handling of concurrent requests.
Your issue disappears.
Please feel free to close the issue when you tried with the new version.

@nicolabertoldi
Hey Nicola, sorry for my slow response.
I would like to test this out. Is this improved handling in the most recent release (v4.7) or do I have to build from master to test it out?

@nicolabertoldi I just built v4.9.4 locally on my machine and tested it and this is still an issue. The queuing mechanism is not behaving as a FIFO queue.


lamadava saas not working

hi, please check the lamadava saas, we can't get the user's data from the API , it is showing error.

We were blocked for a large amount of traffic and we moved to another server
Works now

please check, it's down again

down for me too

Fixed


Add a wrapper to allow for minifying out debug in production builds

This is an experimental idea to enable minifying out the debug code in production builds.  Started as a conversation here.  Adding a wrapper like this means you could do something like:
$ browserify -t [envify --NODE_ENV="production"] -g uglifyify src/browser-wrap.js

And it would replace all of the code you should not be running in your production builds with a set of noop methods:
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
{function noop(){}module.exports=noop,module.exports.log=noop,module.exports.formatArgs=noop,module.exports.save=noop,module.exports.useColors=noop}

},{}]},{},[1]);

This obviously removes the ability to turn debugging on in production builds, which is probably considered a breaking change.  Also I totally understand if the maintainers do not want to go this route, but I just thought I would open a PR to discuss.

Coverage remained the same at 63.804% when pulling 1dbdf4df59f2678dff495cfd95405189b1af8ecb on wesleytodd:minify-out-debug into a45d4a0239f071634804dd7901dd33b0d0d407c9 on visionmedia:master.

I appreciate the suggestion, but this seems like something that belongs in your own project's tooling configuration rather than something that lives in this repository.
Consider that debug isn't special in this generic problem of stripping out a particular module from the build. Whatever the solution is should work for stripping any module out from the JS bundle. For example, browserify has the --ignore option. I'm sure webpack, etc. have equivalent features/plugins.

As far as I know, the best method for not bundling with these tools and then not failing on the require line is to wrap the require in a try catch and ignore the error.  I tried using the --ignore flag with out browserify setup but still failed out when the express router tried to require it.
I understand your viewpoint, and agree from a high level, but I think it is a bit more complicated than you gave it credit for.  For most modules this is not really something I concern myself with, but in this case it is for development/debugging only, so I think it deserves to be special cased.  Anyway, even if this goes nowhere it was worth bringing up.  Thanks!


Update AnonCreds delendency to 0.2.0

Per #2913 -- trying to update to AnonCreds 0.2.0 final.
Copied what was done in #2758 -- update the pyproject.toml file and poetry.lock.
There are a massive number of changes in the poetry.lock -- not sure about that.  Please confirm that the poetry.lock update is correct before approving. Definitely looks questionable to me...

Lock file changes look like they make sense to me after a poetry update.
Some things (example aiohttp="~3.9.4") are from compatibility set to major version, so would pull in 3.9.5 on an update
Some things are sub-dependencies in a version range that would allow an update
Ex:

The pyproject.toml looks right now.
I think you probably updated all the packages with poetry install or similar. Poetry is a little bit weird like this and will always try and upgrade anything it can with install.
To update just anoncreds you could do poetry add anoncreds or poetry lock --no-update. I think both should work.

I’ll close this and try again.


Display Still media on button background

Would it be possible to have the ability to set the background image of a button in companion to be the image that was uploaded as a still in the media library? I currently have the image name as dynamic label but sometimes the labels can be ambiguous, and it would be super helpful to just be able to see the image on the button itself. I was thinking that since the images can be previewed in the ATEM controller then the image information must be available to other remote clients as well.

This would be pretty tricky because the ATEM internally scales the image to either 720p or 1080p I think (16:9 formats), and so Companion would need a way to pull a preview AND decide how much to cut off the edges to fit the square button (since images are typically centered with black on the edges if they are 4:3 or something other than 16:9).

I have made some progress on this (you can follow #312 for occasional updates).
It semi-works, but needs some effort putting into making sure it is reliable, and to handle clips.
Its been quite a bit of work, as the atem library didn't have support for this, requiring porting of some code from another library, and figuring out the colour conversion formula. And tracking the state inside the module is not simple either.
And this needs a performance analysis before it can be considered for merging, it won't be good if fetching images causes actions to get delayed
But it is doable, and will make an appearance one day (shown here is some random screenshots I had on my mac, being pulled by the module from the atem)


Bug Report

Leaving out engine specific parameters for pandas materializers
Current behavior
The only arguments that can be passed into the read_FORMAT and to_FORMAT for each of the materilzers are the ones specified on the respective page, but some pandas functions allow the user to add additional arguments that are passed into the engine directly .
For example the Pandas to_parquet (https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_parquet.html#pandas.DataFrame.to_parquet) has a few arguments listed on the page (path, engine, compression etc) but has the option to pass in additional arguments to the engine as **kwargs.
If the user set engine = pyarrow as their engine they would be able to use the following arguments in addition to the ones listed on the pandas page: https://arrow.apache.org/docs/python/generated/pyarrow.parquet.ParquetWriter.html
As the code is written, Hamilton throws an error when an otherwise valid argument can be passed, unless they are passed as a dict as a part of the extra_kwargs argument which is unituituve.
Stack Traces
PandasParquetWriter.__init__() got an unexpected keyword argument 'read_dictionary'
Screenshots

Steps to replicate behavior
Pass any parameter not specified in the initializtion of the class but is a valid parameter to any Read and Write class
Library & System Information
Hamilton: 1.35.1
Python 3.10.2
System: Ubuntu 22.04
Expected behavior
There shouldn't be a failure for any parameter that is valid, but should they have to pass it in as part of the extra_kwargs or into the class like other arguments
Additional context
I'm working on the geopandas materilzers and noticed that there are many instances where I would need the user to pass in their own kwargs that I had not initially listed. I just need to know which implementation should be used.
Potential solutions

Have the user specify the kwargs themselves in the 'extra_kwargs' #429
Write out each of the possible kwargs #385

@JoJo10Smith thanks for the report.
Yeah this is a bit of a hard one. We decided to use extra_kwargs since it would otherwise require listing all possible kwargs in the class since we're using dataclasses (AFAIK).  That seems hard to scale/ensure it's right?
So extra_kwargs I think is the happy medium, but it does mean the API doesn't 1-1 map. That said, I think extra_kwargs helps someone else who comes to read the code, as it makes it clear these kwargs are extra and likely specific to some use case... versus you having to check the function signature to understand what is used, and what is being passed on under the hood...
I'll noodle on this for the week, but I'm leaning towards extra_kwargs. Thoughts?


[Feature Request] Watcher

Would it be possible to add a watch option to this package?  This would make development much easier when working on a linked node_module.
I've been able to work around this temporarily by adding the following to the lib's package.json
{
  "devDependencies": {
    "chokidar-cli": "^1.2.0",
    "flow-remove-types": "^1.2.3"
  },
  "scripts": {
    "build": "rm -rf lib/ && flow-remove-types --out-dir lib/ src/ --pretty --all",
    "build:watch": "chokidar 'src/**/*.js' -c 'flow-remove-types {path} > lib/$(echo {path} | cut -c5-) --pretty --all'",
  }
}

I'd be happy to entertain a PR implementing it.
I'll close this issue for repo maintenance since the next action is clear. If anyone wants to take this on, a PR is the best next step.

would be great this feature, would solve a headache.


Adapt monitoring to new certificate files

How to categorize this PR?

/area monitoring
/kind bug
What this PR does / why we need it:
Adapt monitoring to new certificate files.
Which issue(s) this PR fixes:
None.
Special notes for your reviewer:
Release note:

/cc @wyb1

Actually, we probably should map it to both ca.crt and bundle.crt by specifying two items in the projected volume (is this possible)?

@rfranzke Ok, I will try it.

@rfranzke It worked and the change just got significantly smaller :-) .

cc @ialidzhikov for milestone

/milestone v1.46


Plugin01 example

Example implementation of plugin-01
This PR is using local RSD images and has their own docker-compose and nginx. Folder structure is changed to accommodate multiple plugins, custom rsd settings file, debug service and custom nginx.
It includes Helmholtz PR.
Closes #1
How to test?
Use root readme file as guide. If not clear we should improve it. Check also README files in the specific "module" folders.
Example user menu plugin 01

Example edit software plugin 01

Example plugin 01 frontend home page

Example plugin 01 page linked by edit software link

Goal
The example repo should be starting point when developing new RSD plugin. The repo has docker-compose file and nginx configuration that integrates plugins and core RSD services. Using this approach the plugin developer should be able to test all functionality of the plugin and discover the limitations of current core RSD.  They can make changes in the core RSD services using the core repo.

To keep the repo as clean and understandable as possible, I would prefer to have only the parts required for the plugin inside this repository, i.e. remove the extra content from .env.example and docker-compose.yml.
It is still possible to start it from within the RSD-as-a-service repo using this command (Note that the two .env files need to be specified, we could think about adding default values inside the docker-compose.yml as well):
docker compose -f docker-compose.yml -f ../RSD-plugin-example/docker-compose.yml --env-file .env --env-file ../RSD-plugin-example/.env up

@jmaassen Can you check this PR please?


🐛 Crash: EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000000

Hey, we have Firebase crashlytics and we are often getting this crash. I have experienced it as well, it crashes during init of printer before sending.
Looks like when I try to connect to 2 different printers at the same time and send some commands it crashes. Attaching below the stack trace, but looks like it's crashing right here:
epos2_common_printer.c - Line 2022
EdcPrnConnect + 2022

Any ideas how we can avoid this? Looks like some invalid array pointer access. I have a background service class running jobs one by one but a user action might cause them to print at the same time. Perhaps we could throw an error that it's busy or something? Or actually print same time?
Thanks in advance 🙏
pos_issue_8534af632f2833e7c7b34ecc40dc9a8d_crash_session_736f0c9137a54b0d9eb2611926ea2ff1_DNE_0_v2_stacktrace.txt

"Perhaps we could throw an error that it's busy or something?"
This looks to me like your best option. Concurrency is always a pain to implement (Especially with printers).


Adds reminder for executive reports

This PR generalizes incident report reminders and adds a reminder for executive reports.

lgtm


Change GatherInfo and VarInfo to public access

I need to generate a .env file based on envconfig struct definition, therefore GatherInfo and VarInfo need to be public

This one makes sense to me. If there are no breaking changes I'll review the test coverage and get this merged.

This one makes sense to me. If there are no breaking changes I'll review the test coverage and get this merged.

Hi, are you going to merge this one into the new release? When?


chore: Merge Devnet back to Master

This PR simply brings devnet back into master

Benchmark results
Metrics with a significant change:

proof_construction_time_sha256_100_ms (16): 5,442 (-19%)
avm_simulation_time_ms (Token:mint_public): 91.4 (+53%)
avm_simulation_time_ms (FPC:prepare_fee): 316 (+31%)
avm_simulation_time_ms (FPC:pay_refund): 95.1 (+30%)
avm_simulation_time_ms (Token:_increase_public_balance): 15.0 (-75%)
protocol_circuit_proving_time_in_ms (base-parity): 2,091 (+52%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Proof generation
Each column represents the number of threads used in proof generation.

Metric
1 threads
4 threads
16 threads
32 threads
64 threads

proof_construction_time_sha256_ms
5,720
1,538
705 (+1%)
753 (-2%)
768

proof_construction_time_sha256_30_ms
11,742
3,152
1,409
1,422 (-1%)
1,460

proof_construction_time_sha256_100_ms
43,850
12,020 (+1%)
:warning: 5,442 (-19%)
5,408 (-1%)
5,360

proof_construction_time_poseidon_hash_ms
78.0
34.0
34.0
59.0 (-2%)
88.0

proof_construction_time_poseidon_hash_30_ms
1,518 (-12%)
421 (+1%)
202 (-1%)
219
271 (+1%)

proof_construction_time_poseidon_hash_100_ms
5,615
1,507
670
736 (+3%)
743

L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
4 txs
8 txs
16 txs

l1_rollup_calldata_size_in_bytes
708
708
708

l1_rollup_calldata_gas
6,588
6,588
6,564

l1_rollup_execution_gas
583,050
583,201
583,328

l2_block_processing_time_in_ms
757 (-1%)
1,413 (-1%)
2,729 (+1%)

l2_block_building_time_in_ms
10,864
21,229
41,859

l2_block_rollup_simulation_time_in_ms
10,863
21,229
41,859

l2_block_public_tx_process_time_in_ms
9,076
19,244 (+1%)
39,815

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 8 txs.

Metric
3 blocks
5 blocks

node_history_sync_time_in_ms
7,017 (-2%)
9,824

node_database_size_in_bytes
12,746,832
16,904,272

pxe_database_size_in_bytes
16,254
26,813

Circuits stats
Stats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.

Function
time_ms
bytecode_size_in_bytes

GasToken:_increase_public_balance
98.7 (-1%)
13,790

GasToken:set_portal
13.0 (+2%)
3,339

Token:constructor
122 (-3%)
23,692

FPC:constructor
91.2 (-1%)
13,592

GasToken:mint_public
82.2 (-2%)
10,158

Token:mint_public
:warning: 91.4 (+53%)
19,034

Token:assert_minter_and_mint
65.5 (+3%)
12,925

AuthRegistry:set_authorized
47.7 (+3%)
7,812

FPC:prepare_fee
:warning: 316 (+31%)
11,068

Token:transfer_public
41.1 (-8%)
44,012

FPC:pay_refund
:warning: 95.1 (+30%)
15,961

Benchmarking:increment_balance
1,065
11,281

Token:_increase_public_balance
:warning: 15.0 (-75%)
15,006

FPC:pay_refund_with_shielded_rebate
133 (-1%)
17,056

Public DB Access
Time to access various public DBs.

Function
time_ms

get-nullifier-index
0.151 (-6%)

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
256 leaves
512 leaves
1024 leaves

batch_insert_into_append_only_tree_16_depth_ms
10.3 (-1%)
16.8 (+1%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.7
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.598
0.516 (+1%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
47.8 (-1%)
76.0 (-1%)
131
244 (-1%)
486 (+4%)

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
95.9
159
287
543
1,055

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.489 (-1%)
0.467 (-1%)
0.451
0.443 (-1%)
0.451 (+3%)

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
59.2
111
183 (+1%)
352
699 (+1%)

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
109
207
355
691
1,363

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.501
0.500
0.484
0.477
0.478 (+1%)

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
72.8
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
133
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
0.518
N/A
N/A
N/A
N/A

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
72,014
666,910

Transaction size based on fee payment method
| Metric |  |
| - |  |


iOS: Clearing all Watches stops Location Services

iOS shows a little arrow in the status bar if location services are in use. When you set a watch on Location Manager, it starts tracking position, and the arrow symbol appears. However, when that watch is cleared, no command to Location Manager is sent to stop tracking, so the arrow stays visible, even though in reality, the app is not using location services. My guess is that this also impacts battery life to some extent, especially if your iOS app has background location enabled.
This fix would automatically stop tracking location once all watched are cleared, so that the arrow symbol in the iOS status will disappear.
Tested on iOS 7.1.2.
(Note: I don't really want to go through the rigamarole of signing up to be a contributor, so if someone else wants to take credit for this, go ahead)

I can confirm that serious battery drainage occurs when using this plugin because location services and gps tracking remain active

This PR can be closed - the commit has been merged https://git-wip-us.apache.org/repos/asf?p=cordova-plugin-geolocation.git;h=551b404

I am having this issue still on android


Use storyblok-editable

We created a new storyblok-editable npm package to use instead of storyblok-react:
https://github.com/storyblok/storyblok-editable
Replace the package in the repository.
https://www.notion.so/storyblok/Update-relevant-tutorials-for-storyblok-editable-npm-package-23c7f827c2774e3b8a053715a904150d

Anyone thinking of merging this yet? @GerritPlehn @samuells


[Starfinder by Roll20] Can not input Spells higher Level 0

I am playing a Technomancer in a new Starfinder Campagin. We are using this sheet and as stated in the title I can not input Spells higher Level 0. If I add a spell and change the Level from 0 to 1 or higher, the spell disappears immediately and all inputs together with it...
As a Technomancer Level 1 you get 4 Level 0 and 2 Level 1 Spells not including the Bonus Spells for intelligence rank... Do I miss an option in the Sheet or is it just not possible?

Thanks for the report Markus,
I'm not able to replicate this issue. Can you provide some screenshots of your character sheet showing the spells section, class details tab, and spellclasses details tab. The only way I'm able to replicate this is if the spell progression select is set to half instead of partial.

I will include a screenshot which should show everything relevant. If you need more Information, just let me know.
Hope this helps.

Thank you Markus, can you also provide a screenshot of your class details tab? And then, change your level from 1 to 2 and back again to see if that jogs the sheet into motion.

Changing Level from 1 to 2 and back fixed the Problem.
Thanks! I'll also close this issue.


using fork instead of spawn seems to work better on windows

This PR tries to fix #9 by using fork instead of spawn.
It seems to work (the child process runs and communicates using the IPC channel), but it also seems to create new problems: in one test project I got an error message from ng that I wasn't getting before and the tests were not loaded in that case.

Some explanations:

when using fork I need to pass the path to a javascript file. I'm using a relative path that assumes that the @angular/cli package is installed in the project (which is standard for angular cli projects, so this assumption should be OK). This is the javascript file that is called by the ng shell command.
I need to set the execArgv option to make it work in the VS Code debugger: by default, fork would pass all node arguments that the current process was started with to the child process. As a result, the child process would try to wait for a debugger connection on the same port as the parent process (which fails, of course, because a port can only be used by one process)

I am not able to run it in windows at the moment, I get some errors on node_sass when running it on newly created test project. running ng test from the cmd on the test project works fine. I will figure it out tomorrow

I think the node-sass issue is the same that I was seeing in one of my test projects.
Perhaps the best option would be using spawn (or rather the cross-spawn npm package) without the stdio option (so node doesn't try to create an IPC channel, which seems to be the reason for #9) and socket.io for the communication channel.
I wouldn't use worker threads because I think it wouldn't offer the same level of isolation, which is important to not risk performance or stability issues in the extension host process.


Error reading Parquet files from S3 with a space in the path.

Hi, I had a problem loading parquet file from s3 when there's a space in the path. I tried with %20 but it doesn't work either.
Example path:
s3://my-bucket/trusted/receita_socios/version=2021-10-30 09:00:56/my-file.parquet

Error message:
Error: Error loading Parquet: no parquet file found

The same file without space in the path works fine.

hmm, I am not able to reproduce this, uri with space results in Error: Invalid table URI error, which is expected. Changing it to %20 works for me with aws localstack. Sorry I don't have real AWS s3 bucket setup for testing. Could you try running it with RUST_LOG=debug?

Ran into a similar issue and I can replicate this using a real S3 bucket.
If you attempt to pass through the file's location with spaces:
--table "test=s3://${S3_BUCKET}/folder with spaces/data.parquet"

…then roapi warns you:
Error: Invalid table URI:…Make sure it's URI encoded.

If you then URI-encode it:
--table "test=s3://${S3_BUCKET}/folder%20with%20spaces/data.parquet"

…then roapi parses the URI correctly but you run into the no parquet file found error.
Using RUST_LOG=debug, I think I can see what's happening:
[2022-10-03T09:16:33Z DEBUG rusoto_core::request] Full request:
     method: GET
     final_uri: …?list-type=2&prefix=folder%2520with%2520spaces%2Fdata.parquet%2F&start-after=folder%2520with%2520spaces%2Fdata.parquet%2F
    Headers:

The spaces, encoded as %20, are getting doubly-encoded by the time rusoto_core::request makes its call.
I've verified this locally by having columnq::io::s3::parse_uri() URL-decode the key and it then works as expected. However, I'm not sure if that's necessarily desired behaviour…?

we recently replace rusoto with object_store at https://github.com/roapi/roapi/issues/240, so I just try to reproduce this at https://github.com/jychen7/roapi/pull/8.
Interestingly, though both use_memory_table: true and use_memory_table: false use same object_store to read file now, the result is different.
Assume we have blogs space.parquet.
when use_memory_table: true

❌ blogs space.parquet: Invalid table URI
❌ blogs%20space.parquet: no parquet file found

when use_memory_table: false

✅ blogs space.parquet: can query
✅ blogs%20space.parquet: can query

I would need to investigate more...

@jychen7 I believe the first error came from TableSource::parsed_uri, we need to encode the path before parsing it there.
The 2nd error came from object store, it's Path::from implementation expects unencoded path, so it does its own encoding. We should switch to the parse method instead: https://docs.rs/object_store/latest/object_store/path/struct.Path.html#parse

@houqp thank you. Then I think blogs space.parquet is expected to fail and we need to fix for blogs%20space.parquet first. I understand that Path::from below will double encode the %20. However, I try switch to Path::parse, still "no parquet file found", because object_store crate will not decode %20 back to space.
https://github.com/roapi/roapi/blob/97e6a4cd8dde6ebf095ace08bfc7ae5943269c16/columnq/src/io/object_store.rs#L62
After look at Datafusion ListingTableUrl, I now understand why both works in use_memory_table: false. ListingTableUrl use both Url::parse to encode possible char and percent_decode before calling object_store client

input
Url::parse
percent_decode_str

blogs space.parquet
blogs%20space.parquet
blogs space.parquet

blogs%20space.parquet
blogs%20space.parquet
blogs space.parquet

I adopt the percent_decode approach and fixed blogs%20space.parquet case at https://github.com/roapi/roapi/pull/257 first.

I think it is also good to use Url::parse before URIReference::try_from, so it is easier for user. What do you think ❓ @houqp . We can implement this in new PR if need.
https://github.com/roapi/roapi/blob/97e6a4cd8dde6ebf095ace08bfc7ae5943269c16/columnq/src/table/mod.rs#L408-L410

Thank you @jychen7 for the deepdive. I think the workarounds you proposed look fine as a quick fix to the problem :+1: So let's get them in.
Ideally, we should only need to encode/decode the path once. Right now, we are decoding the path, then pass the path to objectstore to reencode it, which seems like a waste of compute. It would be nice if we can change object store to accept an encoded path directly in the future.

It would be nice if we can change object store to accept an encoded path directly in the future.

agree, propose one idea at https://github.com/apache/arrow-rs/issues/3651

I think it is also good to support blogs space.parquet in roapi config yml, so it is easier for user.
one idea is to use Url::parse before URIReference::try_from, trade off is additonal encode operation (not ideal).
What do you think ❓ @houqp

@jychen7 I think the extra overhead here is not too bad since we only need to do it once per table during boot time. The extra encode/decode in the object store backend is what might have a small runtime performance impact because a table scan could touch hundreds or even thousands of objects.

one idea is to use Url::parse before URIReference::try_from

I just try at https://github.com/jychen7/roapi/pull/9/files#r1096708620, but still research how to fix borrower

@jychen7 thanks for taking a stab at this, I left my thoughts for the problem you are facing in a comment https://github.com/jychen7/roapi/pull/9/files#r1096807277.


Make EventHandler generic

As of v1.0.1, the EventHandler interface is not generic. This requires a cast when using custom events:
public class MyEvent extends Event {

}

public class MyEventHandler implements EventHandler {

	@Override
	public void handleEvent(Event event) throws Exception {
		if (event instanceof MyEvent) {
			MyEvent myEvent = (MyEvent) event;
			// do something with myEvent
		}
	}
}

The EventHandler interface should be something like:
public interface EventHandler<E extends Event> {
    void handleEvent(E event) throws Exception;
}

to eliminate the need to do the cast.

Implemented in 6b72eff96cb90f966fab32245c09d56611735513


Algorix: Add Rewarded Video detected and fix for BidResponse MediaType Resource.

Add Rewarded Video detected and change value to imp.ext.rewarded.
Fix MediaType Resource, can get it from bid.ext.mediaType.

PBS-Go Code changed：https://github.com/prebid/prebid-server/pull/2124

@Bugxyb Kindly reminding, on last requested changes

Excellent work. Thank you!


Quality of Life Pass/Pipeline Features

Small fixes/add-ons that I noticed while drawing up a pass/pipeline overview figure:

[ ] --secretize's entry-function parameter should be optional and, if omitted, the pass should apply to all functions in the input (module?). This should then also be reflected in any pipelines that use --secretize, making their entry-function optional, too.
[ ]  In order to better support mixed ctxt/ptxt examples, and for better integration with frontends, create --annotated-mlir-to-.... that are the same as the current --mlir-to-... pipelines but without the --secretize pass.
[ ] The ciphertext-degree parameter in the various passes & pipelines that use it should be optional, with the compiler using the size of (the right-most-non-one-dimension of) the first secret tensor in the function signature if the parameter is omitted (and erroring out if no such secret tensor function parameter exists)
[ ] --optimize-relinearization should be added to the RLWE pipeline builder?
[ ] Investigate if the --bgv-to-openfhe and --ckks-to-openfhe passes can be merged into a single --rlwe-to-openfhe pass combining the patterns from both passes.
[ ] (Optional/TBD): Split the library-specific parts of the pipeline into separate pipelines. While that might require doing something like --mlir-to-ckks --rlwe-to-openfhe, it might be nicer to keep backend-specific stuff separate/modular.
[ ] ... (will update this as I continue drawing up things

Based on discussion from today's office hours:
For the ciphertext-degree parameter, we should decouple that into the actual ctxt degree (which can be optional and default to something reasoanble such as 16k) and something like --assume-native-tensor-size that does what was mentioned above.
In general, these things should not be just stored in a single pass's paramaters but encoded into the IR (at the module level)

Also I'm wondering why --operation-balancer did not get into the mlir-to-secret-arithmetic pipeline, though its absense makes me happy when constructing deep circuit for debugging.

Do you happen to know which tests you expect to break?

No, haven't tried it.

With #1196 addressing the last "clean up" part of this and the ciphertext degree thing + error messages being quite significant work packages in their own right with their own issues to track them, I've set this to close when #1196 gets merged.


Merge feature/readme to develop

Coverage remained the same at 100.0% when pulling 0e2044c718c82c97d64e33e96478a6f558101001 on feature/readme into 2add24f5723e4e4930f337ac15714eef2ceec759 on develop.

Coverage remained the same at 100.0% when pulling 09f77013d8c8b45f796a4df4cef32b6dafa60ee0 on feature/readme into 2add24f5723e4e4930f337ac15714eef2ceec759 on develop.


Backend to Express

[x] Update README
[x] Away with Mongoose
[ ] Test everything

@jsefiani : Lijst ELKE frontend actie die je getest hebt hier op.

dsdsds

Dit is allemaal getest geweest:
Invoices page:

Get all invoices
Download invoice PDF
View invoice PDF in browser
Verify invoice
Delete invoice
Download CSV file with all visible invoices
Download Zip with all visible invoices

Invoice page (edit mode):

Edit invoice
View invoice PDF in browser
Preview invoice PDF in browser of current data
Download invoice PDF
Send email with attachment when Sendgrid API key is set and sender is configured in config otherwise display correct error
Add/delete/view/download attachment
Add and use new client
Edit client in modal
Verify invoice

Invoice page (create mode):

Create invoice when invoice number and date is higher than the last added invoice's number and date otherwise display correct error
Preview invoice PDF in browser of current data
Add and use new client

Clients page:

Get all clients
Activate/deactivate client

Client (create mode):

Validate VAT
Create client

Client (edit mode):

Edit client
Validate VAT
Add/delete/download/view attachment

Projects page:

Get all projects
Deactivate project (UI not updated properly while "active" prop is set to false)

Project page (edit mode):

Edit project
Add and use new consultant
Use one of existing consultants to update project

Project page (create mode):

Create project
Add and use new consultant
Use one of existing consultants to create project

Config:

Create config
Edit config

Configure standard client
Configure standard invoice attachments
Configure invoice email

Project month:

Create project month
Add note
Edit project month

Add amount of days/hours as on the timesheet attachment
Add amount of days/hours as on report from social secretary timesheet
Verify/refute timesheet
Add note to timesheet
Add inbound invoice number
Add date when received inbound invoice number
Verify timesheet by changing status to "validated"
Verify whether invoice is paid by changing status to "paid"
Create/verify/download/view/delete invoice
Add note to project

Enkel de offerte functionaliteit, maar dat volgt nog.

Nieuwe testen:
Branches:
feature/templateQuotation (FE and BE)
Quotations page:

Get all quotes
Delete quote
Download quote PDF
View quote PDF in browser

Quote page (edit mode):

Edit quote
View quote PDF in browser
Preview quote PDF in browser of current data
Download quote PDF
Send email with attachment when Sendgrid API key is set and sender is configured in config otherwise display correct error
Add/delete/view/download attachment
Add and use new client
Edit client in modal

Quote page (create mode):

Create quote (same quote number allowed)
Preview invoice PDF in browser of current data
Add and use new client

Validate VAT: Does not work


Camera: improve avfoundation by using memoryview and re-scheduling the interval on framerate change

The purpose of this PR is to enhance the avfoundation camera provider on both iOS and macOS.
By using Cython memoryview I'm avoiding to call PyBytes_FromStringAndSize when assigning the buffer via self._buffer = <bytes>data[:rowsize * height].
Now, the overall performance it's slightly better and I'm not incurring anymore random BADACCESS errors that were leading the App into a crash.
I've also added an update rescheduling procedure, to have a consistent update timing with the selected framerate.

Maintainer merge checklist

[ ] Title is descriptive/clear for inclusion in release notes.
[x] Applied a Component: xxx label.
[ ] Applied the api-deprecation or api-break label.
[ ] Applied the release-highlight label to be highlighted in release notes.
[ ] Added to the milestone version it was merged into.
[ ] Unittests are included in PR.
[ ] Properly documented, including versionadded, versionchanged as needed.

Thanks!
BTW, there's no need to squash and force push when you add changes. Because github offers the option to squash the changes into one commit before merging. And seeing the individual commits actually makes it easier to see what exactly has changed so it makes it easier to review. Because otherwise it's harder to know if maybe there has been additional changes that need to be reviewed.


[Feature] DMP API

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

Describe the solution you'd like

Describe alternatives you've considered

Additional context

cluster management
user management
database management
xenoncli

ACK.


feat: IDS catalog request filtering

What this PR changes/adds
Extend existing CatalogRequest object with list of criteria used to filter Assets within Catalog response.
Why it does that
In a large scale environment, with multiple EDCs holding the information about hundreds of thousands of Assets, instead of looping thought all of the ContractOffers, there is a need to narrow the results down to even single offer. For example, an Asset might hold the 'special' type of data (like registry or database) and should be searchable by its type.
Linked Issue(s)
Closes #1966
Checklist

[x] added appropriate tests?
[x] performed checkstyle check locally?
[x] added/updated copyright headers?
[x] documented public classes/methods?
[x] added/updated relevant documentation?
[ ] assigned appropriate label? (exclude from changelog with label no-changelog)
[ ] formatted title correctly? (take a look at the CONTRIBUTING and styleguide for details)

Codecov Report
Base: 63.64% // Head: 5.53% // Decreases project coverage by -58.10% :warning:

Coverage data is based on head (3f52c53) compared to base (8bd7f8d).
Patch coverage: 37.50% of modified lines in pull request are covered.

:exclamation: Current head 3f52c53 differs from pull request most recent head e9b8161. Consider uploading reports for the commit e9b8161 to get more accurate results

Additional details and impacted files
@@             Coverage Diff              @@
##               main   #2015       +/-   ##
============================================
- Coverage     63.64%   5.53%   -58.11%
- Complexity        0     166      +166
============================================
  Files           772     772
  Lines         16370   16379        +9
  Branches       1055    1055
============================================
- Hits          10418     906     -9512
- Misses         5508   15403     +9895
+ Partials        444      70      -374

Impacted Files
Coverage Δ

...ector/contract/offer/ContractOfferServiceImpl.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...type/MultipartCatalogDescriptionRequestSender.java
7.69% <0.00%> (ø)

...connector/ids/core/service/CatalogServiceImpl.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...nnector/ids/core/service/ConnectorServiceImpl.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...management/catalog/service/CatalogServiceImpl.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../eclipse/dataspaceconnector/spi/message/Range.java
0.00% <0.00%> (-85.72%)
:arrow_down:

...nnector/spi/contract/offer/ContractOfferQuery.java
0.00% <0.00%> (ø)

...econnector/ids/api/multipart/util/RequestUtil.java
66.66% <70.00%> (-13.34%)
:arrow_down:

...i/multipart/handler/DescriptionRequestHandler.java
72.00% <100.00%> (-0.55%)
:arrow_down:

...eclipse/dataspaceconnector/spi/result/Failure.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 532 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.