Can't build libnaomi, missing audio.c

It seems there are files not checked in, as libnaomi won't build and the makefile references an audio.c file that does not exist.

Likewise, the related arm/aica files are missing that are referenced in the makefile. Commenting these out allows the rest of the library to build.

The quick fix is the right one for now, I think I messed up a check-in way back when. However, I haven't had the chance to figure out why audio crashes on hardware yet as I've been moving for some time.


KAFKA-16507 Add raw record into RecordDeserialisationException

Add raw ConsumerRecord data to RecordDeserialisationException to make DLQ  implementation easier
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Thanks for the KIP an PR @fred-ro! -- Merged to trunk.

Ah thanks Matthias. @fred-ro  is this everything we need for KIP-1036?

Yes, Sophie, just this single PR.


easy-rsa location

Since OpenVPN 2.3.x, the location of the east-rsa folder has changed, it is not longer by default located in /etc/openvpn/easy-rsa/ but in /usr/share/easy-rsa. This could lead to errors like "cp: cannot create regular file '/etc/openvpn/easy-rsa/vars': No such file or directory" where you have to manually copy the whole easy-rsa dir to the openvpn dir to solve the issue.
I don't know exactly what to change, would you mind taking a look at it?
Many thanks:)

Not a bug, just realised.


Simplified component signatures

Right now, state is totally opaque to the outside world, yet we still have to thread around the composed type. Additionally, parent eval functions have to thread around the child state even though nothing can be done with it. If we want to commit to this route, with a small change we can eliminate a lot of the type boilerplate. The following is essentially the same thing we do now, but because we move the initial state into the component definition, we no longer have to deal with threading the type around, so we can focus on the only interface we actually expose: the query algebra.
type Render s f g =
  { state :: s
  , hooks :: Array (Hook f g)
  , tree  :: Tree f Unit
  }

-- By moving `initialState` to the component spec we can existentially hide it.

So basically, the user doesn't ever have to know or write ParentState. Parent eval's have the expected type: parent state, parent query, child query, slot, base functor. Is this a direction we want to move in, or do we want to figure out how we can open up state more? If we did this #221 would become impossible.

This looks pretty great to me! We'd have to update the slot and slot' functions to just thunk the component construction and omit the initialState, but that would be nicer too.
The main difficulty I see is how transforming a component would work with some of the types being existentially hidden now.

I agree that hiding state is a natural stepping stone on the current path, and will simplify a lot of types; so long as a component always has its initial state, then in theory, the state can be existentially hidden. I do believe that some of the embedding code might have to rely on coercion, simply because the type system isn't strong enough to make the kinds of guarantees we need; but I also think the code could be (manually) proved to be safe.
My only objection is that it's incompatible with #221.
The main goals of #221 are as follows:

Allow parents to easily access children state, which eliminates a lot of unnecessary querying (you achieve this by passing in a child selector as well as the parent's nest);
Eliminate the messiness and deep nesting of coproduct hierarchies, and replace it with a much flatter, user-defined query algebra, whose individual terms are projected via prisms.

I think (2) can still be achieved with hiding the state, but definitely not (1).
But, that said, current Halogen probably doesn't want you to have direct access to the state (across component boundaries), because it's used (or can be used) for caching the view. This sometimes leads to much more complex code, with parents querying to get the child state when they could simply look at it instead, but of course achieves stronger encapsulation and may benefit from caching.
So I think it could go either way. It comes down to, What does current Halogen really want to be?

In SlamData I don't think the situation (1) is trying to help with occurs very often... I can't think of any component I worked on that ended up having to request state from children actually. peek probably takes care of a lot of cases where (1) might otherwise occur.

The main difficulty I see is how transforming a component would work with some of the types being existentially hidden now.

Is this actually an issue? The reason you have to transform state is to do all the Either (un)wrapping so all sub-components can be stored together. If this state is hidden, you don't actually have to transform it, I don't think.
But some other thoughts...
You can recover the current formulation of components with
newtype ComponentS s f g = ComponentS (s -> Component f g)

I think if you took it further, in a rather hand-wavy sort of way, you could also add an output state and recover the Profunctor stuff from earlier versions. Except now I think we have the plumbing to make it work. I'd imagine you could write a combinator to then loop the state back to the parent. This would then be equivalent to having separate view state and model state. Recovering a closed off Component f g  (only view state) would then be a matter of having a Unit model state that could be ignored.

Is this actually an issue?

You might be right, yeah. If we don't need to project the state it means we probably gain some performance too.

So to expand on the idea above, maybe something like this would work?
newtype ComponentP f g s t = exists v.  Installed
  { component :: ComponentP f g s t
  , memo :: Maybe (Unit -> Tree f Unit)
  , -- projection functions from a -> s and t -> a
  }

So basically every component has a hidden viewState and a model state. By bundling projection functions into the installed state, you can loop back to the parent state while still remaining composable. My lens-foo is not strong enough, but I imagine it would be much like what thermite/optic-ui do. You essentially end up with separate state trees: a hidden view state tree manages completely by Halogen, and a public model tree managed by the user.

@jdegoes One thing to consider about having clear boundaries for component state, is that with the current eval setup, you can define async, multi-stage transitions and still mostly reason about the state. When a parent has control over child state, there's no guarantee about when the state might be swapped out from under you. This is part of the reason why in something like the Elm architecture, the transition function returns a new state and a list of effects (you have to explicitly break up a multi-stage transition).


Feature/cu e91cdb better getting started with open service brokers development material tutorial

I have added all the resources which would help the developer to get started with the implementation of their service broker.

Task linked: CU-e91cdb Better "getting started with Open Service Brokers development" material / tutorial


Reland "Update accessibility contrast test coverage (#109784)"

This reverts commit 41b50c22b0a5bee445abb0557455d4ffe887d9f7.
This is straight reland. The previous pr is reverted because internal migration applied too soon. The test should pass after cl/470742915 is landed
fixes https://github.com/flutter/flutter/issues/109465
Pre-launch Checklist

[ ] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] I read the Tree Hygiene wiki page, which explains my responsibilities.
[ ] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[ ] I signed the CLA.
[ ] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

from triage: This needs a g3fix, @chunhtai is working on it.


Installation fails on CentOS

[. ] I am using the latest SDK version
[. ] This API is compatible with my vCenter version (You can get the info from 'vcenter_version' in each sample)
[. ] I have searched existing issues

Environment

sdk package version:
pyvmomi (6.7.0)
service-identity (17.0.0)
vapi-client-bindings (1.3.1)
vapi-common-client (2.9.0)
vapi-runtime (2.9.0)
vapi-vmc-client (2.9.0)
vmc-app-python-sdk (<IP_ADDRESS>.0.15184434)
vmc-client-bindings (1.2.0)

python version:
3.4.8

vSphere version:
N/A

Operating System/Shell (used to run SDK-based apps):
CentOS 7

Steps or code snippet to reproduce
Follow the instructions:
git clone https://github.com/vmware/vsphere-automation-sdk-python.git
cd vsphere-automation-sdk-python
pip install --upgrade --force-reinstall -r requirements.txt --extra-index-url file:///<absolute_path_to_sdk>/lib
Actual behavior
While installing twisted the pip installation fails:
src/twisted/test/raiser.c:4:20: fatal error: Python.h: No such file or directory
#include "Python.h"
^
compilation terminated.
error: command 'gcc' failed with exit status 1
Resolution
Not sure about other systems, but on CentOS 7 you also need to run yum install -y python34-devel
It's just python-devel for python2.
Edit: It's also worth noting installation fails on Python 3.7 because Twisted hasn't yet been updated.

@grantcurell Thanks for sharing the issue. The runtime package requires twisted as a pip dependency. Looks like you hit an issue installing Twisted on CentOS7. Not sure if there is anything the sdk can do avoid this issue. Is it working for you now with the workaround you posted?

@tianhao64 No idea who wrote these samples and I know it has nothing to do with this ticket, but just wanted to say they are amazing. Made it super easy to get up and running. Thank you so much!

@grantcurell Glad to hear the samples are useful for you and thanks for sharing your feedback!

Found a workaround for Python 3.7. You can install Twisted from here:
Twisted
Then you have to run pip install --upgrade -r requirements.txt --extra-index-url file:///<your_path_here>lib
Note you have to drop the --force-reinstall otherwise it will try to reinstall Twisted and it will fail.

@grantcurell Thanks for the tip!


HCP atlas - which auditory cortex regions?

Hi,
I'm currently working on the freesurfer fsaverage version of the hcp atlas and wondering which auditory (temporal) cortex regions to include/extract for ALPACA.
The complete atlas looks like this:

So far I would include/extract the following regions:
A1, A4, A5, LBelt, MBelt, PBelt, STGa, STSda, STSdp, STSva, STSvp and TA2 which results in something like this (including complete annotation outlines):

or this (without complete annotation outlines):

What do you think? Include more/less/different regions?

I think the auditory regions that you have selected are good. I am not very familiar with the ones outside of Hescl's Gyrus though, so those are your call :).

Thx @ofgulban for the feedback. Haha, me neither. I guess we could also just include those for now and add others later on, but I also think that everything else won't be "auditory cortex" but rather temporal cortex, so within ALPACA it should be okay. @M-earnest1 does this work for you as well?

I would also agree, it seems that your choice encompasses all relevant areas, at least to what little knowledge i have of the subject.

KK, thx.
I just uploaded the ROIs (details here).

Add on:
I checked the original HCP atlas again.
They have some amazing stuff in the supplementals, for example also detailed descriptions on how different regions were parcellated. The auditory section (among the rest) is a very good and informative read. Based on that I thought about including the rostral part of the insula. I uploaded these ROIs as well (details here).


support resolver by default

I have a similar problem like below post:
https://www.emmanuelgautier.com/blog/nginx-docker-dns-resolution
After add the resolver <IP_ADDRESS>;, problem resolved.

I think it's better to add an environment: NGINX_RESOLVER to set up the resolver manually.
For example, if I run this image in k8s, the resolver should like this:
resolver kube-dns.kube-system.svc.cluster.local;
ref: https://serverfault.com/questions/638822/nginx-resolver-address-from-etc-resolv-conf

I agree, if the user wishes to use this environment variable it should be customizable. I see that you have put some time into a PR to support this. I can review tomorrow and see what needs to done to support a single or multiple resolvers to solve this issue..

I reworked your PR into 6.5.0 https://github.com/tiredofit/docker-nginx/commit/62b4ad7521b7181e4f9697f189b0f4feabc1d337
Have a peek and see if this works for you!


Fix remark command

#194
Problem: We are treating input without r/ as the same type of input (e.g. remark 1 loves to read is treated same as remark 1)
Possibility: First check if prefix r/ exists in the input, then check for above case.

possibly can do away with dealing with prefixes at all, since there is only 1 field to edit, it is already implicitly implied that whatever argument will definitely be a remark.
A possible cheap fix would be just to tokenise the command (already have a function for this) and read whatever tokens come at index > 1

similar to how edit course works, no prefix needed since the only thing to edit is the name. Can copy how its implemented


About Launch Realm in FVP

Hello，I may have some trouble when launch realm in fvp nw-linux. It seems to take much time to do this.
I wrote a "launch-realm.sh" to run in my NW-Linux, then it stuck at "# sh launch_realm.sh" while output nothing.
SO IS THERE ANY ADVICE TO SOLVE THIS? THX A LOT

Hi, Did you run with tf-rmm and linux-cca? Normal world linux needs CCA related patches including RMI. And realm needs RSI patches too.

https://gitlab.arm.com/linux-arm/linux-cca/-/tree/cca-host/rfc-v1
https://gitlab.arm.com/linux-arm/linux-cca/-/tree/cca-guest/rfc-v1

FIRSTLY, THX SO MUCH FOR YOUR REPLY! I‘ve recently participated in a project related to ARM CCA, so I may make some mistakes.
I simply used the "https://gitlab.arm.com/linux-arm/linux-cca" for both my nw-linux and realm, and I'm not very sure if it can work properly.
By the way I noticed that the commands in the README file of main-brunch are different from the commands in islet-asset/prebuilt/qemu/guest/run-guest.sh.

README of main branch is outdated :(
It's about [v0.0.1](https://github.com/Samsung/islet/tree/v0.0.1 which uses nw-linux (5.18) and realm-linux (not modified)
So, could you refer the description of https://github.com/Samsung/islet/pull/35?
I will update README soon :)

sorry for bothering you so much. I 've noticed the differences between https://github.com/Samsung/islet/pull/35 and README file of main-branch before opening this issue.
I'm not sure whether the master-brunch of https://gitlab.arm.com/linux-arm/linux-cca support the RMI and RSI. I want to know "islet" use which branch of "https://gitlab.arm.com/linux-arm/linux-cca" for the nw-linux and realm-linux (i.e. is its master branch does not work properly?)
[nw-linux]
branch = "3rd-nw-linux-230222"
commit = "604bc2c405be"
upstream = "upstream-linux-cca-rfc-v1"
[realm-linux]
branch = "3rd-realm-linux-230222"
commit = "c0517c7c4c7a"
upstream = "upstream-linux-cca-rfc-v1"

it may finally worked when i used linux-cca-full for nw-linux and realm linux, but im not very sure cuz it didn't open 4 terminals as it run with tf-test(only 3 terminals), is the realm linux shell in the same fvp terminal of normal world?

is the realm linux shell in the same fvp terminal of normal world?

Yes, you're right!

And the last problem is how to exit from realm linux to nw-linux... it seems that directly using "exit" command would result in kernel panic.
ANY WAY THANK YOU SO MUCH FOR HELP!!! now i'm able to continue my work on rmm, REALLY THX

And the last problem is how to exit from realm linux to nw-linux...

AFAIK, there is no way to exit from realm to nw-linux for now :(


Inconsistent spacing of uneven Flexbox elements.

Overview
When navigating to the profile-page while viewing the page on desktop, the div elements representing form categories appear to have uneven spacing.
Reproduction steps

Ensure the screen size of the device being used is at least 1072 px wide.
Navigate to the profile page.
Observe uneven spacing between form categories.

Documentation
Screenshots

Using CSS grid instead of flexbox now, issue still persists.


ARROW-3572: [Crossbow] Raise more helpful exception if Crossbow queue has an SSH origin URL

+1, will go ahead and merge this since have tested it out locally


init.lua: trivial enhancement on exit

Generally the original code is fine when user exit th with Ctrl^D, y and ENTER. However when a user exits th with Ctrl^D Ctrl^D then no newline is printed, in this case shell's PS1 will be printed to an ugly place.
This commit can fix this issue.

Thanks!


View a trend of security feature enablement/security alerts for your enterprise

Summary
At the enterprise level, you will be able to view a trend of security feature enablement and security alerts in order to analyze your security program's performance.
Intended Outcome
Today, enterprise users can see only the current status of security alerts and security feature enablement at the enterprise level.  It's not possible to get a historical view of trends across your enterprise.  With this feature, users will be able to see a trend of security feature enablement and security alerts at the enterprise level.
How will it work?
We will offer two new pages in security overview at the enterprise level similar to what we'll offer at the organization level: security coverage trends and risk trends that will house trends graphs for the following security features:

Dependabot alerts
Code scanning alerts
Secret scanning alerts
Push protection (enablement trends graph only)
GitHub Advanced Security (enablement trends graph only)

This has shipped to dotcom: https://github.blog/changelog/2023-06-15-risk-and-coverage-views-on-the-code-security-tab-for-enterprises-public-beta/
This has also shipped with GHES 3.10<EMAIL_ADDRESS>


run with error, can you help me , please.

When i run the py file , i got the following error:
Traceback (most recent call last):
File "C:\Users\lau\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\common\service.py", line 97, in start
path = SeleniumManager().driver_location(browser)
File "C:\Users\lau\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\common\selenium_manager.py", line 74, in driver_location
result = self.run((binary, flag, browser))
File "C:\Users\lau\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\common\selenium_manager.py", line 93, in run
raise SeleniumManagerException(f"Selenium manager failed for: {command}. {stderr}")
selenium.common.exceptions.SeleniumManagerException: Message: Selenium manager failed for: C:\Users\lau\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\common\windows\selenium-manager.exe --browser chrome.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\lau\AppData\Local\Programs\Python\Python310\Scripts\lihkg_news.py", line 17, in
driver = Chrome(options=chrome_options)
File "C:\Users\lau\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 81, in init
super().init(
File "C:\Users\lau\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 103, in init
self.service.start()
File "C:\Users\lau\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\common\service.py", line 100, in start
raise err
File "C:\Users\lau\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\common\service.py", line 90, in start
self._start_process(self.path)
File "C:\Users\lau\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\common\service.py", line 213, in _start_process
raise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://chromedriver.chromium.org/home
Can you help me ?
Thanks.

Hi dddaiwstep,
Thanks for raising the question!
Do you use Google Chrome in your PC normally? It seems like the chrome driver (i.e. the Google Chrome) is not installed appropriately.
You can try installing any latest version of the google chrome driver:
https://chromedriver.chromium.org/downloads/version-selection
If you do not have Google Chrome, you could try install the most common version, which you can easily find on the internet.
[image of google chrome]

Kendrick

Thanks for your assistance.
I can open the chrome with url "https://lihkg.com/category/5?order=hot" now, but the question is
"How can i scrape the data and save it in a csv file? "
Thanks for your help again .

The code can scrape the title of the trending news on LIHKG now and stores the results into lists(title_ls and url_ls).
If you want to export the data to csv file. You may need some knowledge in using a Python Library called "Pandas", and create "DataFrames" which is a datatype under Pandas. After that, you can use the built-in Python function ".to_csv()" to make a csv file. You can take reference from the last few line of codes from my another LIHKG scrapping project which exports comments in any LIHKG post into csv. https://github.com/kendrick0907/LIHKG-Scrapping
However, if you would also like to have a simple solution to see the result. You can simply try print the lists like adding print(title_ls) and print(url_ls) in the end of the code.
By the way, as you are the first person making a comment in my projects, may I know the reason why you are interested in this project? Your response can help me better prepare for other projects :)!
Kendrick


update to the new uwebsocket [bug]

uws is deprecated
this happens when config is uws
********************************** output ************************************
` this.wsServer = new this.WebSocket.Server(wsOptions);
^
TypeError: this.WebSocket.Server is not a constructor
at Server.start (/Users/hama/Downloads/ogarii/src/Server.js:89:25)
at Object. (/Users/hama/Downloads/ogarii/src/index.js:14:10)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47`

That error is for OgarII. Follow the directions in the README https://github.com/Luka967/OgarII

Ironically it doesn't seem to be, I don't think OgarII creates an instance of a server that way. I've just tested using the module and a similar error appears. :man_shrugging:
@ItsDavehere Are you sure this is MultiOgarII?
I'll re-open till I remove the faulty feature.

Also, uws seems to indeed be deprecated, its unnecessary to switch between modules when ws is sufficient.

@Borys64 yes you can test it and see


Update play-ws to 2.8.13

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

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.typesafe.play", artifactId = "play-ws" } ]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #126.


No such module 'ChartsDemo'

I've install the latest version of RSwift, and drag the R.generated.swift files into my project.
Then I'm going to build project, I got the error that 'No such module 'ChartsDemo'' in R.generated.swift

I've google about the error, and try to add $(SRCROOT) to Build Setting - Framework Search Paths.
But it's not work for me, I still got the error.
I want to ask that is there any solution?
Or perhaps I lost some step when install RSwift?
Thank you for your response

Thank you for using R.swift!
It sounds like the ChartsDemo is not correctly linked into you project at this moment. Can you import ChartsDemo in another Swift file of your project? And can you use a class/method or function from ChartDemo in another Swift file?
If that also doesn't work you maybe missed a stap in the installation instructions of ChartsDemo, if it does we have to dig a little bit further into this problem

Hi, @mac-cain13 it seem to I don't have 'ChartsDemo' file in my project, I can't import it and use any class/method cause this file not exist :((
I install RSwift following this ..

Add pod 'R.Swift' to podfile and run pod install
-> this step complete, it've install

Installing R.swift (3.2.0)
Installing R.swift.Library (3.0.2)

Add Run Script and paste "$PODS_ROOT/R.swift/rswift" "$SRCROOT"
Build my project, and I got the file named R.generated/swift, and draw to xcode

In swift file of my project I can use R.image.xxxxx method, but I got the error when I compiler my project.
Did I need to extra install ChartsDemo or add the file?

@mac-cain13 I just create a new demo project, only install R.swift, and all step are same
I open the R.generated.swift, It not exist import ChartsDemo, so ChartsDemo isn't create by R.swift?

@mac-cain13 Sorry, this is my mistake. In my project, some file use 'ChartsDemo' module, I just find it. Then, I remove the module, and build project successful. Thanks your help!!! :))

Good to hear you figured it out! Good luck building your app! :)


Fix the TreeGrid hierarchy column example

The example here
https://cookbook.vaadin.com/tree-grid-with-icons
seems to be broken, possibly due to the update to Vaadin 24?

Fixed


Rendering on narrow screens

Rendering on phone or on "narrow" windows cuts away the menu on the left. And this makes it quite difficult to figure out what page to go next, (until you open the menu on the left side, but I tested it on the phone and it is annoying)

Maybe we should add "Next page" and "Previous page" links at the bottom of each page. Ideally this should be done automatically, but it depends on how much effort this will require

possible solution https://squidfunk.github.io/mkdocs-material/setup/setting-up-the-footer/#navigation


Classloader Improperly cached with 2 datasources causing missed migrations (WORKAROUND AVAILABLE)

Which version and edition of Flyway are you using?
6.5.0
If this is not the latest version, can you reproduce the issue with the latest one as well?
N/A -latest at time of writing
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Java API
Which database are you using (type & version)?
SQL Server
Which operating system are you using?
Linux
What did you do?
(Please include the content causing the issue, any relevant configuration settings, the SQL statement that failed (if relevant) and the command you ran.)
Create 2 flyway objects against 2 datasources with 2 sets of database migration files using the classpath location.
What did you expect to see?
All migrations are run against the target datasources independently from each migration location.
What did you see instead?
Only if the same number of migration files are present in both locations will the migrations be found. Otherwise migration versions are missed.
========================
Given a project with 2 databases and 2 flyway configurations, it appears the classloader is improperly cached and shared between independent Flyway objects thus causing missed migrations.
Given these files, the V4 migration of DB2 will be missed, but the others will be found properly.
src/main/resources/db/migration/DB1/V2__sql1.sql
src/main/resources/db/migration/DB1/V3__sql2.sql
src/main/resources/db/migration/DB2/V2__sql1.sql
src/main/resources/db/migration/DB2/V3__sql2.sql
src/main/resources/db/migration/DB2/V4__sql3.sql
WORKAROUND:  Manually reset the classloader between each migrate() with setClassLoader(null)
import org.flywaydb.core.Flyway;
import org.flywaydb.core.api.MigrationVersion;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.annotation.PostConstruct;
import javax.sql.DataSource;

@Configuration
public class FlywayDBMigrations {

    private final DataSource DataSource1;
    private final DataSource DataSource2;

    //Manually handle dependency injection in constructor to help disambiguate
    FlywayDBMigrations(@Qualifier("DataSource1") DataSource qbds,
                       @Qualifier("DataSource2") DataSource qnds){
        this.DataSource1 = qbds;
        this.DataSource2 = qnds;
    }

    @Bean
    public Flyway flywayDisable(){
        return null;
    }

    public Flyway flywayQN() {
        return Flyway.configure().baselineOnMigrate(true)
                .locations("classpath:db/migration/DB2")
                .dataSource(DataSource2 )
                .schemas("dbo")
                .target(MigrationVersion.LATEST)
                .load();
    }

    public Flyway flywayQB() {
        return Flyway.configure().baselineOnMigrate(true)
                .locations("classpath:db/migration/DB1")
                .dataSource(DataSource1 )
                .schemas("dbo")
                .target(MigrationVersion.LATEST)
                .load();
    }

    @PostConstruct
    public void migrateDBs() {
        Flyway flywayQB = flywayQB();
        Flyway flywayQN = flywayQN();

        flywayQN.migrate();
        flywayQN.setClassLoader(null); // <- WORKAROUND!
        flywayQB.migrate();
    }

}

Closing due to inactivity


Update to Workflow Parameter Types to align with IBM Core Platform Properties

Description
Desired state is to get Flow Parameters aligned with what we are using in our IBM core platform.
Previously we had not created any parameter types in flow that could have multiple values. This was due to technical constraints around handling arrays. The proposed fix that has already been implemented from the front end (https://github.com/boomerang-io/flow.client.web/pull/105) is to use a comma separated string to store parameters that could have more than one value.
A summary of the paramter types that have been added as part of the above PR:

Creatable
Creatable Pair
Date
Date Range
Multi Select

Timeline
What's the timeline for this Epic, what resources are needed, and what might potentially block this from hitting the projected end date.
Open Questions
@marcusdroy and @tlawrie to discuss any potential issues with how Tekton might handle this proposed format.

TEP-0090 from memory would relate to multi select in that it allows passing around of an array or matrix of parameters


cadquery 2.40 from conda

This is a shame but looks like we can't get the software stack into the same conda enviroment with just conda install commands.
I've tried offline to install openmc 0.14.0 and cadquery 2.4.0 into the same environment and just these two is already not possible to resolve.
Here is the CI fail message
Looking for: ['gmsh', 'python-gmsh', 'cadquery=2.4.0', 'openmc==0.14.0[build=dagmc*]']

Pinned packages:
  - python 3.10.*

Could not solve for environment specs
The following packages are incompatible
├─ cadquery 2.4.0**  is installable and it requires
│  ├─ casadi with the potential options
│  │  ├─ casadi [3.5.5|3.6.0|3.6.2|3.6.3] would require
│  │  │  └─ ipopt [>=3.14.10,<<IP_ADDRESS>a0 |>=3.14.11,<<IP_ADDRESS>a0 |...|>=3.14.9,<<IP_ADDRESS>a0 ], which requires
│  │  │     ├─ libspral >=2023.9.7,<2<IP_ADDRESS>a0 , which requires
│  │  │     │  └─ metis [5.1.0.* |>=5.1.0,<<IP_ADDRESS>a0 ], which can be installed;
│  │  │     └─ metis >=5.1.0,<<IP_ADDRESS>a0 , which can be installed;
│  │  ├─ casadi [3.1.1|3.2.2|...|3.4.5] would require
│  │  │  └─ python [2.7* |>=2.7,<2.8.0a0 ], which can be installed;
│  │  ├─ casadi [3.1.1|3.2.2|...|3.4.5] would require
│  │  │  └─ python [3.5* |>=3.5,<3.6.0a0 ], which can be installed;
│  │  ├─ casadi [3.1.1|3.2.2|3.3.0|3.4.0|3.4.1] would require
│  │  │  └─ python 3.6* , which can be installed;
│  │  ├─ casadi [3.4.2|3.4.3|...|3.5.5] would require
│  │  │  └─ python >=3.6,<3.7.0a0 , which can be installed;
│  │  ├─ casadi [3.4.5|3.5.1|...|3.5.5] would require
│  │  │  └─ python >=3.7,<3.8.0a0 , which can be installed;
│  │  ├─ casadi [3.5.1|3.5.2|...|3.6.3] would require
│  │  │  └─ python >=3.8,<3.9.0a0 , which can be installed;
│  │  ├─ casadi [3.5.5|3.6.0|3.6.2|3.6.3] would require
│  │  │  └─ python >=3.11,<3.12.0a0 , which can be installed;
│  │  ├─ casadi [3.5.5|3.6.0|3.6.2|3.6.3] would require
│  │  │  └─ python >=3.9,<3.10.0a0 , which can be installed;
│  │  ├─ casadi [3.6.2|3.6.3] would require
│  │  │  └─ ipopt >=3.14.12,<<IP_ADDRESS>a0  with the potential options
│  │  │     ├─ ipopt [3.14.10|3.14.11|...|3.14.9], which can be installed (as previously explained);
│  │  │     └─ ipopt [3.14.12|3.14.13] would require
│  │  │        └─ libspral >=2023.8.2,<2<IP_ADDRESS>a0 , which requires
│  │  │           └─ libhwloc >=2.9.1,<<IP_ADDRESS>a0  with the potential options
│  │  │              ├─ libhwloc [2.9.1|2.9.2|2.9.3] would require
│  │  │              │  └─ __cuda, which is missing on the system;
│  │  │              └─ libhwloc 2.9.1, which can be installed;
│  │  ├─ casadi 3.6.3 would require
│  │  │  └─ ipopt >=3.14.13,<<IP_ADDRESS>a0 , which can be installed (as previously explained);
│  │  └─ casadi 3.6.3 would require
│  │     └─ python >=3.12,<3.13.0a0 , which can be installed;
│  └─ ocp 7.7.2.*  with the potential options
│     ├─ ocp <IP_ADDRESS> would require
│     │  └─ vtk-base >=9.2.6,<<IP_ADDRESS>a0  with the potential options
│     │     ├─ vtk-base 9.2.6 would require
│     │     │  └─ hdf5 >=1.14.1,<<IP_ADDRESS>a0 , which can be installed;
│     │     ├─ vtk-base 9.2.6 would require
│     │     │  └─ tbb >=2021.10.0  but there are no viable options
│     │     │     ├─ tbb 2021.10.0 would require
│     │     │     │  └─ libhwloc >=2.9.2,<<IP_ADDRESS>a0  but there are no viable options
│     │     │     │     ├─ libhwloc [2.9.1|2.9.2|2.9.3], which cannot be installed (as previously explained);
│     │     │     │     └─ libhwloc 2.9.2 conflicts with any installable versions previously reported;
│     │     │     └─ tbb [2021.10.0|2021.11.0] would require
│     │     │        └─ libhwloc >=2.9.3,<<IP_ADDRESS>a0  but there are no viable options
│     │     │           ├─ libhwloc [2.9.1|2.9.2|2.9.3], which cannot be installed (as previously explained);
│     │     │           └─ libhwloc 2.9.3 conflicts with any installable versions previously reported;
│     │     ├─ vtk-base 9.2.6 would require
│     │     │  └─ tbb >=2021.11.0 , which cannot be installed (as previously explained);
│     │     ├─ vtk-base 9.2.6 would require
│     │     │  └─ hdf5 >=1.14.0,<<IP_ADDRESS>a0  with the potential options
│     │     │     ├─ hdf5 [1.12.2|1.14.0] would require
│     │     │     │  └─ openssl >=1.1.1s,<1.1.2a , which can be installed;
│     │     │     ├─ hdf5 1.14.0, which can be installed;
│     │     │     ├─ hdf5 1.14.0 would require
│     │     │     │  └─ openssl >=1.1.1t,<1.1.2a , which can be installed;
│     │     │     ├─ hdf5 1.14.0, which can be installed;
│     │     │     └─ hdf5 1.14.0, which can be installed;
│     │     ├─ vtk-base 9.2.6 would require
│     │     │  └─ python >=3.11,<3.12.0a0 , which can be installed;
│     │     ├─ vtk-base 9.2.6 would require
│     │     │  └─ python >=3.12,<3.13.0a0 , which can be installed;
│     │     ├─ vtk-base 9.2.6 would require
│     │     │  └─ python >=3.8,<3.9.0a0 , which can be installed;
│     │     └─ vtk-base 9.2.6 would require
│     │        └─ python >=3.9,<3.10.0a0 , which can be installed;
│     ├─ ocp <IP_ADDRESS> would require
│     │  └─ python >=3.11,<3.12.0a0 , which can be installed;
│     ├─ ocp <IP_ADDRESS> would require
│     │  └─ python >=3.12,<3.13.0a0 , which can be installed;
│     ├─ ocp <IP_ADDRESS> would require
│     │  └─ python >=3.8,<3.9.0a0 , which can be installed;
│     └─ ocp <IP_ADDRESS> would require
│        └─ python >=3.9,<3.10.0a0 , which can be installed;
└─ openmc 0.14.0 dagmc* is installable with the potential options
   ├─ openmc 0.14.0 would require
   │  ├─ dagmc 3.2.3 mpi_openmpi_* with the potential options
   │  │  ├─ dagmc 3.2.3 would require
   │  │  │  └─ moab * mpi_openmpi_tempest_* with the potential options
   │  │  │     ├─ moab 5.1.0 would require
   │  │  │     │  └─ python >=2.7,<2.8.0a0 , which can be installed;
   │  │  │     ├─ moab [5.1.0|5.2.1|5.2.1rc0|5.3.0] would require
   │  │  │     │  └─ python >=3.6,<3.7.0a0 , which can be installed;
   │  │  │     ├─ moab [5.1.0|5.2.1|...|5.4.0] would require
   │  │  │     │  └─ python >=3.7,<3.8.0a0 , which can be installed;
   │  │  │     ├─ moab [5.1.0|5.2.1|...|5.5.1] would require
   │  │  │     │  └─ python >=3.8,<3.9.0a0 , which can be installed;
   │  │  │     ├─ moab [5.2.1|5.3.0|...|5.5.1] would require
   │  │  │     │  └─ python >=3.9,<3.10.0a0 , which can be installed;
   │  │  │     ├─ moab [5.3.1|5.4.0] would require
   │  │  │     │  └─ hdf5 >=1.12.1,<<IP_ADDRESS>a0 mpi_openmpi_* with the potential options
   │  │  │     │     ├─ hdf5 [1.12.0|1.12.1] would require
   │  │  │     │     │  └─ openssl >=1.1.1k,<1.1.2a , which can be installed;
   │  │  │     │     ├─ hdf5 1.12.1 would require
   │  │  │     │     │  └─ openssl >=1.1.1l,<1.1.2a , which can be installed;
   │  │  │     │     └─ hdf5 1.12.1, which can be installed;
   │  │  │     ├─ moab [5.4.0|5.4.1] would require
   │  │  │     │  └─ hdf5 >=1.12.2,<<IP_ADDRESS>a0 mpi_openmpi_* with the potential options
   │  │  │     │     ├─ hdf5 1.12.2, which can be installed;
   │  │  │     │     ├─ hdf5 1.12.2 would require
   │  │  │     │     │  └─ openssl >=1.1.1q,<1.1.2a , which can be installed;
   │  │  │     │     └─ hdf5 [1.12.2|1.14.0], which can be installed (as previously explained);
   │  │  │     ├─ moab [5.4.0|5.4.1|5.5.0|5.5.1] would require
   │  │  │     │  └─ python >=3.11,<3.12.0a0 , which can be installed;
   │  │  │     ├─ moab [5.4.1|5.5.0] would require
   │  │  │     │  └─ hdf5 >=1.14.0,<<IP_ADDRESS>a0 mpi_openmpi_* with the potential options
   │  │  │     │     ├─ hdf5 [1.12.2|1.14.0], which can be installed (as previously explained);
   │  │  │     │     ├─ hdf5 1.14.0, which can be installed;
   │  │  │     │     └─ hdf5 1.14.0, which can be installed (as previously explained);
   │  │  │     ├─ moab 5.5.0 would require
   │  │  │     │  └─ hdf5 >=1.14.1,<<IP_ADDRESS>a0 mpi_openmpi_*, which can be installed;
   │  │  │     ├─ moab [5.5.0|5.5.1] would require
   │  │  │     │  └─ metis >=5.1.1,<<IP_ADDRESS>a0 , which conflicts with any installable versions previously reported;
   │  │  │     ├─ moab 5.5.0 would require
   │  │  │     │  └─ python >=3.12.0rc3,<3.13.0a0  with the potential options
   │  │  │     │     ├─ python [3.12.0|3.12.1], which can be installed;
   │  │  │     │     └─ python 3.12.0rc3 would require
   │  │  │     │        └─ _python_rc, which does not exist (perhaps a missing channel);
   │  │  │     └─ moab 5.5.1 would require
   │  │  │        └─ python >=3.12,<3.13.0a0 , which can be installed;
   │  │  └─ dagmc 3.2.3 would require
   │  │     └─ hdf5 >=1.14.2,<<IP_ADDRESS>a0 mpi_openmpi_*, which can be installed;
   │  └─ hdf5 >=1.14.3,<<IP_ADDRESS>a0 mpi_openmpi_*, which requires
   │     └─ openssl >=3.2.0,<4.0a0 , which conflicts with any installable versions previously reported;
   ├─ openmc 0.14.0 would require
   │  ├─ dagmc 3.2.3 mpi_mpich_* with the potential options
   │  │  ├─ dagmc 3.2.3 would require
   │  │  │  └─ moab * mpi_mpich_tempest_* with the potential options
   │  │  │     ├─ moab 5.1.0, which can be installed (as previously explained);
   │  │  │     ├─ moab [5.1.0|5.2.1|5.2.1rc0|5.3.0], which can be installed (as previously explained);
   │  │  │     ├─ moab [5.1.0|5.2.1|...|5.4.0], which can be installed (as previously explained);
   │  │  │     ├─ moab [5.1.0|5.2.1|...|5.5.1], which can be installed (as previously explained);
   │  │  │     ├─ moab [5.2.1|5.3.0|...|5.5.1], which can be installed (as previously explained);
   │  │  │     ├─ moab [5.4.0|5.4.1|5.5.0|5.5.1], which can be installed (as previously explained);
   │  │  │     ├─ moab [5.5.0|5.5.1], which cannot be installed (as previously explained);
   │  │  │     ├─ moab 5.5.0, which can be installed (as previously explained);
   │  │  │     ├─ moab 5.5.1, which can be installed (as previously explained);
   │  │  │     ├─ moab [5.3.1|5.4.0] would require
   │  │  │     │  └─ hdf5 >=1.12.1,<<IP_ADDRESS>a0 mpi_mpich_* with the potential options
   │  │  │     │     ├─ hdf5 [1.12.0|1.12.1], which can be installed (as previously explained);
   │  │  │     │     ├─ hdf5 1.12.1, which can be installed (as previously explained);
   │  │  │     │     └─ hdf5 1.12.1, which can be installed;
   │  │  │     ├─ moab [5.4.0|5.4.1] would require
   │  │  │     │  └─ hdf5 >=1.12.2,<<IP_ADDRESS>a0 mpi_mpich_* with the potential options
   │  │  │     │     ├─ hdf5 1.12.2, which can be installed (as previously explained);
   │  │  │     │     ├─ hdf5 [1.12.2|1.14.0], which can be installed (as previously explained);
   │  │  │     │     └─ hdf5 1.12.2, which can be installed;
   │  │  │     ├─ moab [5.4.1|5.5.0] would require
   │  │  │     │  └─ hdf5 >=1.14.0,<<IP_ADDRESS>a0 mpi_mpich_* with the potential options
   │  │  │     │     ├─ hdf5 [1.12.2|1.14.0], which can be installed (as previously explained);
   │  │  │     │     ├─ hdf5 1.14.0, which can be installed (as previously explained);
   │  │  │     │     └─ hdf5 1.14.0, which can be installed;
   │  │  │     └─ moab 5.5.0 would require
   │  │  │        └─ hdf5 >=1.14.1,<<IP_ADDRESS>a0 mpi_mpich_*, which can be installed;
   │  │  └─ dagmc 3.2.3 would require
   │  │     └─ hdf5 >=1.14.2,<<IP_ADDRESS>a0 mpi_mpich_*, which can be installed;
   │  └─ hdf5 >=1.14.3,<<IP_ADDRESS>a0 mpi_mpich_*, which cannot be installed (as previously explained);
   ├─ openmc 0.14.0 would require
   │  └─ python >=3.11,<3.12.0a0 , which can be installed;
   ├─ openmc 0.14.0 would require
   │  └─ python >=3.12,<3.13.0a0 , which can be installed;
   ├─ openmc 0.14.0 would require
   │  └─ python >=3.8,<3.9.0a0 , which can be installed;
   ├─ openmc 0.14.0 would require
   │  └─ python >=3.9,<3.10.0a0 , which can be installed;
   └─ openmc 0.14.0 would require
      ├─ dagmc 3.2.3 nompi_* with the potential options
      │  ├─ dagmc 3.2.3 would require
      │  │  ├─ hdf5 >=1.14.3,<<IP_ADDRESS>a0 , which cannot be installed (as previously explained);
      │  │  └─ moab * nompi_tempest_* with the potential options
      │  │     ├─ moab 5.1.0, which can be installed (as previously explained);
      │  │     ├─ moab [5.1.0|5.2.1|5.2.1rc0|5.3.0], which can be installed (as previously explained);
      │  │     ├─ moab [5.1.0|5.2.1|...|5.4.0], which can be installed (as previously explained);
      │  │     ├─ moab [5.1.0|5.2.1|...|5.5.1], which can be installed (as previously explained);
      │  │     ├─ moab [5.2.1|5.3.0|...|5.5.1], which can be installed (as previously explained);
      │  │     ├─ moab [5.4.0|5.4.1|5.5.0|5.5.1], which can be installed (as previously explained);
      │  │     ├─ moab [5.5.0|5.5.1], which cannot be installed (as previously explained);
      │  │     ├─ moab 5.5.0, which can be installed (as previously explained);
      │  │     ├─ moab 5.5.1, which can be installed (as previously explained);
      │  │     ├─ moab [5.3.1|5.4.0] would require
      │  │     │  └─ hdf5 >=1.12.1,<<IP_ADDRESS>a0  with the potential options
      │  │     │     ├─ hdf5 [1.12.0|1.12.1], which can be installed (as previously explained);
      │  │     │     ├─ hdf5 1.12.1, which can be installed (as previously explained);
      │  │     │     ├─ hdf5 1.12.1, which can be installed;
      │  │     │     ├─ hdf5 1.12.1, which can be installed;
      │  │     │     └─ hdf5 1.12.1, which can be installed;
      │  │     ├─ moab [5.4.0|5.4.1] would require
      │  │     │  └─ hdf5 >=1.12.2,<<IP_ADDRESS>a0  with the potential options
      │  │     │     ├─ hdf5 1.12.2, which can be installed;
      │  │     │     ├─ hdf5 1.12.2, which can be installed (as previously explained);
      │  │     │     ├─ hdf5 [1.12.2|1.14.0], which can be installed (as previously explained);
      │  │     │     ├─ hdf5 1.12.2, which can be installed;
      │  │     │     └─ hdf5 1.12.2, which can be installed;
      │  │     ├─ moab [5.4.1|5.5.0] would require
      │  │     │  └─ hdf5 >=1.14.0,<<IP_ADDRESS>a0  with the potential options
      │  │     │     ├─ hdf5 [1.12.2|1.14.0], which can be installed (as previously explained);
      │  │     │     ├─ hdf5 1.14.0, which can be installed;
      │  │     │     ├─ hdf5 1.14.0, which can be installed (as previously explained);
      │  │     │     ├─ hdf5 1.14.0, which can be installed;
      │  │     │     └─ hdf5 1.14.0, which can be installed;
      │  │     └─ moab 5.5.0 would require
      │  │        └─ hdf5 >=1.14.1,<<IP_ADDRESS>a0 , which can be installed;
      │  └─ dagmc 3.2.3 would require
      │     └─ hdf5 [* nompi_*|>=1.14.2,<<IP_ADDRESS>a0 ] with the potential options
      │        ├─ hdf5 [1.12.0|1.12.1], which can be installed (as previously explained);
      │        ├─ hdf5 1.12.1, which can be installed (as previously explained);
      │        ├─ hdf5 1.12.2, which can be installed (as previously explained);
      │        ├─ hdf5 [1.12.2|1.14.0], which can be installed (as previously explained);
      │        ├─ hdf5 1.14.0, which can be installed (as previously explained);
      │        ├─ hdf5 1.14.2, which can be installed;
      │        ├─ hdf5 1.14.3, which cannot be installed (as previously explained);
      │        ├─ hdf5 1.14.0, which can be installed;
      │        ├─ hdf5 1.14.1, which can be installed;
      │        ├─ hdf5 1.14.2, which can be installed;
      │        ├─ hdf5 [1.10.4|1.10.5|1.10.6|1.12.0|1.14.2], which can be installed;
      │        ├─ hdf5 1.12.1, which can be installed;
      │        ├─ hdf5 1.12.2, which can be installed;
      │        ├─ hdf5 [1.10.5|1.10.6|1.12.0] would require
      │        │  └─ openssl >=1.1.1h,<1.1.2a , which can be installed;
      │        ├─ hdf5 [1.10.6|1.12.0] would require
      │        │  └─ openssl >=1.1.1i,<1.1.2a , which can be installed;
      │        └─ hdf5 1.12.0 would require
      │           └─ openssl >=1.1.1g,<1.1.2a , which can be installed;
      └─ hdf5 [* nompi_*|>=1.14.3,<<IP_ADDRESS>a0 ] with the potential options
         ├─ hdf5 [1.12.0|1.12.1], which can be installed (as previously explained);
         ├─ hdf5 1.12.1, which can be installed (as previously explained);
         ├─ hdf5 1.12.2, which can be installed (as previously explained);
         ├─ hdf5 [1.12.2|1.14.0], which can be installed (as previously explained);
         ├─ hdf5 1.14.0, which can be installed (as previously explained);
         ├─ hdf5 1.14.3, which cannot be installed (as previously explained);
         ├─ hdf5 1.14.0, which can be installed;
         ├─ hdf5 1.14.1, which can be installed;
         ├─ hdf5 [1.10.4|1.10.5|1.10.6|1.12.0|1.14.2], which can be installed;
         ├─ hdf5 1.12.1, which can be installed;
         ├─ hdf5 1.12.2, which can be installed;
         ├─ hdf5 [1.10.5|1.10.6|1.12.0], which can be installed (as previously explained);
         ├─ hdf5 [1.10.6|1.12.0], which can be installed (as previously explained);
         └─ hdf5 1.12.0, which can be installed (as previously explained).
Error: Process completed with exit code 1.


[TR] Test report

I tried to package through jpackage but failed with an error as
[WARNING] Missing module descriptor: D: opensource repository me frawi jogl all v2.4.0-rc-20210111 jogl all v2.4.0-rc-20210111. jar
[WARNING] Missing module descriptor: D: opensource repository me frawi gluegen rt v2.4.0-rc-20210111 gluegen rt v2.4.0-rc-20210111. jar

I do not know where you have taken frawi packages from, since my domain is friwi.me, but module descriptors sounds like java 9 and we currently do not support the java 9 module ecosystem. Which java version have you tested on?
Am 10.10.2023 um 13:52 schrieb tangrufeii @.***>:

I tried to package through jpackage but failed with an error as
[WARNING] Missing module descriptor: D: opensource repository me frawi jogl all v2.4.0-rc-20210111 jogl all v2.4.0-rc-20210111. jar
[WARNING] Missing module descriptor: D: opensource repository me frawi gluegen rt v2.4.0-rc-20210111 gluegen rt v2.4.0-rc-20210111. jar
—
Reply to this email directly, view it on GitHubhttps://github.com/jcefmaven/jcefmaven/issues/86, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADA4BJ2GRGVG23TU2XECJVDX6UZG5AVCNFSM6AAAAAA52HDC52VHI2DSMVQWIX3LMV43ASLTON2WKOZRHEZTKMJWHAYTQMI.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

I do not know where you have taken frawi packages from, since my domain is friwi.me, but module descriptors sounds like java 9 and we currently do not support the java 9 module ecosystem. Which java version have you tested on? Am 10.10.2023 um 13:52 schrieb tangrufeii @.>:  I tried to package through jpackage but failed with an error as [WARNING] Missing module descriptor: D: opensource repository me frawi jogl all v2.4.0-rc-20210111 jogl all v2.4.0-rc-20210111. jar [WARNING] Missing module descriptor: D: opensource repository me frawi gluegen rt v2.4.0-rc-20210111 gluegen rt v2.4.0-rc-20210111. jar — Reply to this email directly, view it on GitHub<#86>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADA4BJ2GRGVG23TU2XECJVDX6UZG5AVCNFSM6AAAAAA52HDC52VHI2DSMVQWIX3LMV43ASLTON2WKOZRHEZTKMJWHAYTQMI. You are receiving this because you are subscribed to this thread.Message ID: @.>

I want to try creating a small desktop application through jcefmaven. I plan to package the program into exe through jpackage, and I am using

com. github. akman
jpackage aven plugin
0.1.3
I used to package it into a desktop program installation package before, but it only supports compilation of jdk15 or above

Still seems odd to me, due to the wrong package name in your error log. Have you tried a different version of java? I might not be able to help further than that, because I'm sadly no expert on java modules.


use gz with fallback to xz

I'm squeamish about this.
The installer absolutely cannot fail, and the difference is ~6MB.

The installer absolutely cannot fail, and the difference is ~6MB.

You can switch the preference order easily enough. This should make the installer more robust, since it gets two tries.

I'm going to pass.
It's not worth it for 6MB.
eg. they may not be able to uncompress xz so they'll download twice. gz is the standard. tea itself can install xz so we can do this for our bottles.

The problem this was intended to fix is a weird race condition:

gha fires bottling jobs for multiple compressions
macos-11 runners queue up
Darwin / xz finishes, uploads the bottle and adds the tea/cli version to versions.txt
Darwin / gz starts and teaxyz/setup tries to download $latest.tar.gz, but only $latest.tar.xz exists
Darwin / gz fails, and teaxyz/setup is broken until an archive is manually uploads.

Switched order of priority. But we still need to guard against that race on new builds of tea/cli

How about https://github.com/teaxyz/pantry/pull/205?

Worthy. In that case, this is only needed if you desire trying the other download if the first fails.

Worthy. In that case, this is only needed if you desire trying the other download if the first fails.

Maybe one day, but I want to feel like the installer is solid-AF first.


Toc add nested uls

What is it?

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

Why is it needed?
Current TOC is not accessible.
Checklist:

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have ran pnpm change and documented my changes
[x] I have add necessary docs (if needed)
[ ] Added new tests to cover the fix / functionality

@TheMcnafaha Thanks for your hard work! How did you end up with this RecursiveJSX function 😱 I've never seen that in Qwik 😅  Scary.. but quite impressive tbh!
Remarks:

Why make a headless TOC component? The current code is not even headless is it? In any case, even if it is headless, I don't think we want to have a headless TOC component as of now. Could you simply put it back in apps/website/src/components/toc/toc.tsx?
Can we get rid of the bullet point on the first item?

There is no highlighting of the current section of the page anymore. If you go to qwik UI and click on a TOC item, you'll see that it remains highlighted. Also scrolling through the page will change the highlighting depending on where you are on the page.
Honestly I'm a bit warry of doing such tricks as const infiniteStopper = JSON.parse(JSON.stringify(props.headings));. We already have lots of complexity in many places in Qwik UI. I'd rather avoid more if possible 🙏. The RecursiveJSX seems quite clever, but maybe it's too clever for just 2-3 levels of nesting 🤔 Perhaps we could make 2-3 separate components for each level of nesting, and simply loop over them in an inlined component 🤔

Thanks for your feedback @maiieul, it is of great detail. I'll try my best to answer to it.

Why make a headless TOC component? The current code is not even headless is it? In any case, even if it is headless, I don't think we want to have a headless TOC component as of now. Could you simply put it back in apps/website/src/components/toc/toc.tsx?

For two reasons: (1) I want to add tests and I don't know of a different way, and (2) I feel that making a TOC component is a good component to have, so I got us started down that path.

Can we get rid of the bullet point on the first item?

I cannot see this. I'm guessing this is due to the browser. I'm on Firefox and see this:

I believe the same is happening with the highlighting since it seems to be working for me.

Honestly I'm a bit warry of doing such tricks as const infiniteStopper = JSON.parse(JSON.stringify(props.headings));. We already have lots of complexity in many places in Qwik UI. I'd rather avoid more if possible 🙏.

I agree. There is probably a more convenient way of doing this, but I this is a very readable solution and I believe it's good enough for a "secret" component to use. I'll do more research for deep cloning but I don't think there's a more readable solution.

The RecursiveJSX seems quite clever, but maybe it's too clever for just 2-3 levels of nesting 🤔 Perhaps we could make 2-3 separate components for each level of nesting, and simply loop over them in an inlined component 🤔

I think this is where we are having different views for the TOC. We both want to make it better but I want to do that by adding more headings; the 2-3 levels of nesting will become 2-4.
As for the recursive part, I don't like using recursion. To me, it's a better concept than inheritance, but still a general thing to avoid.
However, the one use case that recursion shines one is when you are dealing with tree-like structures. It makes the children part of trees easy to handle once you get over the recursive bump. I have heard it's possible to use loops to achieve the same result at the cost of readability and code complexity.
I don't think I would be interested in hard-coding an inline component that handles 2-3 nesting levels for three reasons: (1) as I said before, I want to add more levels, (2) I think it will be quite a challenge to do, and (3) it keeps us away from making a general TOC component.

@TheMcnafaha thanks for taking the initiative on this and the hard work.
If there's headless logic (more than just styles) in a table of contents component, then it makes sense to have as a headless component.
The only place I have found a table of contents component so far in a headless library, has been Melt UI.
As for the nesting structure, I think (for the docs) we want whatever is most navigable. What do other popular documentation sites have? Do they have more than 2-3 nested headings?
As a general rule, we don't want to add functionality to a component unless it's very clear that there's a demand for it. Do other headless libraries offer this level of nesting? Are there any good use cases for this? Maybe an interactive textbook?
@TheMcnafaha happy to pair on this sometime if you'd like. If we could avoid the visible task somehow that would be awesome.

Currently no single page has more than 2 levels of nesting. I'm thinking we might have some exceptions with a third level, but 4 seems like way too much imo. I think let's first determine together what kind of TOC we want, and then see if we need to change anything on the current implementation. Btw the current one is almost a clone of the shadcn one, so I guess it's not that problematic 😋
What needs to be determined imo:

Do we want to create/maintain a headless TOC component? (I'd say maybe in 1-2 years, not now)
How many levels of nesting do we want to keep a good UX? (I'd say 2... 3 seems even like too much)
Do we want to keep the highlighting? (definitely yes)
Do we really need test for a self-owned component we're not going to change much? (I don't think it's necessary)
Is  nesting that important that's it's worth the effort now? (I'm not sure 🙈)

the current one is almost a clone of the shadcn one

Yes and no. I can see the similarity but their tree function also uses recursion, they just use a ternary check instead of splitting the template into two recursive cases:
function Tree({ tree, level = 1, activeItem }: TreeProps) {
  return tree?.items?.length && level < 3 ? (

      {tree.items.map((item, index) => {
        return (

            <a
              href={item.url}
              className={cn(
                "inline-block no-underline transition-colors hover:text-foreground",
                item.url === `#${activeItem}`
                  ? "font-medium text-foreground"
                  : "text-muted-foreground"
              )}
            >
              {item.title}

// in my code, this is called "recursive_nested" but they just user a ternary here
            {item.items?.length ? (
// recursive part below:
              <Tree tree={item} level={level + 1} activeItem={activeItem} />
            ) : null}

        )
      })}

  ) : null
}

This key component is missing from our implementation, meaning that instead of having nested uls we have one row of lis.

How many levels of nesting do we want to keep a good UX? (I'd say 2... 3 seems even like too much)

The title counts as a nesting level. It wouldn't visually change that much, it would just add semantic meaning to readers.

Do we want to keep the highlighting? (definitely yes)

I agree. I think I did a bad job explaining myself, so let me try again: it works on firefox, me browser, so  could you please tell me browser are you using so that I can know what to test on.

Is  nesting that important that's it's worth the effort now? (I'm not sure 🙈)

If you want to make our TOC accesssible, it's a must have. Screen readers do not take padding into account. I know that the chance that a developer-centric site is targeted by a screen reader is not very likely, but I don't want to contribute to a headless library with an inaccessible TOC.  It would actually be really funny if a headless UI library had missing accessibility of a core component if it wasn't the same project I was backing.
There's a reason why every other TOC has nested uls, but maybe we need the opinion of a more experienced developer. I don't use twitter, but maybe one of you guys can ask that.

@thejackshelton I'll accept the pairing invitation. Maybe afterwards we could also discuss the qwik core docs refactor.

the current one is almost a clone of the shadcn one

Yes and no. I can see the similarity but their tree function also uses recursion, they just use a ternary check instead of splitting the template into two recursive cases:
function Tree({ tree, level = 1, activeItem }: TreeProps) {
  return tree?.items?.length && level < 3 ? (

      {tree.items.map((item, index) => {
        return (

            <a
              href={item.url}
              className={cn(
                "inline-block no-underline transition-colors hover:text-foreground",
                item.url === `#${activeItem}`
                  ? "font-medium text-foreground"
                  : "text-muted-foreground"
              )}
            >
              {item.title}

// in my code, this is called "recursive_nested" but they just user a ternary here
            {item.items?.length ? (
// recursive part below:
              <Tree tree={item} level={level + 1} activeItem={activeItem} />
            ) : null}

        )
      })}

  ) : null
}

This key component is missing from our implementation, meaning that instead of having nested uls we have one row of lis.

How many levels of nesting do we want to keep a good UX? (I'd say 2... 3 seems even like too much)

The title counts as a nesting level. It wouldn't visually change that much, it would just add semantic meaning to readers.

Do we want to keep the highlighting? (definitely yes)

I agree. I think I did a bad job explaining myself, so let me try again: it works on firefox, me browser, so could you please tell me what browser are you using so that I can know what to test on.

Is  nesting that important that's it's worth the effort now? (I'm not sure 🙈)

If you want to make our TOC accesssible, it's a must have. Screen readers do not take padding into account. I know that the chance that a developer-centric site is targeted by a screen reader is not very likely, but I don't want to contribute to a headless library with an inaccessible TOC. It would actually be really funny if a headless UI library had missing accessibility of a core component if it wasn't the same project I was backing.
There's a reason why every other TOC has nested uls, but maybe we need the opinion of a more experienced developer. I don't use twitter, but maybe one of you guys can ask that.

Sounds good to me!

@thejackshelton I'll accept the pairing invitation. Maybe afterwards we could also discuss the qwik core docs refactor.

Awesome. I'll reach out to you in discord

Thanks again @TheMcnafaha! I've been quite picky but really cool PR 🔥
Side note, I'm not sure of the implications of using that recursive pattern in Qwik, so I'm squashing/merging in case we get any issues.


YawgmothTWOpointZERO

Full update to Python 3.4 and Discord API
Things to watch out for / fix:

upgrading mute commands
line 93 in commands.py
fixing moon command
change lastcard to be tied to a server and channel

BUG FOUND


Incorrect link for Azure Test Plan under section Task-specific clients

Under the section Task-specific clients, the text in bold below points to same URL as Test and Feedback extension. Is this correct?
Azure Test Plans: Manage your test efforts, create and run manual tests, and create and track bugs that are found during test efforts.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 878f028a-4418-1f6c-bf27-d469b249b621
Version Independent ID: 7209b942-b6ab-e9f6-6cfd-bd5d89ea9aa8
Content: Tools and clients that connect - Azure DevOps
Content Source: docs/user-guide/tools.md
Product: devops
Technology: devops-new-user
GitHub Login: @chcomley
Microsoft Alias: chcomley

@chcomley Should the link go to this page?
https://docs.microsoft.com/en-us/azure/devops/test/?view=azure-devops
or here?
https://docs.microsoft.com/en-us/azure/devops/organizations/billing/try-additional-features-vs?view=azure-devops


My final features

Premise
I hadded so many things I lost count. But there is nothing more I'm willing to do tbh.
Changes

Added Contact selection
Added Swipe gesture to the log, left deletes, right adds to contacts if not already present.
Fixed requests and responses
Added Foreground service
Added button in the Alarm Activity to shut down said service.
Added answering the ring request with how much time elapsed.
Added a timeout to the rings.
Plugged in log 100%.
Plugged in encryption for the sending.
Added dialog inviting user to set a password.
Various fixes to navigation.

Probably something else.
I have asserted everything works. I invite you to do so at least once yourself before Friday.

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 1
- Added 6

Complexity increasing per file
==============================
- app/src/main/java/ingsw/group1/findmyphone/activity/NavHolderActivity.java  2
- app/src/main/java/ingsw/group1/findmyphone/ReceivedMessageManager.java  3
- app/src/main/java/ingsw/group1/findmyphone/MessageParser.java  9
- app/src/main/java/ingsw/group1/findmyphone/activity/AlarmActivity.java  1
- app/src/main/java/ingsw/group1/findmyphone/log/items/LogMap.java  1
- app/src/main/java/ingsw/group1/findmyphone/fragment/CreateContactFragment.java  1
- app/src/main/java/ingsw/group1/findmyphone/RingService.java  5
- app/src/main/java/ingsw/group1/findmyphone/SharedData.java  1
- app/src/main/java/ingsw/group1/findmyphone/fragment/SettingsFragment.java  1
- app/src/main/java/ingsw/group1/findmyphone/fragment/HomeFragment.java  1
- app/src/main/java/ingsw/group1/findmyphone/log/LogItemSwipeCallback.java  3
- app/src/main/java/ingsw/group1/findmyphone/InfoDialog.java  4
- app/src/main/java/ingsw/group1/findmyphone/location/LocationResponseCommand.java  1
- app/src/main/java/ingsw/group1/findmyphone/RequestManager.java  2
- app/src/main/java/ingsw/group1/findmyphone/MessageType.java  1
- app/src/main/java/ingsw/group1/findmyphone/ResponseManager.java  5
- app/src/test/java/ingsw/group1/findmyphone/MessageParserTest.java  1

See the complete overview on Codacy


iOS: iPad 12" browser view size issue

Email from a user. I believe we may have fixed this but if not I figure it'll be quick.
--
Hi, I’ve noticed this intermittent issue when opening links in the app on the 2018 12.9” iPad Pro. The article will open with a black box on the right, and after closing the article, the display of the feed will look like the attached until the app is restarted. I haven’t been able to figure out what the articles that trigger this have in common, but I’d say it happens about 5-10% of the time I click on a link.
Sorry this is vague! Let me know how I can help troubleshoot.

This was tricky to reproduce, but thanks to your detailed description, I was able to do so.
My steps:

Use my iPad Pro in landscape orientation.
Force quit NewsBlur.
Open Safari and load a page.
Switch to NewsBlur via Cmd-Tab.
Go to the Tim Chaillies article you mentioned (in my Saved Stories).
Click the Mary link.
Wackiness ensues.

It doesn't occur when running from Xcode, but I was able to connect the debugger to the app once running, and saw that the SFSafariViewController was causing it when presented.  The UI orientation is changed to portrait, despite the device still being landscape, and not sending any orientation changed notifications.  I don't know why that page causes that misbehavior, but I suspect there's nothing I can do to stop it.
However, I am able to avoid the issue by using a page sheet presentation style, which displays the Safari view a little narrower when in landscape, but still plenty big enough. It's still full-screen when in portrait orientation, or on iPhones.

Nice work! I really appreciate that you took the time on this issue.


better error formatting using ariadne?

https://docs.rs/ariadne/latest/ariadne/

I don't believe there's is any PEP that might define what exception output/formatting might look like so we should be free to choose. If ariadne can be plugged in easily it could be something to think about.


This is bad and not good: omitting an error in ONE subscriber affects OTHER subscxribers

If you fail to subscribe to errors in one subscriber the error in a subject is thrown.
I DO NOT AGREE THAT THIS IS GOOD OR EXPECTED BEHAVIOR.
Streams aren't expected to leak errors into the general flow and listening is not a thing people expect to change this fact. the error method is supposed to catch and report errors not scream them up the stack.

AGAIN this is not a good thing and adds to the sense that RXJS is a thing with a huge learning curve and is too dangerous to use with novice developers.

Closing this because no attempt was made to follow the issue template.
Regarding the behaviour: see https://github.com/ReactiveX/rxjs/blob/9e9064b7513aec4c365e792beac211f9d12bd7b9/docs_app/content/guide/glossary-and-semantics.md#producer-interference and https://youtu.be/JCXZhe6KsxQ?t=321


Ref docs issue

Error:

[WARNING] The POM for com.azure:azure-core-test:jar:1.19.0-beta.1 is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.469 s
[INFO] Finished at: 2023-06-16T04:27:31Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project azure-core-amqp: Could not resolve dependencies for project com.azure:azure-core-amqp:jar:2.9.0-beta.2: com.azure:azure-core-test:jar:1.19.0-beta.1 was not found in https://repo1.maven.org/maven2 during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of maven-repo has elapsed or updates are forced -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
'
STDERR:
'
'
at Microsoft.Content.Build.Java2Yaml.ProcessUtility.Execute(String fileName, String commandLineArgs, String cwd, Boolean redirectOutput) in C:__w\1\s\src\java2yaml\Common\Utility\ProcessUtility.cs:line 49
at Microsoft.Content.Build.Java2Yaml.RestoreDependency.b__7_0() in C:__w\1\s\src\java2yaml\Steps\RestoreDependency.cs:line 44
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.Content.Build.Java2Yaml.StepCollection.d__4.MoveNext() in C:__w\1\s\src\java2yaml\Steps\StepCollection.cs:line 41
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.Content.Build.Java2Yaml.GenerateDocument.<>c__DisplayClass2_0.<b__0>d.MoveNext() in C:__w\1\s\src\java2yaml\Steps\GenerateDocument.cs:line 13
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.Content.Build.Java2Yaml.StepCollection.d__4.MoveNext() in C:__w\1\s\src\java2yaml\Steps\StepCollection.cs:line 28
Failed in 3835192 milliseconds.
##[error]PowerShell exited with code '1'.

For more details check here:

https://apidrop.visualstudio.com/Content CI/_build/results?buildId=368421&view=results

@danieljurek for notification.

I've opened an incident to track resolution. I don't think a dependency scoped to test is necessary for docs build... we'll see if that's the case -- https://portal.microsofticm.com/imp/v3/incidents/details/398213235/home

@JonathanGiles -- Do we need to publish com.azure:azure-core-test:jar:1.19.0-beta.1 or is it published periodically by some quirk of our release system/process?
cc @hallipr

This is no longer an issue. azure-core-test is now released as part of the nightly and official releases.


Problematic fake bin files to test evaluation tools

Hi! I've encountered problems regarding the detection & tracking evaluation tools.
I've built the metrics computation tool for tracking using the most recent repository (i.e. directly clone from the repo without changing the branch). However, I can't get the expected results on the two fake pd/gt binary files provided, as documented at the beginning of the source code.
All I get is the following error:
WARNING: Logging before InitGoogleLogging() is written to STDERR
F1028 14:25:46.491297 32399 mot.cc:60] Duplicate ground truths found for tracking ID 3S1Jzdq9a6Jqyhdf8cuKzA.
*** Check failure stack trace: ***
Aborted (core dumped)
The bazel build spits no error and finished building. How can I test the validity of the compiled tracking evaluation tool ?
As for the detection evaluation tool, the binary tool took those two bin pd/gt files and produced some results, except that the results are different from the values suggested in the comments in compute_detection_metrics_main.cc:
Evaluation on my machine:
OBJECT_TYPE_TYPE_VEHICLE_LEVEL_2: [mAP 0.0693958] [mAPH 0.0588563]
OBJECT_TYPE_TYPE_PEDESTRIAN_LEVEL_2: [mAP 0.103343] [mAPH 0.043977]
OBJECT_TYPE_TYPE_SIGN_LEVEL_2: [mAP 0.0455449] [mAPH 0.0333994]
OBJECT_TYPE_TYPE_CYCLIST_LEVEL_2: [mAP 0] [mAPH 0]
RANGE_TYPE_VEHICLE_[0, 30)LEVEL_2: [mAP 0.0716681] [mAPH 0.0651036]
RANGE_TYPE_VEHICLE[30, 50)LEVEL_2: [mAP 0.129427] [mAPH 0.0956238]
RANGE_TYPE_VEHICLE[50, +inf)LEVEL_2: [mAP 0.0490004] [mAPH 0.0422815]
RANGE_TYPE_PEDESTRIAN[0, 30)LEVEL_2: [mAP 0.0458333] [mAPH 2.20291e-09]
RANGE_TYPE_PEDESTRIAN[30, 50)LEVEL_2: [mAP 0.0954545] [mAPH 0.0442826]
RANGE_TYPE_PEDESTRIAN[50, +inf)LEVEL_2: [mAP 0.141667] [mAPH 0.0699209]
RANGE_TYPE_SIGN[0, 30)LEVEL_2: [mAP 0.112251] [mAPH 0.0871696]
RANGE_TYPE_SIGN[30, 50)LEVEL_2: [mAP 0.0326389] [mAPH 0.0153958]
RANGE_TYPE_SIGN[50, +inf)LEVEL_2: [mAP 0.015625] [mAPH 0.0146571]
RANGE_TYPE_CYCLIST[0, 30)LEVEL_2: [mAP 0] [mAPH 0]
RANGE_TYPE_CYCLIST[30, 50)LEVEL_2: [mAP 0] [mAPH 0]
RANGE_TYPE_CYCLIST[50, +inf)_LEVEL_2: [mAP 0] [mAPH 0]
Evaluation suggested in the code comments:
OBJECT_TYPE_TYPE_VEHICLE_LEVEL_2: [mAP 0.0650757] [mAPH 0.055601]
OBJECT_TYPE_TYPE_PEDESTRIAN_LEVEL_2: [mAP 0.101786] [mAPH 0.0473937]
OBJECT_TYPE_TYPE_SIGN_LEVEL_2: [mAP 0.0500082] [mAPH 0.0366725]
OBJECT_TYPE_TYPE_CYCLIST_LEVEL_2: [mAP 0] [mAPH 0]
RANGE_TYPE_VEHICLE_[0, 30)LEVEL_2: [mAP 0.0784186] [mAPH 0.0709105]
RANGE_TYPE_VEHICLE[30, 50)LEVEL_2: [mAP 0.133955] [mAPH 0.103888]
RANGE_TYPE_VEHICLE[50, +inf)LEVEL_2: [mAP 0.0522752] [mAPH 0.0460845]
RANGE_TYPE_PEDESTRIAN[0, 30)LEVEL_2: [mAP 0.0458333] [mAPH 2.20291e-09]
RANGE_TYPE_PEDESTRIAN[30, 50)LEVEL_2: [mAP 0.110526] [mAPH 0.0512746]
RANGE_TYPE_PEDESTRIAN[50, +inf)LEVEL_2: [mAP 0.15] [mAPH 0.074034]
RANGE_TYPE_SIGN[0, 30)LEVEL_2: [mAP 0.128993] [mAPH 0.100171]
RANGE_TYPE_SIGN[30, 50)LEVEL_2: [mAP 0.0354839] [mAPH 0.0171309]
RANGE_TYPE_SIGN[50, +inf)LEVEL_2: [mAP 0.0164904] [mAPH 0.01548]
RANGE_TYPE_CYCLIST[0, 30)LEVEL_2: [mAP 0] [mAPH 0]
RANGE_TYPE_CYCLIST[30, 50)LEVEL_2: [mAP 0] [mAPH 0]
RANGE_TYPE_CYCLIST[50, +inf)_LEVEL_2: [mAP 0] [mAPH 0]
There are significant differences in the values between the two. Could you please help me verify if my compilation is working correctly?
Thank you!

Hi DianCh, I suspect you get the incorrect order when passing prediction and ground-truth files. It should be /path/to/compute_detection_metrics_main pd_filename gt_filename.

Hi DianCh, I suspect you get the incorrect order when passing prediction and ground-truth files. It should be /path/to/compute_detection_metrics_main pd_filename gt_filename.

Hi bairdzhang, thank you very much for pointing that out! I fixed the mismatch problem, but the problem in tracking evaluation still remains.

For tracking, it is also pd_file gt_file. I was not able to reproduce the error after fixing the order.

What does your tracking evaluation output look like? Mine now looks like:
...(many similar lines)
W1028 18:08:14.108418 33698 mot.cc:48] Duplicate predictions found for tracking ID hcKLopO8tYQKXJxXtNo9tA (subset id 2).
W1028 18:08:14.108427 33698 mot.cc:48] Duplicate predictions found for tracking ID hcKLopO8tYQKXJxXtNo9tA (subset id 1).
W1028 18:08:14.108440 33698 mot.cc:48] Duplicate predictions found for tracking ID hcKLopO8tYQKXJxXtNo9tA (subset id 2).
W1028 18:08:14.108456 33698 mot.cc:48] Duplicate predictions found for tracking ID hcKLopO8tYQKXJxXtNo9tA (subset id 1).
W1028 18:08:14.108470 33698 mot.cc:48] Duplicate predictions found for tracking ID hcKLopO8tYQKXJxXtNo9tA (subset id 2).
  Warnings like 'Duplicate predictions found for tracking' is fine. It is because the the fake pd file is generated by a tool which has duplicate  detections.

Ok, this clears my doubts. Thank you so much!


Parachain documentation

I am opening this issue to gather insights into what needs to be added to our devhub as it relates to parachains.
Please let's use this to discuss what we think is needed, and priorities for this.

There is a general lack of information on the devhub as it relates to cumulus, parachains, and the nuances that make it different thatn solo-chain development with substrate.
A few topics that I see as critically needed:

collator selection (not using BABE, what options are there?)
reading data from the relay chain state, like randomness on chain (related: https://github.com/paritytech/cumulus/issues/320)
XCM & XCMP (plus examples)
Bridging (https://github.com/paritytech/parity-bridges-common/) and compare/contrast with XCMP

workshop: https://www.youtube.com/watch?v=rrpDBvac7gI

... I am sure there is more.

What do you think should be added, and what takes priority?

https://github.com/substrate-developer-hub/substrate-docs/issues/179


Overriding object keys in allOf - valid or undefined behaviour?

Hey all! I build fairly large APIs but always try to keep the schemas 1. reusable and 2. logically separated.
One requirement I often run into is the ability for the representation of a field to differ slightly to the mutable version. One example would be prices or monetary values in general.
When doing patch calls, I want to accept numbers but when getting the data, I want to return strings (or, in my case, a more complex object that contains a currency, a pre-formatted representation, the raw/inaccurate Float32/Number value, etc)
So what I've settled on is something like this:
openapi: 3.0.0
info:
  title: "Example of allOf key precedence"
  version: "0.0.0"
  contact: {}
paths: {}
components:
  schemas:
    ProductImmutable:
      type: object
      properties:
        price:
          type: string

    ProductMutable:
      type: object
      properties:
        price:
          type: number

    Product:
      type: object
      allOf:
        - { $ref: "#/components/schemas/ProductMutable" }
        - { $ref: "#/components/schemas/ProductImmutable" }

Now this works, my code generates as expected. My PATCH endpoint can use just the mutable schema and the GET endpoint can use the full "Product" schema and show everything at once. All the validators and UIs render this correctly and as desired, the most recent entry into the allOf list overrides earlier conflicting keys.

But what I want to know is, is this a valid and acceptable way to do this? It's really concise and I'd hate to have to define these schemas twice (one for the patch and one for the get).
I don't want to be relying on undefined behaviour. I can't find any definitive answer in the reference. Both my frontend and backend code generation tools are generating valid code though.
Thanks!

Not sure what code you generate from it, but in json no value can be a string and a number at the same time, which is what your schema tries to validate.
I think you want to use oneOf (or anyOf, since the types you here are disjoint), and you can add readOnly and writeOnly as required.

Not sure what code you generate from it

Golang (with oapi-codegen) and TypeScript (with orval)
The Go code produces the desired result, the "Mutable" payload is a struct with a float32 type field and the "Immutable" payload is a struct with a string type field. And the TypeScript code produces a type union, which is less than ideal tbh but still valid.

in json no value can be a string and a number at the same time

This is for two independent operations: a read and a write. When reading the information, there's additional calculated information based on context (in the price example, this is a currency sign and some rounding etc) and when writing you want to accept number types since the other metadata seen when reading is computed on the fly, rather than stored.
oneOf  or anyOf would mean copy-pasting the entire request object (opportunity for forgetting to add/remove fields in both) I think, unless there's a way to easily merge and override for different operations like this.
But thanks for the answer, it sounds like this is just undefined behaviour and possibly a bug in the codegen tooling/validators for not throwing an error for these conflicting keys.

I suppose one valid approach would be three type definitions, one would be all the fields that remain the same then one would be the fields with mutable simplified forms and the other would be the hydrated read forms of those fields.
openapi: 3.0.0
info:
  title: "Example of allOf key precedence"
  version: "0.0.0"
  contact: {}
paths: {}
components:
  schemas:
    ProductImmutable:
      type: object
      properties:
        price:
          type: string

    ProductMutable:
      type: object
      properties:
        price:
          type: number

    Product:
      type: object
      properties:
        name:
          type: string
      oneOf:
        - { $ref: "#/components/schemas/ProductMutable" }
        - { $ref: "#/components/schemas/ProductImmutable" }

Either that or just
properties:
  price:
    oneOf:
      - type: string
      - type: number

Depending on your use case

The problem with this is it generates simple type unions, allowing developers to make mistakes. My ideal end goal is two distinct types so the HTTP handler bindings and API client generated code makes it impossible to accidentally send the wrong type. A oneOf generates in TypeScript a T = string | number meaning you can submit either one or the other via the API. If you submitted a string in the above example, the API server would respond with an error since it's the incorrect type and it's expecting a number.
I'll have a further think about better solutions that are within the spec, thanks again!

schemas:
  ProductCommon:
    properties:
       name:
         type: string
  ProductMutableParts:
    properties:
      price:
        type: string
  ProductImmutableParts:
    properties:
      price:
        type: number
  ProductMutable:
    allOf:
    - ProductCommon
    - ProductMutableParts

@Southclaws anything that does any sort of overriding or merging of schema assertions (any keyword that can cause validation to fail) or applicators (any keyword that applies a schema to an instance location, including $ref and all the keywords with subschemas in their values) is not compliant with the JSON Schema specifications.
Some code generation tools in particular seem to impose semantics on the ordering of keywords like allOf but that behavior is implementation-specific.
Annotation keywords (like title) defer handling of multiple values to the application (from JSON Schema's point of view, both the OpenAPI specification and all implementations of it are "applications").  But those are the only keywords that do that.  And some annotations (like readOnly and writeOnly) have pretty clear semantics that applications shouldn't change (e.g. if any schema marks a field as readOnly it should be considered read-only).
Generally what you want to do is factor out the properties that vary and only pull them in at the point where they are needed.
Handling variations that depend on HTTP context (e.g. PATCH vs GET) is a very complex topic without a clear solution.  It's something we're discussing a lot for 4.0 (although I think an extension could be done for 3.1 as well).

No further replies after the answer in 2022, closing.


Add UI tests

Adds basic tests for Header, LandingPage, TreeItem, and RequestDetailModal
NOTE: This PR is on top of the Material UI version update PR.

Codecov Report

Merging #58 (549fa1b) into main (d5b55a1) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #58   +/-   ##
=======================================
  Coverage   94.44%   94.44%
=======================================
  Files          92       92
  Lines        2123     2123
=======================================
  Hits         2005     2005
  Misses        118      118

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 d5b55a1...549fa1b. Read the comment docs.


Missing documentation in xclone.pp.xclonedata

Hi,
thanks for providing this interesting tool. I have problems to run XClone with a count matrix, which was not generated by xcltk. In your documentation for xclone.pp.xclonedata, the documentation is missing how the file regions_anno_file should look like (and actually also what the parameter data_notes is about):
xclonedata(Xmtx, data_mode, mtx_barcodes_file, regions_anno_file=None, genome_mode='hg38_genes', data_notes=None)
    Extracting `xcltk` output as anndata for the input of XClone.

    Parameters
    ----------

        Xmtx : csr_mtx or csr_mtx path
            The input data matrix/path; or a list of data matrix/paths to the matrix files.
        data_mode : str
            Mode of the data, either 'BAF' or 'RDR'.
        mtx_barcodes_file : str
            Path to the barcodes file.
        genome_mode : str, optional
            Genome mode, one of 'hg38_genes', 'hg38_blocks', 'hg19_genes',
            'hg19_blocks', or 'mm10_genes'. Default is 'hg38_genes'.

When I try a comma-separated file, with the columns described as in your tutorial for the feature annotation, I get an error:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/kschmid/miniconda3/envs/xclone/lib/python3.9/site-packages/xclone/preprocessing/_data.py", line 267, in xclonedata
    Xadata = AnnData(RDR, obs=cell_anno, var=regions_anno) # dtype='int32'
  File "/Users/kschmid/miniconda3/envs/xclone/lib/python3.9/site-packages/anndata/_core/anndata.py", line 254, in __init__
    self._init_as_actual(
  File "/Users/kschmid/miniconda3/envs/xclone/lib/python3.9/site-packages/anndata/_core/anndata.py", line 428, in _init_as_actual
    self._var = _gen_dataframe(
  File "/Users/kschmid/miniconda3/envs/xclone/lib/python3.9/functools.py", line 888, in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
  File "/Users/kschmid/miniconda3/envs/xclone/lib/python3.9/site-packages/anndata/_core/aligned_df.py", line 65, in _gen_dataframe_df
    raise _mk_df_error(source, attr, length, len(anno))
ValueError: Observations annot. `var` must have as many rows as `X` has columns (17910), but has 17911 rows.

This is the header of the file I try to use for regions_anno_file at the moment:
GeneName,GeneID,chr,start,stop,arm,chr_arm,band
FAM138A,ENSG00000237613,1,34554,36081,p,1p,p36.33
OR4F5,ENSG00000186092,1,65419,71585,p,1p,p36.33
OR4F29,ENSG00000284733,1,450703,451697,p,1p,p36.33
OR4F16,ENSG00000284662,1,685679,686673,p,1p,p36.33
FAM87B,ENSG00000177757,1,817371,819837,p,1p,p36.33
FAM41C,ENSG00000230368,1,868071,876903,p,1p,p36.33
SAMD11,ENSG00000187634,1,923928,944581,p,1p,p36.33
NOC2L,ENSG00000188976,1,944204,959309,p,1p,p36.33
KLHL17,ENSG00000187961,1,960587,965715,p,1p,p36.33

Could you explain me how I need to do it instead? Thanks for your help.

Hi @KatharinaSchmid ,
Thank you for your question.
Are you using the count matrix generated by cellranger?
Recently, I have added one new function for reading the count matrix generated by cellranger.
You may find the demo jupyter notebook useful: demo_GX109_scRNA_RDR_fromcellranger.ipynb
rdr_dir = "./data/rdr_cellranger/"
cell_anno_file = "./data/rdr_cellranger/cell_anno.tsv"
out_dir = "./result/"

RDR_adata = xclone.pp.readrdr_mtx(rdr_dir)

RDR_adata = xclone.pp.extra_anno(
    RDR_adata,
    cell_anno_file,
    barcodes_key = "cell",
    cell_anno_key = "cell_type",
    sep = "\t"
)

RDR_adata

And for your question about the regions_anno_file, from the error log (ValueError: Observations annot. var must have as many rows as X has columns (17910), but has 17911 rows.) I guess it may come from the column name, which is one row that does not match the dataset.
Bests,
Rongting

data_note is any string you wanna add for this dataset.
By default, it will record the time you creat the dataset.
_data.py#L278
if data_notes is None:
        data_notes = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
else:
        data_notes = data_notes + ": " + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
Xadata.uns["data_notes"] = data_notes

Hey, thanks this was in deed exactly what I was looking for. And it is working now :)


Microphone.py question

Hi, there,
I am using Respeaker USB 4 Mic Array (you might have the same mic array) for speech recognition.
This mic array has 6 channel audio output, so which channel does this microphone.py speech recognition actually use?
As far as I understand, the first channel (channel 0) is the one processed for asr, any chance we can use that channel?
Thank you.

@auvilink If you just want the first channel, you can use the mono channel firmware. See  https://github.com/respeaker/usb_4_mic_array

Will close this issue, please open a new issue if you have further questions.


⚠ Bofrost.be has degraded performance

In e6fb714, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2052 ms

Resolved: Bofrost.be performance has improved in 9057397 after 13 minutes.


What exactly have you tried?  What's your config look like?


[feature request] Src Imports

Nice plugin!
Will you consider supporting the feature of src import?
Likes https://github.com/vuejs/vue-loader/blob/7a498297e2ab9d34f210e20057e2d12af0c05a63/docs/en/start/spec.md#src-imports

Thanks, good idea!
Will you consider adding support? I think it's pretty doable for styles and scripts. For templates it will be somewhat more difficult.

Should work now! Let me know if it doesn't work as expected ;-)

Awesome! I will try it!


Swap hardcoded English with  tags

Swaps out some more hardcoded English with strings from Content table.  This would be much better done with interpolation but I don't think Dallas is using these strings anyway...
donation_request_click_here "Click here"
donation_request_rather_pay_yourself "if you'd rather pay for these items yourself."

FYI @sabrichu I actually have a couple of examples of interpolation (on the order summary page) if you do want to go that route.

FYI @sabrichu I actually have a couple of examples of interpolation (on the order summary page) if you do want to go that route.

Oh dope! I'll take a look

FYI @sabrichu I actually have a couple of examples of interpolation (on the order summary page) if you do want to go that route.

Hmm...would you mind pointing to specific lines? Not seeing any place where you're interpolating into a string pulled from the Content table

FYI @sabrichu I actually have a couple of examples of interpolation (on the order summary page) if you do want to go that route.

Hmm...would you mind pointing to specific lines? Not seeing any place where you're interpolating into a string pulled from the Content table

oh you're right, the only place I do actual interpolation is on the backend for the email templates in getEmailBody.js

lgtm


PromQL endpoint returns only one point for metrics that should have multiple values over a range

When the PromQL endpoint is called with a range vector query such as:
query=CapacityRemainingMemory{source_id="rep"}[10m]
we see the number of points per sample is always one.
In order to take a rate, average over time, etc, we need multiple points to be returned (one for each metric emitted over that time period).
Reproduction Steps:

Curl the PromQL endpoint with a query for a metric that has been emitted multiple times in the time period query=CapacityRemainingMemory{source_id="rep"}[10m]
Result: See the number of points returned per sample stay at one.
Expected: See multiple points per sample.

@iplay88keys Are you still experiencing this with latest log-cache? The story created for this issue didn't have a lot of resolution but it didn't seem like I was able to replicate.


refreshGraphQL doesn't trigger refresh in Local Dev

Summary
I've done my best to give you relevant info, but you might need me to grab more details from Devtools or whatever...
In the context of Local Dev, when using GraphQL with the lightning/uiGraphQLApi Wire adapter, a call to refreshGraphQL doesn't update the wire data on the component.
Deploying source to org and using the LWC without Local Dev, we get the expected result: re-query occurs and UI is re-rendered with fresh data.
Steps To Reproduce:

Create a LWC importing {gql, graphql, refreshGraphQL} from "lightning/uiGraphQLApi" and making an API query
store 'result' in graphQLqueryResult
render API data in some way along with a button
create a method 'refresh' which returns refreshGraphQL(this.graphQLqueryResult) and append to button
adjust API data on the record. Hit refresh button.

Expected Result
Record data now reflects the change in the updated API wire property
Actual Result
API call is being made (can see it in Network tab) and is returning correct data, but it isn't making its way into the component API wire response.
Additional Information
I struggled to make a minimum reproducible example because when attaching it to a Lightning layout (in this instance, an Account record layout, with an API call against that same record) there was all sorts of funky cache issues going on in Local Dev, but I managed to get the issue to manifest before the page reaches for the cache.
Screenshots:

Logs:

System Information
SF CLI:
{
  "architecture": "darwin-arm64",
  "cliVersion"<EMAIL_ADDRESS>  "nodeVersion": "node-v20.16.0",
  "osVersion": "Darwin 24.0.0",
  "rootPath": "/Users/alan/.nvm/versions/node/v20.16.0/lib/node_modules/@salesforce/cli",
  "shell": "zsh",
  "pluginVersions": [
    "@oclif/plugin-autocomplete 3.2.4 (core)",
    "@oclif/plugin-commands 4.0.15 (core)",
    "@oclif/plugin-help 6.2.12 (core)",
    "@oclif/plugin-not-found 3.2.21 (core)",
    "@oclif/plugin-plugins 5.4.9 (core)",
    "@oclif/plugin-search 1.2.9 (core)",
    "@oclif/plugin-update 4.5.9 (core)",
    "@oclif/plugin-version 2.2.13 (core)",
    "@oclif/plugin-warn-if-update-available 3.1.17 (core)",
    "@oclif/plugin-which 3.2.14 (core)",
    "@salesforce/cli 2.60.13 (core)",
    "apex 3.4.10 (core)",
    "api 1.2.2 (core)",
    "auth 3.6.62 (core)",
    "data 3.6.7 (core)",
    "deploy-retrieve 3.12.11 (core)",
    "info 3.4.9 (core)",
    "lightning-dev 1.3.0 (user) published 18 days ago (Sat Sep 21 2024) (latest is 1.8.0)",
    "limits 3.3.32 (core)",
    "marketplace 1.2.26 (core)",
    "org 4.5.10 (core)",
    "packaging 2.8.11 (user) published 3 days ago (Sat Oct 05 2024)",
    "schema 3.3.32 (core)",
    "settings 2.3.21 (core)",
    "signups 2.3.10 (user) published 121 days ago (Sun Jun 09 2024) (latest is 2.5.21)",
    "sobject 1.4.38 (core)",
    "source 3.5.21 (core)",
    "telemetry 3.6.15 (core)",
    "templates 56.3.21 (core)",
    "trust 3.7.31 (core)",
    "user 3.5.31 (core)",
    "@salesforce/sfdx-scanner 4.4.0 (user) published 70 days ago (Wed Jul 31 2024) (latest is 4.6.0)",
    "sfdmu 4.36.3 (user) published 19 days ago (Fri Sep 20 2024)",
    "sfdx-essentials 2.12.0 (user) published 1029 days ago (Wed Dec 15 2021)",
    "sfdx-git-delta 5.46.0 (user) published 7 days ago (Wed Oct 02 2024) (latest is 5.47.0)",
    "sfdx-hardis 5.0.10 (user) published 5 days ago (Fri Oct 04 2024)",
    "texei-sfdx-plugin 2.7.0 (user) published 28 days ago (Wed Sep 11 2024)"
  ]
}

OS:
MacOS 15.0.1
minReproduce.zip

For context, I was using an Apex API call and using refreshApex with no issue. Swapping out GraphQL equivalents produced this result, so I'm relatively confident in the rest of my component's logic.
Also now I've created this issue, I've realised that my minReproduce example actually rerenders the LWC on the account page with the updated info because I assume it picks up the refreshed cache from the parent page.
The behaviour of the minReproduce component in local dev, if you refresh the page, it displays nothing, because now it's reaching for a cache that (I assume) is somehow incorrectly structured. Maybe the Local Dev cache doesn't handle graphql appropriately?


Remove required flag on value - add possibility to display empty input

Hey,
Sometimes we need to display input without any value in it for non obligatory fields. Otherwise if you will tab over a form it will lunch validation with 0 as a value.
Thank you,
Adam

Hi,
Thanks for that! Are you able to add a simple test case for this scenario please?

This has been fixed in version 15