[Bebop 2] Ekf2 doesn't initialise, don't get a baro selection

Describe the bug
The ekf2 estimator fails to initialise, baro sensor is not selected.
To Reproduce
Steps to reproduce the behavior, on latest master:

Do a posix_bebop_default upload, need to fix the ../Tools/adb_upload.sh location.
Run PX4.

Log Files and Screenshots
Log file: https://review.px4.io/plot_app?log=c1b21c29-6390-460a-9533-fed177b1bf60
pxh> listener sensor_selection

TOPIC: sensor_selection instance 0 #1
 sensor_selection_s
        timestamp: 344269 (21.348424 seconds ago)
        accel_device_id: 4548616
        baro_device_id: 0
        gyro_device_id: 4548616

Can someone please take look?
I will make a PR fixing the Bebop 2 build/upload.

See also this PR: https://github.com/PX4/Firmware/pull/9805 to get the upload script going again!

Is the baro driver functioning? Try listener sensor_baro.

@mhkabir Will check coming Monday! :)

This is what I get:
pxh> listener sensor_baro

TOPIC: sensor_baro instance 0 #1
 sensor_baro_s
        timestamp: 92267170 (0.014974 seconds ago)
        error_count:<PHONE_NUMBER>442235
        pressure: 101889.000
        temperature: 44.500
        device_id: 28893088

Also did a sensors status:
pxh> sensors status
INFO  [sensors] gyro status:
INFO  [ecl/validation] validator: best: 0, prev best: 0, failsafe: NO (0 events)
INFO  [ecl/validation] sensor #0, prio: 75, state: OK
INFO  [ecl/validation]        val:   0.0039, lp:   0.0005 mean dev:   0.0000 RMS:   0.0080 conf:   1.0000
INFO  [ecl/validation]        val:   0.0015, lp:   0.0002 mean dev:   0.0000 RMS:   0.0077 conf:   1.0000
INFO  [ecl/validation]        val:   0.0012, lp:  -0.0000 mean dev:  -0.0000 RMS:   0.0011 conf:   1.0000
INFO  [sensors] accel status:
INFO  [ecl/validation] validator: best: 0, prev best: 0, failsafe: NO (0 events)
INFO  [ecl/validation] sensor #0, prio: 75, state: OK
INFO  [ecl/validation]        val:   0.3253, lp:   0.2810 mean dev:  -0.0002 RMS:   0.0436 conf:   1.0000
INFO  [ecl/validation]        val:  -0.3701, lp:  -0.3375 mean dev:   0.0007 RMS:   0.0782 conf:   1.0000
INFO  [ecl/validation]        val: -20.2250, lp: -20.3451 mean dev:   0.0019 RMS:   0.2683 conf:   1.0000
INFO  [sensors] mag status:
INFO  [ecl/validation] validator: best: 0, prev best: 0, failsafe: NO (0 events)
INFO  [ecl/validation] sensor #0, prio: 100, state: OK
INFO  [ecl/validation]        val:  -0.1925, lp:  -0.1899 mean dev:  -0.0000 RMS:   0.0080 conf:   1.0000
INFO  [ecl/validation]        val:   0.0925, lp:   0.0994 mean dev:  -0.0000 RMS:   0.0075 conf:   1.0000
INFO  [ecl/validation]        val:   0.3750, lp:   0.3721 mean dev:   0.0003 RMS:   0.0079 conf:   1.0000
INFO  [sensors] baro status:
INFO  [ecl/validation] validator: best: -1, prev best: -1, failsafe: NO (0 events)
INFO  [ecl/validation] sensor #0, prio: 75, state: ECNT
INFO  [ecl/validation]        val:<PHONE_NUMBER>, lp:<PHONE_NUMBER> mean dev:  -1.0167 RMS:   5.9607 conf:   0.0000
INFO  [ecl/validation]        val:  44.4900, lp:  44.4913 mean dev:   0.0038 RMS:   0.0100 conf:   0.0000
INFO  [ecl/validation]        val:   0.0000, lp:   0.0000 mean dev:   0.0000 RMS:   0.0000 conf:   0.0000
INFO  [sensors] Temperature Compensation:
INFO  [sensors]  gyro: enabled: 0
INFO  [sensors]  accel: enabled: 0
INFO  [sensors]  baro: enabled: 0
INFO  [sensors] Airspeed status:
INFO  [ecl/validation]        no data

There is a high error count, weird thing is that the error count doesn't increase after starting px4, it just remains constant. I will check if I can test it on another Bebop to see what happens.
@mhkabir do you have PX4 v1.8.x ekf2 initializing correctly on a Bebop? It's unclear to me what the state of Bebop support is at this moment, see: https://github.com/PX4/Firmware/issues/7258#issuecomment-302154275 so I'd love if someone can confirm its working/broken condition!

There is a bunch of stuff broken like IMU drivers which need to be updated to send integral values for the estimator, and filtered values for the rate controllers and such.
Baro might be broken as well, but it was working 1-2 releases back.

@bramsvs The last time I used the Bebop2 was at the beginning of 2017. I had it at the point where it flew very nicely in position control and you could fly missions. Unfortunately, some time later there were a few changes made to the rate control path (multirotors subscribed directly to the raw imu messages) and I think it must have broken around that time. I never tried it after this and never heard of anybody flying it after. I wanted to test it about a month ago but my battery is flat :-(
If you need help on this you can let me know.
The first thing I would do is to check if all the sensor topic are published, you can do that using:
listener sensor_gyro
listener sensor_accel
listener sensor_mag
listener sensor_baro

I did run the Bebop in manual mode while holding in my hand. It is certainly controlling roll/pitch/yaw rates when giving inputs or rotating it so I'm hopeful about the attitude rate control loop. @mhkabir Isn't the rate filtering happening in mc_att_control_main itself?
@RomanBapst Do these look okay(ish)?
pxh> listener sensor_accel

TOPIC: sensor_accel instance 0 #1
 sensor_accel_s
        timestamp: 169002981 (0.004862 seconds ago)
        integral_dt: 3835
        error_count: 0
        x: 0.242
        y: -0.313
        z: -20.661
        x_integral: 0.001
        y_integral: -0.001
        z_integral: -0.079
        temperature: 0.000
        range_m_s2: -1.000
        scaling: -1.000
        device_id: 4548616
        x_raw: 0
        y_raw: 0
        z_raw: 0
        temperature_raw: 0

pxh> listener sensor_gyro

TOPIC: sensor_gyro instance 0 #1
 sensor_gyro_s
        timestamp: 175562216 (0.001305 seconds ago)
        integral_dt: 3666
        error_count: 0
        x: 0.001
        y: 0.010
        z: 0.002
        x_integral: 0.000
        y_integral: 0.000
        z_integral: 0.000
        temperature: 0.000
        range_rad_s: -1.000
        scaling: -1.000
        device_id: 4548616
        x_raw: 0
        y_raw: 0
        z_raw: 0
        temperature_raw: 0

pxh> listener sensor_mag

TOPIC: sensor_mag instance 0 #1
 sensor_mag_s
        timestamp: 178528473 (0.000949 seconds ago)
        error_count: 0
        x: 0.037
        y: -0.144
        z: 0.377
        range_ga: 0.000
        scaling: 0.000
        temperature: 0.000
        device_id: 4590856
        x_raw: 0
        y_raw: 0
        z_raw: 0
        is_external: 1

pxh> listener sensor_baro

TOPIC: sensor_baro instance 0 #1
 sensor_baro_s
        timestamp: 182425600 (0.003359 seconds ago)
        error_count:<PHONE_NUMBER>879163
        pressure: 101818.000
        temperature: 34.350
        device_id: 15748976

It looks like it isn't doing any accelerometer calibration..
I will try to get another Bebop on Wednesday and see what happens to the baro errors.
Thanks all for your help! Would be nice if we can get this thing going again :)

The problem was the error count, see: https://github.com/PX4/Firmware/pull/9835. Haven't flown it yet but the ekf initializes! :)
It is maybe a good idea to make a general Bebop 2 issue tracking issues related to the Bebop.. Some of the problems I ran into:

Upload didn't work (open PR)
This baro error_count issue (open PR)
Accelerometer calibration is way off
Don't get rangefinder output
The cpu/board fan doesn't run (you can start it by running DragonStart.sh & and then killing it with kk)

Other broken/almost done features:

Motor rpm output
Downward looking optical flow camera
Forward looking camera

@eyeam3 It seems you're listed as Bebop 2 maintainer.. Any chance you will pick this task up again? Or do we need someone else? I'm happy to test/fix stuff but I'm not really an embedded software guy (yet).

@bramsvs I worked on the PX4-Bebop setup at the very beginning, but haven't been working on it for more than a year now. Unfortunately, I will not pick this task up again, so there should be someone else assigned as the maintainer.

I have similar issues with baro. here is my log:
/ # /data/ftp/internal_000/px4 /home/root/px4.config
commands file: /home/root/px4.config

______  __   __    ___
| ___ \ \ \ / /   /   |
| |_/ /  \ V /   / /| |
|  __/   /   \  / /_| |
| |     / /^\ \ \___  |
\_|     \/   \/     |_/

px4 starting.

INFO  [param] selected parameter default file /home/root/parameters
139446 IMU temperature initialized to: 50.344704
172326 Initialize device: /sys/bus/iio/devices/iio:device0
179088 Initialize device: /sys/class/pwm/pwm_9
179720 Initialize device: /sys/class/gpio/gpio129
INFO  [bebop_flow] Set image format: 320x240
    Format: NV12
    Size: 115200
INFO  [bebop_flow] Streaming started: /dev/video0
WARN  [commander] LED: getHandle fail

WARN  [commander] LED init failed
INFO  [dataman] Unknown restart, data manager file '/data/ftp/internal_000/fs/microsd/dataman' size is 11405132 bytes
INFO  [ekf2] Found range finder with instance 0
Sleeping for 1 s; (1000000 us).
INFO  [mavlink] mode: Normal, data rate: 1000000 B/s on udp port 14556 remote port 14550
Sleeping for 1 s; (1000000 us).
INFO  [df_bebop_bus_wrapper] Trying to initialize mixers from config file /home/root/bebop.main.mix
INFO  [logger] logger started (mode=all)
INFO  [logger] Start file log
INFO  [logger] Opened log file: /data/ftp/internal_000/fs/microsd/log/sess004/log001.ulg
pxh> INFO  [mavlink] using network interface eth0, IP: <IP_ADDRESS>
INFO  [mavlink] with netmask: <IP_ADDRESS>
INFO  [mavlink] and broadcast IP: <IP_ADDRESS>
INFO  [mavlink] partner IP: <IP_ADDRESS>
WARN  [commander] Preflight checks always pass on Bebop.
WARN  [commander] Preflight checks always pass on Bebop.
WARN  [commander] Preflight checks always pass on Bebop.
WARN  [commander] Preflight checks always pass on Bebop.
WARN  [commander] Preflight checks always pass on Bebop.
WARN  [commander] Preflight checks always pass on Bebop.
WARN  [commander] Preflight checks always pass on Bebop.
INFO  [commander] data link #0 lost
WARN  [commander] Preflight checks always pass on Bebop.
INFO  [commander] data link #0 regained

pxh>
pxh>
pxh> listener sensor_selection

TOPIC: sensor_selection instance 0 #1
 sensor_selection_s
        timestamp: 351096 (56.904138 seconds ago)
        accel_device_id: 4548616
        baro_device_id: 0
        gyro_device_id: 4548616
        mag_device_id: 4590856
pxh> listener sensor_baro

TOPIC: sensor_baro instance 0 #1
 sensor_baro_s
        timestamp: 79765579 (0.002616 seconds ago)
        error_count:<PHONE_NUMBER>874107
        pressure: 101717.000
        temperature: 38.430
        device_id: 12914104
pxh> sensors status
INFO  [sensors] gyro status:
INFO  [ecl/validation] validator: best: 0, prev best: 0, failsafe: NO (0 events)
INFO  [ecl/validation] sensor #0, prio: 75, state: OK
INFO  [ecl/validation]        val:   0.0009, lp:   0.0006 mean dev:   0.0000 RMS:   0.0008 conf:   1.0000
INFO  [ecl/validation]        val:   0.0004, lp:   0.0005 mean dev:  -0.0000 RMS:   0.0007 conf:   1.0000
INFO  [ecl/validation]        val:   0.0031, lp:   0.0035 mean dev:   0.0000 RMS:   0.0006 conf:   1.0000
INFO  [sensors] accel status:
INFO  [ecl/validation] validator: best: 0, prev best: 0, failsafe: NO (0 events)
INFO  [ecl/validation] sensor #0, prio: 75, state: OK
INFO  [ecl/validation]        val:   0.0444, lp:   0.0427 mean dev:  -0.0001 RMS:   0.0131 conf:   1.0000
INFO  [ecl/validation]        val:  -0.0131, lp:  -0.0194 mean dev:   0.0000 RMS:   0.0144 conf:   1.0000
INFO  [ecl/validation]        val:  -9.8317, lp:  -9.8302 mean dev:  -0.0006 RMS:   0.0190 conf:   1.0000
INFO  [sensors] mag status:
INFO  [ecl/validation] validator: best: 0, prev best: 0, failsafe: NO (0 events)
INFO  [ecl/validation] sensor #0, prio: 100, state: OK
INFO  [ecl/validation]        val:   0.1813, lp:   0.1828 mean dev:  -0.0000 RMS:   0.0079 conf:   1.0000
INFO  [ecl/validation]        val:  -0.1216, lp:  -0.1290 mean dev:   0.0001 RMS:   0.0082 conf:   1.0000
INFO  [ecl/validation]        val:   0.4330, lp:   0.4296 mean dev:  -0.0000 RMS:   0.0078 conf:   1.0000
INFO  [sensors] baro status:
INFO  [ecl/validation] validator: best: -1, prev best: -1, failsafe: NO (0 events)
INFO  [ecl/validation] sensor #0, prio: 75, state: ECNT
INFO  [ecl/validation]        val:<PHONE_NUMBER>, lp:<PHONE_NUMBER> mean dev:  -0.0748 RMS:   5.9404 conf:   0.0000
INFO  [ecl/validation]        val:  38.8800, lp:  38.8388 mean dev:   0.0491 RMS:   0.0052 conf:   0.0000
INFO  [ecl/validation]        val:   0.0000, lp:   0.0000 mean dev:   0.0000 RMS:   0.0000 conf:   0.0000
INFO  [sensors] Temperature Compensation:
INFO  [sensors]  gyro: enabled: 0
INFO  [sensors]  accel: enabled: 0
INFO  [sensors]  baro: enabled: 0
INFO  [sensors] Airspeed status:
INFO  [ecl/validation]        no data
pxh>
pxh> listener sensor_gyro

TOPIC: sensor_gyro instance 0 #1
 sensor_gyro_s
        timestamp: 212001161 (0.001854 seconds ago)
        integral_dt: 4182
        error_count: 0
        x: 0.000
        y: -0.000
        z: 0.003
        x_integral: 0.000
        y_integral: -0.000
        z_integral: 0.000
        temperature: 0.000
        range_rad_s: -1.000
        scaling: -1.000
        device_id: 4548616
        x_raw: 0
        y_raw: 0
        z_raw: 0
        temperature_raw: 0
pxh> listener sensor_accel

TOPIC: sensor_accel instance 0 #1
 sensor_accel_s
        timestamp: 224260171 (0.000960 seconds ago)
        integral_dt: 5569
        error_count: 0
        x: 0.057
        y: -0.033
        z: -9.856
        x_integral: 0.000
        y_integral: -0.000
        z_integral: -0.055
        temperature: 0.000
        range_m_s2: -1.000
        scaling: -1.000
        device_id: 4548616
        x_raw: 0
        y_raw: 0
        z_raw: 0
        temperature_raw: 0
pxh> listener sensor_mag

TOPIC: sensor_mag instance 0 #1
 sensor_mag_s
        timestamp: 238559930 (0.000820 seconds ago)
        error_count: 0
        x: 0.182
        y: -0.123
        z: 0.418
        range_ga: 0.000
        scaling: 0.000
        temperature: 0.000
        device_id: 4590856
        x_raw: 0
        y_raw: 0
        z_raw: 0
        is_external: 1
pxh> listener sensor_baro

TOPIC: sensor_baro instance 0 #1
 sensor_baro_s
        timestamp: 254225477 (0.001202 seconds ago)
        error_count:<PHONE_NUMBER>874107
        pressure: 101735.000
        temperature: 42.140
        device_id: 12914104
pxh>


Can't find packages to install.

The post install "HP-ProBook-EliteBook-macOS.pkg"  returns can't find package to install message.

git cloned
open  Xcode & run - ok
press build button - success
open HP-ProBook-EliteBook-macOS.pkg
tickboxes and did my config
then it returns can't find package to install message

Where I can get the logs from the post install app?

Read the page
Build-Project

I just readd the .gitkeep tu build project xcode

Going to try

it's ok now, I still have to press fn for the hotkeys but I can leave with that.
Also I noticed prt screen is now for app screenshots instead the usual ^4


doc: minor grammar tweaks to readme

No reason to maintain linux based branches by any means.

Sorry, should I resubmit against a different branch? main-win?

main-win


onerror and onload on script tags not firing

The issue described in https://github.com/krux/postscribe/issues/132 does not appear to be fixed in version 2.0.6. onload and onerrorevents do not appear to be firing on scripts written via Postscribe.
The simple test case found below fails to execute the documentDone function:
https://github.com/krux/postscribe/pull/133/commits/df34363fabfdc3fa3124dc78fdc373a82dea6148

@zaffudo I have some changes here https://github.com/krux/postscribe/pull/312 which fix this in unit test.  could you check that branch out and let me know if it works for you?


module fails with terraform 0.13

This module can't be applied using terraform 0.13. It fails with Error: ECR Repository (service-name) not found.
Details:
2020-08-25T09:49:16.831+0200 [DEBUG] plugin.terraform-provider-aws_v3.3.0_x5: 2020/08/25 09:49:16 [DEBUG] [aws-sdk-go] DEBUG: Response ecr/DescribeRepositories Details:
2020-08-25T09:49:16.831+0200 [DEBUG] plugin.terraform-provider-aws_v3.3.0_x5: ---[ RESPONSE ]--------------------------------------
2020-08-25T09:49:16.831+0200 [DEBUG] plugin.terraform-provider-aws_v3.3.0_x5: HTTP/1.1 400 Bad Request
2020-08-25T09:49:16.831+0200 [DEBUG] plugin.terraform-provider-aws_v3.3.0_x5: Connection: close
2020-08-25T09:49:16.831+0200 [DEBUG] plugin.terraform-provider-aws_v3.3.0_x5: Content-Length: 153
2020-08-25T09:49:16.831+0200 [DEBUG] plugin.terraform-provider-aws_v3.3.0_x5: Content-Type: application/x-amz-json-1.1
2020-08-25T09:49:16.831+0200 [DEBUG] plugin.terraform-provider-aws_v3.3.0_x5: Date: Tue, 25 Aug 2020 07:49:16 GMT
2020-08-25T09:49:16.831+0200 [DEBUG] plugin.terraform-provider-aws_v3.3.0_x5: X-Amzn-Requestid: 99522912-b9c0-44a3-9be2-1fc3b09ef2a7
2020-08-25T09:49:16.831+0200 [DEBUG] plugin.terraform-provider-aws_v3.3.0_x5:
2020-08-25T09:49:16.831+0200 [DEBUG] plugin.terraform-provider-aws_v3.3.0_x5:
2020-08-25T09:49:16.831+0200 [DEBUG] plugin.terraform-provider-aws_v3.3.0_x5: -----------------------------------------------------
2020-08-25T09:49:16.831+0200 [DEBUG] plugin.terraform-provider-aws_v3.3.0_x5: 2020/08/25 09:49:16 [DEBUG] [aws-sdk-go] {"__type":"RepositoryNotFoundException","message":"The repository with name 'service-name' does not exist in the registry with id '12432442342'"}
2020-08-25T09:49:16.831+0200 [DEBUG] plugin.terraform-provider-aws_v3.3.0_x5: 2020/08/25 09:49:16 [DEBUG] [aws-sdk-go] DEBUG: Validate Response ecr/DescribeRepositories failed, attempt 0/25, error RepositoryNotFoundException: The repository with name 'service-name' does not exist in the registry with id '12432442342'
2020/08/25 09:49:16 [ERROR] eval: *terraform.evalReadDataPlan, err: ECR Repository (service-name) not found
2020/08/25 09:49:16 [ERROR] eval: *terraform.EvalSequence, err: ECR Repository (service-name) not found

I see, but this was not related to tf 0.13, I've reproduced it with 0.12.17


Remove hacks now that upstream has updated packages

Description
Removed forks when installing openmm nightly
Motivation and context
Now that parmed has made a new release to support the openmm name change + we just cut (will be on conda-forge soon) a new openmoltools release, these CI hacks are no longer needed.
Resolves #798
How has this been tested?
Tested on CI
Change log

CI no longer requires forks for openmm namespace changes.

Just waiting for the openmoltools release to show up here https://github.com/conda-forge/openmoltools-feedstock/pulls

Nice!... I think we could also get rid of pinning the openmm version in  https://github.com/choderalab/perses/blob/c1f5769d3610984b7c6c0dbe42920a56c31d893f/devtools/conda-envs/test_env.yaml#L19
What do you think?

We should probably also fix this in the conda-forge feedstock meta.yml file that I changed to deal with this at the time. Right?

Nice!... I think we could also get rid of pinning the openmm version in
https://github.com/choderalab/perses/blob/c1f5769d3610984b7c6c0dbe42920a56c31d893f/devtools/conda-envs/test_env.yaml#L19
What do you think?

Yes I will do that now...

We should probably also fix this in the conda-forge feedstock meta.yml file that I changed to deal with this at the time. Right?

On our next release, we should bump it up to 7.6.x


Recovery after incomplete ingest

What should be the behaviour if an ingest gets aborted?
Currently, it appears that all of the progress (i.e. written storage units) will be erased by the next ingest command rather than resuming from where it left off.
raijin5:$ datacube-ingest -v ingest agdc-metadata.yaml
2016-04-07 13:42:56,041 INFO Matched collection u'eo' (1)
2016-04-07 13:42:56,041 INFO Indexing 6bab5b1e-0a66-4aa7-a45c-d2cd2c8c91ac
2016-04-07 13:42:56,055 INFO Indexed datasets agdc-metadata.yaml
2016-04-07 13:42:56,059 INFO Storing 1 dataset(s) using StorageType(name=u's1_gamma0_albers', id_=1)
2016-04-07 13:42:56,086 INFO Writing storage unit: /short/../tiles_sarcube/SENTINEL_1A_SAR_GAMMA0_RTC_3577_14_-45_20160301235959000000.nc
...
2016-04-07 13:54:19,333 INFO Writing storage unit: /short/../tiles_sarcube/SENTINEL_1A_SAR_GAMMA0_RTC_3577_9_-49_20160301235959000000.nc
Killed
raijin5:$ ls /short/../tiles_sarcube/ | wc
     27      27    1698
raijin5:$ datacube-ingest -v ingest agdc-metadata.yaml
...
RuntimeError: Storage Unit already exists: /short/../tiles_sarcube/SENTINEL_1A_SAR_GAMMA0_RTC_3577_14_-45_20160301235959000000.nc
raijin5:$ ls /short/../tiles_sarcube/ | wc
      0       0       0

What I think happened here:
Ingester got killed by raijin for exceeding time/mem constraints half way through a run,
leaving behind orphaned storage unit files.
On the next run the ingester detected those files and errored out.
During the error handling it deleted all the files.
The bug here is that ingester deletes too many files during cleanup. It deletes files it would have created had the run been succesfull, not the files it actually created.


saas: remove notes, devcontainer

[ ] clean up docs (where 'notes' is mentioned)
[ ] create a devcontainer repo with a README, like this: https://github.com/theomessin/laravel-devcontainer

fixes https://github.com/loco-rs/loco/issues/820

@jondot Looking at the changes, it looks like you are completely changing the saas starter template to be a clean template instead. I'm wondering if there is value in creating two saas templates:

Demo app similar to the existing one
Skeleton project which is the demo app without the example routes (which in this case is notes)

This way, we can serve both new users who want something to explore as well as existing users who just need a plain skeleton to start. One example of an existing well-known framework that has both options like so is SvelteKit:

question: why remove the containers?

@ephbaum we've gotten feedback that sometimes (because of how VSCode works) a pop up jumps in, people click "accept" and then a container workflow starts and from there confusion starts. we're going to introduce this back as a loco g deployment and name it something like vscode-devcontainers and not have it by default.
@darricheng we've gotten requests to remove the "boilerplate" because as people adopt Loco, they anyways start cleaning that up. That, combined with the ability to generate full scaffold now, makes the sample notes obsolete. You can now generate it back with cargo loco g scaffold ...

@jondot I think what you said makes a lot of sense. A full-featured example like a working todo app would definitely be much better for the desired outcome of letting users explore a working app than just having a skeleton with a notes scaffold added to it.

Just checking out loco for a side project and I ran into this PR and wanted to note my approval.
The first thing I did was start ripping out the notes model.

devcontainer now here: https://github.com/loco-rs/loco-devcontainer


Add comment that origin param is used in PA

To protect it from being refactored out when someone refactors the back button on the following page.

Review app deployed to https://teaching-vacancies-review-pr-2518.london.cloudapps.digital


[Bug]: unable to use Coolify - ERROR The [public/storage] link already exists

Description
unable to use Coolify. Coolify container restarting with error.
Minimal Reproduction (if possible, example repository)
install and run
Exception or Error
To support Server Side Up projects visit:
https://serversideup.net/sponsor
GID/UID
User uid:    9999
User gid:    9999
🏃♂ Checking for Laravel automations...
🔐 Linking the storage...
🔓 SSL_MODE has been DISABLED, setting the web server to work in HTTP only...
ERROR  The [public/storage] link already exists.
In PhpRedisConnector.php line 159:
No route to host
s6-rc: warning: unable to start service db-migration: command exited 1
[27-Jun-2024 07:41:55] NOTICE: fpm is running, pid 100
[27-Jun-2024 07:41:55] NOTICE: ready to handle connections
[27-Jun-2024 07:41:55] NOTICE: systemd monitor interval set to 10000ms
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
prog: fatal: stopping the container.
[27-Jun-2024 07:41:56] NOTICE: Terminating ...
[27-Jun-2024 07:41:56] NOTICE: exiting, bye-bye!
Version
4.0.0-beta.306

same error here

its happening in all versions, I cant setup coolify

if i disable firewall it works property. I don't know what is happening in behind the scene.

I encountered a similar issue related to the way filtering was handled on my host system. I installed Docker on a default Ubuntu server, which comes with nftables enabled by default. Docker does not natively support nftables (see here), as its network stack was developed when iptables were the default firewall solution for Linux. iptables are the predecessor of nftables.
In my case, the following line in my nftables.conf caused the problem:
flush ruleset

This command flushes all previously set rules to ensure reproducible and consistent behavior. However, it also removes any rules set by Docker, which are necessary for container communication. As a result, containers fail to communicate with each other.
There are a few solutions to this problem. One that worked for me was replacing Docker with podman and podman-docker, as Podman natively supports nftables. Another potential solution is described here, or simply switching to an OS that doesn't use nftables by default.

The installation script, init and so on changed a tone, so this issue should be fixed now. If this issue persists, feel free to reopen or create a new issue.


"Code Block" indentation issue

Hi and wishing you a good day.
First of all, I would like to appreciate all the efforts you have put into this awesome theme.
I've encountered an issue with the "Code Block" indentation as shown in the attached picture. As the sentence is long and some words go to the second line, they interfere with the indentation vertical line indicator.
It would be more visually appealing if the extra words in the second line to be indented as well as the whole sentence is indented.
The markup format of the "Code Block" is :
if condition:
    # Code to execute if the condition is True
elif another_condition:
    # Code to execute if the previous condition is False, but this one is True
else:
    # Code to execute if none of the above conditions are True

Looking forward to hear from you.
Best Regards
Amirhossein Moravveji

Here is another example:


Binder fix

This would be my preference for lines ~456+ of CompiledDataBinder.cs:
		string[]? unboundProperties = null;
		string[]? unboundColumns = null;

		string? errorMessage = null;

		if (boundPropertyCount == 0)
		{
			errorMessage = $"None of the properties on the target type ({recordType.Name}) have been successfully bound to a column on the data source. Check the schema/code definition and refer to the " +
				".UnboundProperties / .UnboundColumns properties of this exception for details of what can be bound";

		}
		else if (opts.BindingMode.HasFlag(DataBindingMode.AllProperties) && properties.Any())
		{
			unboundProperties = properties.Select(p => p.Value.Name).ToArray();
			errorMessage = $"The DataBindingMode '{opts.BindingMode}' requires that all properties of the target type ({recordType.Name}) are bound to a column, but currently {unboundProperties.Length} " +
				$"properties are not successfully bound. Check the .UnboundProperties of this exception and adjust the code/schema, or adjust the binding mode by passing a " +
				$"DataBinderOptions object when calling GetRecords()";

		}else if (opts.BindingMode.HasFlag(DataBindingMode.AllColumns) && physicalColumns.Any())
		{
			unboundColumns = physicalColumns.Select(p => p.ColumnName).ToArray();
			errorMessage = $"The DataBindingMode '{opts.BindingMode}' requires that all columns of the data source are bound to a property on the target type ({recordType.Name}), but currently " +
				$"{unboundColumns.Length} columns are not successfully bound. Check the .UnboundColumns of this exception and adjust the code/schema, or adjust the binding mode " +
				$"by passing a DataBinderOptions instance when calling GetRecords()";

		}
		else if (requiredProperties.Any())
		{
			unboundProperties = requiredProperties.ToArray();
			unboundColumns = physicalColumns.Select(p => p.ColumnName).ToArray();
			errorMessage = $"{unboundProperties.Length} properties on the target type ({recordType.Name}) are marked as required, but they are not bound to a column on the data source. " +
				$"Check the .UnboundProperties of this exception and adjust the code/schema so that they bind successfully, or remove their [DataMember(IsRequired=true)] requirement";

		}

		if (errorMessage != null)
		{
			throw new UnboundMemberException(errorMessage, unboundProperties ?? Array.Empty<string>(), unboundColumns ?? Array.Empty<string>());
		}


Add gleam-for-elixir-users page

Work in progress.
Following the structure of the page existing for Erlang. And leveraging code from Elixir's official docs.

@lpil I think that's good enough for this PR, it's ready for review and merge


Show version log for changes on rules

Context: Discussion https://github.com/astral-sh/ruff/discussions/11367
The idea is that each rule should have a history or log of when it was added as preview, when it became stable and when it had changes in behavior. Also the version if it became deprecated or removed.
Example:
Rule FOO123
v0.1.2 - Added as experimental
v0.2.7 - Behavior changed for classes with letter J
v0.3.0 - Rule became stable
v0.3.2 - Rule deprecated in favor of BAR999
v0.4.0 - Rule removed
This page https://docs.astral.sh/ruff/rules/ could show which minor version the rule became stable if it is stable or the patch version if it is still experimental:

Code
Name
Message
Availability

FOO201
class-comparison-one
Checks when class is compared to function
0.2
✔ 🛠

FOO202
class-comparison-two
Checks when class is compared to method
0.3.4
🧪 🛠

In our application we have preview = true because we are moving quite fast with ruff iterations and even experimental ruff rules are usually much better than relying on other linters. Having this would help a lot on us prioritizing rules that been experimental for longer or that have been added on versions that our devs have installed already.

We'd need to design internal tooling to make this possible.


Remove Git Fundamentals packages from automation

Removing Microsoft.Git, Microsoft.GitCredentialManagerCore, and
Microsoft.VfsforGit from automation. The Git Fundamentals team is
transitioning to using the microsoft/wingetcreate tool to generate
manifests for these tools and submit them to microsoft/winget-pkgs.

/approve-and-merge


Notifications Permissions

Recently installed v0.0.3 (thanks for the quick response BTW!) and successfully updated the app, however I noticed some non-functionality that I blamed myself for when using v0.0.2 that I now think may lie within the app.
The app never asked me for notification permissions, it only asked me for r/w access to Anki cards. When using v0.0.2 I figured I may have accidentally skipped past the screen, but again when using v0.0.3 I opened the System Settings -> Apps -> AnkiDroid Companion -> Permissions to find that Notifications had not been granted.
Equally happy to hear if this really is my fault, but I'm opening this issue as the app went through a few stages of a toast 'Generating a bug report' open my first start.

Ohh right, thanks for opening the issue!
To be honest I was also baffled by this and how many times this happened to me. Since I am not that great with Android development, I was thinking this issue was happening because of my phone settings haha
Right, so we need to fix this and let the app ask for notification permissions the way it asks for "AnkiDroid permissions". Gonna be looking at this next time I have some free time


U2F not working with Security Keys for Apple ID

U2F not working with Security Keys for Apple ID
Doc: https://support.apple.com/en-us/HT213154
App Name: Fido U2F
App version: 1.3.1
Ledger Nano X
Firmware: 2.2.1

@juliolustosa I'm not sure you got my point here: https://github.com/LedgerHQ/app-u2f/issues/15#issuecomment-1561516489
You need to install another app.


 sorting doesn't work

for example, see voter breakdown for proposals

this is due to a bug in componentDidUpdate/updateAccount, basically if the new address is not a validator, it will not update
(also, this.props != prevProps doesn't do deep comparison, so updateAccount is actually called more often than needed.)
https://github.com/forbole/big_dipper/commit/588115f1f68503f9f2d99619db4ff88b0bc783bb?w=1#diff-fcf611115cf882d04fab5b927bb37a62L30

Tested and deployed.


docker-in-docker fails to install with error

https://github.com/cachix/devenv/blob/e639583e5974e1d0f58ac110356f7f182d6f6004/devcontainer/Dockerfile#L1
  "features": {
    "ghcr.io/devcontainers/features/docker-in-docker:2": {
      "installDockerBuildx" : false,
      "moby": false,
      "installDockerBuildx" : true
    }
  }

imho seems better base image on debian for codespace with which microsoft tests end to end. basically codespace initiative  non composable garbage if you are not going mainstream.

@dzmitry-lahoda did you solve this issue? How? I'm trying to use docker-in-docker but the feature install fails just like you said, and docker-outside-of-docker has this issue https://github.com/devcontainers/features/issues/171 so I'm a bit stuck.

you can check this https://github.com/NixOS/nix/issues/6680 .
people claimed it is solved - i do not trust them. they added nix with single package but not ecosystem.
ecosystem when i just shell into  codespace
so i did it
https://github.com/ComposableFi/composable/blob/main/Dockerfile
https://github.com/ComposableFi/composable/blob/main/.devcontainer.json
idea is to setup home manager in docker
the only issue i did not fixed nicely, at least I think, I had to hardcode some ENV vars into docker, while they must be in home manager. ufortunately home manager has ugly situation reagrding env vars
https://github.com/ComposableFi/composable/blob/d784d7600802f1c523bf55bb4502013ace79585d/Dockerfile#L72
but other than that - it works perfect.

i am not expert and cannot fix it consistently,
MS does iditiotic things to nix and claims it is right.
devevn is cool, but I am not so cool.
home manager ENV vars is weird.
so kind of sure, nice solution exsits, but given MS agains it - which is super clear after answers from 3 codespaces devs - i doubt solution would be ever nice until they will be aligend.


refactor: accommodate java flight client

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?
Because official Java Flight client has some limitations (not exposing FlightData), change how AffectedRows is carried in flight stream to accommodate it.
Checklist

[ ]  I have written the necessary rustdoc comments.
[ ]  I have added the necessary unit tests and integration tests.

Refer to a related PR or issue link (optional)

@fengjiachun  PTAL


clang-tidy: Apply fixes "readability-container-size-empty"

Problem
container.size() == 0 can be written as container.empty()

Summary of Changes
Use container.empty() where possible.

@saurabhst @BroderickCarlin @jelderton @hawk248 ?


MudDataGrid make the List<Column> public

Feature request type
Enhance component
Component name
MudDataGrid
Is your feature request related to a problem?
In order to set all hidden columns before opening the page, for example, it would be very advantageous if you could access the columns.
Describe the solution you'd like
Currently there is only
internal readonly List<Column> _columns = new List<Column>();
Have you seen this feature anywhere else?
No response
Describe alternatives you've considered
No response
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

It comes in version 3


openSession() return error "This needs to be run on the Vert.x event loop"

Hi,
till now Vertx was simply hidden from me while using Hibernate reactive API (1.0.0.CR4). But I have to expose an API to return a session that will be kept open until the client that use this API will decide to close it.
I'm running a Junit test, and I have the following API :
    public Stage.Session openSession() throws ExecutionException, InterruptedException {
        if (session != null && session.isOpen()) {
            session.close();
        }
        Stage.Session newSession = sessionFactory.openSession();
        this.session = newSession;
        return newSession ;
   }

And in my junit test:
       Stage.Session session = deviceRepository.openSession();
When I run the code I got the error:
This needs to be run on the Vert.x event loop
I tried to refactor the code in many different way but I didn't succeed to make it running.
Can you please give me your recommendation how to do it correctly ?
Thanks.

Hi,
the problem with the session is that it's not thread-safe, using it in different threads may cause issues that are hard to debug. Also, when a new session is created is bound to a Vert.x context and needs to be used in the same context after that.
This is normally taken  care of by Hibernate Reactive when one uses the SessionFactory#withTransaction and SessionFactory#withSession.
Your tests aren't working because they run in a JUnit thread, and not a Vert.x one.
One way to solve this issue in JUnit 4 is via a rule included in  in the library io.vertx:vertx-unit:4.0.3:
@Rule
public RunTestOnContext vertxContextRule = new RunTestOnContext();

This will make sure that your tests run in a Vert.x context.
This is not enough though, you also need to make sure that the session is bound to the same Vert.x context defined by the rule.
VertxInstance service:
In general, the way to achieve this is by creating a custom VertxInstance service.
This service tells Hibernate Reactive how to get the correct Vert.x Instance to use when the session is created.
If you create the SessionFactory programmatically, here's an example on how you can do it:
Configuration configuration = new Configuration();
StandardServiceRegistryBuilder builder = new ReactiveServiceRegistryBuilder()
				.addService( VertxInstance.class, (VertxInstance) () -> getMyVertxInstance())
				.applySettings( configuration.getProperties() );
StandardServiceRegistry registry = builder.build();
SessionFactory sessionFactory = configuration.buildSessionFactory( registry );

Alternatively, you can define it using the ServiceLoader mechanism of the JDK:

Add a text  named org.hibernate.reactive.vertx.VertxInstance file under/META-INF/services/

The text file will contain the path to the class implementing the VertxInstance interface:org.myproject.MyVertxProvider

Now Hibernate Reactive will call an instance of MyVertxProvider when in need of a Vert.x instance and if your code runs in the same Vert.x context, everything should work.
Fixing the issue with JUnit 4:
Getting back to the tests, one way to fix them would be:
@Rule
public RunTestOnContext vertxContextRule = new RunTestOnContext();

...

Configuration configuration = new Configuration();
StandardServiceRegistryBuilder builder = new ReactiveServiceRegistryBuilder()
				.addService( VertxInstance.class, (VertxInstance) () -> vertxContextRule.vertx() )
				.applySettings( configuration.getProperties() );
SessionFactory sessionFactory = configuration.buildSessionFactory(  builder.build() );

If you are not using the rule, you can run code in a specific Vert.x context in the following way:
Context currentContext = Vertx.currentContext();
currentContext.runOnContext( event -> {
   // Here you should be able to use the session
});

You should add what you just wrote as a FAQ to the website or wherever.

Yes, I will

@DavideD Very appreciate your explanation. Thanks.

I've created an issue for keeping track of these changes to the documentation/website: https://github.com/hibernate/hibernate-reactive/issues/751
I'm going to close this issue. Feel free to ask more questions is something else is not clear.
Thank you.

@DavideD Is it possible to use the following code you mentioned earlier with JUnit 5?
Context currentContext = Vertx.currentContext();
currentContext.runOnContext( event -> {
   // Here you should be able to use the session
});

Yes, that code is Vert.x, not JUnit.
But there is not an equivalent extension for JUnit 5 of:
@Rule
public RunTestOnContext vertxContextRule = new RunTestOnContext();


Add Lift as a recognized dependency update tool

Is your feature request related to a problem? Please describe.
I would like to add Lift (lift.sonatype.com/) as a recognized tool for the Dependency-Update-Tool test to expand the list of popular available tools.
Describe the solution you'd like
Add a new case to the Dependency-Update-Tool to pass if a valid configuration file for the Lift tool is found.
Describe alternatives you've considered
None in this case.
Additional context.

Hey @theresa-m could you tell us how we can detect the use of Lift? Config file?

Lift does have a config file .lift.toml. Its existence is not required to use the tool however I think it makes sense to continue using this approach for detection as existing tools have done.

@theresa-m ok to close this issue? Feel free to re-open if needed.


The application panicked (crashed).

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (8c1a569 2023-09-19T00:38:40.696654600Z)
What command(s) is the bug in?
forge script
Operating System
Windows
Describe the bug

hmm, this is thrown when no bytecode was found for the contract
could you please try the full path to the script file like forge script script/NFT.s.sol
https://book.getfoundry.sh/reference/forge/forge-script#examples


linter rule: outputs-should-not-contain-secrets

Parity with TTK: https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-test-cases#outputs-cant-include-secrets

Fixes #3973
Proposed documentation
Outputs should not contain secrets
Code: outputs-should-not-contain-secrets
Description: Don't include any values in an output that could potentially expose secrets. For example, secure parameters of type secureString or secureObject, or list* functions such as listKeys.
The output from a template is stored in the deployment history, so a malicious user could find that information.
The following example fails because it includes a secure parameter in an output value.
@secure()
param secureParam string

output badResult string = 'this is the value ${secureParam}'

The following example fails because it uses a list* member function in an output.
param storageName string
resource stg 'Microsoft.Storage/storageAccounts@2021-04-01' existing = {
  name: storageName
}

output badResult object = {
  value: stg.listKeys().keys[0].value
}

The following example fails because it uses a list* function in an output.
param storageName string
resource stg 'Microsoft.Storage/storageAccounts@2021-04-01' existing = {
  name: storageName
}

output badResult object = {
  value: listKeys(resourceId('Microsoft.Storage/storageAccounts', stg.name), '2021-02-01')
}

The following example fails because the output name contains 'password', indicating that it may contains a secret
output accountPassword string = '...'

I had asked Brian:

What do people do do fix this? It would think this type thing would be common, especially from a nested template? (Or are nested templates excepted?)

his answer:

nested templates are not excepted... you would pass the resourceId of the resource you need and then list inline where it's used.

@ucheNkadiCode Added you as reviewer.  The new strings are here: https://github.com/Azure/bicep/pull/4716/files#diff-79c99ca30f6a204d8d88d4804da49247990c9ddeb32282ad424763d739ee0ec3. You can also see the proposed documentation above, but there will be a separate review for that.

@ucheNkadiCode Ready for string review

@ucheNkadiCode Uche Nkadi FTE Ready for string review

This looks good! Thanks for changing the "don't" statements to should not


Minimize / Maximize Support

Would it be possible to get the classic minimize / maximize buttons supported in the header?

Yeah, I think that's something we can include in the library since we want to be opinionated about the UI

I added the icons w/out the plumbing. I made a PR but looks like github swallowed it. Seems to be some connectivity issues on here today. Here's the tree https://github.com/awcoding/react-cristal


About unreleased repo meant for laptops and desktops with generic Linux and Windows

Hi
I saw your readme about unreleased repo meant for laptops and desktops with generic Linux and Windows that is in progress. that means this is GUI dual boot support for traditional laptop/desktop?

Yes, I have an edited version of the customization and installation GUI that works for Linux and Windows dual boot with rEFInd with secure boot support meant for laptops and desktops. So far, I have only coded for Ubuntu (and Ubuntu flavors like Kubuntu). The main differences are that most other Linux distros (not SteamOS) have the EFI system partition mounted as /boot/efi not /esp. This is accounted for as well as a secure boot supported installation method using mokutil. The code is not as polished as I would like it to be in order to release it, but if it's something that you would be interested in, let me know your Linux distro of choice and your desired setup, and I can try to work on it (to prepare it for release) in the next few weeks. Thanks.

I usually used Debian and Arch based distros (Kubuntu, linux Mint, Manjaro, PopOS and Arch Linux) with Windows 10/11 and any input will be welcome. BTW, I know GRUB on those distros usually does not support mouse input.  But, this one will support mouse input right?

Yes rEFInd will allow mouse input to work as long as it's enabled in the refind.conf config file. The way I have tested it on a few desktops is to have Windows and Kubuntu enabled in rEFInd but the Kubuntu loader goes to its GRUB so I can choose which kernel to use on any given boot (since some kernels have issues with mainline). A setup is possible to bypass GRUB entirely and boot straight from rEFInd but I'll leave that up to config file editing by the end user, if and when I release this other repository.

Still a bit unpolished and I've only really setup the installation process for Fedora / Nobara, but here if you're still interested.


feat: add pq4r

Description
Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes #75
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Manual Testing

Checklist:

[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings

:tada: This PR is included in version 1.10.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Not enough documentation for newbie

Please help me a little more with this gem.. i need to ask where to put this code related to gem in my rails app.. and what are the pre-requisites for using this screencap gem..

Hi @bilalejazkpr, I think you are asking the right question in the wrong place. Take a look at bundler. It manages dependencies for ruby. Also stackoverflow might be a useful resource for you. All the best!


use bootrap 4

Currently I use a template using bootstrap 4. when I program the template structure like microweber, there is a problem that the template always imports using bootstrap3ns so the template can't run with boostrap4.
Is there any way to fix that.

Hello, in the header you need to replace mw.lib.require('bootstrap3') with mw.lib.require('bootstrap4')


Write tests for tbDEXHttpClient

Need to add all unit tests for the tbDEXHttpClient

Still on track for 1.0


Tests not actually run by Actions

The tests are essentially fudged against the Actions runner. This may be giving a false sense of security or may otherwise be detrimental.
In order to fix I believe we need to adjust  the Actions runner to include libgtk-3-0-dev, however that would be done.

I don't think this is actually resolvable while using the Alpine-based testrunner. Still, maybe something to consider? Maybe not having the actions run at all would make sense, considering they are a no-op for the distribution?

This is fixed in #110

Merged . thanks


Subresource Integrity (SRI) - "integrity" attribute missing on Javascript delivered via CDN

Issue Summary
Any resources delivered via a CDN should have the integrity attribute with a SHA hash to ensure the resource has not been modified, creating a potential vulnerability.
Steps to Reproduce

Deploy a Ghost site
JS assets served via a CDN included within the default template do not have an integrity attribute

Ghost Version
5.26.3
Node.js Version
16.19.0
How did you install Ghost?
local and server
Database type
Other
Browser & OS version
N/A
Relevant log / error output
No response
Code of Conduct

[X] I agree to be friendly and polite to people in this repository

I'm looking into a solution for this.
Initial thoughts are to:

add the hash to the ghost/core/core/shared/config/defaults.json
Update the getFrontendAppConfig function
Update any logic that uses getFrontendAppConfig

Marked this as a feature request. I've reopened it as it seems you're looking to add support yourself and I'm happy to accept a PR for this as an additional security feature.
However, please note this will need to be implemented such that it's optional, as we pin to minor versions, not patches, and this would break that. Seems like something that's fine to opt into, but is not for the majority of users.


Error when initializing the page on MAUI Blazor

Hello,
I find your project awesome, but i am faced to a problem when i have tried the MudExObjectEditForm
here you are the code
<MudExObjectEditForm OnValidSubmit="@OnSubmit" Value="@MyModel"></MudExObjectEditForm>
@code{
    private Model MyModel { get; set; } = new Model();

    private void OnSubmit()
    {

    }

    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        if (firstRender)
            await JsRuntime.InitializeMudBlazorExtensionsAsync();
        await base.OnAfterRenderAsync(firstRender);
    }

    public class Model
    {
        public int Id{ get; set; }
        public string Name{ get; set; }
        public DateTime CreadtionDate{ get; set; }
        public bool Activate{ get; set; }
    }
}

I have followed correctly and i have done it several times but i got this error each time i load the page having the form.
I got this error
blazor.webview.js:1

Could not find 'mudElementRef.getBoundingClientRect' ('mudElementRef' was undefined).
Error: Could not find 'mudElementRef.getBoundingClientRect' ('mudElementRef' was undefined).
    at https://<IP_ADDRESS>/_framework/blazor.webview.js:1:328
    at Array.forEach (<anonymous>)
    at s.findFunction (https://<IP_ADDRESS>/_framework/blazor.webview.js:1:296)
    at S (https://<IP_ADDRESS>/_framework/blazor.webview.js:1:2442)
    at https://<IP_ADDRESS>/_framework/blazor.webview.js:1:3330
    at new Promise (<anonymous>)
    at beginInvokeJSFromDotNet (https://<IP_ADDRESS>/_framework/blazor.webview.js:1:3311)
    at https://<IP_ADDRESS>/_framework/blazor.webview.js:1:42799
    at EventTarget.<anonymous> (<anonymous>:7:62)
    at EmbeddedBrowserWebView.<anonymous> (<anonymous>:1:37578)
   at Microsoft.JSInterop.JSRuntime.InvokeAsync[TValue](Int64 targetInstanceId, String identifier, Object[] args)
   at MudBlazor.MudCollapse.UpdateHeight()
   at MudBlazor.MudCollapse.OnAfterRenderAsync(Boolean firstRender)
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState)

How to reproduce:

create a maui blazor project
add prerequisite like in the readme
add the code above in the index.razor

Hope it helps, thanks for your work :)

Looks like your mudblazor.js is not loaded. This then is not a case in my project.
In your index you need to add <script async src="_content/MudBlazor/MudBlazor.min.js"></script>

Yeah you're right my bad 👍


Library selection "RT-PCR" definition incomplete/unclear

Dear ENA Team,
the definition of the libarary selction option RT-PCR is not clearly defined, it seems the definition was cut off mid-sentence, see here:
https://github.com/enasequence/schema/blob/b250e19dc72d4f78c03b11dfae51753fa2946a2f/src/main/resources/uk/ac/ebi/ena/sra/schema/SRA.experiment.xsd#L292
Could you please correct the definition, so it is clear to the submitters whether the option refers to reverse transcription PCR or real-time PCR as per this nomenclature:
https://en.wikipedia.org/wiki/Reverse_transcription_polymerase_chain_reaction#Nomenclature
Many thanks.

Dear ENA Team, I was wondering if I could get an answer to my request.


TypeError with @socket.io/redis-adapter on Node.js v18.15.0

I'm encountering an unexpected error when utilizing the socket.io/redis-adapter in my application. Below are the error logs for your reference:
Environment:

Node.js Version: 18.15.0
Redis Instance Version: redis:7.0.11-alpine
Docker container

Dependencies:

"redis": "4"
<EMAIL_ADDRESS>"^8.2.1"
"socket.io": "4.5.1"
"socket.io-client": "4.5.1"

Error Log:
Node.js v18.15.0
/app/node_modules/@[socket.io/redis-adapter/dist/sharded-adapter.js:27](http://socket.io/redis-adapter/dist/sharded-adapter.js:27)
class ShardedRedisAdapter extends socket_io_adapter_1.ClusterAdapter {
                                                      ^

TypeError: Class extends value undefined is not a constructor or null
    at Object.<anonymous> (/app/node_modules/@[socket.io/redis-adapter/dist/sharded-adapter.js:27:55](http://socket.io/redis-adapter/dist/sharded-adapter.js:27:55))
    at Module._compile (node:internal/modules/cjs/loader:1254:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
    at Module.load (node:internal/modules/cjs/loader:1117:32)
    at Module._load (node:internal/modules/cjs/loader:958:12)
    at Module.require (node:internal/modules/cjs/loader:1141:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (/app/node_modules/@[socket.io/redis-adapter/dist/index.js:704:25](http://socket.io/redis-adapter/dist/index.js:704:25))
    at Module._compile (node:internal/modules/cjs/loader:1254:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
    at Module.load (node:internal/modules/cjs/loader:1117:32)
    at Module._load (node:internal/modules/cjs/loader:958:12)
    at Module.require (node:internal/modules/cjs/loader:1141:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (/app/main.js:12473:18)
    at __webpack_require__ (/app/main.js:12549:42)

Node.js v18.15.0

I would appreciate any assistance to resolve this issue.

It looks like the following change silently changed the minimum version of socket.io-adapter that's required:
https://github.com/socketio/socket.io-redis-adapter/commit/7fb6b90baf721c0b89ece93265a3cbe7ca0a7fd0
Some package managers will automatically install required peer dependencies. Mine did not; I ran yarn add socket.io-adapter && yarn dedupe && yarn remove socket.io-adapter, and now things work correctly.

@nwalters512 arf, I did not test with yarn, sorry for that.
@govind-amt which version of socket.io-parser package (imported by both socket.io and @socket.io/redis-adapter) is installed?

@nwalters512 arf, I did not test with yarn, sorry for that.
@govind-amt which version of socket.io-parser package (imported by both socket.io and @socket.io/redis-adapter) is installed?

I get same error, I used<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

@vvtri that's weird, you should have<EMAIL_ADDRESS>Could you please try running npm update socket.io-adapter to see if it fixes your issue?

Yeah same issue here, it installs<EMAIL_ADDRESS>Even pinning it to 2.5.4 in package.json doesn't help


fixed bug with return key matching when pluses are used in the properties

When a plus is used in the properties it was causing issues with the return key lookup because the results are being parse which is converting the + in the property to a space in the property.  This was causing return keys to be unmatchable when a plus was in the properties value.

Thanks, @guydmann . Understood that '+' is being parsed to space, but are you sure that that is the only character that maps to a space? Otherwise the reverse mapping wouldn't work in all cases.

I don't know of any other characters that would map to a space but I will think about it and see if I can come up with a more robust fix or a better answer.


Accentuated character breaks condtional binding template side

Unexpected next character  at columns 155-155 [é] in expression [dojo.private === 0?'Public Dojo':'Dojo privé Cela signifie que ce Dojo est ouvert uniquement à des personnes spécifiques (par exemple, les étudiants d'une école). Veuillez ne pas contacter ce Dojo.
Resolution : move condition to controller
TODO: this happens on the dojo page while being in French, but may happen in other pages.

While being closed, we need to remember to avoid using translation in ternary condition inside an template, the interpolation seems to not like accentuated character https://github.com/angular/angular.js/pull/4747


Set cursor on last line of newly created note

That way you don't have to scroll down to start typing when creating a note from a template.

Nice, I wasn't aware of &line=999999999999999, thanks!

Well, that's basically a large enough number such that Advanced URI goes to the last line of the file, cf. https://github.com/Vinzent03/obsidian-advanced-uri/blob/5727a0b18ad5ec5461db59f7680d6cc64122294f/src/main.ts#L600

merged and released 🚀


Proposal: Support loading custom platforms, components etc. through setuptools entrypoints

(This is not a bug report but rather a feature proposal.)
Currently custom components need to be placed into a "rigid" directory structure which (IMO) makes development more cumbersome than necessary.
I propose to additionally allow platforms, entities, components, etc. to be loaded through setuptools entrypoints. This would enable distributing additional components etc. as separate python packages rather than "bundles of files".
There are some design decisions that would need to be considered before implementation could begin, e.g. if there should be one or multiple entry points for the various types of additions, if new core platforms should be able to defined via an entry point plugin, etc.
I would be willing to work on this If there is any interest.

You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:

Sorry. Posted on the forum: https://community.home-assistant.io/t/support-loading-custom-platforms-components-etc-through-setuptools-entrypoints/4380


Optimize1qGatesSimpleCommutation scales superlinearly

What is the expected enhancement?
The transpiler pass Optimize1qGatesSimpleCommutation scales as the ~4th power in the number of qubits for a random circuit of equal width and depth.

This is qiskit-terra 0.19.0.dev0+637acc0

yeah i also noticed this pass scales very poorly as circuit size increases.

Hey @ewinston , could you provide the details as to how you generate this profile? I know about %prun in python but it would be great to know about the profiler (or the script) that you use to generate the above graphs.


Add attachments field to PromptInput

Add attachments field to PromptInput
Making it so that we can pass in non-text input into AIConfig. Most of this format is taken from the PromptOutput

Can you also update the ts side and the schema to reflect this change as well so we keep them all consistent?

I think this looks good. Only alternative I can think of is just having non-text data supported as an Input instead of an Attachment in an input, and having Prompt support inputs array. The main place that would be beneficial would be if there are multiple text inputs since we already support multiple non-text inputs via attachments array here (would need to have multiple text inputs keyed within data I think)

In that case it's probably better to make the inputs an array instead of keyed, since ordering might be important. But yea I agree, they can just be as part of data within Any format and when parsing, we can check if it's a list type and process in order

Can't get yarn test to work, mainly due to two errors:

TypeError: mockedHfInference.mockClear is not a function
ENOENT: no such file or directory, open '/Users/rossdancraig/Projects/aiconfig/typescript/dist/__tests__/samples/basic_chatgpt_query_config.json'

Timeboxing this for now, can investigate more later

No longer needed since Ryan landed https://github.com/lastmile-ai/aiconfig/pull/473


Add Institute of Zoology, Chinese Academy of Sciences

Add Institute of Zoology, Chinese Academy of Sciences
http://english.ioz.cas.cn/

@liangdzou First stage of verification passed, official domain is ioz.ac.cn as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@liangdzou This domain does not belong to a university, nor to a college. I have to close the request without merging. Please ensure that you are familiar with this repository rules located at the bottom of this page before submitting a request.
Also, the official website has an incorrect SSL certificate and redirects to a homepage of another entity.
Please apply for free educational license with an official document that proves your student status. You can do it using "OFFICIAL DOCUMENT" tab at https://www.jetbrains.com/shop/eform/students. Thank you for your understanding!


option to ignore initial values?

I have the following code,
DATA intf TYPE zif_aff_intf_v1=>ty_main.
DATA li_ajson TYPE REF TO zif_abapgit_ajson.
intf-header-description = 'hello world'.
li_ajson = zcl_abapgit_ajson=>create_empty( ).
li_ajson->keep_item_order( ).
li_ajson->set(
  iv_path = '/'
  iv_val  = intf ).
DATA(json) = li_ajson->stringify( 2 ).
BREAK-POINT.

it creates the following json,
{
  "schema": "",
  "header": {
    "description": "hello world",
    "original_language": "",
    "abap_language_version": ""
  },
  "category": "00",
  "proxy": false,
  "descriptions": {
    "types": [],
    "attributes": [],
    "events": [],
    "methods": []
  }
}

I'd like to ignore initial fields, ie. expected outcome is
{
  "header": {
    "description": "hello world"
  }
}

any suggestions/thoughts on implementing this?

Should not be difficult to implement.
There is ignore_empty flag in set. However it works for the whole value. I'm wondering if it is semantically correct to extend the same flag to components of a structure ... or it should be a separate flag ? Currently gravitating towards the former.

also, I'm considering extending the custom mapping class/interface to also be able to handle values, as I'd like to keep some initial values

perhaps something like adding this method to the custom mapping interface
methods to_json_skip_value
  importing
    io_type type ref to cl_abap_typedescr
    is_node type ty_node,
  returning
    value(rv_skip) type abap_bool.

if it returns rv_skip = abap_true, then skip the value, else as normal

Separated the last comment into an issue #72 (good idea by the way !)
Looking into ignore_empty ... there is a stupid issue on the way ... ignore_empty = true by default :) So current semantics can be used somewhere already. Does it make sense that it is true by default and thus:

ajson skips direct empty values
and also skips all deep empty attrs of structures? And structures in structures ? And structures in tables ? (but not empty table items, unless the whole table is empty) ... hmmm

having ignore_empty on by default, might be a breaking change, not for ABAP, but if there are consumers of the json in languages that respect undefined
but anyhow, I'm all for breaking stuff #keepTheCoreMoving

In the meantime I think it is "just implement #72 as the only way to do it"...

yea, so close this issue?

Not yet, let's keep it for clarity, the task is a bit more difficult than I thought

The filter was implemented, can this be closed ?


Unable to load bookstack when system is restarted

Describe the bug
I turned of the system installed with book stack.Today i turned it on and tried to login.
Login page is loaded.After giving my login details and tried to login.But ,it shows an empty page.The page is loaded but ,no content is there.Even after restarting the apache server it shows the same empty page.

Hi @CMADHANKUMAR,
Can you provide any extra information?
What operating system are you on?
What method did you use to install bookstack?
Have you checked the server logs for any errors?

I used ubuntu 18.01 os.
I used the installation script to install bootstak.
It was working fine.Yesterday i turned off the system and today turned it on.
Then it was loading a blank page.

How to check the server logs ?

@CMADHANKUMAR The apache server log can usually be found at  /var/log/apache2/error.log on ubuntu. Try to access BookStack then check the last lines of this file to see if it shows any errors.

Since the last comment on this issue is relatively old I'm going to close this. If the issue remains and is something you still require to be fixed please open a new issue, referencing this one.


fix/OKX - False insufficient balance error for market buy order

Before submitting this PR, please make sure:

[x] Your code builds clean without any errors or warnings
[x] You are using approved title ("feat/", "fix/", "docs/", "refactor/")

A description of the changes proposed in the pull request:
Fixes issue #7127
When placing a market buy order, by default OKX expects it to be denominated in the amount of the quote currency. So instead of buying 1060 NOT, it was buying 1060 USDT worth of NOT.
By setting tgtCcy to base_ccy we specify that the order quantity is denominated in the amount of base currency.
During testing I also came across one small issue regarding the parsing of order / order fill updates through the websockets. In certain cases a order update was parsed as a trade fill which failed because certain fields were not set.

2024-07-23 20:57:30,675 - 1499651 - hummingbot.connector.exchange.okx.okx_exchange.OkxExchange - ERROR - Unexpected error in user stream listener loop.
Traceback (most recent call last):
File "/home/jbekker/src/hummingbot/hummingbot/connector/exchange/okx/okx_exchange.py", line 408, in _user_stream_event_listener
fill_quote_amount=Decimal(data["fillSz"]) * Decimal(data["fillPx"]),
decimal.InvalidOperation: [<class 'decimal.ConversionSyntax'>]

Tests performed by the developer:
PMM_SIMPLE with a very small spread, waiting for a market buy order. Verified that the order amounts are correct.
Tips for QA testing:

Test in progress

Merged to development and part of release version 2.0.1

Hi @rapcmia , can we have bug fixes like this in v1.28.1? What is the maintenance approach for v1?


feat: #33 Spacings

Shall we convert this story into a mdx? Since it's a foundation story and all foundations are mdx currently

Shall we convert this story into a mdx? Since it's a foundation story and all foundations are mdx currently

The problem is, base styles doesnt work in mdx files, as storybook css cascades into the markup.. this was an issue for the typography docs as well, that's why I went with a "normal" component page.. I think there is a nother way with docs pages without mdx, but I didn't want to spend too much time..
Also I think, they fixed the issue for Storybook 6 already, from what I've read..

Well then let's go for this solution, alsooo fine for me


Regarding Joining the organization

I am Arkaprava Nath
git hub email<EMAIL_ADDRESS>git hub user name-Arkaprava Nath
It would me my pleasure to contribute to your repository.

Hey there @Arkaprava-Nath , I have sent the invite link, do make your organization membership public so that the badge appears on your profile

I'm Abhigyan Singh
git hub email-<EMAIL_ADDRESS>git hub user name- ABHIGYANSINGH77
Contributing to open source is always fun and a good learning experience. I will look forward to contribute to your repository.

Hey there @ABHIGYANSINGH77 , I have sent the invite, do make your visibility to public so that the badge is displayed on your profile


Contents in readme file

Hi can i add a content list containing all the file name, extension, language, basic disc and weather it is low code/ non code or Heavy code (and maybe even contributors to that file)?

Hey @Veerhan-glitch I am so sorry, but, I'll prefer that you work on some other issue, there are plenty of them
And Readme doesn't need that much of Info
Hope you don't mind
<3

Alright I will.
Happy hacktoberfest!

<3


Fix comment removing issue of unit types in struct fields

Fixes #4749

As per the doc to method is taking a Span as the first argument. But hi is a BytePos. So I used the with_hi method.

Indeed! (and this is why it's easier to code in an editor and not the GitHub browser UI :laughing:)
Good you grab the latest nightly toolchain and updates from master, and then rebase when you get a chance?

Thanks for the updates! For future reference, please be sure to do a rebase instead of adding branch merge commits, as we want to avoid adding merge commits to the index. Will go ahead and squash the PR on merging it so no worries, but a standard rebase will definitely be helpful in any future cases.


JAVA-3085: Tell graal to initialize com.datastax.oss.driver.internal.…

…core.util.Dependency at build-time

I tried this change with a couple local Graal test cases (including one of the ones referenced on the original PR) and I don't see any fatal regressions.  I am seeing the following set of warnings now which (I believe) are new:
> Task :nativeImage
========================================================================================================================
GraalVM Native Image: Generating 'keyspaceCount' (executable)...
========================================================================================================================
Warning: Could not register io.netty.handler.codec.compression.Lz4FrameDecoder: queryAllPublicMethods for reflection. Reason: java.lang.NoClassDefFoundError: net/jpountz/lz4/LZ4Exception.
Warning: Could not register io.netty.handler.codec.compression.Lz4FrameEncoder: queryAllPublicMethods for reflection. Reason: java.lang.NoClassDefFoundError: net/jpountz/lz4/LZ4Exception.
Warning: Could not register io.netty.handler.codec.marshalling.CompatibleMarshallingDecoder: queryAllPublicMethods for reflection. Reason: java.lang.NoClassDefFoundError: org/jboss/marshalling/ByteInput.
Warning: Could not register io.netty.handler.codec.marshalling.CompatibleMarshallingEncoder: queryAllPublicMethods for reflection. Reason: java.lang.NoClassDefFoundError: org/jboss/marshalling/ByteOutput.
Warning: Could not register io.netty.handler.codec.marshalling.MarshallingDecoder: queryAllPublicMethods for reflection. Reason: java.lang.NoClassDefFoundError: org/jboss/marshalling/ByteInput.
Warning: Could not register io.netty.handler.codec.marshalling.MarshallingEncoder: queryAllPublicMethods for reflection. Reason: java.lang.NoClassDefFoundError: org/jboss/marshalling/ByteOutput.
Warning: Could not register io.netty.handler.codec.protobuf.ProtobufDecoder: queryAllPublicMethods for reflection. Reason: java.lang.NoClassDefFoundError: com/google/protobuf/ExtensionRegistryLite.
Warning: Could not register io.netty.handler.codec.compression.Lz4FrameDecoder: queryAllPublicMethods for reflection. Reason: java.lang.NoClassDefFoundError: net/jpountz/lz4/LZ4Exception.
Warning: Could not register io.netty.handler.codec.compression.Lz4FrameEncoder: queryAllPublicMethods for reflection. Reason: java.lang.NoClassDefFoundError: net/jpountz/lz4/LZ4Exception.
Warning: Could not register io.netty.handler.codec.marshalling.CompatibleMarshallingDecoder: queryAllPublicMethods for reflection. Reason: java.lang.NoClassDefFoundError: org/jboss/marshalling/ByteInput.
Warning: Could not register io.netty.handler.codec.marshalling.CompatibleMarshallingEncoder: queryAllPublicMethods for reflection. Reason: java.lang.NoClassDefFoundError: org/jboss/marshalling/ByteOutput.
Warning: Could not register io.netty.handler.codec.marshalling.MarshallingDecoder: queryAllPublicMethods for reflection. Reason: java.lang.NoClassDefFoundError: org/jboss/marshalling/ByteInput.
Warning: Could not register io.netty.handler.codec.marshalling.MarshallingEncoder: queryAllPublicMethods for reflection. Reason: java.lang.NoClassDefFoundError: org/jboss/marshalling/ByteOutput.
Warning: Could not register io.netty.handler.codec.protobuf.ProtobufDecoder: queryAllPublicMethods for reflection. Reason: java.lang.NoClassDefFoundError: com/google/protobuf/ExtensionRegistryLite.
[1/7] Initializing...                                                                                (5.0s @ 0.17GB)
 Version info: 'GraalVM 22.3.1 Java 11 CE'
 Java version info: '11.0.18+10-jvmci-22.3-b13'

I don't think these were introduced by the change in this PR.  Currently working on a quick re-test to confirm.

Confirmed: the warnings above appear with the same GraalVM version even when the changes contained in this PR are not present.  Given that result I don't see any reason not to move forward with this.

tests failures appear unrelated, merging

Thanks for this PR @hhughes and for all of the effort spent attempting to repro etc @absurdfarce .
It looks like the issue is labeled for 4.17.0. Any rough date on when that may be available?

@onobc Fortunately version 4.17.0 of the Java driver is already available!  You can get it from Maven Central or from the release on Github!


query result

hello
i want to know how to get nice json from a query resut
let assume that we have tow tables  :  CUSTOMERS and ORDERS
when i query about customer's orders i want to get result like this:
{
"customer_name":"john dohe" ,
"orders":  [
{
"order_id":1 ,
"order_date" :"12-12-2007"
} ,
{
"order_id":2 ,
"order_date" :"13-12-2007"
} ,
{
"order_id":13,
"order_date" :"14-12-2007"
} ,
]
}
how to achieve that?

This is out of scope of this module. You have to do it on your own.

StackOverflow would be a good place for tgis type of question.


fix: use default renovate semantic commit config

Let renovate decide how to scope our dependencies updates.
https://docs.renovatebot.com/semantic-commits/

I'd like to fix the changelog generation for python based project:

This should let renovate decide whether this is a chore or a fix. Most of the time, we don't need to add the entry in the changelogs.

As alternative, we can configure the scopes per package manager and use chore for all what is related to CI, pre-commit, dev, and use deps for all what might be production code.

Or: we move the current config in an additional file, and update the repositories that need it by extend this file as well:
{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": [
    "github>hetznercloud/.github//renovate/default",
    "github>hetznercloud/.github//renovate/golang",
  ]
}


Fix risk acceptance celery handler + align @task decorators

Fixes https://github.com/DefectDojo/django-DefectDojo/issues/3865
Now shows
$ docker-compose exec celerybeat sh -c 'celery -A dojo inspect registered'
[15/Feb/2021 09:12:31] INFO [dojo.models:3356] disabling audit logging
-> celery@9f983fab23f5: OK
  [...]
    * dojo.risk_acceptance.helper.expiration_handler
  [...]

and command runs
$ docker-compose exec uwsgi /bin/bash -c 'python manage.py risk_acceptance_handle_expiration'
[15/Feb/2021 09:12:55] INFO [dojo.models:3356] disabling audit logging
[15/Feb/2021 09:12:58] INFO [dojo.risk_acceptance.helper:141] expiring 0 risk acceptances that are past expiration date
[15/Feb/2021 09:12:58] INFO [dojo.risk_acceptance.helper:150] notifying for 0 risk acceptances that are expiring within 10 days

The problem seems to be that the fully qualified task name is used in settings.dist.py, which might be why the cron job is not working (It is working for me locally BTW).

To fix that, you could/should just use @task without any name because the name you specified is the default name chosen by celery if you don't specify any.

Right - but we have spelled it out in the past for the others?

I think that is what led me to chosing the wrong name. "It's just a name so pick something nice". In reality it must match what you chose in the celery cron settings. I vote for removing the name and just use the defaults.

OK. Attempting to move to automatic naming produces the following diff:
--- /home/fblaise/tmp/celerytask_initial.txt	2021-02-15 20:11:42.716651336 +0100
+++ /home/fblaise/tmp/celerytask_final.txt	2021-02-15 20:10:52.443889217 +0100
@@ -1,4 +1,3 @@
-    * celery_status
     * dojo.celery.debug_task
     * dojo.jira_link.helper.add_comment
     * dojo.jira_link.helper.add_epic
@@ -6,12 +5,16 @@
     * dojo.jira_link.helper.close_epic
     * dojo.jira_link.helper.update_epic
     * dojo.jira_link.helper.update_jira_issue
+    * dojo.notifications.helper.send_mail_notification
+    * dojo.notifications.helper.send_msteams_notification
+    * dojo.notifications.helper.send_slack_notification
     * dojo.risk_acceptance.helper.expiration_handler
     * dojo.tasks.add_alerts
     * dojo.tasks.async_custom_pdf_report
     * dojo.tasks.async_dupe_delete
     * dojo.tasks.async_pdf_report
-    * dojo.tasks.async_sla_compute_and_notify
+    * dojo.tasks.async_sla_compute_and_notify_task
+    * dojo.tasks.celery_status
     * dojo.tasks.cleanup_alerts
     * dojo.tools.tool_issue_updater.tool_issue_updater
     * dojo.tools.tool_issue_updater.update_findings_from_source_issues
@@ -23,7 +26,4 @@
     * dojo.utils.reopen_external_issue
     * dojo.utils.update_external_issue
     * imagekit.cachefiles.backends._generate_file
-    * send_mail_notification
-    * send_msteams_notification
-    * send_slack_notification```

I didn't say you should change all of them :-D But as long as you check/update the names in settings.dist.py and other places referring to tasks, it should work. Some tasks are just methods called from other code so the name doesn't really matter there.

Yea, I am checking. So far so good ;-)
While I am at it...

Seems good, between manually launched manage.py commands (and small amend to settings.dist.py) and checking the system settings page for celery status, and checking code.

Awesome work @madchap . I like those clean-up pull requests.

Now that we are cleaning up / harmonizing anyway, is there a reason some tasks have @task and others have @app.task and other have @app.task(bind=True)? I think from reading the docs they all should be OK with just @task.

Yea, I had noticed that too, but then, not necessarily, see https://docs.celeryproject.org/en/stable/getting-started/first-steps-with-celery.html#application
When using @app.task we're using the instance we instantiate in celery.py. I would actually want to use that one, as it relates to our app context.
When using only @task, it seems we're actually go backward in time (e.g. celery 3). I see the examples are still given in the docs in some places, but :man_shrugging: .

The regular @task seems to be shared between apps by default. We don't care so much in our case, so I would say the two way are achieving the goal.
However, in the spirit of standardizing, I would use @app.task so that we bind these tasks to the dojo app.

After these last changes, everything looks good as before.
docker-compose exec celerybeat sh -c 'celery -A dojo inspect registered'
[18/Feb/2021 06:08:38] INFO [dojo.models:3356] disabling audit logging
-> celery@b9d9eac4ec30: OK
    * dojo.celery.debug_task
    * dojo.jira_link.helper.add_comment
    * dojo.jira_link.helper.add_epic
    * dojo.jira_link.helper.add_jira_issue
    * dojo.jira_link.helper.close_epic
    * dojo.jira_link.helper.update_epic
    * dojo.jira_link.helper.update_jira_issue
    * dojo.notifications.helper.send_mail_notification
    * dojo.notifications.helper.send_msteams_notification
    * dojo.notifications.helper.send_slack_notification
    * dojo.risk_acceptance.helper.expiration_handler
    * dojo.tasks.add_alerts
    * dojo.tasks.async_custom_pdf_report
    * dojo.tasks.async_dupe_delete
    * dojo.tasks.async_pdf_report
    * dojo.tasks.async_sla_compute_and_notify_task
    * dojo.tasks.celery_status
    * dojo.tasks.cleanup_alerts
    * dojo.tools.tool_issue_updater.tool_issue_updater
    * dojo.tools.tool_issue_updater.update_findings_from_source_issues
    * dojo.utils.add_external_issue
    * dojo.utils.close_external_issue
    * dojo.utils.do_apply_rules
    * dojo.utils.do_dedupe_finding
    * dojo.utils.do_false_positive_history
    * dojo.utils.reopen_external_issue
    * dojo.utils.update_external_issue
    * imagekit.cachefiles.backends._generate_file

Except that now, we use our own celery app instance for all tasks, which seems to be the way forward. Since all our tasks are dojo specific and there is no intent to share them anyways, it's my take that they're better bound through our @app.task.

Also noticed that
When using multiple decorators in combination with the task decorator you must make sure that the task decorator is applied last (oddly, in Python this means it must be first in the list) at https://docs.celeryproject.org/en/stable/userguide/tasks.html @valentijnscholten
Therefore, I may re-order some of your decorators?

I guess doing that threw a wrench in the cog.

The order needs to stay as is because we do the conversion from models to IDs and that needs to happen before celery kicks in.

The order needs to stay as is because we do the conversion from models to IDs and that needs to happen before celery kicks in.

Yea, that's what I wondered. Unit testing locally before pushing again.

Still have some weird errors in unittests that will require more digging.
Like, first error is:
======================================================================
ERROR: test_notes_create (dojo.unittests.test_swagger_schema.EngagementTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/app/dojo/unittests/test_swagger_schema.py", line 395, in test_notes_create
    response = self.client.post(format_url(f"/engagements/{id}/notes/"), data, format='json')
  File "/usr/local/lib/python3.6/site-packages/rest_framework/test.py", line 296, in post
    path, data=data, format=format, content_type=content_type, **extra)
  File "/usr/local/lib/python3.6/site-packages/rest_framework/test.py", line 209, in post
    return self.generic('POST', path, data, content_type, **extra)
  File "/usr/local/lib/python3.6/site-packages/rest_framework/test.py", line 234, in generic
    method, path, data, content_type, secure, **extra)
  File "/usr/local/lib/python3.6/site-packages/django/test/client.py", line 422, in generic
    return self.request(**r)
  File "/usr/local/lib/python3.6/site-packages/rest_framework/test.py", line 285, in request
    return super().request(**kwargs)
  File "/usr/local/lib/python3.6/site-packages/rest_framework/test.py", line 237, in request
    request = super().request(**kwargs)
  File "/usr/local/lib/python3.6/site-packages/django/test/client.py", line 503, in request
    raise exc_value
  File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/rest_framework/viewsets.py", line 125, in view
    return self.dispatch(request, *args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py", line 509, in dispatch
    response = self.handle_exception(exc)
  File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py", line 469, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
    raise exc
  File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py", line 506, in dispatch
    response = handler(request, *args, **kwargs)
  File "/app/dojo/api_v2/views.py", line 192, in notes
    private = new_note.validated_data['private']
KeyError: 'private'

then it goes to crap with things like
======================================================================
FAIL: test_patch_endpoint (dojo.unittests.test_swagger_schema.AppAnalysisTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/app/dojo/unittests/test_swagger_schema.py", line 661, in test_patch_endpoint
    super().test_patch_endpoint()
  File "/app/dojo/unittests/test_swagger_schema.py", line 55, in wrapper
    f(self, *args, **kwargs)
  File "/app/dojo/unittests/test_swagger_schema.py", line 273, in test_patch_endpoint
    self.check_schema(schema, obj)
  File "/app/dojo/unittests/test_swagger_schema.py", line 203, in check_schema
    schema_checker.check(schema, obj)
  File "/app/dojo/unittests/test_swagger_schema.py", line 173, in check
    assert not self._has_failed, "\n" + '\n'.join(self._errors) + "\nFailed with " + str(len(self._errors)) + " errors"
AssertionError:
tags#item0 should be of type string but value was of type <class 'dojo.api_v2.serializers.TagList'>
Failed with 1 errors

Unsure what that is yet. Will push here to show the errors.

Are those the tests expected to fail as they were created to show which parts of the swagger spec are incorrect?
All tests are passing according to GHA.


Fetching the balance mixes different assets

Issue
sdk.get_info() shows mixed balance of different assets.
Description
By accident, I've sent 1 USDT to my liquid address and now my wallet shows me that I have 1 L-BTC. I also have 6,600 LBTC SATS there, so now I keep getting my balance mixed. In response from sdk.get_info() the total sum shows up like 100,006,600 SATS.
I know that Breez doesn't support USDT yet, but we can still have a situation like this.
Please have a look at my suggestion below.
Expected behavior
I would like to have my wallet's balance details separated by asset.
Suggestion
It would be really useful to have details been added to response from sdk.get_info(). Now it returns this object:
{
  balance_sat: number;
  pending_send_sat: number;
  pending_receive_sat: number;
  fingerprint: number;
  pubkey: string;
}

and the issue could be resolved by adding asset details to this response. Something like this:
{
  balance_sat: number;
  pending_send_sat: number;
  pending_receive_sat: number;
  fingerprint: number;
  pubkey: string;
  assets: [
    {
      asset_id: string;
      balance: number;
      ticker: 'L-BTC' | 'USDt'
    }
  ]
}

Environment
Breez SDK Liquid for Python, v. 0.5.1
MAINNET
Thanks for your work!

Hi there,
We use GitHub issues as a place to track bugs and other development-related issues.
Please see the link below to our dedicated support line:
Help Center :  Click Here
Ticket ID: WB240
Note: Click on the live chat icon at the bottom corner of the page to start a conversation.

Hi there!
Hey there!
Your query will be dealt with by the support team.
Please see the link below to our dedicated support line:
HELP DESK
Ticket id: DR0KL
Note: Click on the live chat icon at the bottom corner of the page to start a conversation

This will be resolved once we support multiple assets which is next on our roadmap.

Issue sdk.get_info() shows mixed balance of different assets.
Description By accident, I've sent 1 USDT to my liquid address and now my wallet shows me that I have 1 L-BTC. I also have 6,600 LBTC SATS there, so now I keep getting my balance mixed. In response from sdk.get_info() the total sum shows up like 100,006,600 SATS. I know that Breez doesn't support USDT yet, but we can still have a situation like this. Please have a look at my suggestion below.
Expected behavior I would like to have my wallet's balance details separated by asset.
Suggestion It would be really useful to have details been added to response from sdk.get_info(). Now it returns this object:
{
  balance_sat: number;
  pending_send_sat: number;
  pending_receive_sat: number;
  fingerprint: number;
  pubkey: string;
}

and the issue could be resolved by adding asset details to this response. Something like this:
{
  balance_sat: number;
  pending_send_sat: number;
  pending_receive_sat: number;
  fingerprint: number;
  pubkey: string;
  assets: [
    {
      asset_id: string;
      balance: number;
      ticker: 'L-BTC' | 'USDt'
    }
  ]
}

Environment Breez SDK Liquid for Python, v. 0.5.1 MAINNET
Thanks for your work!

Hey there,
To resolve mixed balances in sdk.get_info(), separate balances by asset type, notify users of unsupported assets, log unsupported deposits, and update the UI to display such assets in a "Restricted" section for clarity, if the issue persists, I recommend reaching out to the support team for expert assistance. A support ticket has been generated for you with ID BRZ7638.
Please visit Breez dApps Support Ticket Requests and utilize the live chat bubble in the bottom-right corner to connect with an agent for prompt support.
Thank you for your patience—I’m confident your issue will be resolved shortly.


Not working in 2.3+

I tried to get this working in Magento 2.3.2, but it doesn't seem to work. I also tried to change some of the selectors to match other classes, and no such luck.

Do you mean that you get a blank screen, no infinite scrolling but still the category page, etc?  What happens when you try to run the extension?
If its an exception, can you post an excerpt showing the error from var/log/exception.log and/or your apache/nginx/etc logs?

Hello,
It doesn't seem to do anything. The page is still running just fine, but the extension doesn't seem to take any effect.
https://www.mccaskillandcompany.com/designers/designers-alex-sepkus/
There is an example link to give you an idea.
I am seeing this error in the Inspector:
Uncaught ReferenceError: IASPagingExtension is not defined
I looked it up, and it seems to be a common error when it comes to Infinite Scrollers when the scripts are combined and minified.
Here are the settings I am also currently using:
https://smhttp-ssl-44145-mccaskill.nexcesscdn.net/pub/media/scroll/Untitled-1.jpg
https://smhttp-ssl-44145-mccaskill.nexcesscdn.net/pub/media/scroll/Untitled-2.jpg
I couldn't find any errors logged in exception.log or system.log that pertained to this issue.

I seem to have got it working.
I added a etc/view.xml file to my custom theme and added this:

Strategery_Infinitescroll::js/jquery-ias.min.js


Random crops enabled?

Hi @ycliu93!
Are random crops enabled as part of augmentation pipeline?
In other words, is cfg.INPUT.CROP.ENABLED set to True at https://github.com/facebookresearch/unbiased-teacher/blob/ba543ed2b87446c79eaf41f93320de246c8eedc2/ubteacher/data/dataset_mapper.py#L38 ?
Right now it seems to me that it's disabled by default in detectron2 standard config and is not enabled anywhere else in unbiased-teacher
Thank you!

We didn't do randomly crop a patch from the whole image and use the cropped patch as input of the model.
Random cropping described in the paper is actually randomly masking patches in an image.

I see, so in fact RandomErasing is meant? Is it enabled? If yes, what are the hyper-params? Thank you!


Copilot steps doesn't display in the screen

This is my code, what should I do to see Copilot steps which will show hints one by one?
I saw that in example there is props.start() to start the tutorial, however, how to make it work, if Copilot steps inside the render function?
import { copilot,walkthroughable, CopilotStep } from '@okgrow/react-native-copilot';
const CopilotText = walkthroughable(Text);

class Home extends Component {

render() {
return (
  <View>
    <CopilotStep text="Hint 1" order={1} name="openApp">
       <CopilotText>Step 1 !</CopilotText>
    </CopilotStep>
    </View>
    <View>
      <CopilotStep text="Hint 2" order={2} name="openApp2">
       <CopilotText>Step 2!</CopilotText>
    </CopilotStep>
    </View>
    <View>
    <CopilotStep text="Hint 3!" order={3} name="openApp3">
       <CopilotText>Step 3</CopilotText>
    </CopilotStep>
    </View>
)}
}

export default copilot()(Home);

it seems that I need to use
componentWillMount() {
    this.props.start();
}

In order to make it start

Thanks for logging, @Luckygirlllll! Is this ready to be closed, then?

@RichardLitt Yes, however, I would recommend too you update Readme file, as I have spent 1 day, trying to figure out why library doesn't work, I guess other users can experience same issue!

That's a good point! But you may be the best person to make that PR 😃. Would you like to do it?

I added that to the README earlier today. If there's anything else you'd like to add, your PRs are very welcome!

@mohebifar Awesome, thanks! Probably mention about this bug would be useful as well in the README! :)


compile: add-folding optimization is surprising

I run this snippet:
print( ("a" + ["b"]) + ["c"] )

And Starlark says:
unknown binary op: "a" + ["b", "c"]
But it wasn't supposed to get to the value ["b", "c"] according to the brackets!
To get the error message above (not just types) I made this modification:
--- a/starlark/eval.go
+++ b/starlark/eval.go
@@ -950,7 +950,7 @@ func Binary(op syntax.Token, x, y Value)

        // unsupported operand types
 unknown:
-       return nil, fmt.Errorf("unknown binary op: %s %s %s", x.Type(), op, y.Type())
+       return nil, fmt.Errorf("unknown binary op: %s %s %s", x, op, y)
 }

 // It's always possible to overeat in small bites but we'll

The compiler's optimizer reassociated the expression and then constant folded it. Because the error message only prints the operand types, you can't tell that the RHS value has changed though its type is the same.

The compiler performs an optimization that transforms an expression of the form a + b + ... + z (where b through z all have the same "addable" type---one of int literal, string literal, tuple expression, or list expression) into a + k where k is the statically computed sum or concatenation of b + ... + z.
This optimization does assume that the leftmost operand's definition of add is associative, which is true for all core types and for all sensible user-defined types. But that should probably be documented at HasBinary.

OK but how is it allowed to transform (a + b) + c into a + (b + c)? I have explicitly chosen this prioritization and order of operations, surely it can't just direct go against that?
BTW, in Bazel these two produce different outputs:
print( select({"a": ["b"]}) + ["c"] + ["d"] )
print( select({"a": ["b"]}) + (["c"] + ["d"]) )

OK but how is it allowed to transform (a + b) + c into a + (b + c)? I have explicitly chosen this prioritization and order of operations, surely it can't just directly go against that?

A compiler can do whatever it likes so long as you can't tell.

BTW, in Bazel these two produce different outputs:
print( select({"a": ["b"]}) + ["c"] + ["d"] )
print( select({"a": ["b"]}) + (["c"] + ["d"]) )

You're correct that they are represented differently, and also that the str(x) output reflects the representation, so the optimization is observable, so this strictly speaking this is a bug. But aside from their string forms, the two select values are otherwise indistinguishable because selects behave associatively, so you would still get the same Bazel build no matter which one you used.


Create ability for UX to request ProductType question before add to cart

Create ability for UX to request ProductType question before add to cart

While the cart no longer exists, it is now possible to supply information at time of order.


Tests for None are too broad

At various points in the src/video-logging.py file, the functions will check if their directory argument is None. The current implementation is :
if directory:
  # Do things if directory is not None
  pass

# Or its negative counterpart
if not directory:
  pass

But this pattern, aside from not being completely obvious, will also match a lot of things that are not None. The negative variant variant is the most problematic one I think :
# not ... will match None
print(not bool(None))

# It will of course also match False
print(not bool(False))

# And, as expected, 0
print(not bool(0))

# More surprising, this will also match an empty list
print(not bool([]))

# While we are at it, it also matches an empty dictionary
print(not bool({}))

# More problematic, it also matches an empty string
print(not bool(''))

While those things are usually not a huge issue, there is a very simple and solid workaround in python to test if directory is not None :
if directory is not None:
  # anticlimactic, is it not ?
  pass

# The positive variant
if directory is None:
  pass

Aside from being safer and more explicit, this will also avoid issues where python does not do what English suggests it does. For instance in sort_by_date :
if directory and extension in EXTENSIONS[directory]:
  # Code follows

Which reads in English as :

if directory and extension [both are] in EXTENSIONS[directory]

But in fact for python it means (in this context) :

if directory is not None and extension in EXTENSIONS[directory]

Note that the expression is used correctly in sort_by_date, I am just pointing out that this can be tricky when reading the code.

Thank you for the detailed issue!
Indeed, it may be less tricky to read now.


Create offis

www.offis.de

@elmarkrauskopf Could you please give us an URL of a long-term IT-related course description at the institute website? Thank you!

@elmarkrauskopf I am sorry, this request remains unanswered for a while, I have to close it. Please reopen and comment if you have an update regarding abovementioned issue. Thank you for your understanding!