Kindly help me with audioBook.Lcp Failure when come to the end of file.

Describe the bug
i am developing android app for run  audiobooks.lcp ..etc but the issue only encounter with audiobooks (Lcp) when am trying same file on TestApp show me message that is not supported on test app.
The issue :
when audio books run it's works fine but when audioBook finsh the error occurs you can see logs below i am not sure if this happen because readium or something else.
also there are design error when you click on drawer menu twice the back to book  the drawer menu items still appear above of book content.
Error Log :
UserError: An error occurred in the ExoPlayer engine. ExoPlayerEngine.Error.Engine: An error occurred in the ExoPlayer engine. ExoPlaybackException: Source error androidx.media3.exoplayer.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:717) androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:693) Loader.UnexpectedLoaderException: Unexpected IllegalArgumentException: Failed requirement. androidx.media3.exoplayer.upstream.Loader$LoadTask.run(Loader.java:442) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) IllegalArgumentException: Failed requirement. org.readium.r2.lcp.LcpDecryptor$CbcLcpResource.lengthFromLastTwoBlocks(LcpDecryptor.kt:150) org.readium.r2.lcp.LcpDecryptor$CbcLcpResource.read(LcpDecryptor.kt:236)
How to reproduce?
1- open audioBook (LCP)
2- play the book
3- wait to the end
4- the error occurs
Readium version
3.0.2
Android API version
14
Additional context
No response

These definitely look like Readium and testapp bugs, thanks for reporting. Your audiobook is probably guilty, but we should handle this case better. Could you confirm that you don't get this log with every LCP audiobook? I don't get it with a random one.

I'm sorry that this happens with all books of the same type ( Lcp )
also we tried on test app and get same issue Test app download from => https://github.com/readium/kotlin-toolkit/releases/download/3.0.2/test-app-3.0.2.apk

This is book you can try from your side (Lcp) book =>
Book Link on drive => https://drive.google.com/file/d/1jWTlh5fKTtK_zA5u8mBWmvw2JtR-8cl0/view?usp=sharing
Passphrase => malhadadi139gmailcommalhadadi139
@qnga

I can reproduce the bug, thanks again!

@qnga sorry sir but Any guess when this might be fixed

I'd like to review carefully this piece of code because it's not the first time it's faulty, maybe this week. In the meantime, you can use the lcp-fixes branch if you're in a hurry.


three.js development!

Hello, how can i combine with three.js development?

@GoodBoyDigital  had a plugin for it. There were also two or three different experiments independent from  @GoodBoyDigital 's

Some tools and libraries are often used because they're popular. I use Pixi.js because it's the best 2D engine in town. So I feel compelled to add that XeoGL exists as a 3D environment for JavaScript and WebGL - as an alternative to ThreeJS. It all depends on what you need to do. But I consider XeoGL to be a "gem" as I do Pixi.

I will pixi.js share a canvas and context with three.js but only three.js will show that the code is shown below.
I would like to use pixi.js to achieve 3D games ui, I do not know what a good way?
`    var app = new PIXI.Application(800, 600, {backgroundColor : 0x1099bb});
document.body.appendChild(app.view);
// create a new Sprite from an image path
var bunny = PIXI.Sprite.fromImage('asset/textures/colors.png')
// center the sprite's anchor point
bunny.anchor.set(0.5);
// move the sprite to the center of the screen
bunny.x = app.renderer.width / 2;
bunny.y = app.renderer.height / 2;

app.stage.addChild(bunny);

// Listen for animate update
// some 3js shit
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, 800 / 600, 1, 10000);
camera.position.z = 1000;
var mesh = new THREE.Mesh(new THREE.BoxGeometry(200, 200, 200), new THREE.MeshBasicMaterial({ color: 0xff0000, wireframe: true }));
scene.add(mesh);

var renderer3d = new THREE.WebGLRenderer({ canvas: app.view, context: app.renderer.gl,premultipliedAlpha:true });
renderer3d.autoClear = true;
// start animating
animate();
function animate() {
    requestAnimationFrame(animate);
    // just for fun, let's rotate mr rabbit a little
    bunny.rotation += 0.1;
    app.renderer.currentRenderer.start();
    app.render(app.stage);
    app.renderer.currentRenderer.stop();
    // ...
    mesh.rotation.y += 0.01;
    renderer3d.render(scene, camera);
}`

It doesn't work like that. please search for special pixi webgl code that works, it was on forums, and here, and even in gitter. @GoodBoyDigital certainly had it somewhere.

Found it: https://github.com/pixijs/pixi.js/issues/3230

Thank you for your suggestion, but I downloaded the Pixi_three.zip instance of GoodBoyDigital and could not. Run pixi_three.html without any show?

#4344 We actually have a bug with reset :)

And one more thing. This one helps to render into texture:
https://jsfiddle.net/c34p532r/24/
renderer3D.state.reset();
renderer3D.setRenderTarget(null);
renderer3D.render(scene, camera, renderTarget);

@ivanpopelyshev  thank you very much for your help!


evolution.py file is missing

I can not find the file evolution.py and when I try to execute the file evlution_generations.py with the parameters that indicate does nothing.

haha sorry, launch method has been modified and I messed up some files. Repo is now updated, please check readme again.

Thanks!
I am going to try


Android

Hey !
is there a way you can add android 5.0 or 4.4 to the chroot .i know loads of apps already support chrome os arc with arc welder ect. but i have an app for my tv network but it wont work on arc and i just like to have android
(could it be rooted if it is already possable )
it would  be freaking nice
THANKS FOR YOUR HELP

i just like to have android

Can Android run on the ChromeOS kernel?  I doubt it.
On Mon, Sep 28, 2015 at 10:55 AM, rinkebab<EMAIL_ADDRESS>wrote:

Hey !
is there a way you can add android 5.0 lolipop to the chroot list so i can
switch between it and stuff
i know loads of apps already support chrome os arc with arc welder ect.
but i have ann app for my tv network but it wont work on arc and i just
like to have android
THANKS FOR YOUR HELP
—
Reply to this email directly or view it on GitHub
https://github.com/dnschneid/crouton/issues/2142.

I was just searching for the possibility for this as well.  I think that adding an Android target/chroot.
There are chroots for Android to use gentoo\Ubuntu\debian on your Android device - I don't see why Android wouldn't be able to run on the ChromeOS kernel... but I've not looked too far into it.

Dupe of #2140


Swordfish reads the whole row group instead of streaming chunks?

Describe the bug
Reading a 2GB parquet file with a single row group:

Reading a 1-row parquet file:

To Reproduce
Write the parquets (couldn't keep it into a single row group with daft/pyarrow):
import fastparquet
import numpy as np
import pandas as pd
from pyarrow import parquet as pq

GIB = 1 << 30

def write_parquet(dst: str, n_rows: int):
    df = pd.DataFrame(
        {"x": np.random.randint(low=0, high=256, size=n_rows, dtype=np.uint8)}
    )
    fastparquet.write(
        filename=dst, data=df, row_group_offsets=n_rows + 1, compression="SNAPPY"
    )

    assert pq.read_metadata(dst).num_row_groups == 1

if __name__ == "__main__":
    big_parquet = write_parquet(dst="big.parquet", n_rows=GIB)
    small_parquet = write_parquet(dst="small.parquet", n_rows=1)

Read (in a different process to avoid GC cleaning the written parquets in the middle of the benchmark):
import daft

if __name__ == "__main__":
    daft.set_execution_config(enable_native_executor=True, default_morsel_size=1)
    df = daft.read_parquet("big.parquet")
    assert df.num_partitions() == 1

    df_iter = df.iter_rows(results_buffer_size=1)
    next(df_iter)

Expected behavior
I would expect the memory usage for reading the first row to be significantly less than the memory required for materializing the whole dataframe, while using morsel size of 1. However, df.collect still takes considerably longer to execute, so we might actually be doing less work. Any thoughts on why this could be?
Component(s)
Parquet
Additional context
I’m not sure if it’s related, but when saving the parquet file with multiple row groups (I tested with 22), reading the first row still consumes a lot of memory. However, if we read just the first row group, the memory usage is much lower.

Couple things here:

Morsel size is currently only applied to operators, e.g. filters, url_downloads, not reads.
read_parquet reads in 1 row group at a time into memory. This is why memory usage is high for "big.parquet", which only has 1 row group. Only upon reading the row group, it will deserialize and stream the row group in chunks of 128kb. This is why iter_rows will be faster than .collect().
Regarding:

when saving the parquet file with multiple row groups (I tested with 22), reading the first row still consumes a lot of memory. However, if we read just the first row group, the memory usage is much lower.

Memory pressure in swordfish isn't fully fleshed out yet, so nothing is preventing the reader from reading all the row groups. This is something we're currently working on!

read_parquet reads in 1 row group at a time into memory.

QQ @colin-ho is this something that can be optimized in the future? I.e. some kind of stateful reading that would materialize at page boundaries instead of at rowgroup boundaries.
I imagine this could get complicated with nested types.

Yeah it can be optimized, we just need to change the reader to be more granular. This is just for local btw, the remote parquet reader already reads at the page level.

Thanks for the detailed response! I’ll avoid using Swordfish with larger datasets for now to prevent OOM :)


cannot make iptables persistent.  apt-get error after pivpn install

Issue
I have pivpn working successfully on my raspbery pi 2+.
I had to manually enter the iptables commands
$ sudo /sbin/iptables --table nat -A POSTROUTING -o wlan0 -j MASQUERADE
$ sudo /sbin/iptables -P FORWARD ACCEPT
I run this:  $ sudo netfilter-persistent save
run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables save
run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables save
after a reboot, doesn't work unless I run these again.
I also get errors on sudo apt-get now.  Here are results from jounalctl$ sudo journalctl -xe
Aug 12 19:49:54 raspberrypi systemd[1]: Mounted /.
-- Subject: Unit -.mount has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- Unit -.mount has finished starting up.
-- The start-up result is done.
Aug 12 19:49:54 raspberrypi systemd[1]: Starting Load Kernel Modules...
-- Subject: Unit systemd-modules-load.service has begun with start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- Unit systemd-modules-load.service has begun starting up.
Aug 12 19:49:54 raspberrypi systemd-modules-load[12885]: Failed to find module 'ipmi_devintf'
Aug 12 19:49:54 raspberrypi systemd-modules-load[12885]: Failed to find module 'ipmi_msghandler'
Aug 12 19:49:54 raspberrypi systemd-modules-load[12885]: Failed to find module 'ipmi_poweroff'
Aug 12 19:49:54 raspberrypi systemd-modules-load[12885]: Failed to find module 'ipmi_si'
Aug 12 19:49:54 raspberrypi systemd-modules-load[12885]: Failed to find module 'ipmi_watchdog'
Aug 12 19:49:54 raspberrypi systemd[1]: systemd-modules-load.service: main process exited, code=exited, stat
Aug 12 19:49:54 raspberrypi systemd[1]: Failed to start Load Kernel Modules.
-- Subject: Unit systemd-modules-load.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- Unit systemd-modules-load.service has failed.
-- The result is failed.
Aug 12 19:49:54 raspberrypi systemd[1]: Dependency failed for netfilter persistent configuration.
-- Subject: Unit netfilter-persistent.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- Unit netfilter-persistent.service has failed.
-- The result is dependency.
Aug 12 19:49:54 raspberrypi systemd[1]: Unit systemd-modules-load.service entered failed state.
Aug 12 19:49:54 raspberrypi sudo[12822]: pam_unix(sudo:session): session closed for user root
Aug 12 19:49:57 raspberrypi sudo[12891]: pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/journalctl
Aug 12 19:49:57 raspberrypi sudo[12891]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
lines 1022-1061/1061 (END)

To save that rules you should use:
iptables-save > /etc/iptables/rules.v4  Not the Netfilter command.
Try this first to see if the problem gets solved.
Are you using Raspbian?? Because PiVPN should do this by itself you shouldn't need to issue that manually.

I had a problem with saving my iptables rules aswell, but managed to fix it reading this: https://www.thomas-krenn.com/en/wiki/Saving_Iptables_Firewall_Rules_Permanently

Yes, using Raspian.
Linux raspberrypi 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux
I can write out that rules.v4 file, but it will not persist.  It seems that iptables-persistent and netfilter-persistent will NOT configure correctly.  Anyone seen this before?  I think this is a raspbian issue, not a pivpn issnue.  Although pivpn is impacted.
etting up netfilter-persistent (1.0.3+deb8u1) ...
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
A dependency job for netfilter-persistent.service failed. See 'journalctl -xn' for details.
invoke-rc.d: initscript netfilter-persistent, action "start" failed.
dpkg: error processing package netfilter-persistent (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of iptables-persistent:
iptables-persistent depends on netfilter-persistent (= 1.0.3+deb8u1); however:
Package netfilter-persistent is not configured yet.
dpkg: error processing package iptables-persistent (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
netfilter-persistent
iptables-persistent
E: Sub-process /usr/bin/dpkg returned an error code (1)

@Kavaho - I think your article has the answer.  At the bottom of that article is a bug mentioned.  The version of netfilter-persisitent v1.0.3 and fixed in v1.0.4.  I'm trying to get v1.0.4 installed now to see if this fixes it.

@umpire7777777 I am glad if it helped. Good luck.

installing v1.0.4 from stretch worked.  I didn't read the full install log of pivpn, but it did fail to add these iptable entries and make them permanent.  Otherwise, everything worked great.
I am working.  You can close this is as an issue whenever you believe it's resolved.


Update hacktoberfest2022.html [Made embedded video frame responsive]

🛠 Fixes Issue
Made YouTube embedded video frame responsive, earlier the embedded video didn't used to change with different screen sizes which have been fixed now.

👨💻 Changes proposed

✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers

📷 Screenshots

Please add hacktoberfest-accepted label :)
Thanks


Skip case_convention checks on deprecated parameters and properties

This PR bypasses the case_convention checks on parameters and properties that are marked as deprecated: true.
I also slipped in a few minor documentation updates to the README.

:tada: This PR is included in version 0.13.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add delete command to trigger types

Fix: #182

Codecov Report

Merging #215 into master will decrease coverage by 0.57%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master     #215      +/-   ##
==========================================
- Coverage   72.91%   72.33%   -0.58%
==========================================
  Files          33       36       +3
  Lines        1938     1992      +54
  Branches      305      311       +6
==========================================
+ Hits         1413     1441      +28
- Misses        525      551      +26

Impacted Files
Coverage Δ

src/tkn.ts
76.48% <0%> (-0.99%)
:arrow_down:

src/extension.ts
89.62% <100%> (+1.62%)
:arrow_up:

src/tekton/eventlistener.ts
50% <50%> (ø)

src/tekton/triggertemplate.ts
50% <50%> (ø)

src/tekton/triggerbinding.ts
50% <50%> (ø)

Continue to review full report at Codecov.

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

testPR


Decode URI encoding before loading file locally

Otherwise files with spaces and non-alphanumeric names will fail

Thanks, but can you update this PR as per the contributing doc https://github.com/remy/inliner/blob/master/CONTRIBUTING.md - it means that tests are automatically included and versions are automatically updated upon merge.
Thanks.

Nah, can't be bothered. Sorry.


V3 Listener Errors - takes 2 positional arguments but 3 were given

I have noticed that V3 listeners generate a lot of errors for methods that aren't even in the listener file, the errors all have this message:

[ ERROR ] Calling method '' of listener '' failed: TypeError: SuiteVisitor.() takes 2 positional arguments but 3 were given

This Issue applies to Robot Framework 7.0 and 7.0.1, and also earlier versions (don't remember which ones)
I have created an example to you can reproduce this issue (feel free to use it as a test case):
mylistener.py:
from robot.api import SuiteVisitor
from robot.libraries.BuiltIn import BuiltIn

class mylistener(SuiteVisitor):
	ROBOT_LISTENER_API_VERSION = 3

	def end_test(self, test, result):
		print(test.name)
		print(test.parent.metadata)

myrobot.robot:
*** Test Cases ***
Demo Test Case
	Demo Keyword
	Demo If
	Demo For Loop
	Demo While Loop

*** Keywords ***
Demo Keyword
	No Operation

Demo If
	VAR 	${a} 		aaa
	IF 	'${a}' == 'aaa'
		Log 	${a}
	END

Demo For Loop
	FOR 	${i} 	IN RANGE 	3
		Log 	${i}
	END

Demo While Loop
	VAR 	${i} 		0
	WHILE 	${i} < 3
		${i}= 	Evaluate    ${i} + 1
	END

Command to reproduce:
robot --listener mylistener.py myrobot.robot

Errors this produces in the log.html file (and on the console):

20240625 13:26:25.200 	ERROR 	Calling method 'start_suite' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_suite() takes 2 positional arguments but 3 were given
20240625 13:26:25.201 	ERROR 	Calling method 'start_test' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_test() takes 2 positional arguments but 3 were given
20240625 13:26:25.201 	ERROR 	Calling method 'start_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.202 	ERROR 	Calling method 'start_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.202 	ERROR 	Calling method 'end_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.203 	ERROR 	Calling method 'end_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.203 	ERROR 	Calling method 'start_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.203 	ERROR 	Calling method 'start_var' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_var() takes 2 positional arguments but 3 were given
20240625 13:26:25.203 	ERROR 	Calling method 'end_var' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_var() takes 2 positional arguments but 3 were given
20240625 13:26:25.204 	ERROR 	Calling method 'start_if' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_if() takes 2 positional arguments but 3 were given
20240625 13:26:25.204 	ERROR 	Calling method 'start_if_branch' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_if_branch() takes 2 positional arguments but 3 were given
20240625 13:26:25.204 	ERROR 	Calling method 'start_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.204 	ERROR 	Calling method 'end_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.205 	ERROR 	Calling method 'end_if_branch' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_if_branch() takes 2 positional arguments but 3 were given
20240625 13:26:25.205 	ERROR 	Calling method 'end_if' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_if() takes 2 positional arguments but 3 were given
20240625 13:26:25.205 	ERROR 	Calling method 'end_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.205 	ERROR 	Calling method 'start_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.206 	ERROR 	Calling method 'start_for' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_for() takes 2 positional arguments but 3 were given
20240625 13:26:25.206 	ERROR 	Calling method 'start_for_iteration' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_for_iteration() takes 2 positional arguments but 3 were given
20240625 13:26:25.206 	ERROR 	Calling method 'start_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.207 	ERROR 	Calling method 'end_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.207 	ERROR 	Calling method 'end_for_iteration' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_for_iteration() takes 2 positional arguments but 3 were given
20240625 13:26:25.207 	ERROR 	Calling method 'start_for_iteration' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_for_iteration() takes 2 positional arguments but 3 were given
20240625 13:26:25.207 	ERROR 	Calling method 'start_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.208 	ERROR 	Calling method 'end_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.208 	ERROR 	Calling method 'end_for_iteration' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_for_iteration() takes 2 positional arguments but 3 were given
20240625 13:26:25.208 	ERROR 	Calling method 'start_for_iteration' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_for_iteration() takes 2 positional arguments but 3 were given
20240625 13:26:25.208 	ERROR 	Calling method 'start_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.209 	ERROR 	Calling method 'end_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.209 	ERROR 	Calling method 'end_for_iteration' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_for_iteration() takes 2 positional arguments but 3 were given
20240625 13:26:25.209 	ERROR 	Calling method 'end_for' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_for() takes 2 positional arguments but 3 were given
20240625 13:26:25.209 	ERROR 	Calling method 'end_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.210 	ERROR 	Calling method 'start_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.210 	ERROR 	Calling method 'start_var' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_var() takes 2 positional arguments but 3 were given
20240625 13:26:25.210 	ERROR 	Calling method 'end_var' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_var() takes 2 positional arguments but 3 were given
20240625 13:26:25.210 	ERROR 	Calling method 'start_while' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_while() takes 2 positional arguments but 3 were given
20240625 13:26:25.211 	ERROR 	Calling method 'start_while_iteration' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_while_iteration() takes 2 positional arguments but 3 were given
20240625 13:26:25.211 	ERROR 	Calling method 'start_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.211 	ERROR 	Calling method 'end_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.211 	ERROR 	Calling method 'end_while_iteration' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_while_iteration() takes 2 positional arguments but 3 were given
20240625 13:26:25.212 	ERROR 	Calling method 'start_while_iteration' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_while_iteration() takes 2 positional arguments but 3 were given
20240625 13:26:25.212 	ERROR 	Calling method 'start_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.212 	ERROR 	Calling method 'end_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.212 	ERROR 	Calling method 'end_while_iteration' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_while_iteration() takes 2 positional arguments but 3 were given
20240625 13:26:25.213 	ERROR 	Calling method 'start_while_iteration' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_while_iteration() takes 2 positional arguments but 3 were given
20240625 13:26:25.213 	ERROR 	Calling method 'start_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.start_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.213 	ERROR 	Calling method 'end_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.214 	ERROR 	Calling method 'end_while_iteration' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_while_iteration() takes 2 positional arguments but 3 were given
20240625 13:26:25.214 	ERROR 	Calling method 'end_while' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_while() takes 2 positional arguments but 3 were given
20240625 13:26:25.214 	ERROR 	Calling method 'end_keyword' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_keyword() takes 2 positional arguments but 3 were given
20240625 13:26:25.215 	ERROR 	Calling method 'end_suite' of listener '/home/dave/Documents/tmp/listener_errors/mylistener.py' failed: TypeError: SuiteVisitor.end_suite() takes 2 positional arguments but 3 were given

Expected result: This should no produce any errors

Additional info for assessing severity:

test cases are not impacted (only the ugly errors in the log)
listener functions defined in the listener file work as expected

Workaround: for each affected function create a function in the listener file like the ones below:
	def end_suite(self, suite, result):
		pass

	def start_suite(self, suite, result):
		pass

	def start_test(self, test, result):
		pass

	def start_keyword(self, data, result):
		pass

	def end_keyword(self, data, result):
		pass

Alternate Workaround:
Change mylistener.py to:
from robot.libraries.BuiltIn import BuiltIn

class mylistener:
	ROBOT_LISTENER_API_VERSION = 3

	def end_test(self, test, result):
		print(test.name)
		print(test.parent.metadata)

The problem is that your original listener implements the SuiteVisitor interface but the listener interface isn't compatible with it. The former is meant for working either with data or result suites while the latter gets both and thus their start_xxx and end_xxx method signatures are different. The latter interface also has some additional methods that the former doesn't.
There being many similar interfaces can certainly be confusing. If you have ideas how to enhance the documentation, let us know. We could also consider publishing an adapter that allows using an existing visitor as a listener. We already use one non-generic adapter internally.

Ah I see where I went wrong now, I followed this example in the documentation:
https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#example-select-every-xth-test
I didn't realize the difference between prerunmodifier and listeners. My eventual fix was to remove the SuiteVisitor as I didn't need it.
Thanks @pekkaklarck for you explanation, maybe there could be a mention in the tip section that while prerunmodifier and listeners look similar they are different, maybe even have a section somewhere explaining the differences, but I don't see this as urgent, not sure how many people will trip on this.


Allow custom plugin

Would be nice to be able to write my own custom plugin to quickly test an idea for a plugin without needing to setup stuff locally!
Not sure how easy this would be to do. 😄

Thank you for posting the issue.
I think it would be convenient to be able to do that.
A reload is required once the rule is implemented, but as a current temporary workaround you can use:

Maybe a button for the custom plugin boilerplate would be nice to have?


[Fix] Address Xcode 14 build warnings

Description
This PR fixes more build warnings provided by Xcode 14 beta 4. The nature of the warnings are similar to Swift SV pull 41.
Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase.

See similar issue here: https://github.com/realm/SwiftLint/issues/4015

Just to confirm, this change is backwards compatible with Xcode 13?

Just to confirm, this change is backwards compatible with Xcode 13?

Yes basically it means uncheck this box for a build phase and force the build phase to run on each build. For the 3 occurrences

We have duplicate detection mechanism for downloading Portal Data, so running the script every time doesn't cause a problem
README copy can be incremental, but since the build phase doesn't specify the Output Files section, it has to be unchecked. Otherwise Xcode 14 would complain
Similar for SwiftLint phase - see the linked issue above. Until Xcode allow specifying incremental files, the dependency analysis box needs to be unchecked.


Error on submission due to Reachability privacy manifest

Hello
Reachability privacy manifest is not ok and apple reject app during validation on Testflight due to that.
ITMS-91056: Invalid privacy manifest - The PrivacyInfo.xcprivacy file from the following path is invalid: “Reachability_Reachability.bundle/PrivacyInfo.xcprivacy”. Keys and values in your app’s privacy manifests must be valid. For more details about privacy manifest files, visit: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files.
Version embedded in apm-agent-ios is 5.2.2.
Reachability privacy manifest has been updated in 5.2.3 and 5.2.4.
https://github.com/ashleymills/Reachability.swift/releases
Can you please update the version ?
Regards
Ronan

Thank you for bringing this to my attention. I'll get a fix out asap.


Add bundles override flag for list and download commands

Adding bundles override to EKS-A list and download command sets.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/LGTM, but it's weird to me that we don't have unit tests for those files

/approve

/test codecov/patch

/test "codecov/patch"


TuYa TS0115

Device description
Multiprise with 4 AC outlets and 2 USB super charging ports (10A or 16A)
Zigbee2mqtt page
https://www.zigbee2mqtt.io/devices/TS0115.html
MQTT message with device information
PUT here the device data you receive when publish message with topic
zigbee2mqtt/bridge/config/devices, as example
"dateCode":"","description":"Multiprise with 4 AC outlets and 2 USB super charging ports (10A or 16A)","friendly_name":"listwa","hardwareVersion":1,"ieeeAddr":"0x842e14fffefcdc44","lastSeen":1605196465607,"manufacturerID":4098,"manufacturerName":"_TYZB01_vkwryfdr","model":"TS0115","modelID":"TS0115","networkAddress":5536,"powerSource":"Mains (single phase)","type":"Router","vendor":"TuYa"}],"type":"devices"

MQTT messages from device
Put here examples of MQTT messages with different states you've received from device, as example
MQTT publish: topic 'zigbee2mqtt/listwa', payload '{"linkquality":69,"state_l1":"ON","state_l2":"ON","state_l3":"ON","state_l4":"OFF","state_l5":"OFF"}'

Zigbee2MQTT:debug 2020-11-12 16:54:24: Received Zigbee message from 'listwa', type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 3 with groupID null

MQTT state change commands
zigbee2mqtt/listwa', payload '{"linkquality":69,"state_l1":"ON","state_l2":"ON","state_l3":"ON","state_l4":"ON","state_l5":"ON"}'
zigbee2mqtt/listwa', payload '{"linkquality":70,"state_l1":"ON","state_l2":"ON","state_l3":"ON","state_l4":"ON","state_l5":"OFF"}

The device is supported by the latest plugin and zigbee2mqtt version. Please reopen the ticket in case of any issues

The device is supported by the latest plugin and zigbee2mqtt version. Please reopen the ticket in case of any issues


Develop

Wait. I made change to develop instead of main. But I didnt want to merge pull request 19 from 13 days ago. Maybe I should just edit the main directly again?


JSON::ParserError: 776

Binding Ethereum node into a Rails app, get 'JSON::ParserError: 776'.
I have a node running APIs via IPC like:
geth --ipcapi "admin,eth,debug,miner,net,shh,txpool,personal,web3"
and in Rails console I can do
client = Ethereum::IpcClient.new("#{ENV['HOME']}/.ethereum/geth.ipc")
but when I try puts client.coinbase["result"] I get and error:
JSON::ParserError: 776: unexpected token at '{"jsonrpc":"2.0","error":{"code":-32600,"message":"EOF"}}

lsoave@basenode:~/github/ethereum-ruby$ bundle exec rspec

Ethereum
  HttpClient
    should work
  IpcClient
    should work (FAILED - 1)
    should support batching (FAILED - 2)

Ethereum
  Ethereum Version
    has a version number (FAILED - 3)
  Deployment
    should deploy a contract with parameters (FAILED - 4)
  Basic contract testing
    should perform a contract transaction, wait for its completion, return an Ethereum::Transaction object (FAILED - 5)
    should test a call_(Ethereum Contract Function) (FAILED - 6)

Failures:

  1) Ethereum IpcClient should work
     Failure/Error: socket = UNIXSocket.new(@ipcpath)

     Errno::ENOENT:
       No such file or directory - connect(2) for /home/lsoave/EtherDev/data/geth.ipc
     # ./lib/ethereum/ipc_client.rb:12:in `initialize'
     # ./lib/ethereum/ipc_client.rb:12:in `new'
     # ./lib/ethereum/ipc_client.rb:12:in `send_single'
     # ./lib/ethereum/client.rb:57:in `block (2 levels) in '
     # ./spec/client_spec.rb:17:in `block (3 levels) in '

  2) Ethereum IpcClient should support batching
     Failure/Error: socket = UNIXSocket.new(@ipcpath)

     Errno::ENOENT:
       No such file or directory - connect(2) for /home/lsoave/EtherDev/data/geth.ipc
     # ./lib/ethereum/ipc_client.rb:12:in `initialize'
     # ./lib/ethereum/ipc_client.rb:12:in `new'
     # ./lib/ethereum/ipc_client.rb:12:in `send_single'
     # ./lib/ethereum/ipc_client.rb:27:in `send_batch'
     # ./lib/ethereum/client.rb:24:in `batch'
     # ./spec/client_spec.rb:21:in `block (3 levels) in '

  3) Ethereum Ethereum Version has a version number
     Failure/Error: expect(Ethereum::VERSION).to eq("0.4.90")

       expected: "0.4.90"
            got: "1.5.2"

       (compared using ==)
     # ./spec/ethereum_spec.rb:12:in `block (3 levels) in '

  4) Ethereum Deployment should deploy a contract with parameters
     Failure/Error: sol_output = @client.compile_solidity(@file)

     NoMethodError:
       undefined method `compile_solidity' for #
     # ./lib/ethereum/initializer.rb:9:in `initialize'
     # ./spec/ethereum_spec.rb:18:in `new'
     # ./spec/ethereum_spec.rb:18:in `block (3 levels) in '

  5) Ethereum Basic contract testing should perform a contract transaction, wait for its completion, return an Ethereum::Transaction object
     Failure/Error: sol_output = @client.compile_solidity(@file)

     NoMethodError:
       undefined method `compile_solidity' for #
     # ./lib/ethereum/initializer.rb:9:in `initialize'
     # ./spec/ethereum_spec.rb:33:in `new'
     # ./spec/ethereum_spec.rb:33:in `block (3 levels) in '

  6) Ethereum Basic contract testing should test a call_(Ethereum Contract Function)
     Failure/Error: sol_output = @client.compile_solidity(@file)

     NoMethodError:
       undefined method `compile_solidity' for #
     # ./lib/ethereum/initializer.rb:9:in `initialize'
     # ./spec/ethereum_spec.rb:33:in `new'
     # ./spec/ethereum_spec.rb:33:in `block (3 levels) in '

Finished in 0.01874 seconds (files took 0.38199 seconds to load)
7 examples, 6 failures

Failed examples:

rspec ./spec/client_spec.rb:16 # Ethereum IpcClient should work
rspec ./spec/client_spec.rb:20 # Ethereum IpcClient should support batching
rspec ./spec/ethereum_spec.rb:11 # Ethereum Ethereum Version has a version number
rspec ./spec/ethereum_spec.rb:17 # Ethereum Deployment should deploy a contract with parameters
rspec ./spec/ethereum_spec.rb:39 # Ethereum Basic contract testing should perform a contract transaction, wait for its completion, return an Ethereum::Transaction object
rspec ./spec/ethereum_spec.rb:44 # Ethereum Basic contract testing should test a call_(Ethereum Contract Function)

@lgs what version of geth are you running? I got it working with my fork https://github.com/alexhanh/ethereum-ruby
$ geth version Geth Version: 1.4.9-stable-b7e3dfc5
geth --datadir ~/EtherDev/data --minerthreads 1 --nodiscover --maxpeers 0 console
IPC endpoint opened: /Users/alexhanh/EtherDev/data/geth.ipc
Then
client = Ethereum::IpcClient.new("/Users/alexhanh/EtherDev/data/geth.ipc")
puts client.eth_gas_price
{"jsonrpc"=>"2.0", "id"=>1, "result"=>"0x4a817c800"}

@alexhanh

lsoave@basenode:~$ geth version
Geth
Version: 1.4.9-stable
Protocol Versions: [63 62 61]
Network Id: 1
Go Version: go1.6.2
OS: linux
GOPATH=/home/lsoave/go
GOROOT=/usr/lib/go

lsoave@basenode:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04 LTS
Release:	16.04
Codename:	xenial
lsoave@basenode:~$ uname -a
Linux basenode 4.2.0-35-generic #40-Ubuntu SMP Tue Mar 15 22:15:45 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

... ops,  i didn't realize you had used your own fork ...

I decided to release a simple JSON RPC client gem https://github.com/alexhanh/jeth. Perhaps ethereum-ruby could use that.

@alexhanh that's good idea but just use #new instead of #create:

$ rails c
Running via Spring preloader in process 5827
Loading development environment (Rails 5.0.0)
irb(main):001:0> client = Jeth::IpcClient.create
NoMethodError: undefined method `create' for Jeth::IpcClient:Class
	from (irb):1

...

irb(main):002:0> client = Jeth::HttpClient.create('http://foo.bar:8545')
NoMethodError: undefined method `create' for Jeth::HttpClient:Class
	from (irb):4

@tymat This pull request fixes the issues https://github.com/DigixGlobal/ethereum-ruby/pull/8, feel free to close the issue.


feat: my collection artwork details page header

The type of this PR is: TYPE

This PR resolves CX-2334
Description
This PR adds my collection artwork details page header
Note:

I also kept the same logic we have for the image carousel and the analytics

https://user-images.githubusercontent.com/11945712/153213782-9d5bd4ca-b481-472b-bf1a-e7010bcdbd6b.mov

PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have tested my changes on iOS and Android.
[x] I have added tests/stories for my changes, or my changes don't require testing/stories, or I have included a link to a separate Jira ticket covering the tests.
[x] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a changelog entry below or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

Add my collection artwork details page header - mounir

iOS user-facing changes

Android user-facing changes

Dev changes

This PR contains the following changes:

Cross-platform user-facing changes (Add my collection artwork details page header - mounir)

  Generated by :no_entry_sign: dangerJS against 18a7af5b6ef41a5f3e33f32982b5d3836135ad01


Simply change to the Swig Bundle to allow for package and terminal parameters for src

Added a new function for generating the src path, this is just a cop of Nicks original conditional, ran over and checked the public and src directories in the file

@alajfit That all looks great, there are just some linting errors in there that need fixing before merging... Thanks!


Add docs

As requested in #120
Contributors can edit the docs by adding a PR.
Access the docs at yalu102.rtfd.io
Will update parent repo to this one if approved (so PRs submitted here for the docs actually update the doc website)

I don't like commit https://github.com/kpwn/yalu102/pull/131/commits/36ce14edd91b73106d462979c57a45aff90cb411, I see that discord link.

@nullpixel1 Yep. This is a community project, if you feel the need to credit yourself, just don't contribute.

Is any of this really needed? GitHub repos have an inbuilt wiki feature...

True, if we're making a wiki, that is the way to go. @ninjaprawn
This PR seems like a whole self advertisement thing to me.

:-1: This seems unneeded


Measurements for Taylor coefficients

Christian wrote some nice code (the "dense code") a while ago for measuring operators used to construct Taylor coefficients. It would be useful to port this into our code base, as an application.
We need to implement deflation (Lanczos algorithm), D_mu operator, and a main that organizes the operators in the correct order.

Henrik did a nice job with this. Thanks!


[Android] Issue with React Native docs

The app examples in React Native docs never work for Android platform, usually
it just loads to a blank white view:

For example I'd really like to see this Android ViewPager demo, to understand whether this is a feasible approach for the project:
https://facebook.github.io/react-native/docs/viewpagerandroid.html

u can clone this repo, and run UIExplorer example

Hmm, that's annoying. I'm sorry! Can you get this demo working on rnplay.org? That's what I would try.

Thanks for reporting this, I will be taking a look at this shortly.

These will be removed in https://github.com/facebook/react-native/pull/13644. I'm looking into the possibility of using the new Snack Player to bring these examples back in https://github.com/facebook/react-native/pull/13646.


Chip implementation updates

The Chip was previously updated to reflect the chip-like UI within the spec'd Multiselect component (WIP). However, this decision had the unfortunate consequence of changing the Chip to something we didn't actually want it to be for majority of existing use cases.
Now, design has some capacity to go back to the drawing board for Chip to ensure its design spec reflects the intent we have for the Chip component moving forward. The Chip used in the Multiselect component's spec remains unchanged, but the intent is that Multiselect will adopt the pattern spec'd for Chip as is in the future.
The spec updates for Chip lives here: https://github.com/openedx/paragon/issues/2645
Dismissable Chip in this work remains largely deferred from a design perspective, but we will still need to support it for existing use cases by some product teams. The Chip component accepts onIconBeforeClick and onIconAfterClick props to allow consumers to interact with clicks on the icon.
Based on the WIP dismissable Chip specs in the above Figma spec, I would recommend updating to conditionally use an IconButton for the icon passed to iconAfter and/or iconBefore when the associated onIconBeforeClick and/or onIconAfterClick is passed.
### Tasks
- [ ] Implement `Chip` based on the Figma spec linked above.
- [ ] There should be some way for consumers to persist a `Chip` as "selected".
- [ ] Consider making the icons rendered within `IconButton` when `onIconBeforeClick` and/or `onIconAfterClick` are passed.
- [ ] On docs site today, it looks like `onIconBeforeClick` may not be doing anything. Verify its behavior is working as intended.

PR: https://github.com/openedx/paragon/pull/2836

I think this has been addressed by #2836. If not we can reopen.


Add 1839 Error debug message when you update DB with wrong attribute name

After block installation sometimes i want to edit the DB.xml
For example If i added wrong code like this:
<field name="bad name not accepted by the pattern '[0-9a-zA-Z$] " type="boolean">
      <unsigned/>
 </field>

I go to "block types" --> some block --> click on "Refresh"
Nothing will happen (bad code) But i do not get any errors ("refresh failed" because X any Y or even just message).
Of course, If i try to install this block from zero (remove and install again) i will get this error:

Error Element '{http://www.concrete5.org/doctrine-xml/0.5}field', attribute 'name': [facet 'pattern'] The value 'bad name with spaces and %$$## ' is not accepted by the pattern '[0-9a-zA-Z$_]{1,64}'. Line: 142 Code: 1839 Error Element '{http://www.concrete5.org/doctrine-xml/0.5}field', attribute 'name': 'bad name with spaces and %$$## ' is not a valid value of the atomic type '{http://www.concrete5.org/doctrine-xml/0.5}databaseEntityNameType'. Line: 142 Code: 1824

@Siton-Design Not strictly related to this issue, but I just wonder if you know that there's a quite handy tool to check doctrine XML validity?
You can find it here: http://concrete5.github.io/doctrine-xml/
For instance, if you enter this text in the top-left field:
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.concrete5.org/doctrine-xml/0.5">
   <table name="test">
      <field name="bad name not accepted by the pattern '[0-9a-zA-Z$] " type="boolean">
         <unsigned/>
      </field>
   </table>
</schema>

The tests in this page will signal you the error:
attribute 'name': The value 'bad name not accepted by the pattern '[0-9a-zA-Z$] '
is not accepted by the pattern '[0-9a-zA-Z$_]{1,64}'.

mlocati thanks. I will use this meanwhile :)


Make Production Ready

This PR fixes every issue that was impacting production and will make it so any future changes to the main branch are automatically deployed to production.
Fixes #43
Fixes #7

lgtm


[explorer] adds pagination to tx data for Address and Object Results Pages

Fixes https://github.com/MystenLabs/sui/issues/2516. Also adds paginations for Object Results Page.
Please review after PR https://github.com/MystenLabs/sui/pull/2485
What the UI looks like:

@Andrew47 did you rewrite the pagination component?

@Andrew47 did you rewrite the pagination component?

Nope - this converts and uses the tested pagination component used in OwnedObjects.

Why not use existing pagination?


OutOfMemoryError when using @ConnectWireMock in tests

Regarding documentation -> https://docs.quarkiverse.io/quarkus-wiremock/dev/index.html
we use wiremock with @ConnectWireMock annotation on open base class (kotlin) from which test classes inherit. With more tests fired, we get “OutOfMemoryError: Java heap space”.

The problem does not occur if we use QuarkusTestResourceLifecycleManager & @QuarkusTestResource on each class.
Perhaps there is something we forgot about regarding the configuration.
I have prepared a reproducer that illustrates the drastic drop in performance of gradle check between these two approaches.
On the 'main' branch: @ConnectWireMock, on 'with-lifecycle-manager' branch: @QuarkusTestResource  -> https://github.com/Tincoquesse/quarkus-wiremock-oom-reproducer
We use the following version of Wiremock:

Quarkus 3.9.1
Gradle 8.6
Java 21

bump

Not stale

We have the same problem with Quarkus 3.12.1, Gradle 8.8 and Java 17. This bug is blocking us to use this extension.

@Tincoquesse Apologies for the delayed response. Are you still able to reproduce the issue with the latest version of the extension (1.40)? If so, I'll investigate it as soon as possible.

hello @chberger
@Tincoquesse was working with me, but changed companies, I will take over and try to support next week :)

@chberger reproducer is not failing for now. So I would close it and we will try at some point revert quarkiverse version to real projects, so we will inform again if problem will arive.

All right, thanks for your feedback!


Unable to preview commits when using branch view

This is my config:
-- local actions = require "fzf-lua.actions"
require('fzf-lua').setup {
  git = {
    commits = {
      cmd = 'git log --graph --color=always --date=short --format="%ad %C(auto)%h%d %an %s %C(black)%C(bold)%cr"'
    }
  }
}

This produces the branch graph view that I need to do my work. The problem is that the previewer is unable to parse the commit hash from the list items (see attached).

I'm guessing that I just need to pass in a smarter preview command. Can you think of anything that would work for the graph view?

Was able to figure this out.
This config:
require('fzf-lua').setup {
  git = {
    commits = {
      cmd = 'git log --graph --color=always --date=short --format="%ad %C(auto)%h%d %an %s %C(black)%C(bold)%cr"',
      preview = [[echo "{}" | grep -o "[a-f0-9]\{7\}" | head -1 | xargs -I % sh -c 'git show --color=always % | less -R']]
    }
  }
}

Produces this (attached):

Creative solution :-)
Just FYI, the default fzf delimiter (customizable if you wish), is space, that means that you could also just change the fzf placholder to {3} but that would only wouldn't solve the branches where you have more than 3 spaces before the commit hash, so your solution is spot on.


duplicate key on private dns zones when upgrading Bug Report

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Versions

terraform:
azure provider:
3.37
module:
3.1.1
Description
fails on "produces duplicate key"
Describe the bug
config:
module "caf-enterprise-scale" {
  source  = "Azure/caf-enterprise-scale/azurerm"
  version = "2.4.1"
  providers = {
    azurerm              = azurerm
    azurerm.connectivity = azurerm
    azurerm.management   = azurerm
  }

  root_parent_id                = data.azurerm_client_config.core.tenant_id
  subscription_id_management    = var.subscription_id_management
  subscription_id_connectivity  = var.subscription_id_connectivity
  deploy_core_landing_zones     = false
  deploy_connectivity_resources = true
  default_tags                  = var.default_tags
  default_location              = var.default_location
  configure_connectivity_resources = {
    advanced = {
      custom_settings_by_resource_type = {
        azurerm_firewall = {
          connectivity = {
            (var.default_location) = {
              firewall_policy_id = azurerm_firewall_policy.firewall_policy.id
            }
          }
        }
        azurerm_virtual_network_gateway = {
          connectivity_vpn = {
            (var.default_location) = {
              ip_configuration = [
                {
                  name                          = "vnetGatewayConfig1"
                  public_ip_address_id          = azurerm_public_ip.vpn_gw[0].id
                  private_ip_address_allocation = "Dynamic"
                  subnet_id                     = data.azurerm_subnet.gateway_subnet.id
                },
                {
                  name                          = "vnetGatewayConfig2"
                  public_ip_address_id          = azurerm_public_ip.vpn_gw[1].id
                  private_ip_address_allocation = "Dynamic"
                  subnet_id                     = data.azurerm_subnet.gateway_subnet.id
                },
                {
                  name                          = "vnetGatewayConfig3"
                  public_ip_address_id          = azurerm_public_ip.vpn_gw[2].id
                  private_ip_address_allocation = "Dynamic"
                  subnet_id                     = data.azurerm_subnet.gateway_subnet.id
                }
              ]
            }
          }
        }
        azurerm_subnet = {
          connectivity = {
            (var.default_location) = {
              "ApplicationGatewaySubnet" = {
                service_endpoints = ["Microsoft.Storage"]
              }
            }
          }
        }
      }
    }
    settings = {
      hub_networks = [
        {
          enabled = true
          config = {
            address_space                   = var.hub_network_address_space
            location                        = var.default_location
            link_to_ddos_protection_plan    = false
            dns_servers                     = []
            bgp_community                   = ""
            enable_hub_network_mesh_peering = false
            subnets = [
              {
                name                      = "AzureBastionSubnet"
                address_prefixes          = ["<IP_ADDRESS>/26"]
                network_security_group_id = null
                route_table_id            = null
              },
              {
                name                      = "ApplicationGatewaySubnet"
                address_prefixes          = ["<IP_ADDRESS>/24"]
                network_security_group_id = null
                route_table_id            = null
              },
              {
                name                      = "APIManagementSubnet"
                address_prefixes          = [var.api_management_subnet]
                network_security_group_id = null
                route_table_id            = null

              }
            ]
            virtual_network_gateway = {
              enabled = true
              config = {
                address_prefix           = var.virtual_network_gateway_range
                gateway_sku_expressroute = ""
                gateway_sku_vpn          = var.vpn_gw_sku
                advanced_vpn_settings = {
                  enable_bgp                       = true
                  active_active                    = true
                  private_ip_address_allocation    = ""
                  default_local_network_gateway_id = ""
                  bgp_settings = [{
                    asn         = var.az_bgp_asn
                    peer_weight = 32768
                    peering_addresses = [
                      { ip_configuration_name = "vnetGatewayConfig1", apipa_addresses = null },
                      { ip_configuration_name = "vnetGatewayConfig2", apipa_addresses = null }
                    ]
                  }]
                  vpn_client_configuration = [{
                    address_space         = [var.client_vpn_ipaddress_range]
                    vpn_auth_types        = ["AAD"]
                    vpn_client_protocols  = ["OpenVPN"]
                    aad_issuer            = "https://sts.windows.net/${data.azurerm_client_config.core.tenant_id}/"
                    aad_audience          = var.client_vpn_audience
                    aad_tenant            = "https://login.microsoftonline.com/${data.azurerm_client_config.core.tenant_id}"
                    radius_server_address = null
                    radius_server_secret  = null
                    revoked_certificate   = []
                    root_certificate      = []
                  }]
                  custom_route = []
                }
              }
            }
            azure_firewall = {
              enabled = true
              config = {
                address_prefix                = var.azure_firewall_range
                sku_tier                      = "Standard"
                private_ip_ranges             = []
                threat_intelligence_mode      = "Deny"
                threat_intelligence_allowlist = []
                base_policy_id                = azurerm_firewall_policy.firewall_policy.id
                dns_servers                   = []
                enable_dns_proxy              = true
                availability_zones = {
                  zone_1 = true
                  zone_2 = true
                  zone_3 = true
                }
              }
            }
            spoke_virtual_network_resource_ids = [
              "/subscriptions/${var.lz1.subscription_id}/resourceGroups/${var.lz1.spoke_vnet_resouce_group}/providers/Microsoft.Network/virtualNetworks/${var.lz1.spoke_vnet_name}",
              "/subscriptions/${var.lz2.subscription_id}/resourceGroups/${var.lz2.spoke_vnet_resouce_group}/providers/Microsoft.Network/virtualNetworks/${var.lz2.spoke_vnet_name}"
            ]
            enable_outbound_virtual_network_peering = true
          }
        }
      ]
      vwan_hub_networks = []
      ddos_protection_plan = {
        enabled = false
        config = {
          location = var.default_location
        }
      }
      dns = {
        enabled = true
        config = {
          location = null
          enable_private_link_by_service = {
            azure_automation_webhook             = true
            azure_automation_dscandhybridworker  = true
            azure_sql_database_sqlserver         = true
            azure_synapse_analytics_sqlserver    = true
            azure_synapse_analytics_sql          = true
            storage_account_blob                 = true
            storage_account_table                = true
            storage_account_queue                = true
            storage_account_file                 = true
            storage_account_web                  = true
            azure_data_lake_file_system_gen2     = true
            azure_cosmos_db_sql                  = true
            azure_cosmos_db_mongodb              = true
            azure_cosmos_db_cassandra            = true
            azure_cosmos_db_gremlin              = true
            azure_cosmos_db_table                = true
            azure_database_for_postgresql_server = true
            azure_database_for_mysql_server      = true
            azure_database_for_mariadb_server    = true
            azure_key_vault                      = true
            azure_kubernetes_service_management  = true
            azure_search_service                 = true
            azure_container_registry             = true
            azure_app_configuration_stores       = true
            azure_backup                         = true
            azure_site_recovery                  = true
            azure_event_hubs_namespace           = true
            azure_service_bus_namespace          = true
            azure_iot_hub                        = true
            azure_relay_namespace                = true
            azure_event_grid_topic               = true
            azure_event_grid_domain              = true
            azure_web_apps_sites                 = true
            azure_machine_learning_workspace     = true
            signalr                              = true
            azure_monitor                        = true
            cognitive_services_account           = true
            azure_file_sync                      = true
            azure_data_factory                   = true
            azure_data_factory_portal            = true
            azure_cache_for_redis                = true
          }
          private_link_locations                                 = []
          public_dns_zones                                       = ["dev.az.finods.com"]
          private_dns_zones                                      = ["appserviceenvironment.net", "privatelink.norwayeast.kusto.windows.net"]
          enable_private_dns_zone_virtual_network_link_on_hubs   = true
          enable_private_dns_zone_virtual_network_link_on_spokes = true
        }
      }
    }

    location = var.default_location
    tags     = var.default_tags
  }
}

2022-12-29T18:55:08.2205265Z Error: Duplicate object key
2022-12-29T18:55:08.2206015Z
2022-12-29T18:55:08.2206715Z   on .terraform/modules/caf-enterprise-scale/locals.connectivity.tf line 89, in locals:
2022-12-29T18:55:08.2207411Z   87:   azurerm_private_dns_zone_connectivity = {
2022-12-29T18:55:08.2208121Z   88:     for resource in module.connectivity_resources.configuration.azurerm_private_dns_zone :
2022-12-29T18:55:08.2208756Z   89:     resource.resource_id => resource
2022-12-29T18:55:08.2209227Z   90:     if resource.managed_by_module
2022-12-29T18:55:08.2209747Z   91:   }
2022-12-29T18:55:08.2210651Z     ├────────────────
2022-12-29T18:55:08.2211867Z     │ resource.resource_id is "/subscriptions/***/resourceGroups/es-dns/providers/Microsoft.Network/privateDnsZones/privatelink.norwayeast.kusto.windows.net"
2022-12-29T18:55:08.2212647Z
2022-12-29T18:55:08.2212932Z Two different items produced the key
2022-12-29T18:55:08.2214007Z "/subscriptions/***/resourceGroups/es-dns/providers/Microsoft.Network/privateDnsZones/privatelink.norwayeast.kusto.windows.net"
2022-12-29T18:55:08.2214963Z in this 'for' expression. If duplicates are expected, use the ellipsis (...)
2022-12-29T18:55:08.2215551Z after the value expression to enable grouping by key.
2022-12-29T18:55:08.2230049Z
2022-12-29T18:55:08.2230369Z Error: Duplicate object key
2022-12-29T18:55:08.2230640Z
2022-12-29T18:55:08.2231319Z   on .terraform/modules/caf-enterprise-scale/locals.connectivity.tf line 109, in locals:
2022-12-29T18:55:08.2232268Z  107:   azurerm_private_dns_zone_virtual_network_link_connectivity = {
2022-12-29T18:55:08.2232989Z  108:     for resource in module.connectivity_resources.configuration.azurerm_private_dns_zone_virtual_network_link :
2022-12-29T18:55:08.2233893Z  109:     resource.resource_id => resource
2022-12-29T18:55:08.2234538Z  110:     if resource.managed_by_module
2022-12-29T18:55:08.2235104Z  111:   }
2022-12-29T18:55:08.2235660Z     ├────────────────
2022-12-29T18:55:08.2237117Z     │ resource.resource_id is "/subscriptions/***/resourceGroups/es-dns/providers/Microsoft.Network/privateDnsZones/privatelink.norwayeast.kusto.windows.net/virtualNetworkLinks/***-07feea57-e490-5a21-95e3-0e86d33dd7b8"
2022-12-29T18:55:08.2238039Z
2022-12-29T18:55:08.2238354Z Two different items produced the key
2022-12-29T18:55:08.2239620Z "/subscriptions/***/resourceGroups/es-dns/providers/Microsoft.Network/privateDnsZones/privatelink.norwayeast.kusto.windows.net/virtualNetworkLinks/***-07feea57-e490-5a21-95e3-0e86d33dd7b8"
2022-12-29T18:55:08.2240563Z in this 'for' expression. If duplicates are expected, use the ellipsis (...)
2022-12-29T18:55:08.2241173Z after the value expression to enable grouping by key.
2022-12-29T18:55:08.2259264Z
2022-12-29T18:55:08.2259665Z Error: Duplicate object key
2022-12-29T18:55:08.2259950Z
2022-12-29T18:55:08.2260519Z   on .terraform/modules/caf-enterprise-scale/locals.connectivity.tf line 109, in locals:
2022-12-29T18:55:08.2261278Z  107:   azurerm_private_dns_zone_virtual_network_link_connectivity = {
2022-12-29T18:55:08.2261967Z  108:     for resource in module.connectivity_resources.configuration.azurerm_private_dns_zone_virtual_network_link :
2022-12-29T18:55:08.2263346Z  109:     resource.resource_id => resource
2022-12-29T18:55:08.2263933Z  110:     if resource.managed_by_module
2022-12-29T18:55:08.2264333Z  111:   }
2022-12-29T18:55:08.2264819Z     ├────────────────
2022-12-29T18:55:08.2266188Z     │ resource.resource_id is "/subscriptions/***/resourceGroups/es-dns/providers/Microsoft.Network/privateDnsZones/privatelink.norwayeast.kusto.windows.net/virtualNetworkLinks/b302aea5-2b20-4b9a-a223-314c4b2bafab-e8214c97-d31a-54c9-893f-cd903b75061d"
2022-12-29T18:55:08.2267081Z
2022-12-29T18:55:08.2267283Z Two different items produced the key
2022-12-29T18:55:08.2268566Z "/subscriptions/***/resourceGroups/es-dns/providers/Microsoft.Network/privateDnsZones/privatelink.norwayeast.kusto.windows.net/virtualNetworkLinks/b302aea5-2b20-4b9a-a223-314c4b2bafab-e8214c97-d31a-54c9-893f-cd903b75061d"
2022-12-29T18:55:08.2272610Z in this 'for' expression. If duplicates are expected, use the ellipsis (...)
2022-12-29T18:55:08.2273553Z after the value expression to enable grouping by key.
2022-12-29T18:55:08.2273892Z
2022-12-29T18:55:08.2274073Z Error: Duplicate object key
2022-12-29T18:55:08.2274323Z
2022-12-29T18:55:08.2274778Z   on .terraform/modules/caf-enterprise-scale/locals.connectivity.tf line 109, in locals:
2022-12-29T18:55:08.2275412Z  107:   azurerm_private_dns_zone_virtual_network_link_connectivity = {
2022-12-29T18:55:08.2276143Z  108:     for resource in module.connectivity_resources.configuration.azurerm_private_dns_zone_virtual_network_link :
2022-12-29T18:55:08.2276816Z  109:     resource.resource_id => resource
2022-12-29T18:55:08.2277471Z  110:     if resource.managed_by_module
2022-12-29T18:55:08.2277918Z  111:   }
2022-12-29T18:55:08.2278605Z     ├────────────────
2022-12-29T18:55:08.2279971Z     │ resource.resource_id is "/subscriptions/***/resourceGroups/es-dns/providers/Microsoft.Network/privateDnsZones/privatelink.norwayeast.kusto.windows.net/virtualNetworkLinks/3a6047b6-ce51-41ec-b86b-f42ed9ef2016-bc77e959-fcf1-5ade-a62c-fefe59b99967"
2022-12-29T18:55:08.2280762Z
2022-12-29T18:55:08.2280966Z Two different items produced the key
2022-12-29T18:55:08.2282292Z "/subscriptions/***/resourceGroups/es-dns/providers/Microsoft.Network/privateDnsZones/privatelink.norwayeast.kusto.windows.net/virtualNetworkLinks/3a6047b6-ce51-41ec-b86b-f42ed9ef2016-bc77e959-fcf1-5ade-a62c-fefe59b99967"
2022-12-29T18:55:08.2283329Z in this 'for' expression. If duplicates are expected, use the ellipsis (...)
2022-12-29T18:55:08.2283954Z after the value expression to enable grouping by key.
2022-12-29T18:55:08.2332518Z
2022-12-29T18:55:08.2332946Z Error: Not enough list items
2022-12-29T18:55:08.2333234Z
2022-12-29T18:55:08.2334356Z   with module.caf-enterprise-scale.azurerm_virtual_network_gateway.connectivity["/subscriptions/***/resourceGroups/es-connectivity-norwayeast/providers/Microsoft.Network/virtualNetworkGateways/es-vpngw-norwayeast"],
2022-12-29T18:55:08.2335662Z   on .terraform/modules/caf-enterprise-scale/resources.connectivity.tf line 138, in resource "azurerm_virtual_network_gateway" "connectivity":
2022-12-29T18:55:08.2336399Z  138: resource "azurerm_virtual_network_gateway" "connectivity" {
2022-12-29T18:55:08.2336760Z
2022-12-29T18:55:08.2337070Z Attribute bgp_settings.0.peering_addresses.0.apipa_addresses requires 1 item
2022-12-29T18:55:08.2337613Z minimum, but config has only 0 declared.
2022-12-29T18:55:08.2390647Z
2022-12-29T18:55:08.2391070Z Error: Not enough list items
2022-12-29T18:55:08.2391440Z
2022-12-29T18:55:08.2392659Z   with module.caf-enterprise-scale.azurerm_virtual_network_gateway.connectivity["/subscriptions/***/resourceGroups/es-connectivity-norwayeast/providers/Microsoft.Network/virtualNetworkGateways/es-vpngw-norwayeast"],
2022-12-29T18:55:08.2393909Z   on .terraform/modules/caf-enterprise-scale/resources.connectivity.tf line 138, in resource "azurerm_virtual_network_gateway" "connectivity":
2022-12-29T18:55:08.2394629Z  138: resource "azurerm_virtual_network_gateway" "connectivity" {
2022-12-29T18:55:08.2395012Z
2022-12-29T18:55:08.2395359Z Attribute bgp_settings.0.peering_addresses.1.apipa_addresses requires 1 item
2022-12-29T18:55:08.2395948Z minimum, but config has only 0 declared.
2022-12-29T18:55:08.6406269Z Releasing state lock. This may take a few moments...
2022-12-29T18:55:08.6934611Z ##[error]Terraform exited with code 1.
2022-12-29T18:55:08.6951689Z ##[error]Process completed with exit code 1.

Steps to Reproduce
Upgrade from  2.4.1 to 3.1.1
Screenshots
See bug-report.
Additional context

Thank you for reporting this @davidkarlsen... we didn't observe this during testing but will see whether we can reproduce.
As part of the 3.x releases we have made a number of updates to the DNS zones managed by the module. I notice you are specifying the duplicate key privatelink.norwayeast.kusto.windows.net in private_dns_zones.
Does this error still occur if you remove this from your config?
We automatically de-duplicate the managed zones, but not user-specified ones. We can certainly consider adding this capability.

@krowlandson It's in the list because we want the private zone for this service too, I guess it will be dropped if I remove it.
I tried that, but now it fails on:
2022-12-29T22:19:51.3784137Z Error: Not enough list items
2022-12-29T22:19:51.3784329Z
2022-12-29T22:19:51.3785843Z   with module.caf-enterprise-scale.azurerm_virtual_network_gateway.connectivity["/subscriptions/***/resourceGroups/es-connectivity-norwayeast/providers/Microsoft.Network/virtualNetworkGateways/es-vpngw-norwayeast"],
2022-12-29T22:19:51.3786796Z   on .terraform/modules/caf-enterprise-scale/resources.connectivity.tf line 138, in resource "azurerm_virtual_network_gateway" "connectivity":
2022-12-29T22:19:51.3787298Z  138: resource "azurerm_virtual_network_gateway" "connectivity" {
2022-12-29T22:19:51.3787508Z
2022-12-29T22:19:51.3787726Z Attribute bgp_settings.0.peering_addresses.0.apipa_addresses requires 1 item
2022-12-29T22:19:51.3788092Z minimum, but config has only 0 declared.
2022-12-29T22:19:51.3837137Z
2022-12-29T22:19:51.3837695Z Error: Not enough list items
2022-12-29T22:19:51.3838112Z
2022-12-29T22:19:51.3840354Z   with module.caf-enterprise-scale.azurerm_virtual_network_gateway.connectivity["/subscriptions/***/resourceGroups/es-connectivity-norwayeast/providers/Microsoft.Network/virtualNetworkGateways/es-vpngw-norwayeast"],
2022-12-29T22:19:51.3844029Z   on .terraform/modules/caf-enterprise-scale/resources.connectivity.tf line 138, in resource "azurerm_virtual_network_gateway" "connectivity":
2022-12-29T22:19:51.3845023Z  138: resource "azurerm_virtual_network_gateway" "connectivity" {
2022-12-29T22:19:51.3845274Z
2022-12-29T22:19:51.3845504Z Attribute bgp_settings.0.peering_addresses.1.apipa_addresses requires 1 item
2022-12-29T22:19:51.3845879Z minimum, but config has only 0 declared.
2022-12-29T22:19:51.7841852Z Releasing state lock. This may take a few moments...
2022-12-29T22:19:51.9473425Z ##[error]Terraform exited with code 1.
2022-12-29T22:19:51.9486131Z ##[error]Process completed with exit code 1.

but we don't use apipa addresses.

Thank you for providing the above @davidkarlsen.
The regional Kusto DNS zone is now created by the module (by default) which is why you no longer need that entry. It shouldn't effect your configuration, but it might also be worth reviewing the other zones we have added.
Regarding the new error above, I will look into this as this is likely caused by the new optional() defaults. Let me see if I can find the cause.

Hi @davidkarlsen, please can you test with release v3.1.2 and let me know if you run into any further issues?

The regional Kusto DNS zone is now created by the module (by default) which is why you no longer need that entry. It shouldn't effect your configuration, but it might also be worth reviewing the other zones we have added.

aha, I was under the impression that it was opt-in, and you had to enable via the enable_private_link_by_service element.

Regarding the new error above, I will look into this as this is likely caused by the new optional() defaults. Let me see if I can find the cause.

I'll see what happens if I drop them, not having to define the elements at all is the most clean seen from a user-perspective.

So I ended up with this diff which worked fine:
diff --git a/main.tf b/main.tf
index f39e814..78a8570 100644
--- a/main.tf
+++ b/main.tf
@@ -8,7 +8,7 @@ terraform {
   required_providers {
     azurerm = {
       source  = "hashicorp/azurerm"
-      version = "~> 3.7, < 3.19"
+      version = "~> 3.37"
     }
     cloudflare = {
       source  = "cloudflare/cloudflare"
@@ -55,7 +55,7 @@ data "azurerm_client_config" "core" {}

 module "caf-enterprise-scale" {
   source  = "Azure/caf-enterprise-scale/azurerm"
-  version = "2.4.1"
+  version = "3.1.2"
   providers = {
     azurerm              = azurerm
     azurerm.connectivity = azurerm
@@ -163,8 +163,8 @@ module "caf-enterprise-scale" {
                     asn         = var.az_bgp_asn
                     peer_weight = 32768
                     peering_addresses = [
-                      { ip_configuration_name = "vnetGatewayConfig1", apipa_addresses = null },
-                      { ip_configuration_name = "vnetGatewayConfig2", apipa_addresses = null }
+                      { ip_configuration_name = "vnetGatewayConfig1" },
+                      { ip_configuration_name = "vnetGatewayConfig2" }
                     ]
                   }]
                   vpn_client_configuration = [{
@@ -265,7 +265,7 @@ module "caf-enterprise-scale" {
           }
           private_link_locations                                 = []
           public_dns_zones                                       = ["dev.az.finods.com"]
-          private_dns_zones                                      = ["appserviceenvironment.net", "privatelink.norwayeast.kusto.windows.net"]
+          private_dns_zones                                      = ["appserviceenvironment.net"]
           enable_private_dns_zone_virtual_network_link_on_hubs   = true
           enable_private_dns_zone_virtual_network_link_on_spokes = true
         }

Thanks a lot for your help and have a happy new year!

That's great, thank you for confirming @davidkarlsen 👍🏻


Add delay and hide / autoHide

on.beforeStep should be executed normally, the step should only be displayed after the delay.
example
const steps = [
  {
    attachTo: { element: '#id1' },
    content: { title: 'Title 1'  },
    hide: true // defaults to true, hides the step when the next step has a delay
  },
  {
    delay: 2000,
    attachTo: { element: '#id2' },
    content: { title: 'Title 2'  },
  }

On start it shows step 1, click next, it hides the current step 1, cause step 2 has a delay.
Step 2 on.beforeStep is executed (e.g. do things like open a navigation with animation).
After 2000 miliseconds step 2 appears.

I don't know where this would be useful...

Yes, it would be useful to wait for the end of scrolling when creating an SVG in the case of "smooth" scrolling, but the mentioned animation is also a good example.

I suggest you to use onBeforeStep for adding delay before the step
on: {
  async beforeStep() {
    await new Promise(resolve => setTimeout(resolve, 1000))
  }
}

I'll add an option to hide the step until on.beforeStep is executed


Integration tests creating existing DID's

The integration tests are recreating the same did's they previously created causing fails because the schema/cred_def's they are trying to create already exist on the ledger. Should be able to make the seed/did creation more random to prevent this from happening.

have we found in the code where the seed is generated? I was thinking in here but I couldn't see it

The aca-py seed is created here:  https://github.com/hyperledger/aries-cloudagent-python/blob/main/demo/runners/support/agent.py#L211
It's kind of hokey and not really robust enough for running integration tests, where we may create hundreds of DID's in a single run of the tests.  (It was initially implemented for a simple demo but should be updated ...)

I can suggest to switch to python secrets.token_urlsafe to create a random seed with large entropy instead of randint.

I can suggest to switch to python secrets.token_urlsafe to create a random seed with large entropy instead of randint.

I'll take a look, thanks for the suggestion.

@ianco looks like @dbluhm is addressing this in another pr with a similar approach, using token_hex instead. Less entropy but good enough!


Plotters does not work. Mac OS Big Sur. Do I need to install some additional software?

I've cloned the main repository.
Doing commands:
cd examples
cargo run --example stock
and see only
Compiling plotters v0.3.0 (/Users/andrejzienko/prj/plotters)
Finished dev [unoptimized + debuginfo] target(s) in 2.03s
Running /Users/andrejzienko/prj/plotters/target/debug/examples/3d-plot
but NOTHING is happening.
no windows - nothing
Mac Os Big Sur
the single example which works is console. What should I do to launch an example?

Examples are generated under the plotters-doc-data folder. Does that help?

As a new user, I had the same confusion and unnecessarily spoiled experience to this wonderful library.
Please add the clarification to examples/README.md

Thanks for reporting is. Closing it since it's related to issue #236, I am planning to come up with a tweak-able drop behavior which should be able to address this issue.


Suddenly won't launch. Unable to install.

Expected Behavior
I expected the program to launch
Actual Behavior
Trying to run the installer throws a javascript exception

Reproduction Steps
No response
Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
No response
Insomnia Version
2022.4.2
What operating system are you using?
Windows
Operating System Version
Win 10 Pro 21H2 19044.1766
Installation method
windows installer
Last Known Working Insomnia version
No response

Can reproduce. Run an older version. I am running v2022.4.2 and everything works fine.

So turns out. After checking with my IT department, it was a security policy. Not quite sure what was blocked because he wouldn't tell me but it even stopped local admin account from working


Use LABEL instead of MAINTAINER

Per docker docs MAINTAINER appears to be deprecated in favor of a more general LABEL command: https://docs.docker.com/engine/reference/builder/#maintainer-deprecated

I was just reading about this the other day. Thanks!


As a user I can get recipes based on the ingredients I have

Acceptance criteria: User can see the terminal application, User can use the terminal application and input ingredients, User can get a response from the application, The output is an acceptable recipe.
Started: Sprint 0

Tasks

[ ] Set up Django REST API

[ ] Takes in ingredients and gives back generated recipe

[x] Connect to OpenAI API @SJET-Code

[x] Engineer a prompt so you get a valid JSON object back @SJET-Code

[ ] Combine Django REST API to OpenAI API
[ ] Research how to test APIs and write out tests

[ ] Test should not cause a call to OpenAI API

[ ] User manual rough draft (API endpoints etc.)


Update security-crypto

This update uses Tink 1.4.0 and fixes issues with Proguard: https://developer.android.com/jetpack/androidx/releases/security#security-crypto-1.0.0-rc03

Oh, I felt like I moved to a new version... Thank you for this PR.


Closing CModal leaves the page unclickable

Operating system and version: Windows 8.1
Browser and version: Chrome 100, Firefox 98
This can be seen on https://coreui.io/vue/docs/components/modal.html
Click on launch demo modal.
Within our app it was using v4.2.0
After closing it we can't click anywhere on page. Expectation is we can click on other parts of the page.

We noticed after modal is closed, some CSS and HTML tags are left behind. If we remove them manually, the page becomes clickable again (see attached files)
before_modal.txt
after_modal_close.txt
This is issue is not seen on ReactJS demo and plainVanilla demo.

@mrholek  - Is this the correct repo for the issue or should I open in coreUI repo?

@silverskysoft this repo is correct. I can't reproduce this on Mac, and Windows 11. I have to install Windows 8, I will try to fix it ASAP.

Is it fixed? I also got the same problem.

@tigerphc It will be fixed in the next release this week. @silverskysoft thank you for your help with this issue.

Checked to be fixed in latest version.


Specify CMake package version (set to 0.9.0)

This adds versioning to the CMake package, so one can do e.g. find_package(hipSYCL 0.9.0 REQUIRED). Would be cool if we could get this into the 0.9.0 release! :-)

Ah, good catch, thank you! Didn't think about cmake.
We should start thinking about unifying the version description from version.hpp with the one from cmake. And think about the process after the release - should the cmake package version just stick to 0.9.0 until the next official release? Or should the cmake package version be more of an identification of "major flavors" of hipSYCL, e.g. "0.9.x" so that we don't have to update it so frequently?

We should start thinking about unifying the version description from version.hpp with the one from cmake

Yes. One way of doing that would be to have the version.hpp file be generated by CMake automatically. That would make the CMake file the single source of truth for the version (and it could even automatically add git hashes, and worktree-dirty flags).

And think about the process after the release - should the cmake package version just stick to 0.9.0 until the next official release? Or should the cmake package version be more of an identification of "major flavors" of hipSYCL, e.g. "0.9.x" so that we don't have to update it so frequently?

I don't know what your plans regarding the frequency of releases are in the future, but I always prefer libraries that are quick to update versions and adhere to Semantic Versioning over slow release cycles that put too much significance into the numbers themselves (such as the elusive "1.0" release). I thus also think the CMake version should be kept up-to-date (which, with the approach mentioned above, would be easy). After all, there is great self-documenting value in being able to just say that a project depends on version 0.10.2 of hipSYCL because of some bug fix, instead of having to note that somewhere in a README.
In this PR I set the compatibility mode of versions to SameMajorVersion, which means that a find_package(hipSYCL 0.9.1) would match e.g. 0.9.2 or 0.10.0, but not 0.9.0 or 1.0.0. This roughly reflects Semantic Versioning (although not fully, as SemVer allows breaking changes in minor releases before 1.0.0).

I'd also love to see symbol versioning, i.e. having an inline namespace v0.9.0 that could also be configured from the CMake version.
This would prevent symbol clashes in the case an application is using one or more libraries using hipSYCL which were built against other versions of it (which might be API incompatible, therefore a simple recompilation would not fix it..).
I know that is anyway not an ideal case, as the runtime and DAG would be replicated.. but if just using hipSYCL internally in a library it should still work with a different version..

Yes. One way of doing that would be to have the version.hpp file be generated by CMake automatically. That would make the CMake file the single source of truth for the version (and it could even automatically add git hashes, and worktree-dirty flags).

Agreed.

I don't know what your plans regarding the frequency of releases are in the future, but I always prefer libraries that are quick to update versions and adhere to Semantic Versioning over slow release cycles that put too much significance into the numbers themselves (such as the elusive "1.0" release). I thus also think the CMake version should be kept up-to-date (which, with the approach mentioned above, would be easy). After all, there is great self-documenting value in being able to just say that a project depends on version 0.10.2 of hipSYCL because of some bug fix, instead of having to note that somewhere in a README.

Yes, I think I tend to agree. As an alternative I wonder if it could make sense to just switch to something like year.month for the releases and then just release every month.

This would prevent symbol clashes in the case an application is using one or more libraries using hipSYCL which were built against other versions of it (which might be API incompatible, therefore a simple recompilation would not fix it..).
I know that is anyway not an ideal case, as the runtime and DAG would be replicated.. but if just using hipSYCL internally in a library it should still work with a different version..

I don't think we can or should support that. There would be massive resource contention on GPUs and CPUs and completely break any scheduling we can do if we have two hipSYCL versions active simultaneously. I think things should break in that case because the alternative is silently introducing potentially massive performance issues.

As an alternative I wonder if it could make sense to just switch to something like year.month for the releases and then just release every month.

Well, I guess it depends on what guarantees you want to make. With SemVer, the package version implicitly tells me whether it should be safe to upgrade (minor or patch releases), allowing me to potentially benefit from performance or functional bug fixes without having to put any additional work into it. With a year.month scheme on the other hand I'll always have to read the changelog. Probably not a huge deal, but still.

With SemVer, the package version implicitly tells me whether it should be safe to upgrade (minor or patch releases)

Given that we are following a specification for the API, unless you are using hipSYCL-specific extensions, is this information not already contained in the SYCL version we are aiming at? (and we already have branches for sycl/2020 and sycl/1.2.1 if you want to target specific SYCL versions).
The advantage I see with year.month is that it would probably be straight-forward to automate.

Given that we are following a specification for the API, unless you are using hipSYCL-specific extensions, is this information not already contained in the SYCL version we are aiming at?

Only if you assume that hipSYCL always implements (a subset of) the spec in a fully compliant way, and the spec is free of ambiguities (which has obviously not been the case thus far, for any SYCL implementation). Any clarification in a spec revision could thus also lead to breaking changes (warranting a major release in SemVer), depending on how the spec was interpreted previously (as a recent example the H2D explicit copy operations come to mind).

Only if you assume that hipSYCL always implements (a subset of) the spec in a fully compliant way, and the spec is free of ambiguities (which has obviously not been the case thus far, for any SYCL implementation). Any clarification in a spec revision could thus also lead to breaking changes (warranting a major release in SemVer), depending on how the spec was interpreted previously (as a recent example the H2D explicit copy operations come to mind).

hm.. I'm not sure we can track clarifications of the spec on such a fine-grained level. I don't really want to have to think about whether every little change that is done to align better with the spec could break some minor details of (incorrect) SYCL code. For example the vec reimplementation - does it behave differently than the old implementation in some unusual edge cases? Who knows, it's a lot of code that was replaced and the old one certainly had its quirks.. I'm not sure we can realistically make such guarantees.
Do you mean copy operations with host accessors? I'm not sure if this ever really worked. I think even with the old runtime it might have just been UB with us not realizing it.


docs: apply fluid to production

Ⅰ. Describe what this PR does
Apply fluid to production in coscene.

@cheyang cc.


Staging/v4.0

Codecov Report

Merging #77 (6104582) into master (d0ffc6c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #77   +/-   ##
=======================================
  Coverage   98.37%   98.37%
=======================================
  Files           3        3
  Lines         370      370
  Branches       99       99
=======================================
  Hits          364      364
  Misses          1        1
  Partials        5        5

Flag
Coverage Δ

unittests
98.37% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files
Coverage Δ

beaupy/_beaupy.py
97.72% <ø> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


fix: change hideCheckboxColumn to showCheckboxColumn

Pull Request Test Coverage Report for Build 2139

5 of 5 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 78.585%

Totals

Change from base Build 2122:
0.0%

Covered Lines:
2180

Relevant Lines:
2674

💛  - Coveralls


fix: make snapshots_enabled flag atomic

Purpose

How does the solution address the problem

Changes made

prnet cleaned-up successfully


add open-ai test, generate for OpenAI.Authoring

This pr is just for sharing the progress of generating OpenAI

can you also try combining the 2? ("Multiple service in one package" in LLC scrum, though this is not 2 service)
you can ask Crystal or Yuchao for client.cadl that combines the 2. if not available, just write one start with just import 2 main.cadl

can you also try combining the 2? ("Multiple service in one package" in LLC scrum, though this is not 2 service)
you can ask Crystal or Yuchao for client.cadl that combines the 2. if not available, just write one start with just import 2 main.cadl

Of course, I'm planning to do it in this pr as well.


ML Model Extension in FAIRiCUBE

In the FAIRiCUBE project, we are using ML Model Extension for metadata analysis and processing (a/p) resources and, in particular, for those resources concerning machine learning and deep learning.
Through STAC properties, we have added useful fields to better describe the resource. We want to share  our work with the community to get feedback as well as for interoperability purposes (in case someone has  similar documentation demands).
In particular:

Platform - platform hosting the resource. It is possible to use a combination of values (e.g., EOX and AWS).
Framework - This field is generally intended as a collection of reusable code written by others. It includes both frameworks, intended as program scaffolds that supply the blueprint of a product, and libraries, intended as collections of pre-defined methods and classes. Notice that the same processing can be done using multiple libraries.
Algorithm - Name of the algorithm
Model configuration - Configuration/initialisation data. How the model has been parameterized
Performance - Result description and explanation, including a detailed description of the hyperparameters used, the run times, the metrics used for evaluation, and the respective scores and performance.
UseConstraints - Possible constraints related to the use of the resource (e.g., the resource works only for certain Input data
the resource needs specific Process of providing computational power)
Validation - Link to a validation report

The following fields are implemented as assets and asset properties:

Input data used - Link to data (or related metadata) to which the a/p resource has been applied. This information is required for a better understanding of the context and domain of the a/p resource.
Characteristics of input data - This field contains a textual description of the main characteristics of each input data to the resource.
Biases and ethical aspects - This field may contain observations on the data and/or any biases found (e.g., class imbalances).
Output data obtained - Link to output data (or related metadata) produced by the execution of the a/p resource. This information is required for a better understanding of the a/p resource.
Characteristics of output data - Textual description of the output data from the resource.

For a detailed look at an example of metadata, the FAIRiCUBE Catalog is available. For example: https://catalog.eoxhub.fairicube.eu/collections/ML collection/items/8BLIAOAZJS

@cozzolinoac11
I recommend the FAIRiCUBE community to consider using https://github.com/stac-extensions/mlm instead.
It is intended as the updated and extended definition of ml-model, with much more properties to describe the model inputs/outputs, the framework/platform/runtime constraints, model hyperparameters, and related data-sources. Basically, most of what I am seeing in your suggestions seems to be covered, and is addressed by mlm, as an effort performed after receiving from users many similar concerns that ml-model is lacking those details. mlm  was deemed necessary (rather than updating ml-model) to incorporate important refactors needed to address more recent ML/AI concerns.

[!WARNING]
The ml-model extension is not expected to receive further updates. However, mlm is in active development with many participants. Let us know if mlm works for your use case, and if anything seems to be still missing, we can expedite their definition.

[!NOTE]
Full disclosure:
I am maintainer on both STAC extensions (and others). I joined ml-model maintainers due to the lack of response from original maintainers, while trying to revive the project. Instead, discussions and efforts with the community lead to its mlm replacement. For more detail: https://github.com/orgs/stac-utils/discussions/4


Repo sync for protected CLA branch

The pull request is created from main637889583964919633 to main to fix git push error for protected CLA branch

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