PLAT-97858: Migrate ui/Toggleable to use hooks

Checklist

[X] I have read and understand the contribution guide

[X] A CHANGELOG entry is included

[X] At least one test case is included for this feature or bug fix

[ ] Documentation was added or is not needed

[ ] This is an API breaking change

Issue Resolved / Feature Added
First step in migrating our HOCs to composable hooks to reduce component layers and improve readability through less "prop magic" from the HOC stacks.
Resolution

Add useControlledState hook to standardize controlled state mgmt
Add useToggle hook, adopting useControlledState, to support toggleable behavior
Add core/handle.not to simply complementary conditions (e.g. prop is falsy checks)
Adopt ui/Toggleable to use useToggle
Adds a unit test for the regression that caused #2735

Additional Considerations
Need to determine documentation approach for hooks. For the time being, it is private API so we can defer that for a little while if we choose.

The issue with #2679 was storing the computed value rather than the prop value in instance so that when:

the prop was null-ish,
the value was true via the toggle callback (not via props), and
the component was re-rendered
the value would be changed to false.

I've updated instance to only store the previous prop value and added a unit test to verify this behavior.


🚀 Feature: Disable refresh cycle in catalog processing

🔖 Feature description
setProcessingIntervalSeconds control how often entities should be processed. but it doesn't provide an option to disable the refresh cycle altogether. I can set it to some crazy high number, but we'd like to disable it altogether.
🎤 Context
Our ingestion systems don't use the processing loop for asynchronous operations. We remove the URLReaderProcessor, so utilizing the processing loop to read external sources is impossible in our setup. Even though there is no work to do, the processing loop spins continuously, processing entities that do not need to be refreshed. The only way that they'll be refreshed is via an event.
✌ Possible Implementation
Provide an option to disable refresh loop or pass infinity to setProcessingIntervalSeconds.
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

It's probably sane to still have this processing loop set, events are not guaranteed in all cases right? But I understand the request to be able to start the processing engine, but maybe not the re-queueing  behaviour after an entity has been picked up for processing.

We take of synchronizing missed events with daily incremental ingestion. The event ingestion is built on top of incremental ingestion so the same entity provider is ingesting events and synchronizing to make sure nothing is missed. It's working very well. It's pretty much real time. It's ingested faster than it takes to switch tabs. We want to keep it that way by removing unnecessary work from the processing loop.

OK - so it looks like the behaviour here then is after processing, don't re-add it to the queue? Entities still need to be processed for stitching etc. I wonder what the implementation looks like as the refresh_state table contains the next timestamp things need to be processed at, and you can't just remove something from the refresh_state table as it will cascade delete the entity everywhere.

Wanna mention that a potential way forward here is to flip around the interval decision to have it be made by the processors instead, which we've discussed before. Basically a processor would emit a result along with optionally requesting a time in the future for the next refresh, with the min of all requested intervals being used. This does mean that the processing interval needs to be configured per processor instead, but it also means that we'll automatically not trigger any refreshes when no polling processor is involved.

That would work well IMO

but it also means that we'll automatically not trigger any refreshes when no polling processor is involved.

I guess you think about static Location entities (from config) and those added manually, right?
Those could be handled in a similar fashion. E.g., the option to configure a refresh schedule for Location entities from the config as well as for manually registered ones. For the latter, it could even be possible to allow a custom selection when you register them (even though, I would assume that most orgs would like to have one value there).


Allow RN version 0.8.0-rc.2 in package.json

I know it's getting tough to keep up with RN versions, especially when they are in rc, but this should require no other change I think :)

Awesome, thanks @oblador, and also awesome you now use the Animated api if available :D

:smile: :+1:


@opentelemetry/instrumentation-express handler does not run in correct context

What version of OpenTelemetry are you using?
├──<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>  ├──<EMAIL_ADDRESS>deduped
  └──<EMAIL_ADDRESS>
What version of Node are you using?
v18.19.1
What did you do?
Run the included express sample https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/examples/express
What did you expect to see?
Child spans of the handler should be children under the request handler span
What did you see instead?
Child spans created under the request handler fall under the top level server span (GET /run_test), which I believe is created by the @opentelemetry/instrumentation-http. I.e. they appear as siblings of the server span, next to middleware. This is really confusing because you can't tell if the span belongs to a middleware or the handler.
This screenshot demonstrates the problems

Additional context
It looks like the wrapped handler is not executed with the created span set in context:
https://github.com/open-telemetry/opentelemetry-js-contrib/blob/9df30ea0fd822a69203b818b8fbe34e1e1c8bced/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts#L308
Maybe this is intentional for 3-arg handlers that accept a next() function, as the next layer would be running in the parent's span context. If that is considered incorrect, you could probably solve this by wrapping the next() function to restore the parent context before executing the next layer to keep everything as siblings.

If I am understanding this issue correctly, I believe this was discussed on #1657 and we were torn on how best to approach a change here. As mentioned in this comment, the result of changing the nesting of spans significantly changes the visualization in a trace, which caused some concern. As traces get longer and spans become more nested, it becomes nearly impossible to view those spans meaningfully. For example, here is what the example app looked like in Zipkin after making a change.

This is worth further discussion, though, so I appreciate the issue being raised. Please also let me know if I am misunderstanding the issue described here.

@JamieDanielson thanks for the context. I think the naive change would create the nested "proposed" result. I agree it's not ideal and not necessarily even more correct since we should be able to flatten out the callback hell.
Maybe we could hack around this by explicitly setting the parent span to the one created by @opentelemetry/instrumentation-http to break the nesting.
Do you know if/how we already solve this for other callback (non-promise) APIs like many of node's internal APIs that we instrument? I know we have de-coupled OTel context from the AsyncLocalStorage impl but it is used in Node in practice–I'm not an expert here but I think AsyncResources is supposed to let async frameworks manage context correctly (see here). This old issue may be relevant https://github.com/expressjs/express/issues/4396 too.

Going to use this issue to collect some thoughts and throw some ideas around wrt how the express instrumentation currently handles span hierarchy and context propagation. I'll probably be at the SIG tomorrow if others want to maybe have a discussion about this and figure out the best path forward.
Request handlers
Request handlers are currently not instrumented properly and always produce bogus spans of little value. I don't know what the historical reason for that is but the current status is pretty awful. They also don't report errors at all at the moment.
I think in the case of request handlers we definitely want to propagate the context. It would be a big change in how traces are displayed but it wouldn't dramatically increase nesting if it stays a direct child span of the root express server span, and overall I really don't think anyone would find this makes anything less clear.
Middleware
They're properly instrumented for the most part, but also don't propagate context. I'd argue we'd also want them to do that, so that for instance an authentication middleware that queries a database actually creates that query span as a child of the middleware span. Since we agreed nesting middleware renders things unreadable at scale, I like the proposed solution of patching next to restore the parent context. We'd mostly keep the current way traces are displayed with a readability boost for complex middleware that call into other stuff.
Router spans
Similarly to route handlers spans these are bogus. Do we want the route handler to be a child of the router or keep things as is ? Don't really have an opinion here apart from "we should actually measure their real duration at least".

I see this was in the SIG agenda but I had a conflict. Was there any resolution?

We agreed that context should probably be propagated for both but need to make sure it actually wouldn't break existing uses. I'll probably implement the proposed changes to have a way to compare both in practice too.


utilize new nvm installer script

chocolatey was installing nvm.portable, which was set at a version of 1.1.9. the current version of nvm-windows is 1.1.11
chocolatey was also installing nodejs 20.4.0, but this version was inaccessible despite being listed by chocolatey
the nvm and nvm.install packages point to the correct version of nvm, however, the installation method is not suitable for an automated build
because we do not want to be reliant on others updating a package, especially when it hasn't been updated in over a year, this PR aims to solve that by with a script that downloads from the source, unpacks, and allows us directly control which version we need
this PR also allows us to download the most current versions of node e.g 20.4.0. This would close #203

@JalexChen, @ryanbourdais - this just reverted in windows-server-2022-gui:2024.01.1 from windows-server-2022-gui:2023.11.1. The version for nvm went from 1.1.11 back to 1.1.9.


Fix the issue of ChangeFeedProcessorCodeSnippet

Fix the issue: https://github.com/Azure/azure-sdk-for-java/issues/12571

@jongio for notification.

@joshfree - Making you aware of this.

/check-enforcer override


Tag as v1.0.0 and beyond

As people are using this out in the wild, it'd be great to tag a v1.0.0 release, and follow semver from there.
See also: https://github.com/ioquatix/rubydns/issues/28

This is good idea.  There are some folks work on some larger patches at the moment.  Let's see how those go over the next few weeks along with the test @loquatix mentioned.  Then I think we can push a 1.0.0

RubyDNS 1.0.x is stable. RubyDNS 2.0.x is a bit unstable and depends on Celluloid::DNS which isn't released officially yet. The public API didn't change, just the implementation moved around a bit.

@ioquatix Does Ruby DNS 1.0 or 2.0 address the fork() issue, #16, on Windows?

Unfortunately no not at this point in time.

Version 1.0.0 is released now and moving forward we will apply semantic versioning.


ci: use some cosigned images for ci to speedup complexity

Fixes no issue
Description

attempting to minimize complexity test failing due to slow notary validation by using more cosigned images

Checklist

[x] PR is rebased to/aimed at branch develop
[x] PR follows Contributing Guide
[x] Added tests (if necessary)
[x] Extended README/Documentation (if necessary)
[x] Adjusted versions of image and Helm chart in values.yaml and Chart.yaml (if necessary)

Codecov Report

Merging #682 (5dabb11) into develop (165f518) will increase coverage by 3.29%.
The diff coverage is 97.17%.

@@             Coverage Diff             @@
##           develop     #682      +/-   ##
===========================================
+ Coverage    93.52%   96.81%   +3.29%
===========================================
  Files           15       22       +7
  Lines          633     1226     +593
===========================================
+ Hits           592     1187     +595
+ Misses          41       39       -2

Impacted Files
Coverage Δ

connaisseur/__main__.py
0.00% <0.00%> (ø)

connaisseur/kube_api.py
87.50% <66.66%> (ø)

...naisseur/validators/notaryv2/notaryv2_validator.py
80.00% <80.00%> (ø)

connaisseur/flask_application.py
92.63% <92.63%> (ø)

connaisseur/validators/static/static_validator.py
93.75% <93.75%> (ø)

connaisseur/util.py
95.45% <95.45%> (-4.55%)
:arrow_down:

connaisseur/logging_wrapper.py
96.15% <96.15%> (ø)

connaisseur/config.py
97.29% <97.29%> (ø)

connaisseur/alert.py
97.97% <97.97%> (ø)

...naisseur/validators/notaryv1/notaryv1_validator.py
98.31% <98.31%> (ø)

... and 12 more

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 3b06342...5dabb11. Read the comment docs.


Exceptions on WebApi complex model validation when traversing object graph

Hello!
I am having problems with applying FluentValidation to my project.
The problem is that the whole object graph is traversed, and if an exception is thrown on getting a property value, the validation fails. In my case the problem is caused by reading ReadWriteTimeout property on a stream which does not support timeouts, thus throwing an exception.
I have no intention in retrieving all property values; I need to apply the custom validation rules only. Unfortunately, I'm unable to exclude this property from the validation process.
However, I'm aware that this is what WebApi's DefaultBodyModelValidator does and FluentValidationBodyModelValidator is just extending its functionality. After doing some research, I found out that the issue has been fixed in the FluentValidationBodyModelValidator in this changeset in kind of a hacky way:
try
{
    model = metadata.Model;
}
catch
{
    // Retrieving the model failed - typically caused by a property getter throwing
    // Being unable to retrieve a property is not a validation error - many properties can only be retrieved if certain conditions are met
    // For example, Uri.AbsoluteUri throws for relative URIs but it shouldn't be considered a validation error
    return true;
}

My question is: if it was added to the DefaultBodyModelValidator, shouldn't it also be applied to the FluentValidationBodyModelValidator?
Any suggestions for solving this problem in any other way would be greatly appreciated. I'm really stuck here.
Thank you.
P.S.
The reason I have a Stream property in my object is that I'm using a custom MediaTypeFormatter, which converts multipart requests containing file uploads to my model classes.

Thanks for reporting this.
The FluentValidationBodyModelValidator implements IBodyModelValidator directly, it doesn't inherit from DefaultBodyModelValidator so any changes MS make to this aren't reflected in the FluentValidationBodyModelValidator.
I've made the same change to the FluentValidationBodyModelValidator in https://github.com/JeremySkinner/FluentValidation/commit/f9782c1717c86070493f9f4eed0689eb174037b4
This will be in the 7.0 release.

Wow, you are really fast :) Thanks!


Current command

The current command is not consistent in returning the value. Currently it returns...

friendly version name for Android.
real version for iOS.

My suggestion is to make this consistent for both platforms.
And return both values (version and friendly version name).
(Windows has only one version type)

Example:
1.0.1 [1000100] - com.example.xavtool (test\AndroidManifest.xml)
1.0.1 [1.0.1] - xavtool (test\Info.plist)
<IP_ADDRESS> [---] - xavtool (test\Package.appxmanifest)

Format:
"%Version [%InternalVersion] - %Name (%Path)"
Is it good for you, @jerone ?
It will be part of 1.2.0. Code is here -> #16

I've not been able to install the development version, but what you suggest here looks great!
What about aligning the values (not sure about it)...
1.0.1   [1000100] - com.example.xavtool (test\AndroidManifest.xml)
1.0.1   [1.0.1]   - xavtool (test\Info.plist)
<IP_ADDRESS> [---]     - xavtool (test\Package.appxmanifest)

Not sure if this is also fixed by #16, but I also noticed an inconsistency with %name; sometimes the display name is used (e.g. for iOS) and for the rest the package identifier is used.


AdRequest TestDeviceSimulator Showing real ads

I hope I am using this and/or understand this correctly.
private static AdRequest createAdRequest(){
		return new AdRequest.Builder()
		.AddTestDevice(AdRequest.TestDeviceSimulator)
		.SetGender(Gender.Unknown)
		.TagForChildDirectedTreatment(false)
		.Build();
	}

That is the code I am using and it still showing real ads, instead of test ones. From my understanding if you use the line:
.AddTestDevice(AdRequest.TestDeviceSimulator)

its supposed to only show test ads on all devices.
If that is not correct can you give an example on how I can do this.
Thank you for your help and time.

After running your application and receiving the first live ad, logcat should contain the following line
I/Ads﹕ Use AdRequest.Builder.addTestDevice("XXXXXXXXXXXXXXXX") to get test ads on this device.
"XXXXXXXXXXXXXXXX" will be a device specific hash. Call .AddTestDevice("XXXXXXXXXXXXXXXX") on your ad request to receive test ads on that device.

Ram

Thanks worked like a charm! I had to make a development build to see it, but once I knew what I was looking for it helped more. You might want to add this to the read me.
Also I don't know if you would know the answer, or where to find it, but am I allowed to have ads during alpha/beta testing on the app stores?
Thanks again!

If your alpha/ beta testing is being performed by actual users, displaying live ad is fine. On the other hand, if this testing is performed by individuals in QA or developmental role, test ads should be used.

Ram

That makes sense, thanks for the help!


Add html body support for Telegram Notification

📑 I have found these related issues/pull requests
I haven't found anything related to Telegram html body support among current opened issues.
🏷 Feature Request Type
Change to existing notification-provider
🔖 Feature description
It would be great to add option of rich html support while posting messages to TG bot api for more convenient view of nearly-add code-foramtting support at telegram.
✔ Solution
Add toggle to TG client to support HTML and then pass to body that flag:
{
   "chat_id": -665177050,
    "text": "🌐 some cool HTML-formatted error message with ```code support```",
    "parse_mode": "HTML"
}

❓ Alternatives
No response
📝 Additional Context
No response

FYI:
If we can make the telegram notification provider have "cards" instead of simple text-messages, I don't think this needs a toggle in the notifications.
See https://github.com/louislam/uptime-kuma/pull/4538 for what I mean with cards.
Doing such detaileded work with notification providers is sadly not something that the core team can do for time reasons.
=> we rely on contributions from users of said notification provider, which know what is possible using said provider.


fix duplicated users in wagtail

@miltontony Ready for review

@miltontony it's working as expected on TuneMe. See attached :-)

👍 🍰


Importing umd module breaks HMR

Describe the bug
I'm importing umd module in Vite/Vue project. As soon as I import it, HMR (Hot Module Replacement) stops working.
Doesn't seem to happen when importing umd modules that were compiled with other bundlers, i.e. Webpack.
Reproduction
https://github.com/folmert/vite-vue-hmr-umd-bug
Steps to reproduce

Clone the repository (it was created with npm create vite@latest)
Run npm install
Run npm run build
Uncomment app.mount('#app') in main.ts
Run npm run dev
Type anything in App.vue (template section), HMR works.
Uncomment in App.vue:

   // import * as umdTest from '../dist/hmr-test.umd.js'
   // console.log(umdTest)

Type anything in App.vue (template section), HMR doesn't work.
No profit.

System Info
System:
    OS: Windows 10 10.0.22621
    CPU: (12) x64 12th Gen Intel(R) Core(TM) i5-1245U
    Memory: 1.43 GB / 15.44 GB
  Binaries:
    Node: 16.14.2 - C:\Program Files\nodejs\node.EXE
    npm: 8.19.4 - C:\Program Files\nodejs\npm.CMD
    pnpm: 7.16.1 - ~\AppData\Local\pnpm\pnpm.EXE
  Browsers:
    I was using latest Brave (1.59)
    ~~Edge: Chromium (118.0.2088.76)~~
    ~~Internet Explorer: 11.0.22621.1~~
  npmPackages:
    @vitejs/plugin-vue: ^4.2.3 => 4.4.0
    vite: ^4.4.5 => 4.5.0

Used Package Manager
npm
Logs
There are no errors.
Browser recognizes the changes as it prints: [vite] hot updated: /src/App.vue but nothing changes on the page.
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

The same issue was closed by a bot, but still happens: https://github.com/vitejs/vite/issues/7839.

This is not a bug in Vite.
The dist/hmr-test.umd.js includes Vue and it overrides the __VUE_HMR_RUNTIME__ global variable. That makes the HMR update no-op.
You can check this by assigning the value to a different value and comparing it.
const oldOne = __VUE_HMR_RUNTIME__
// just edit App.vue
const newOne = __VUE_HMR_RUNTIME__
console.log(oldOne === newOne) // true

const oldOne = __VUE_HMR_RUNTIME__
// import dist/hmr-test.umd.js
const newOne = __VUE_HMR_RUNTIME__
console.log(oldOne === newOne) // false


#475 Navbar responsivenes

Description
Closes #475
The media queries are changed to solve this issue.
Pull Request Checklist
Please make sure that your PR meets the following requirements:

[x] The app is working correctly after applying the changes.
[x] The app is responsive and displays properly on different screen sizes and devices.
[x] The changes are thoroughly documented in the appropriate files or documentation sections.
[x] The coding conventions and style guidelines are followed consistently.

Checklist
Please check all applicable boxes and provide any additional information if needed.

[x] I have tested the changes locally and ensured that the app is functioning as expected.
[x] I have verified that the app is responsive and looks good on various screen sizes and devices.
[x] I have reviewed the documentation and ensured that it accurately reflects the changes made.
[x] I have followed the coding conventions and style guidelines defined in the project.
[x] I have run the automated tests and all of them pass.
[x] I have considered the performance implications of the changes made.
[x] I have considered the security implications of the changes made.
[ ] I have checked for any potential regressions or side effects caused by the changes.
[x] I have performed a self-review of my code.
[x] Starred the repository.
[ ] Added My Name to the Contributor's List.
[x] Followed the repository's Contributing Guidelines.
[x] I ran the app and tested it locally to verify that it works as expected.

Screenshots - If Any (Optional)
https://github.com/amupedia2021/Project-Amupedia/assets/117581755/3f1f1870-9884-4818-9bef-f6d1c6cdec98
Related Issues
#475

@Aarav238  please review this pr under GSSoC'23

Thanks @PVBharadwaj . Great Work!

@Aarav238  I am a GSSoC'23 contributor. I think the score for this PR is not added to my score on the leaderboard. Please consider this PR under GSSoC'23.


Update the correct usage of uuid library

There is an error when running this code serverless invoke local --function create --path mocks/create-event.json

TypeError: Cannot read property 'v1' of undefined

According to the official guide here: https://www.npmjs.com/package/uuid, the correct import statement should be
import { v1 as uuidv1 } from 'uuid';
uuidv1();

Thanks for pointing this out! From their docs, the default import that they deprecated, we were using v4 instead of v1. For now let me edit the guide to use the older version of the uuid library.

@jayair : Thanks. I will close this PR

@piavgh Oh it's okay. We need to update this to the newer version soon.


Increase Resolution for SophiApp.ico

Your Idea
Currently the SophiApp.ico file only includes a 32x32 file however I have created a 256x256, 64x64, 48x48, 32x32 and 16x16 ico file by converting svg file to a 256x256 png and then creating the icon file.
https://github.com/kezcik/SophiApp/blob/c112e9605874a62490952856fc184c7772934279/SophiApp/SophiApp/SophiApp.ico
This should be merged
SophiApp Version
<IP_ADDRESS>
Windows Version
Windows 10
Comments
is this something that can be added / fixed?

Merged in #101


Added KeyInfo model for the SwaggerResponses

closes #957

So KeyDTO and KeyResponse are only referenced in the attributes and not actually returned?
I feel like we've gone in a couple circles on this. Should we just ditch these types and place Key in the [ProducesResponseType] attributes and later worry about making the actual returned data consistent?

I would vote for that

Im confused with what you mean for returned?


[CT-1056] [bug] date_trunc macro on bigquery don't keep orginal format

Describe the bug
Macro date_trunc on bigquery use a convertion to timestamp, so result is in a timestamp format and not keep original format.
Steps To Reproduce
Create a model with date_trunc macro usage, example :
{{ config(materialized='table') }}

with source_data as (
    select current_date() as day_date
    union all
    select null as day_date

)
select day_date, {{ date_trunc("month", "day_date") }} as month_date
from source_data

Expected behavior
If source of date_trunc is a date format, output of this macro should be also a date format, and not a timestamp.
when reading adapter code https://github.com/dbt-labs/dbt-bigquery/blob/main/dbt/include/bigquery/macros/utils/date_trunc.sql it's normal to output a timestamp.
But date_trunc function exist on biguqery : https://cloud.google.com/bigquery/docs/reference/standard-sql/date_functions?hl=fr#date_trunc
Why don't use it ?
System information
The output of dbt --version:
Core:
  - installed: 1.2.0
  - latest:    1.2.0 - Up to date!

Plugins:
  - bigquery: 1.2.0 - Up to date!

Thanks for opening @cedric-orange!
Background
dbt's date_trunc is intended for timestamp-y input rather than date input. The return type is also timestamp-y *.

* Most databases have more than one data type for timestamps. For example, Snowflake has three! For sake of discussion, I'm just calling these "timestamp-y" data types so that I don't have to enumerate them all.

My belief is that timestamp_trunc was used for BigQuery in order to return BigQuery's TIMESTAMP data type rather than DATE since both Snowflake and Redshift return timestamp-y data types in their vendor specific date_trunc implementations. If the BigQuery adapter returned a date, but the other adapters returned some sort of timestamp, then the macro wouldn't be behaving consistently across dbt adapters, which is undesirable.
Recommendation
If you expect both date input and output, there are a couple ways you can approach this:

Use the native date_trunc syntax for BigQuery directly rather than the dbt {{ date_trunc(...) }} implementation
Use the dbt {{ date_trunc(...) }} implementation but then downcast it to a date (caveat: I didn't test that this actually works)
Write a custom macro for your dbt project that implements the behavior you want. If you take this route and believe it's broadly useful, consider creating a dbt package for the dbt Hub or opening a pull request here for it to be considered for dbt-core.

Resolution
Since there is a reasonable alternative, I'm going to close this. We can re-open if I overlooked some crucial consideration.


Automate config

I wanted to add support for CCL; but felt quite a few parts could be automated.
Currently, the remaining parts include:

[ ] standard-charset: I didn't get the syntax, what number corresponds to what?
[ ] string-uaets: Again, syntax; why is nil included in sbcl but not clasp (does clasp not support arrays with element-type nil?)
[x] base-charset
[ ] class-aliases: I don't have an idea to automate it at least at the moment
[ ] complex-ucptp: Again, syntax: I am unable to get what corresponds to what

I defined those parts of the config to not use the implementation typep in order to facilitate using this library as the implementation of typep. Ditto subtypep. The standard does not guarantee that base chars are contiguous or start at zero, so your automation there is technically incorrect, although it probably works on any actual implementation.

standard-charset: I didn't get the syntax, what number corresponds to what?

It's the same kind of input as the base charset, and you got the format there right. You have a list of conses and each cons represents a range of character codes. ((10 . 10) (32 . 126)) means that character codes 10, 32, 33, ... 125, 126 are the standard characters. (32 . 126) encompasses ASCII's letters, numbers, and some punctuation, and 10 is the newline character.

string-uaets: Again, syntax; why is nil included in sbcl but not clasp (does clasp not support arrays with element-type nil?

Correct.

complex-ucptp: Again, syntax: I am unable to get what corresponds to what

Yes, this one is confusing, sorry. The idea is that (typep object '(complex foo)) is equivalent to (complex-ucptp object ufoo), where ufoo is (upgraded-complex-part-type 'foo).

to facilitate using this library as the implementation of typep

I see, okay! That makes sense.

does not guarantee that base chars are contiguous or start at zero

and

a list of conses and each cons represents a range of character codes

sums things up.

complex-ucptp

That looks understandable now. Is there a reason why that is a macro?
I could issue another PR for adding support for CCL then, and perhaps also add comments / commented-code from this discussion as guidance for anyone adding support for more implementations in the future.

It's a macro because if you know the upgraded complex part type statically you don't need to branch on it or anything. e.g. in sbcl you can see there are distinct functions for different part types, so you can just pick the correct one at compile time.

I see, just optimization (?)

Yeah, I suppose. I mean there's no point doing a runtime switch if you don't have to.


Refresh Log4j API Kotlin Documentation

Hello,
This is just a documentation refresh to match the latest logging-log4j2 project conventions.
Changelog

Add missing CONTRIBUTING.md and CODE_OF_CONDUCT.md
Update deadlinks, impove upon documentation
Add a simple usage example to match logging-log4j2
Add missing Github PR contributor guidelines to match logging-log4j2
Add Maven Central Badge
Fix Build status badge

Trivial changes - No functionality changes. Feel free to amend as needed. :)

@jvz Can you have a look please?


Compiler crash with redefined new and instance variable access

class Foo
  def self.new
    super
  end

  def initialize
    @msg = 1
  end

  def foo
    @msg
  end
end

Foo.new.foo

slightly reduced from http://carc.in/#/r/5j9

Still present in 0.7.6 http://carc.in/#/r/dfk

@jhass @asterite Looks like it's alrady fixed in 0.10.0 and 0.11.0:
INPUT:
class Singleton
  getter :msg

  private def self.new
    super
  end

  def initialize
    @msg ="hello"
  end

  def self.instance
    @@instance ||= new
  end
end

p Singleton.instance
p Singleton.instance
a = Singleton.instance
a.msg

OUTPUT:
Using compiled compiler at .build/crystal
Error in ./crash.cr:17: instantiating 'Singleton:Class#instance()'

p Singleton.instance
            ^~~~~~~~

in ./crash.cr:13: instantiating 'new()'

    @@instance ||= new
                   ^~~

in ./crash.cr:5: undefined method 'new'

    super
    ^~~~~

So the issue can be closed

It no longer crashes the compiler indeed https://carc.in/#/r/qno
Not too sure if the error makes sense though, @asterite what do you think?

I don't know what this is meant to do:
  def self.new
    super
  end

  def initialize
    @msg = 1
  end

I mean, initialize and new conflict. We should just decide what happens in this case.

I guess the intent was to make new private, any way to do that?

private def initialize

But it's something kind of recent, introduced in 0.8.0 (this issue was created before that)

Alright then.


Binary operators should stop converting Series operands back to Pandas

Describe the problem
The frontend code for binary operators should stop converting a series to Pandas before passing it to the query compiler. It should rather let the query compiler choose how to handle such cases. Here are some of the functions that need to be fixed (I only listed four as there are quite a few):
https://github.com/modin-project/modin/blob/master/modin/pandas/dataframe.py#L477-L478
https://github.com/modin-project/modin/blob/master/modin/pandas/dataframe.py#L598-L599
https://github.com/modin-project/modin/blob/master/modin/pandas/dataframe.py#L684-L685
https://github.com/modin-project/modin/blob/master/modin/pandas/dataframe.py#L731-L732

Thanks @magnatelee, this is residual from when the front end was integrated closely into the backend.

One thing to note is that once we remove those to_pandas calls, it's going to be ugly to tell whether a query compiler represents a series or a dataframe with a single column. This difference actually matters as binary operators basically ignore the axis value when operands are all dataframes, whereas axis determines how a RHS is treated when it's a series, as demonstrated in this example:
df = pd.DataFrame({"c1" : [1,2,3], "c2" : [4,5,6]})
df2 = pd.DataFrame({"c1" : [7,8,9]})
print(df.add(df2, axis=1))
#    c1  c2
# 0   8 NaN
# 1  10 NaN
# 2  12 NaN
print(df.add(df2, axis=0))
#    c1  c2
# 0   8 NaN
# 1  10 NaN
# 2  12 NaN
print(df.add(df["c1"], axis=1))
#    c1  c2   0   1   2
# 0 NaN NaN NaN NaN NaN
# 1 NaN NaN NaN NaN NaN
# 2 NaN NaN NaN NaN NaN
print(df.add(df["c1"], axis=0))
#    c1  c2
# 0   2   5
# 1   4   7
# 2   6   9

I'm currently relying on the internal convention that a series has only one column named __reduced__, but this "interface" seems to be a bit brittle.

it's going to be ugly to tell whether a query compiler represents a series or a dataframe with a single column

Yes, I was anticipating this. From the API, we can potentially pass a broadcast parameter to the query_compiler. This still leaks information, but it's better than what we have. Do you have an idea here?
Side note: __reduced__ is for Series objects where Series.name is None. Having None query compiler's columns creates some issues with some of the operators, so I created that internal representation to distinguish between None and everything else. It's not ideal, but having a string there is better than None.

Adding a broadcast parameter sounds good, though I'll need to look at other functions to see if broadcast also makes sense for them.

Side note: reduced is for Series objects where Series.name is None. Having None query compiler's columns creates some issues with some of the operators, so I created that internal representation to distinguish between None and everything else. It's not ideal, but having a string there is better than None.

Thanks for clarification. I'll remove any access to this internal representation from my code once a broadcast parameter, or something to that effect, is added.


Add missing tests

aio.core and envoy.code.check are both missing some unit tests

also when #369 lands there will be some missing tests for debug logging

all apart from tests for async_property and the new debugging have been added, kicking this out of the code.check milestone


Exclude end dated accounts from the query

Details in #246

To fix #83

@Ainali Apologies for that - hopefully this makes it easy for you. Still getting my head around rebasing and branching.

Thanks for the effort, I'm testing it locally now!

Thanks! I actually had no clue about SPARQL and to solve for this, got a chance to play around and understand its power !

Ah, that's great to hear! Yes, SPARQL is really fun and exploring Wikidata that has so much different content is a fantastic way to learn both the technical side and about the world.


Display parsing error under flatpak

https://github.com/YaLTeR/wl-clipboard-rs/issues/32
This was a fun journey of 3 hours, Somewhere past this line breaks down under flatpak.

Sorry for the late reply. The message you're linking is confusing, because I have no idea where the "Display parsing error" message is coming from, which makes its quite difficult to understand what happens.
So my questions would be:

Is this problem still relevant ?
If yes, what versions of the crates are used when you reproduce them (at least wl-clipboard-rs and wayland-client ?
Could you provide the full output of running the program with the env variable WAYLAND_DEBUG=1 ?

The late reply is okay!
The problem still occurs, but I was misidentifying the issue!
Sorry for any headache, and stay well!


Worker container must be run using priviliged mode

set container security context: privileged = true

yeah i can confirm that :) Just lost few hours to find this out.
Anyhow is this safe to do with k8s ? Can conflict with the k8s setup ?
Quoting k8s documentation:

From kubernetes v1.1, any container in a pod can enable privileged mode, using the privileged flag on the SecurityContext of the container spec. This is useful for containers that want to use linux capabilities like manipulating the network stack and accessing devices. Processes within the container get almost the same privileges that are available to processes outside a container.

Where is this file, that I have to configurate?


Cupy arrays converting bugs,i dont know how should i fix that

Description
Hi there,i dont know why my python code doesnt work to covert a list object to cupy array.
Trouble Here:
ORIGIN_LIST = [10010000111100000001,<PHONE_NUMBER>0100011010,<PHONE_NUMBER>0011111001,<PHONE_NUMBER>1110000001,<PHONE_NUMBER>1000011110, 100101011[11011000100111011101,<PHONE_NUMBER>1001000000,<PHONE_NUMBER>1100001100,<PHONE_NUMBER>1010111000,<PHONE_NUMBER>1100000011,<PHONE_NUMBER>1101001010,<PHONE_NUMBER>1010110011,<PHONE_NUMBER>0100001111,<PHONE_NUMBER>0101000011,<PHONE_NUMBER>1110111101]
AFTER_cupy.array() = [11011000100111011101<PHONE_NUMBER>1001000000<PHONE_NUMBER>1100001100<PHONE_NUMBER>1010111000<PHONE_NUMBER>1100000011<PHONE_NUMBER>1101001010
10010110001010110011<PHONE_NUMBER>0100001111<PHONE_NUMBER>0101000011<PHONE_NUMBER>1110111101]

yeh you see,the ',' were gone,and i m sure this is not a cupy array,so how should i fix that.I m rencently try to make a mining script for scalable gpu array studying.And my code is under below
To Reproduce
# Write the code here
def main(self):
        process_count = 0
        while True:
            process_count += 1
            zerocount = []
            limitationproof = []
            hashmentArray = self.hashprocess()
            for i in range(len(hashmentArray)):
                zerocount.append(cp.count_nonzero(i))
                if self.limitation in self.hashprocess()[1][i]:
                    limitationproof.append(True)
            zerocount = cp.array(zerocount)
            limitationproof = cp.array(limitationproof)
            try:
                if cp.where(cp.max(zerocount),zerocount)[0]  == cp.where(True,limitationproof)[0]:
                    print(f"Current {process_count / 10000000} MH/s，Result：{hashmentArray[cp.where(cp.max(zerocount),zerocount)[0]]}")
                else:
                    print(f"Current：{process_count / 10000000} MH/s，Result：{None}")
            except Exception:
                print(f"Current：{process_count / 10000000} MH/s，Result：{None}")

Installation
No response
Environment
# Paste the output here
OS : Windows11
CUDA_DRIVER： 11.4
Python_VERSION：3.8.5(Based on Conda)

Additional Information
No response

Could you minimize the reproduction code?  The issue seems the difference between __repr__ and __str__, which is expected and the same as NumPy.

Closing, feel free to reopen if we need further discussion :)

Could you minimize the reproduction code? The issue seems the difference between __repr__ and __str__, which is expected and the same as NumPy.

Thanks and i fix it


Added support for building a pdex.dll on windows using a build.bat in the base directory.

The build.bat creates a win_build folder where all the compilation artifacts go and inside that a FactoryFarming.pdx folder with the game ready to be played on the Windows version of the Playdate Simulator.
This commit does not fix the line-ending problems in the game
The build.bat isn't super fancy. You're welcome to modify and refine this into whatever format you find easiest (You could use a Makefile I'm sure). But this should give you all the info you need for the compiler and linker arguments and other oddities of compiling on Windows.

Thanks for this!


Add api-versions flag to diff action for consistency

Issue #251

Codecov Report

Merging #257 (474ace0) into main (8741975) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #257   +/-   ##
=======================================
  Coverage   91.96%   91.96%
=======================================
  Files          16       16
  Lines        1668     1668
=======================================
  Hits         1534     1534
  Misses        134      134

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


fix fixed values to also be required

close #92

I think this is a reasonable PR fix as it is what was intended. Not useful to use CP process.


Child selectors not applied correctly in selectNodesWithEq

When selectNodesWithEq emulates eq(), the child selectors adjacent to the eq()s are stripped off, causing incorrect selection.
Given
HTML:

Selector:
#target > div:eq(0) > span

Expected Behaviour
When selectNodesWithEq is called with the above selector and markup in the document, it should select  as it is the only element that matches #target > div > span.
Actual Behaviour
When selectNodesWithEq is called with the above selector and markup in the document, it actually selects
Platform and Version
Tested in Chrome (version 98+), but presumed to be an issue in all browsers
alloy.js info
{
  "libraryInfo": {
    "version": "2.9.0"
  }
}

Sample Code that illustrates the problem
Add the following test case to selectNodesWithEq.spec.js
  it("should respect child selectors", () => {
    const content = `

    `;

    const node = createNode(
      "DIV",
      { id: "abc", class: "eq" },
      { innerHTML: content }
    );

    appendNode(document.body, node);

    const result = selectNodesWithEq("#abc > div:eq(0) > span");

    expect(result[0].tagName).toEqual("SPAN");
    expect(result[0].id).toEqual("right");
  });

Thank you for finding the issue and creating the test case. Apparently, we have had this bug from the beginning.
For some background, the node selection functionality has been partially ported from Target At.js.  At.js uses Zepto library for DOM query.
It is interesting to note that Zepto uses a hack when it encounters a selector like  > span it will change it to something like .Zepto12345 > span and this ensures that the right children are selected - please check Zepto source code.
To keep the implementation as close as possible to At.js we will follow the same approach. This should allow us to maintain cross browser support.
@jfkhoury @jonsnyder

Fixed with #858


MetroWindow.ShowMessageAsync overlapped by frame content

Describe the bug
I'm using the "Frame" object to load a html file located in the project folder. Moreover I have implemented the "OnCloseMessage" from your template.
Now, if I click the close button of the main form, the dialog asking to quit is overlapped by the content in the Frame object.
To Reproduce
Steps to reproduce the behavior:

Create a MetroWindow form
add the HamburgerMenu to it
Load a UserControl / page with a Frame inside (maybe load a html file too).
Get the parent MetroWindow from the UserControl currently shown from the Hamburger Menu
Click the close button (make sure to use the function to show a message on closing from the Mahapps template)
See the screenshot for more information

Expected behavior
The Dialog should overlap the frames content.
Screenshots

Environment(please complete the following information):

MahApps.Metro version 1.6.5
OS: Win7 32 Bit
Visual Studio 2017 15.7.1
.NET Framework 4.5

Thanks for helping out!

@AndreasReitberger The Dialogs are always shown above the whole window. It's currently not possible to show it on a different "container" position.

@punker76
Yes, that would be fine when the dialog is shown above the whole window. However the frame, which should be shown underneath the dialog, is shown above.
Here is a screenshot of the window when the Message is not shown.
Here you can see the "EULA" in a Frame object.

And here is the Dialog on another Hamburger Menu Item. Here it's working fine.

Only when a Frame object with a HTML page is in the UserControl, the Frame content overlaps the dialog.
Hope this helps understanding me ;)
Best,
Andreas

@punker76
I checked the FAQ, but I did not set the "AllowsTransparency " to true.

By default, the vanilla Window class and MahApps.Metro's MetroWindow has AllowsTransparency set to false. If you set this in MahApps.Metro's MetroWindow initialized event to true you will get this issue.

Does this solution still work for me? Thanks a lot!

@AndreasReitberger In your case it's this one

What you are facing is an issue colloquially called the Airspace issue. Due to the different underlying graphical engines used in WinForms (GDI) and WPF (DirectX and such), there are some interop issues. Sometimes, your controls appear will be invisible. Sometimes, your WinForms control may overlap your WPF controls.

@punker76
Thanks, when I implement the fix it's working at runtime, however the XAML Designer in VS 2017 crashes once I open the specific XAML file.
I guess I rather work arround the Frame instead of using the provided fix.
Thanks for helping. I'll close the issue.


Cart Abandonment Widget Totals

I have noticed that on the Cart Abandonment Widget the total for successful (completed) carts never goes above 100.

Will check this out and see whats going on :)

Thanks. Any luck with this? I also noticed the abandoned also seems to limit out at 100 too.

Sorry for the delay on this, been snowed under. Should be fixed now with some minor improvements. I plan on adding a few more widgets and tweaks over the next few weeks also.

Thanks for fixing this. I can't see an official update via Craft updated panel though? Sorry.
Some more widgets would be great. Let me know if you want me to help with any testing etc. You can get me on the Craft Slack channels.


etcd: Add static cluster configuration option

Currently the only way to configure an etcd cluster is by using the
discovery service. This may not always be an option especially for
offline scenarios. An option 'enable_discovery_service' is added to
allow for the enabling/disabling of using the discovery service versus
using a static cluster configuration. This option is defaulted to 'true'
to maintain the use of the discovery service as the default. When the
discovery service option is disabled the etcd cluster will be statically
configured and will be comprised of each instance.
Additionally static configuration requires that each etcd member be
named explicitly. This means that each node requires a 'user-data' file
that has the etcd member name set. When the discovery service option is
disabled a 'user-data' file for each instance will be created. The name
of each of these files will be 'user-data' appended with the instance
id (ex. user-data-01) and will have the etcd member name set to the
instance name (ex. core-01).

Here is the user-data file I used to test the etcd v1 cluster with static configuration. For the etcd2 case I used user-data.sample as is.
#cloud-config

coreos:
  etcd:
    addr: $public_ipv4:4001
    peer-addr: $private_ipv4:7001

  fleet:
    public-ip: $public_ipv4
  flannel:
    interface: $public_ipv4
  units:
    - name: etcd.service
      command: start
    - name: fleet.service
      command: start
    - name: flanneld.service
      drop-ins:
      - name: 50-network-config.conf
        content: |
          [Service]
          ExecStartPre=/usr/bin/etcdctl set /coreos.com/network/config '{ "Network": "<IP_ADDRESS>/16" }'
      command: start
    - name: docker-tcp.socket
      command: start
      enable: true
      content: |
        [Unit]
        Description=Docker Socket for the API

        [Socket]
        ListenStream=2375
        Service=docker.service
        BindIPv6Only=both

        [Install]
        WantedBy=sockets.target


Why "The following modules couldn't be hot updated" ?

Hi,
I'm trying to use kotatsu on a simple Express project, just to see how it works before using it on a larger project.
I just setup a project, edit a file and got this warning.
I looked at the source but can't figure out exactly why my module can't be hotreloaded and because kotatsu doesn't restart the server (yet?) itself, I have to stop and restart the server manually.
Have I miss something?
Thanks.

Hello @cr0cK. HMR is opt-in so did you correctly setup the express app start using the module.hot.accept API? Like shown here.
Also, if you can show me your code, I should be able to help you better.

Finally, it's ok. I was trying to reload the main script... Sorry.

Good to know it's fixed :smile:.


chore(deps): update module github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper to v1.8.10

This PR contains the following updates:

Package
Type
Update
Change

github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper
require
patch
v1.8.9 -> v1.8.10

Release Notes

terraform-ibm-modules/ibmcloud-terratest-wrapper
v1.8.10
Compare Source
Bug Fixes

deps: update gomod (#534) (e9bace0)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.

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


⚠ PrivateHD has degraded performance

In 57ec858, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 1882 ms

Resolved: PrivateHD performance has improved in c957a1c.


Remove sentinel ping functionality

This is not available in Dash Core 0.14.0

Strange, after merging #63 this PR became unmergable even though there are not conflicts. When I click on "Update branch", it merges in develop...which I really don't like as I'd prefer a rebase. Did the rebase now and force-pushed, but this removed the ACKs...
@nmarley maybe there is some strange Github setting in-place?

@codablock you have to wait for Travis build to succeed before you'll be able to merge.


bump version to 2.3.3

Update framework version to 2.3.3 to get the new cultural fit criteria content.

:+1:
Though could have done with a better commit message (bump version of what?)


API endpoint

It would be great if the exact same form that is sent through the UI in order to claim a Lightning Address, could also be sent over a very simple JSON api. Something like "/api/v1/claim" or whatever you want to call it. This would allow services and wallets to program this on behalf of the customers/users.

We can transition into a full JSON API + static HTML + React if you prefer. Once things get past "the single page prototype" we must do it necessarily anyway.

Yeah or maybe we just do NextJS which can do SSR React + JSON APIs out of the box. We dont need TONS of new pages just 2-3 more. And then the API would be a nice to have for automation.
That said not sure jow the go backend will handle the nextjs stuff so maybe just a simple json api and a create-react-app feontend is the answer.


Lua error on macOS: '=' expected near 'continue'

The following error message appears when I run mpv --script=360plugin.lua --script-opts=360plugin-enabled=yes myvideo.mp4:
[360plugin]
[360plugin] stack traceback:
[360plugin] 	[C]: ?
[360plugin] 	[C]: ?
[360plugin] Lua error: [string "360plugin.lua"]:613: '=' expected near 'continue'

The script is fetched using wget https://raw.githubusercontent.com/dfaker/VR-reversal/master/360plugin.lua and is left unmodified since then.
Perhaps this is a syntax error caused by mpv using an old version of lua?
Though I have lua 5.4.4 installed already through homebrew.

> mpv --version
mpv 0.34.1 Copyright © 2000-2021 mpv/MPlayer/mplayer2 projects
 built on Sat Jan  8 16:50:23 CET 2022
FFmpeg library versions:
   libavutil       56.70.100
   libavcodec      58.134.100
   libavformat     58.76.100
   libswscale      5.9.100
   libavfilter     7.110.100
   libswresample   3.9.100
FFmpeg version: 4.4.1

OS: macOS 11.4 Big Sur
Machine: Macbook Pro 2016 (Intel)
mpv cask installed through homebrew

Seemingly the homebrew version is compiled with luajit-openresty 2.1-20220411 which most likely doesn't support goto, I'll see what refactors are possible.

@tnychn okay, give the version in master a go.

The syntax error is now fixed but a new error appears when running the same command:
Passing more than 1 argument to vf-add is deprecated!
 (+) Video --vid=1 (*) (h264 4096x2048 29.970fps)
 (+) Audio --aid=1 --alang=eng (*) (aac 2ch 48000Hz)
[lavfi] AVOption 'reset_rot' not found.
[user_filter_wrapper] Creating filter 'v360' failed.
Video: no video

Exiting... (Errors when loading file)

That's caused by a braking change in the way libav implements the v360 filter, this repo only supports the current calling conventions.
Since homebrew seems to be a little old, I'd suggest using a binary from here: https://laboratory.stolendata.net/~djinn/mpv_osx/


Aerogear 2506 - Spike

Motivation
JIRA: https://issues.jboss.org/browse/AEROGEAR-2506
Currently, we have an example application as part of our SDK along with a separate security template app. The idea of this Spike is to consolidate these two apps together with minimum disruption to the current development flow.
Description
A suggested approach was to use mavenLocal, this seems unfeasible as a developer would be required to run ./gradlew install and rebuild the project to test every change made.
A solution I found was to include separate gradle profile files in the showcase app. One profile would link dependencies to a release version of the SDK whereas the other profile would follow the conventions we already have in the example app.
Intended Usage
Run the following command from the SDK root directory:
./scripts/setupDevelopmentShowcase.sh

This script creates an example directory, clones the showcase app, and copies the contents of the showcase's app directory into the example directory. Since we have the gradle property profile set to development in the SDK the workflow is now the same as it was before, we can make changes to the example app to test features in the SDK.
In order to commit changes to the showcase app, run the following command in the SDK root directory:
./scripts/copyShowcaseChanges.sh

This will copy changes from the example dir to app dir in the showcase template. If we simply navigate to android-showcase-template and run git status we can see all uncommitted changes to the repo, and from here create a PR against the development branch of the showcase-template app.
This method should work well if we follow the conventions from the cordova showcase application which were discussed here.
Additional Information
The approach taken, adds two gradle profiles to the showcase application. The gradle.build file in the showcase app then depends on the gradle property profile by setting the profile to production the showcase app will look to a release of the SDK, where as if profile is set to development the showcase app will look for a local version of the SDK.
Intended usage will only involve setting up your development environment one, example and android-showcase-application will be added to the .gitignore and will not be tracked for contributions to the SDK. Contributions to the showcase app can be made by running the copy script and then navigating to the showcase dir and creating the PR against the showcase app

Really like this change. This will allow us to have smooth transition to separate showcase app without affecting contributions.
To make this mergeable I will suggest to:

[ ] Add script that will clone example app
[ ] Update documentation (contribution) to show that example app can be used for tests and point to scripts.
[ ] Mention in documentation that production is default.

@ciaranRoche World class work! Very well done!

@wei-lee @TommyJ1994 @wtrocki I have included two scripts in latest commit, I also updated the description and added an intended usage to the PR above explaining the workflow.
I have also added the scripts under the assumption that the showcase repo will be aerogear/android-showcase-template.
I have tested the scripts and the workflow described above locally with my own dummy example repo.

@ciaranRoche Is that still in progress? :>

@wtrocki Just needs to be tested against the new showcase app, this was only a spike to see if it could work so the changes need to be tested and then can be closed and or merged.

Thanks for update. I think that current Android showcase works with development versions of the SDK so this changes is really needed.
@secondsun Any comments here before we merge this?

@wtrocki It would seem to me that it would be a lot less work to create a development dependency set in the showcase app that defines dependencies to the SDK based on a path variable contained in the showcase.  For "default" releases the showcase app could download from jcenter/mavencentral as normal.

@secondsun This is how we are doing things in js and also on ios.
Problem was that at the time we were doing this spike repo was not there.
This could be easily adapted to showcase repo as this was spike.
We could create separate ticket. WDYT?
FYI @danielpassos

@wtrocki That makes sense.  It is basically what this PR does just in a weird way.  I'll ask @ciaranRoche about it today

However work here is still valuable to apply the same patterns to showcase app. Closing PR.


connector: add RefreshConnector interface

This is a work in progress to add a RefreshConnector interface so refresh token requests query the upstream identity provider before returning.
Lots of testing needed.
Closes #693
Updates #678

Tests added. Manually tested LDAP and GitHub. cc @rithujohn191 ready for review

comments addressed.

lgtm


JAX-RS BeanParam issue with multipart/formdata and file upload

I try to put the form parameters of a multipart request into a bean like this:
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
public Response uploadWithBean(@Parameter @BeanParam UploadRequest personData) {
	InputStream upload = personData.getUpload();
	if (upload == null) {
		return Response.ok(UploadResponse.FAILED).build();
	}
	return Response.ok(UploadResponse.SUCCESS).build();
}

In this case, the JSON produced ist the following:
"schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "picture": {
                    "$ref": "#/components/schemas/FormDataContentDisposition"
                  }
                }
              }

instead of (without the @BeanParam annotation).
"schema": {
                "$ref": "#/components/schemas/UploadRequest"
}

If I leave the @BeanParam annotation, i would get a 415 response code, so this seems to be the right way.
If I further annotate the file-parameter InputStream of my bean, the upload will not occur and InputStream is null.
@Schema(name = "UploadRequest", title="Schema for Upload")
public class UploadRequest  {
	@FormDataParam("name")
	// @Schema(name="name", type="string", accessMode=AccessMode.READ_WRITE)
	private String name;

	@FormDataParam("picture")
	@Schema(name="picture", type="string", format="binary") // <----- upload is NULL when @Schema is present
	private InputStream upload;

	@FormDataParam("picture")
	private FormDataContentDisposition disposition;
}

See the provided example to test.
swagger-test-upload.zip

+1
Without handling it properly generated Open API clients are useless for complex requests including file upload.

That solves the issue.
Thank You!!

#3580 (available in next release 2.1.3) fixes the handling of hidden annotations with @BeanParam, therefore the @RequestBody annotation on the resource method will not be needed.

The @RequestBody is still needed to work properly (using 2.1.4).
When the mapping ist annotated, it produces the following JSON:

Without annotation, I get:

The former is correct, but the "upload"-schema is useless, or am I wrong?
Provided example is attached.
swagger-test-upload2.zip

I also see that @RequestBody is still needed (and I am on the current latest stable at 2.1.5)

Specifically, I've been driven crazy by this comment in DefaultParameterExtension:  // Re-process all Bean fields and let the default swagger-jaxrs/swagger-jersey-jaxrs processors do their thing because it suggests there should be some additional parameter extension to do that processing, yet I only had the Default one installed. I went down that hole and installed swagger-jeresy-jaxrs:1.6.2 but that too didn't work. So I'm left wondering - is there some parameter extension that I am missing? And if so, where is it? I have the latest swagger core and swagger jaxrs installed. Any help/suggestions would be great!

I am not sure about the specific issue here, maybe worth fully describing along with test case in new ticket; since 2.1.3 @RequestBody is not needed any more, and example attached to above comment seems to demonstrate that, output being:
{
   "openapi":"3.0.1",
   "info":{
      "title":"Test",
      "version":"v1"
   },
   "paths":{
      "/api/v1/upload":{
         "post":{
            "operationId":"uploadWithBean",
            "requestBody":{
               "content":{
                  "multipart/form-data":{
                     "schema":{
                        "type":"object",
                        "properties":{
                           "name":{
                              "type":"string"
                           },
                           "upload":{
                              "$ref":"#/components/schemas/upload"
                           }
                        }
                     }
                  }
               }
            },
            "responses":{
               "default":{
                  "description":"default response",
                  "content":{
                     "application/json":{

                     }
                  }
               }
            }
         }
      },
   "components":{
      "schemas":{
         "upload":{
            "type":"object",
            "format":"binary"
         }
      }
   }
}

applying @RequestBody still works (but is not needed), but as mentioned has a side effect of keeping around an unused component/schemas/upload model which is not used (could be addressed in separate ticket).
about // Re-process all Bean fields and let the default swagger-jaxrs/swagger-jersey-jaxrs processors do their thing this is indeed rather obscure, and due do historical reasons, but it doesn't imply any other processor. Again I am not sure what the current issue is, if still experiencing issues please open a new ticket with test case and reference this ticket.

Turns out that the issue was that we were using private fields with an underscore at the end, and so some part of Jackson/Swagger core wasn't able to apply the annotations (pathparam, queryparam, etc...) to the interpreted field from the public getter/setter like so:
public class MyClass {

    @PathParam
    private String privateField_;

    private String getPrivateField() {
        return privateField_;
    }
}

So in this example, Swagger core didn't see that privateField was an accessible PathParam. I'm fine with this limitation, and I see there is no simple, robust way for Swagger core to correlate the field with the method, but I'm still a little confused because the beanParam resolution does happen correctly on the server - ie, Spring is able to properly inject the BeanParam, so why can't Swagger core use the logic that Spring uses?


How can I use the regtest while I'm developing my app?

Hi, is is possible to use regtest as the network while I'm developing my app? If yes, how can I do it, If not, could you please give me some suggestions to modify the code to add the support? thanks!

I've solved this issue by myself. thanks


Add timeout and logging to pulling images when provisioning cluster

Version: master 9/28
Steps to Reproduce:

Add 2 nodes (1 etcd, 1 controlplane) to a custom cluster using generated docker run
Controlplane node is either extremely slow, or hits Docker bug where a layer can't be downloaded

Results:
Cluster provisioning hangs indefinitely, the provisioning message shows "Successfully pulled image on etcd_node"
Having a polling mechanism for the pulling status would be nice (to create loglines in the provisioning process) and a timeout, so the provisioning process gets reset.

This should be solved by https://github.com/rancher/rke/pull/1393


Autocomplete inside Menu unusable since @equinor/eds-core-react 0.38

Describe the bug
When clicking on an item in an Autocomplete, given that the Autocomplete is inside a Menu, nothing happens.
Steps to reproduce the bug

Place an Autocomplete within a Menu
Open the Autocomplete and click on an item
Nothing happens

Expected behavior
onOptionsChange() fires.
Specifications

Version: @equinor/eds-core-react >=0.38
Browser: Chrome 127.0.6533.89
OS: Windows 11 23H2

Additional context
See https://codesandbox.io/p/sandbox/eds-autocomplete-inside-menu-3lhlql for a minimal example.

I found the issue and fixed it, but it should be noted that putting Autocomplete inside Menu is not something we officially support as the Autocomplete will be inaccessible by keyboard within the menu ⚠


SCons: Fix SCU build regression on Windows

#89452 made assumptions on comparing paths as strings which doesn't work when composing them as POSIX paths (/) but processing them on NT (\, \\).
This is more of a PoC of what needs to be done, we should get rid of any string comparisons and standardize everything around pathlib.Path, or os.path.join(), but not a mix of concatenating base + "/scu/" + tail and then trying to compare that to Windows paths, because we end up with stuff like this: C:\\Users\\Remi\\Dev\\Godot\\godot\\servers\\audio\\effects\\scu/scu_servers_audio_effects.gen.cpp and failing comparisons.

I tested and confirmed that this change doesn't break SCU build for me on Linux.


Refershing clusters' icon on zoom end

Hi!
I'm using https://github.com/angular-ui/ui-leaflet with the markercluster plugin.
I have overriden the iconCreateFunction function to adapt the cluster icon depending on the contained markers:
// Leaflet map configuration
      $scope.map = {
         center: {
            autoDiscover: true,
            zoom: 9
         },
         markers: {},
         layers: {
            baselayers: {
               mapbox: _.clone(leafletService.tileLayers.mapbox.streets)
            },
            overlays: {
               things: {
                  name: 'things',
                  type: 'markercluster',
                  visible: true,
                  layerOptions: {
                     iconCreateFunction: function (cluster) {
                        return customIcon(cluster);
                     }
                  }
               }
            }
         }
      };

Now I would like to refresh the clusters' icons when zooming/dezooming.
I'm calling the  refreshCluster as follows...
leafletData.getMap().then(function (map) {
         map.on('zoomend', function () {
            leafletData.getLayers().then(function (layers) {
               layers.overlays.things.refreshClusters();
            });
         });
      });

... but the icons never get refreshed. Is the iconCreateFunction function supposed to be invoked when calling refreshClusters()?
If you need more details, feel free to let me know.
Thanks!

What you've got there looks like it'd work from what I know about this.
Put a breakpoint on refreshClusters and step through and see what is happening?

My mistake. After deep debugging, the problem was actually coming from my algorithm :-/
Thanks!


Startup issues due to missing gpu/driver features (hard to read errors, unclear action)

Hi, my environment is Ubuntu 20.04, x86, computer CPU integrated graphics, no independent graphics card.
I use ‘pip3 install rerun-sdk’ install rerun，but when I use ‘rerun’ to start it, some errors happened below:
[2024-09-10T01:26:43Z INFO  re_sdk_comms::server] Hosting a SDK server over TCP at <IP_ADDRESS>:9876. Connect with the Rerun logging SDK.
[2024-09-10T01:26:43Z INFO  winit::platform_impl::platform::x11::window] Guessed window scale factor: 1
[2024-09-10T01:26:43Z WARN  wgpu_hal::vulkan::instance] Unable to find extension: VK_EXT_swapchain_colorspace
libEGL warning: DRI2: failed to authenticate
[2024-09-10T01:26:43Z WARN  wgpu_hal::gles::adapter] Returned GL context is 3.1, when 3.3+ is needed
[2024-09-10T01:26:43Z WARN  wgpu_hal::gles::adapter] Returned GL context is 3.1, when 3.3+ is needed
[2024-09-10T01:26:43Z WARN  wgpu_core::instance] Missing downlevel flags: DownlevelFlags(SURFACE_VIEW_FORMATS)
    The underlying API or device in use does not support enough features to be a fully compliant implementation of WebGPU. A subset of the features can still be used. If you are running this program on native and not in a browser and wish to limit the features you use to the supported subset, call Adapter::downlevel_properties or Device::downlevel_properties to get a listing of the features the current platform supports.
[2024-09-10T01:26:43Z WARN  wgpu_core::instance] DownlevelCapabilities {
        flags: DownlevelFlags(
            COMPUTE_SHADERS | FRAGMENT_WRITABLE_STORAGE | INDIRECT_EXECUTION | BASE_VERTEX | READ_ONLY_DEPTH_STENCIL | NON_POWER_OF_TWO_MIPMAPPED_TEXTURES | CUBE_ARRAY_TEXTURES | COMPARISON_SAMPLERS | INDEPENDENT_BLEND | VERTEX_STORAGE | FRAGMENT_STORAGE | MULTISAMPLED_SHADING | DEPTH_TEXTURE_AND_BUFFER_COPIES | WEBGPU_TEXTURE_FORMAT_SUPPORT | BUFFER_BINDINGS_NOT_16_BYTE_ALIGNED | UNRESTRICTED_INDEX_BUFFER | FULL_DRAW_INDEX_UINT32 | DEPTH_BIAS_CLAMP | VIEW_FORMATS | UNRESTRICTED_EXTERNAL_TEXTURE_COPIES | NONBLOCKING_QUERY_RESOLVE | VERTEX_AND_INSTANCE_INDEX_RESPECTS_RESPECTIVE_FIRST_VALUE_IN_INDIRECT_DRAW,
        ),
        limits: DownlevelLimits,
        shader_model: Sm5,
    }
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
[2024-09-10T01:26:43Z WARN  re_renderer::context] Bad software rasterizer detected - expect poor performance and crashes. See: https://www.rerun.io/docs/getting-started/troubleshooting#graphics-issues
[2024-09-10T01:26:43Z INFO  re_renderer::context] wgpu adapter backend: Vulkan, device_type: Cpu, name: "llvmpipe (LLVM 12.0.0, 256 bits)", driver: "llvmpipe", driver_info: "Mesa 21.2.6 (LLVM 12.0.0)"
[2024-09-10T01:26:43Z ERROR eframe::native::run] Exiting because of error: app creation error: The given device doesn't support the required downlevel capabilities for the given hardware caps DeviceCaps { tier: FullWebGpuSupport, max_texture_dimension2d: 16384, max_buffer_size:<PHONE_NUMBER>, backend_type: WgpuCore }.
    Required: DownlevelCapabilities { flags: DownlevelFlags(COMPUTE_SHADERS | FRAGMENT_WRITABLE_STORAGE | INDIRECT_EXECUTION | BASE_VERTEX | READ_ONLY_DEPTH_STENCIL | NON_POWER_OF_TWO_MIPMAPPED_TEXTURES | CUBE_ARRAY_TEXTURES | COMPARISON_SAMPLERS | INDEPENDENT_BLEND | VERTEX_STORAGE | ANISOTROPIC_FILTERING | FRAGMENT_STORAGE | MULTISAMPLED_SHADING | DEPTH_TEXTURE_AND_BUFFER_COPIES | WEBGPU_TEXTURE_FORMAT_SUPPORT | BUFFER_BINDINGS_NOT_16_BYTE_ALIGNED | UNRESTRICTED_INDEX_BUFFER | FULL_DRAW_INDEX_UINT32 | DEPTH_BIAS_CLAMP | VIEW_FORMATS | UNRESTRICTED_EXTERNAL_TEXTURE_COPIES | SURFACE_VIEW_FORMATS | NONBLOCKING_QUERY_RESOLVE | VERTEX_AND_INSTANCE_INDEX_RESPECTS_RESPECTIVE_FIRST_VALUE_IN_INDIRECT_DRAW), limits: DownlevelLimits, shader_model: Sm4 }
    Actual: DownlevelCapabilities { flags: DownlevelFlags(COMPUTE_SHADERS | FRAGMENT_WRITABLE_STORAGE | INDIRECT_EXECUTION | BASE_VERTEX | READ_ONLY_DEPTH_STENCIL | NON_POWER_OF_TWO_MIPMAPPED_TEXTURES | CUBE_ARRAY_TEXTURES | COMPARISON_SAMPLERS | INDEPENDENT_BLEND | VERTEX_STORAGE | FRAGMENT_STORAGE | MULTISAMPLED_SHADING | DEPTH_TEXTURE_AND_BUFFER_COPIES | WEBGPU_TEXTURE_FORMAT_SUPPORT | BUFFER_BINDINGS_NOT_16_BYTE_ALIGNED | UNRESTRICTED_INDEX_BUFFER | FULL_DRAW_INDEX_UINT32 | DEPTH_BIAS_CLAMP | VIEW_FORMATS | UNRESTRICTED_EXTERNAL_TEXTURE_COPIES | NONBLOCKING_QUERY_RESOLVE | VERTEX_AND_INSTANCE_INDEX_RESPECTS_RESPECTIVE_FIRST_VALUE_IN_INDIRECT_DRAW), limits: DownlevelLimits, shader_model: Sm5 } during event Resumed
Error: app creation error: The given device doesn't support the required downlevel capabilities for the given hardware caps DeviceCaps { tier: FullWebGpuSupport, max_texture_dimension2d: 16384, max_buffer_size:<PHONE_NUMBER>, backend_type: WgpuCore }.
Required: DownlevelCapabilities { flags: DownlevelFlags(COMPUTE_SHADERS | FRAGMENT_WRITABLE_STORAGE | INDIRECT_EXECUTION | BASE_VERTEX | READ_ONLY_DEPTH_STENCIL | NON_POWER_OF_TWO_MIPMAPPED_TEXTURES | CUBE_ARRAY_TEXTURES | COMPARISON_SAMPLERS | INDEPENDENT_BLEND | VERTEX_STORAGE | ANISOTROPIC_FILTERING | FRAGMENT_STORAGE | MULTISAMPLED_SHADING | DEPTH_TEXTURE_AND_BUFFER_COPIES | WEBGPU_TEXTURE_FORMAT_SUPPORT | BUFFER_BINDINGS_NOT_16_BYTE_ALIGNED | UNRESTRICTED_INDEX_BUFFER | FULL_DRAW_INDEX_UINT32 | DEPTH_BIAS_CLAMP | VIEW_FORMATS | UNRESTRICTED_EXTERNAL_TEXTURE_COPIES | SURFACE_VIEW_FORMATS | NONBLOCKING_QUERY_RESOLVE | VERTEX_AND_INSTANCE_INDEX_RESPECTS_RESPECTIVE_FIRST_VALUE_IN_INDIRECT_DRAW), limits: DownlevelLimits, shader_model: Sm4 }
Actual: DownlevelCapabilities { flags: DownlevelFlags(COMPUTE_SHADERS | FRAGMENT_WRITABLE_STORAGE | INDIRECT_EXECUTION | BASE_VERTEX | READ_ONLY_DEPTH_STENCIL | NON_POWER_OF_TWO_MIPMAPPED_TEXTURES | CUBE_ARRAY_TEXTURES | COMPARISON_SAMPLERS | INDEPENDENT_BLEND | VERTEX_STORAGE | FRAGMENT_STORAGE | MULTISAMPLED_SHADING | DEPTH_TEXTURE_AND_BUFFER_COPIES | WEBGPU_TEXTURE_FORMAT_SUPPORT | BUFFER_BINDINGS_NOT_16_BYTE_ALIGNED | UNRESTRICTED_INDEX_BUFFER | FULL_DRAW_INDEX_UINT32 | DEPTH_BIAS_CLAMP | VIEW_FORMATS | UNRESTRICTED_EXTERNAL_TEXTURE_COPIES | NONBLOCKING_QUERY_RESOLVE | VERTEX_AND_INSTANCE_INDEX_RESPECTS_RESPECTIVE_FIRST_VALUE_IN_INDIRECT_DRAW), limits: DownlevelLimits, shader_model: Sm5 }

This sounds like you might have outdated drivers. What igpu (or cpu) are you running on?

Returned GL context is 3.1, when 3.3+ is needed

This implies that your driver doesn't support OpenGL 3.3 which is the minimum required for the OpenGL fallback (Vulkan is preferred whenever possible) used by Rerun.
It keeps trying but eventually doesn't find required features so switches to a Vulkan software rasterizer:

wgpu adapter backend: Vulkan, device_type: Cpu, name: "llvmpipe (LLVM 12.0.0, 256 bits)", driver: "llvmpipe", driver_info: "Mesa 21.2.6 (LLVM 12.0.0)"

Only to then notice that this also doesn't have the required features.
Mesa 21.2.6 is from 2021, so I'd start there trying to update that.

We need to find ways to make these errors more readable 🤔. It's tricky because there's so many ways of how these things can go wrong and it's pretty hard to reproduce.

This is my configuration, and there is no independent graphics card.

rerun's tutorial did not tell me that I need other dependencies. I don't know how to deal with this problem

Ubuntu 20.04 is fairly old at this point and your hardware relatively new, so it's not too surprising that things don't work out of the box.
I'm no expert on this and don't have a repro case, but maybe try this guide to updating the mesa drivers
https://linuxcapable.com/how-to-upgrade-mesa-drivers-on-ubuntu-linux/

I'll try it, I'll describe the whole process and if I solve it, thx, have a great day!

well, until it's not confirmed fixed on your end and not better documented on ours this isuses is not solved

I think it may be the reason of the graphics card, I changed a computer, the same is ubuntu 20.04, but this computer has 3060, no error.

it should still run fine on that igpu. It has all the capabilities needed, as I wrote it's almost certainly a driver issue


GraphQLTestTemplate is not injected at all

Describe the bug
I am trying to test my GraphQL query with GraphQLTestTemplate. Here is my test class:
@GraphQLTest
public class GraphQLApplicationTests {
	@Autowired
    private GraphQLTestTemplate graphQLTestTemplate;
	@Test
    public void GetAllBooks_Succeed() throws IOException {
		assertNotNull(graphQLTestTemplate);
        GraphQLResponse response = graphQLTestTemplate.postForResource("graphql/get-all-books.graphql");
        assertNotNull(response);
        assertTrue(response.isOk());
        // bookRepository.save(new Book("My First GrapQL Book", "1234567890", 500, author));
        assertEquals("My First GrapQL Book", response.get("$.data.book.title"));
        assertEquals("1234567890", response.get("$.data.book.isbn"));
        assertEquals(500, response.get("$.data.book.pageCount"));
        assertNotNull("$.data.book.author");
    }
}

pom.xml:
		<dependency>
		    <groupId>com.graphql-java-kickstart</groupId>
		    <artifactId>graphql-spring-boot-starter-test</artifactId>
		    <version>7.0.1</version>
		</dependency>

mvn test fails the first assertion: assertNotNull(graphQLTestTemplate);
Besides, running it with mvn spring-boot:run bumps into the following runtime exception:
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-06-10 09:05:24.384 ERROR 28632 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'graphQLTestUtils' defined in class path resource [com/graphql/spring/boot/test/GraphQLTestAutoConfiguration.class]: Post-processing of merged bean definition failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.graphql.spring.boot.test.GraphQLTestTemplate] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@4e0e2f2a]

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS] Windows 10
Browser [e.g. chrome, safari] Chrome
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Does it work if you are using @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) instead of @GraphQLTest? (I hardly ever used @GraphQLTest to run integration tests).
(Btw. I think the dependency should have <scope>test</scope>)

No, it is still NULL using SpringBootTest.Yes, I missed out the <scope>test</scope>

At least the spring-boot run issue should have been resolved by adding the test scope.
From the code provided here I have no more ideas, maybe it is related to maven setup?

Which maven setup is suspicious of causing the error?

That was just an idea, the cause is perhaps something different. I don't have any specific suspicion.

I am facing the same error.
Upon injecting
@Autowired
private GraphQLTestTemplate graphqlTestTemplate;

IntelliJ complains: Could not autowire. No beans of 'GraphQLTestTemplate' type found..
Upon running the test, I get NullPointerException for graphqlTestTemplate.
<dependency>
        <groupId>com.graphql-java-kickstart</groupId>
        <artifactId>graphql-spring-boot-starter-test</artifactId>
        <version>7.0.1</version>
        <scope>test</scope>
</dependency>

I tried using @SpringBootTest instead of @GraphQLTest but still its the same error.
Does anyone have an idea about this?

Yeah I am facing the same.
@RunWith(SpringRunner::class)
@GraphQLTest
internal class QueryResolverTest {

    @Autowired
    private lateinit var graphQLTestTemplate: GraphQLTestTemplate

    @Test
    fun testFoo() {

    }
}

Could not autowire. I noticed there is no @Component or @Bean annotation on the GraphQLTestTemplate class. Maybe that's why? So how is it being declared as a bean.

The bean is defined here: https://github.com/graphql-java-kickstart/graphql-spring-boot/blob/master/graphql-spring-boot-test-autoconfigure/src/main/java/com/graphql/spring/boot/test/GraphQLTestAutoConfiguration.java

Ok, so I removed @GraphQLTest and I am using
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

Even though IntelliJ complains, the graphqlTestTemplate bean is actually injected on application startup.


CIP-0057 Plutus Blueprints support: generate blueprint for a contract.

This PR adds a CIP-0057 contract blueprint generation functionality:

A Template Haskell macros makeIsDataSchemaIndexed that alongside the IsData instances makes a HasDataSchema instance which is compatible with the generated ToData/FromData instances.
A set of data types to build a contract blueprint definition skeleton.
A function to derive JSON-schema definitions.
A function to make a safe JSON-reference to a JSON-schema definition (e.g. { "$ref": "#/definitions/Foo" })

@Unisay Sorry for the delay, but I'll try to review this today.

I definitely want us to validate the output against the schema! I found at least one bug, there might be more.

I researched JSON Schema validator tools that:

Support Draft 2020-12
Is available in the nix packages (or flakes) and are installable/runnable with nix;

and the result is Ø
Do you think we can relax the requirement 2 and if yes then how would we make such a tool available for CI?

Do you think we can relax the requirement 2 and if yes then how would we make such a tool available for CI?

It will make our life much harder. What tools are there that satisfy requirement 1? We might just be able to package one.

What tools are there that satisfy requirement 1?

https://ajv.js.org/packages/ajv-cli.html
I use it this way atm:
nix-shell -p nodejs_21

then npx or npm install:
npx ajv-cli test \
  --strict=log \
  --spec=draft2020 \
  -s plutus-blueprint \
  -r plutus-blueprint-argument \
  -r plutus-data \
  -r plutus-blueprint-parameter \
  -r plutus-builtin \
  -d Acme.golden \
  --valid

(it does catch some invalid schemas, but it doesn't catch the error you found s/constructor/index/ 🤷🏼♂ )

Does this PR include the function for generating the blueprint? I was expecting to see something like mkBlueprint :: CompiledCode (Datum -> Redeemer -> ScriptContext -> Bool) -> ContractBlueprint but I'm not seeing it.

Yes, see the PlutusTx.Blueprint.Write module, its called writeBlueprint. There is also a test case that uses it.

By the way, (to be done separately) we'd also need to think about how this will interact with AsData - @michaelpj

To use it, one must instantiate types with a type-level list, which they have to construct manually.

The idea is that in the minimal implementation users supply a list of types involved into a contract API manually,
such that a convenience function (which derives such a list of types from a typed validator function type) could be provided on top of it .
Anyway, only providing CompiledCode (Datum -> Redeemer -> ScriptContext -> Bool) is not enough for a blueprint:

its missing all the meta information: Preamble, titles, descriptions, comments.
CIP-57 describes a contract blueprint that is comprised of potentially more than one validator.

By the way, (to be done separately) we'd also need to think about how this will interact with AsData

It's a bit awkward. In particular, you would like to use a schema definition based on the "real" datatype definition, which doesn't even exist with AsData Perhaps we can still emit it with a slightly different name or something :thinking:


Update Design System package + include fonts

stellar-disbursement-platform-frontend-preview is available here:http://sdp-frontend-pr54.previews.kube001.services.stellar-ops.com/


Multiple Array ID's in JSON not working

Hey,
i'm trying out Sketch Data Populator, and struggled with the integration of different data sets inside the JSON file. It might be that i am doing sth wrong, so maybe you guys can help me. I attached the key screenshots from my setup:

Thanks in advance, any hint is appreciated!

Did you try selecting all partner.title elements instead of just one?

@Booozz this should work! Like @maxfell said, select all elements and run the command. Let us know if this doesn't work.

Thank you guys, this is working. I selected before global layergroups like "site", "content" or the whole artboard itself only and then the plugin inserted just one data set. Now is cool! <2


Too many time_wait state of TCP when gRPC client recieves http 503 response in call load

Please answer these questions before submitting your issue.
Should this be an issue in the gRPC issue tracker?
Yes
Create new issues for bugs and feature requests. An issue needs to be actionable. General gRPC discussions and usage questions belong to:

grpc.io mailing list
StackOverflow, with grpc tag

Please don't double post your questions in more locations; we are monitoring both channels, and the time spent de-duplicating questions is better spent answering more user questions.
What version of gRPC and what language are you using?
gRPC++ 1.2.5, we use c++
What operating system (Linux, Windows, …) and version?
Linux
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc 4.8.5
What did you do?
If possible, provide a recipe for reproducing the error. Try being specific and include code snippets if helpful.
We use gRPC client to keep sending request to a gRPC server to test a rainy day case, which gRPC will always sends http 503 back to gRPC client. In this case, gRPC channel keeps creating connection when sending request and then closing connection when receiving http 503 from gRPC server. Thus, a lot of time_wait state of TCP showing in netstat window which means socket resource will be exhausted.
What did you expect to see?
gRPC client can have some setting to avoid keep creating connection and then closing connection the case I mentioned.
What did you see instead?
Too many time_wait state of TCP showing in netstat
Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
Anything else we should know about your project / environment?
No

This is intended behavior since 503 is retryable, so we will retry it. We use exponential backoff to make sure that we don't blast a bunch of retry connections at once but rather do it over time.


Check if replayAll and verifyAll works with chunking

From<EMAIL_ADDRESS>on November 07, 2008 15:35:03
Check if replayAll and verifyAll works with chunking
Original issue: http://code.google.com/p/powermock/issues/detail?id=65

From<EMAIL_ADDRESS>on November 14, 2008 04:15:26
It works
Status: Fixed


Verify study id exists

Notify the user when values in the project_name column of a user-supplied mapping-file are not appended with a Qiita ID.

Can you add a tests for the new code?

@antgonza ready for review!


Calling populate(target, options) is now DEPRECATED

I'm seeing a message:

Calling populate(target, options) is now DEPRECATED and will be removed in the future. Refer to docs.feathersjs.com for more information. (legacyPopulate)

When I follow the Your First App tutorial and start the app with npm start.
Is there any documentation on how to correct this warning?

Never mind... apparently I missed it in the documentation. Sorry!

@Kryten0807 Are you able to let me know where you found the solution in the docs? I don't see any replacement for this deprecation, despite it being a very useful feature. Thanks in advance 👍

@CImrie It's only on the Auk branch of the docs right now: https://docs.feathersjs.com/v/auk/hooks/common/populate.html


fix: Limit multiple license splits to SPDX OR

As mentioned in #100, many packages specify multiple valid licenses under which the project can be used via a single entry containing the license identifiers separated by the word OR (in line with the SPDX specification for defining licenses).
The past implementation of liccheck could not understand these single entries which specified multiple valid licenses, which meant users of liccheck would have had to specify every possible combination of valid licenses to avoid false positives on licensing errors.
As discussed in #101, the implementation I provided in #100 was overly broad because it split licenses by the lowercase or, which breaks several licenses in the GPL family. By restricting the split to the uppercase OR from the SPDX specification we can retain the best of both worlds.
This PR includes additional unit tests to ensure this functionality behaves as expected.

To provide some examples directly here in the PR...
A license declaration like MIT OR Apache-2.0 will be considered two different licenses, specifically mit and apache-2.0.
A license declaration like GNU Library or Lesser General Public License (LGPL), however, will pass through unchanged (aside from the lowercasing applied to all license names before processing).

Looks good to me!


Selenium chromium edge driver 114

Update Selenium chromium edge driver to version 114
Description
Changed the version and hashes to use the latest 114 drivers
fix #2241
Motivation and Context
Edge browser 114 has been available for some time and for testing we require the corresponding webdriver 114.
How Has this Been Tested?
Checked against previouse versions.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Migrated package (a package has been migrated from another repository)

Checklist:

[x] My code follows the code style of this repository.
[ ] My change requires a change to documentation (this usually means the notes in the description of a package).
[ ] I have updated the documentation accordingly (this usually means the notes in the description of a package).
[ ] I have updated the package description and it is less than 4000 characters.
[ ] All files are up to date with the latest Contributing Guidelines
[ ] The added/modified package passed install/uninstall in the chocolatey test environment.
[ ] The changes only affect a single package (not including meta package).

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

This is an automatically updated packages. To have it updated the update script should be fixed to work again. See #2241 for discussion an possible solutions.

The latest package version is now 115.0.1901.183 so this is no longer needed. As @pascalberger also mentioned, this is an automatically updated package so we can't update it in this way.


How to resolve the issue 'Parameter 'using: go' is not supported'?

**Problem Description:**
I encountered an error while using GitHub Actions, and the error message is as follows:

```plaintext
System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter ''using: go' is not supported, use 'docker', 'node12', 'node16' or 'node20' instead.')
   at GitHub.Runner.Worker.ActionManifestManager.ConvertRuns(IExecutionContext executionContext, TemplateContext templateContext, TemplateToken inputsToken, String fileRelativePath, MappingToken outputs)
   at GitHub.Runner.Worker.ActionManifestManager.Load(IExecutionContext executionContext, String manifestFile)
Fail to load actions/go-hashfiles/v0.0.1/action.yml

Relevant Information:

Current runner version: '2.311.0'
Secret source: Actions
Prepare workflow directory
Prepare all required actions
Download action repository information:

'actions/checkout@v3'
'actions/setup-go@v3'
<EMAIL_ADDRESS>'actions/cache@v3'
'crazy-max/ghaction-import-gpg@v5'
'goreleaser/goreleaser-action@v4'

Cause of the Problem:
During execution, an error occurred due to the unsupported parameter using: go. The error message suggests using 'docker', 'node12', 'node16', or 'node20' instead.

This is an unofficial extension to the action.yml format of GitHub Actions, only Gitea Act (act_runner) support that.
Neither actions/runner, github-act-runner or nektos/act support it.
go-hashfiles is not supported outside of Gitea Act's fork. actions/runner has ${{ hashfiles('path/to/files/to/hash') }} for the hashing files.

I added the HostEnvironment capability (aka no container mode) to all derviates of nektos/act, including Gitea Actions.

Yes, I forgot to remove go-hashfiles. It works fine now.


Created filesystems for STIG compliance

Created separate file systems for:
/tmp
/home
/var/log/audit
/var/log
/var
/
https://bugzilla.redhat.com/show_bug.cgi?id=1180768
https://trello.com/c/B10qwxfk

@jrafanie @abellotti and others please review sizes

This is great.

Do we want to minimize root and have a bigger mount for /opt/?
Do we want /var/log to be bigger?

@kbrock
I only added the file systems that were explicitly required for the STIG standard, so if we want a new file system for /opt that might be a different conversation.
Also I think /var/log probably isn't going to be as much of a space hog as /var as that's where our application logs are going.  Is there something specifically that could be taking up a ton of space in /var/log?  Also we can easily set the behavior of journald to only use a specific amount of space if we need to (http://www.freedesktop.org/software/systemd/man/journald.conf.html).  I think it will be the only thing using significant space in /var/log

@carbonin ping jared. He used to talk about logs filling up.
Also, we have a process for log rotating that checks if disk is full. That may need to change if all of var is not on the same disk.

@kbrock Looks like we should be fine with the log rotation script.  It checks based on filesystem that the log file is on. (https://github.com/ManageIQ/manageiq-appliance/blob/master/logrotate_free_space_check.sh#L4)

:+1: then looks good to me

@carbonin these values look good to me at least as a first try so we can get some feedback as to what sizes they really should be.

@carbonin What is the status of this PR?
/cc @gtanzillo @jrafanie @bdunne @roliveri @Fryguy @kbrock @abellotti

FYI - I've come across a number of QE people who run out of disk space during the install. they tend to have 9GB for their database partition - which is not enough for most of their test databases.

@kbrock This shouldn't be touching anything to do with databases as we put that on a separate partition (https://github.com/ManageIQ/manageiq-appliance-build/blob/master/kickstarts/partials/main/db_fs.ks.erb).
@chessbyte I think the only issue we could have is if @roliveri is correct and we always use Tempfile for openstack fleecing.  If that is the case we should probably remove https://github.com/ManageIQ/manageiq-appliance-build/blob/master/kickstarts/partials/main/disk_layout.ks.erb#L7 and give the space to /tmp

@kbrock This shouldn't be touching anything to do with databases as we put that on a separate partition (https://github.com/ManageIQ/manageiq-appliance-build/blob/master/kickstarts/partials/main/db_fs.ks.erb).
@chessbyte I think the only issue we could have is if @roliveri is correct and we always use Tempfile for openstack fleecing. If that is the case we should probably remove https://github.com/ManageIQ/manageiq-appliance-build/blob/master/kickstarts/partials/main/disk_layout.ks.erb#L7 and give the space to /tmp

Based on the info here, I'm :+1: on giving the space where Tempfile will use it on linux and remove the mounted miq_tmp location.
If we want to adjust some of that space to give more to the database (unchanged in this PR), we can do that here or in a followup PR.

Is this mergeable? I have no further concerns.


DO NOT MERGE - Test PR for CI lane

What this PR does / why we need it:
Related to: https://github.com/kubevirt/project-infra/pull/1244
Release note:
None

/test pull-kubevirt-test-doc-change-ignore

/test pull-kubevirt-test-doc-change-ignore

@fgimenez , the new test lane pull-kubevirt-test-doc-change-ignore, that I added in https://github.com/kubevirt/project-infra/pull/1284 is not being executed. Am I maybe missing permissions for the /test command, or something else?