Sort and group world locations to respect accented characters

For: https://trello.com/c/E92zVUmf/67-world-location-index-in-wrong-alphabetical-order
In 3c0eb7e2a9f4ef791a9403c6d3f2fda8bad0590b we changed the sort order of
world locations on the public index page to ignore "The" prefixes, so that
places like "The Occupied Palestinian Territories" appear under "O" not
"T".  Unfortunately this meant sorting in ruby and this didn't respect
accented characters, meaning places like "São Tomé and Principe" appeared
at the end of "S" rather than inbetween "San Marino" and "Saudi Arabia".
The order before we account for "The" prefixes is correct for accented
characters, because it comes from the DB which has the correct collation
settings.  The version of the name without the prefix does not live in the
DB so we have to do the sort in memory, and this breaks the ordering for
accented characters.
The solution, much like that used in Frontend (https://github.com/alphagov/frontend/pull/1053)
is to use ActiveSupport::Inflector.transliterate to convert accented
characters to their de-accented variants and sort using that version of
the name.  This makes the grouping marginally more complex as we also
use the first char of the prefix-less name to group by, and we don't want
to create a group for the accented characters, and we don't want to
transliterate the name twice either.

An alternative solution here would be to move the prefix-less name into the DB and then we don't need to run the sort twice (once in the DB and once in memory).  It's not clear what the implications of doing this might be wrt translations - should there be a name, a translated name, a sortable name and a translated sortable name?  Right now WorldLocation.ordered_by_name will always load and sort based on the english translations, even if it the locale for the presentation would render the french names, so maybe we don't need a translated version of the sort name.
We might also be able to put "The Occupied Palestinian Territories" under "P" rather than "O" in this case, as the sort name could be "Palestine" not "Occupied Palestinian Territories" (the name_without_prefix method used to do sorting simply strips of "The" prefixes, nothing else).

Finding Things will be migrating this page soon. I prefer this Ruby-based solution because I think we can re-use it in a new frontend pretty easily.

I asked core if they were migrating these, didn't think to ask finding-things.  Oops!  Thanks.


[Fix] Flink connector support json import and use httpclient to streamlaod

Proposed changes
When the text is imported, there may be separators in the data;
Therefore, support json format import.
Need setting parameters (only json array format is provided, so it must be set in pairs)
sink.properties.format = json
sink.properties.strip_outer_array=true
And modify the HTTPURLConnection of streamload to Httpclient request
Types of changes
What types of changes does your code introduce to Doris?
Put an x in the boxes that apply

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)
[ ] Code refactor (Modify the code structure, format the code, etc...)
[ ] Optimization. Including functional usability improvements and performance improvements.
[ ] Dependency. Such as changes related to third-party components.
[ ] Other.

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[ ] I have created an issue on (Fix #6550 ) and described the bug/feature there in detail
[ ] Compiling and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If these changes need document changes, I have updated the document
[ ] Any dependent changes have been merged

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

Thanks @JNSimba for the nice contribution.


Feature/crosser/change copied tree

Codecov Report

Merging #14 (a442330) into master (62aac91) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #14      +/-   ##
==========================================
- Coverage   89.08%   89.08%   -0.01%
==========================================
  Files           9        9
  Lines         733      742       +9
==========================================
+ Hits          653      661       +8
- Misses         80       81       +1

Flag
Coverage Δ

pytest
89.08% <100.00%> (-0.01%)
:arrow_down:

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

Impacted Files
Coverage Δ

tree/crosser.pyx
97.80% <100.00%> (+0.24%)
:arrow_up:

tree/_utils.pyx
87.68% <0.00%> (-0.73%)
:arrow_down:

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 62aac91...e804c05. Read the comment docs.


Investigate OpenSSF Best Practices Badge Program

Description

Check out https://bestpractices.coreinfrastructure.org/en
See what badges can be added
See what badges should be pursued

Handled in #38.


Update to Unicode 13.0.0

Closes #28

It seems that some builds have cached an old one, Unicode 12.1 unicode-data/ucdxml/ucd.all.flat.pdb and thus fail. Plus the installed icu must be the latest, version 66+. Locally all works fine for me.

We are currently using an xml file ucdxml/ucd.all.flat.zip for parsing the unicode data. Every time we add a new one it adds to the size of the repository, I am not sure if git is able to create a delta efficiently for this file (.git directory size on my machine is 36 MB). Also, it also takes a lot of time parsing the xml, though it is only a one time job. It contains all the unicode database even a lot of stuff that we do not need.
I am wondering if we should switch to the text files - https://www.unicode.org/Public/13.0.0/ucd/ . That will reduce the size and speed significantly because we need only a few of these and git should be able to handle the incremental changes to these files much more efficiently. It requires some effort and testing though. We can consider this when creating a new package for the data.

It seems that some builds have cached an old one, Unicode 12.1 unicode-data/ucdxml/ucd.all.flat.pdb and thus fail. Plus the installed icu must be the latest, version 66+. Locally all works fine for me.

@Bodigrim Since the pr CI uses the Github's merge-commit, I'm guessing the problem is due to the unpredictability of Github's merge strategy.

Please note that updating to Unicode 13 did not change anything. The changes are because of executing ucd2haskell before the update.

Why would running ucd2haskell before the update change anything at all? Any changes should come after the update. Maybe you had a newer version .pdb lying around in your workspace when you ran it, it may be from your earlier experiments.
When I run $ cabal run ucd2haskell -- ucdxml/ucd.all.flat.xml ../Data/Unicode/Properties/ in my workspace, it does not change anything at all.
Can you try cloning the repo in a fresh workspace and run it?

You're right, I found that strange too. It looks like I messed up.

Is there anything unresolved left?

It should be mergeable now.


LocationRoleType code list (https://www.gs1.org/voc/LocationRoleType) referred to by gs1:Place is missing

gs1:Place (https://www.gs1.org/voc/Place) has an attribute "Location Role" which is supposed to be a code list defined by the type "https://www.gs1.org/voc/LocationRoleType" however this is a broken link/unpopulated.
I believe the values can be found in the following Excel (GLN Data Model Code List Values): https://www.gs1.org/docs/barcodes/GLN_DataModel_CodeValue_Nov2021.xlsx
Could this link be fixed?

This will be fixed in v1.11, which is queued for publication soon.  We needed to completely rewrite and modernise the tool that displays the GS1 Web vocabulary in order to add improved support for annotations and graceful handling of deprecated terms and terms that are under review.  The modernised tool and updates ontology file for v1.11 are ready to publish on ref.gs1.org
You can see a preview at https://mh1.eu/NewWebVocTool/


Add lodash take function

Prerequisites

[x] I have read the Contributing guidelines
[x] I have read the Code of conduct and I agree with it

Description
Add lodash takefunction
Issue : [#49]
Example usage
take({ nested: { prop: [1, 2, 3, 4] } }, 'nested.prop', 2)
// => { nested: { prop: [1, 2] } }

Codecov Report

Merging #59 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #59   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          25     26    +1
  Lines          46     47    +1
=====================================
+ Hits           46     47    +1

Impacted Files
Coverage Δ

src/array/take.js
100% <100%> (ø)

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 4bf0f57...45e9f5e. Read the comment docs.


Issue a point release

In order to offer updated dependencies.

Blocked on https://github.com/enarx/.github/issues/26

Done now


How to develop an extension outside of the library

Context / Scenario
I'm implementing Memory with ElasticSearch because I need some special functionalities for my use case, also I've tried the one I found on nuget and I got errors.
Question
I've already developed the adapter for MongoDb Atlas, but since this adapter is somewhat custom, I'm not sure that can be inserted in the base distribution of KM, nevertheless I'd like to test with the very same test case that all other memories uses.
Is it possible to publish those base test package in nuget so I can reference those from my project to add a series of tests that are aligned to the one used by the official library?
Actually the only way I can do the same test is copy/paste base test code from Kernel Memory source, but keeping everything alingned is not really easy.ly
Another alternative would be developing the adapter in my fork of kernel memory, then at a certain point I can try to pull request or leave it go alone, but I really preferred to reference some test base nuget package, it would probably be the best solution to develop adapters to kernel memory outside of the official repository.

I would follow the example provided by the existing ElasticSearch extension developed here https://github.com/freemindlabsinc/FreeMindLabs.KernelMemory.Elasticsearch - you could also consider extending it, or collaborating with @afederici75 to fix bugs - This blog post https://devblogs.microsoft.com/semantic-kernel/elasticsearch-kernelmemory/ might also be a useful read before starting.
If you choose to work in a separate repo and share your extension as a public nuget, you might want to consider the maintenance costs, e.g. keeping your nuget in sync with releases of the Abstractions package.

It would be nice to be able to run the official set of tests from the original kernel-memory repository, that because I assume that if something changes the test also changed.
I was headed to use a separate implementation because I use usually a complete different approach using heavily dynamic mapping and I need to also be able to do BM25 standard search to mix vector and keyword search then rerank. So it is easier for me to rewrite the provider (I started from the one I wrote for MongoDb atlas).

It would be nice to be able to run the official set of tests from the original kernel-memory repository, that because I assume that if something changes the test also changed.
I was headed to use a separate implementation because I use usually a complete different approach using heavily dynamic mapping and I need to also be able to do BM25 standard search to mix vector and keyword search then rerank. So it is easier for me to rewrite the provider (I started from the one I wrote for MongoDb atlas).

no problem, if you want we can host the provider in this repo too. I think it would be good to make the client configurable in terms of fields, how to search, etc. Your call 👍

At the end of the day, I did yesterday night a small experiment but I think, that in term of maintenability, I can do the very same I did with MongoDB Atlas, developing directly in the kernel-memory project, it would be the best solution for maintenability.
Thanks for the info.


⚠ AnimeBytes has degraded performance

In f15a330, AnimeBytes ($AB) experienced degraded performance:

HTTP code: 200
Response time: 1695 ms

Resolved: AnimeBytes performance has improved in 8e892a3.


api: move generic matcher proto to its own package

In order to unblock a dependency between route_components.proto and the matcher tree, move the alpha Matcher to
its own package. To provide an upgrade path for users using this, we'll keep the old copy around for a single deprecation
cycle.
Signed-off-by: Snow Pettersen<EMAIL_ADDRESS>Risk Level: Low
Testing: n/a
Docs Changes: n/a
Release Notes: Deprecation note

@htuch This moves the proto as per #17037. I figured we'd provide some kind of upgrade path via supporting both the new and old proto, though let me know if you think we should just do an aggressive move given the alpha status.

While you're at it, can you also update the following doc to indicate an exception for [#alpha:]?
https://github.com/envoyproxy/envoy/blob/main/api/API_VERSIONING.md#backwards-compatibility
Thanks!

Is what you ahve here the least bad you can think of?

I think this is the least bad in terms how many people this would be affected by it (only users of the new matching API). I'm also not sure if moving the header matching protos would help without a breaking API change: the protos currently referencing them are not in alpha, so even if we copied them we wouldn't be able to remove the build time dependency on the existing route matching protos since we need to keep the deprecated field around. With this change we can remove the old matching tree proto (immediately? or maybe following a deprecation cycle?) and continue to evolve the new proto without being held back by the API stability policy.

Another thought: Since we're moving this any way, would it make sense to move it to the cncf/xds repo at this point?

@markdroth I'm not opposed to that since I don't think it would be too much work, so happy to do that if we feel like it's the right call. @envoyproxy/api-shepherds thoughts?

Also: given the exception we're now giving breaking changes to alpha protos, does it still make sense to provide the migration path that this PR offers at the moment? After looking at it some more, none of the affected protos are referenced by type url (only ExtensionWithMatch is, which isnt changed), so if we were to swap the type of the matcher field to something that looks the same that should not break anything on the wire
Thoughts?

I think moving to cncf/xds would make sense as this is a fairly fundamental generic construct. But, don't feel so strongly I'd bike shed a ton.
Migration path makes sense if it helps out in your situation @snowp, otherwise I think it's fine to just make the breaking change in alpha.

Looking into what it would take to migrate this to udpa there are two messages outside of the immediate field that would also need to be migrated: TypedExtensionConfig and matcher.v3.StringMatcher. We could add these to udpa as well, though that will involve duck typing more functions (like I've done in this PR via templating) to make them compatible with the identical protos in the Envoy repo vs the udpa repo.
Thoughts? Not sure if this makes things more complicated than they have to be

Seems like the dependency check here is failing since cncf/xds doesn't have any releases? Or perhaps its due to my targeting a non-main commit for now until the cncf/xds PR lands?

I think it's lack of any release, but this seems strange it should be the first time since there are other deps in this situation. @moderation @phlax any thoughts?

@snowp can you update to cncf/xds HEAD and try again? Maybe it had to do with working with branches or something.
/wait

Looks like CI failures.
/wait

I think it's lack of any release, but this seems strange it should be the first time since there are other deps in this situation. @moderation @phlax any thoughts?

Seems like the deps issue is resolved and there shouldn't be problems with deps without releases or targeting specific commits.
/lgtm deps

Finally passed CI on this on, ptal @htuch


Add push constant validation tests

PTAL, end2end tests for push constants will follow.

[  FAILED  ] PushConstantTest.ShaderCompilationOOB_DISABLED (33 ms)

THanks for the fixes :)


RPC timeout while doing multicall on aggregator on local forks

I may be doing this wrong but I think there is an issue when performing multicall aggregator contract. The weird part is while performing a single call to just the getRate or getRateToEth  functions it works sometimes, but takes 4-5 mins. But when it comes to multicall ganache/hardhat all make Time out error.
Poc:

Performed multicall on mainnet which works just fine

Mainnet-fork using anvil

My environment

OS: Linux: Debian
Framework: brownie & apeworx

Thank you for bringing up this issue. When you're using Hardhat's forking feature to interact with the network, the number of different contracts you're touching in your query can greatly affect the performance. The more state data you're touching across various contracts in your RPC call, the longer it will take to complete the operation. This is because a copy of the blockchain state for all affected contracts is being made during your call.
Recommendations:

For View Calls: If you're only using view calls in your case, try bypassing forking and connect directly to the desired network. This should expedite query processing.

Timeout Issue: If you're testing your functionality and getting a "Time Out Error", you can increase the timeout setting in your hardhat.config.js like so:

mocha: {
    timeout: 90000, // or whatever time you find suitable
}


How can I 'invert' the direction of the months arrows while using an RTL language

Hi,
I looked at
https://github.com/Hacker0x01/react-datepicker/issues/1271
And tried to add

as described there, but it didn't work.
Is there another way to invert the behaviour of the arrows -
left --> go to next month
right --> go to previous month
many thanks!

i'm also struggling with this. seems like the dudes who developed this thing don't know the answer

Have you tried this:
 ?

like that?

    <DatePicker
        selected={startDate}
        onChange={date => setStartDate(date)}
        popperClassName={classes.datePopper}
        popperPlacement="bottom-center"
        dayClassName={() => classes.calendarDay}
        weekDayClassName={() => classes.weekDay}
        calendarClassName={classes.datePicker}
        customInput={<DateInput />}
        maxDate={new Date()}
        locale='he'
    />

not working

@only-mishmish Did you manage to fix this?

@only-mishmish Did you manage to fix this?

Unfortunately not...
You may try to change the package code, I haven't tried.


Namespace not specified. Please specify a namespace in the module's build.gradle file like so:

Flutter
Flutter 3.5.0-4.0.pre.20 • channel master • https://github.com/flutter/flutter.git
Framework • revision 23f22cb853 (29 часов назад) • 2022-10-08 03:35:24 -0400
Engine • revision 823f0a9bf0
Tools • Dart 2.19.0 (build 2.19.0-293.0.dev) • DevTools 2.18.0

AGP8

Try to build android app and get this error:
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':shared_preferences_android'.
> Could not create an instance of type com.android.build.api.variant.impl.LibraryVariantBuilderImpl.
   > Namespace not specified. Please specify a namespace in the module's build.gradle file like so:

     android {
         namespace 'com.example.namespace'
     }

     If the package attribute is specified in the source AndroidManifest.xml, it can be migrated automatically to the namespace value in the build.gradle file using the AGP Upgrade Assistant; please refer to https://developer.android.com/studio/build/agp-upgrade-assistant for more information.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s
Running Gradle task 'assembleDebug'...                           2 008ms
Exception: Gradle task assembleDebug failed with exit code 1

android/app/build.gradle
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}

apply plugin: 'com.android.application'
apply plugin: 'org.jetbrains.kotlin.android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
    compileSdk 33
    ndkVersion flutter.ndkVersion

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }

    kotlinOptions {
        jvmTarget = '11'
    }

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.evernow.app"
        minSdk 33
        targetSdk 33
        // You can update the following values to match your application needs.
        // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    }

    namespace 'com.my.app'
}

flutter {
    source '../..'
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
}

Just create new flutter project and change Gradle version or Gradle Plugin to 8.0 in the Project Settings via Android Studio

@rsmything I'm not sure which Android Studio version you are using. But only Android Studio Flamingo supports Android Gradle plugin 8.0 now. Let's see this: https://developer.android.com/studio/releases#android_gradle_plugin_and_android_studio_compatibility
You may get this Logs below when adding namespace 'com.example.namespace' into android\app\build.gradle:

Logs
The project is using an incompatible version (AGP 8.0.0-alpha03) of the Android Gradle plugin. Latest supported version is AGP 7.3.0
See Android Studio & AGP compatibility options.

The workaround is using a compatible Android Gradle plugin as referenced document. In my side, I'm using Android Studio Dolphin | 2021.3.1, so I need to use Android Gradle plugin 7.3.0. The Gradle build will be successful then.
So, try using a compatible Android Gradle plugin corresponding with your Android Studio version and confirm.

Yes, it's Android Studio Flamingo
@huycozy added

Failed here

apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

Hi @Fudoshiki, what is your Android Gradle Plugin version currently in the Setting?


update to ghost 1.17.2

Thanks @mchikhaoui!
We are happy to see your contribution! ⭐
I know we haven't established a contribution guide yet, so can I ask you to briefly describe what you did here? Like commands executed, files removed, files changed manually.
Have you tested this against a real Azure Web App? Please, see my recent commit: https://github.com/solvsoftware/Ghost-Azure/commit/9f3504e9c0b72693e0f39d50932393ad1390aa4a.

hi @RadoslavGatev
I just upgraded the ghost branch to 1.17.2 and mergeit with the azure branch.
I tested it locally and it worked fine, butI have not tested yet on azure.

ok, i'll do that for next time.
I recommend that you ignore this pull request, and I will do another cleaner with the new version 1.17.3;)

There is no need for a new pull request. Check the link below.
https://stackoverflow.com/a/9790530

hi guys,
after verifcation of my pull request, I found that everything is already clean:
casper is up to date (2.1.6) and it does not contain .git folder (I use the prod version and not source code version)
I updated ghost to version 1.17.3 today, and I tested it on azure, it works, you can check it on my blog http://mchikhaoui.net.


RFC: Device Life Cycle - State Definitions

Request for comments for proposed Device Life Cycle State Definitions.
Device life cycle states are used to track the operational state of the device during manufacturing, provisioning, regular operation, as well as RMA.
An additional set of states are proposed to support Ownership Transfer.

To all team: the Technical Committee (which has recently spun up, more news later) will be reviewing this RFC on 2020-06-03. Please refresh and record your thoughts on the proposal so that your opinions are registered in advance of that meeting.

An update from the Technical Committee. This RFC was deemed not quite ready to move to the "approved" status, and has been postponed for the next TC meeting (2020-06-17). There are a few minor issues that the TC wants to track down before approving. This will be updated in two weeks, but remains in RFC:Proposal mode for now.

i responded to a couple of comments.
It would be great if the TC can let us know if the clarifications make
sense.
On Wed, Jun 3, 2020 at 1:25 PM Scott Johnson<EMAIL_ADDRESS>wrote:

An update from the Technical Committee. This RFC was deemed not quite
ready to move to the "approved" status, and has been postponed for the next
TC meeting (2020-06-17). There are a few minor issues that the TC wants to
track down before approving. This will be updated in two weeks, but remains
in RFC:Proposal mode for now.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/issues/1294#issuecomment-638442344,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RSTINU6SM37I3IQQSKTRU2WTJANCNFSM4KEBQCMQ
.

The Technical Committee voted yesterday to approve this RFC - thank you for all your work on this. There some discussion about presentational changes that we felt were non-blocking, as that can be discussed if and when this moves to a PR in the form of project documentation.
I'll leave this issue open as I think the plan would be to follow-up with a PR that adds a form of this content to docs.opentitan.org  - but let me know if that's not the case.

thanks Alex!
There are some open questions for one of the committee members regarding
clarity of specific points.
If you can look at those points and let us know if the latest updates
addresses those concerns, we can probably move forward to markdown.
On Wed, Jun 17, 2020 at 10:33 PM Alex Bradbury<EMAIL_ADDRESS>wrote:

The Technical Committee voted yesterday to approve this RFC - thank you
for all your work on this. There some discussion about presentational
changes that we felt were non-blocking, as that can be discussed if and
when this moves to a PR in the form of project documentation.
I'll leave this issue open as I think the plan would be to follow-up with
a PR that adds a form of this content to docs.opentitan.org - but let me
know if that's not the case.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/issues/1294#issuecomment-645784550,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RSTZTWRDFT2VAJCCMULRXGRLJANCNFSM4KEBQCMQ
.

Updated PR to address comments provided by TC.  The initial version of the document has been merged in lowrisc/opentitan#3070


app.MapRazorPages(); is not correct for razor pages

Description
I was trying to add Razor pages into an existing .Net 6.0 MVC core project and found this page. It says to use app.MapRazorPages(); but that doesn't work. Instead, I need to use endpoints.MapRazorPages() inside app.UseEndpoints()
I don't know if I have misunderstood something but it looks like the doc is wrong.
Page URL
https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-6.0&tabs=visual-studio
Content source URL
https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/tutorials/razor-pages/razor-pages-start.md
Document ID
5492c641-af15-64b8-beaa-ddf511be73e6
Article author
wadepickett

Thanks for the heads up.  The 6.0 may have been accidentally updated at some point when updated to 7.0 or 8.0.  I will take a look and retest the entire 6.0 series.

MapRazorPages APPLIES to 3.0 and later.

OK, I think the confusion is that my net6 app uses the traditional Startup.cs model with Configure(IApplicationBuilder) which means that MapRazorPages has to be added inside UseEndpoints() instead of directly on the IApplicationBuilder.
Thanks


Change total row number computation

Description

Changed the way of computing the total_row_number used for the Table shape constraints, using each column profile counters tracker instead of creating and updating a separate dictionary. This as well addresses the concern of merging two dataset profiles and possibility of inconsistencies when using a separate dictionary for tracking the total row number.
General Checklist

[ ] Tests added for this feature/bug
if it was a bug, test must cover it.
[ ] Conform by the style guides, by using formatter
[ ] Documentation updated
[ ] (optional) Please add a label to your PR

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.005%) to 83.024%

Totals

Change from base Build<PHONE_NUMBER>:
-0.005%

Covered Lines:
4613

Relevant Lines:
5441

💛  - Coveralls


Add named operations to the UI

We will need to deal with the different output types from Named Operations. If the output is an array of Elements then we can add them to the Graph, otherwise we will just display them in the table view.

When you click "build query", All the named operations, as well as GetElements are available for selection.

Merged into develop.


Docs.MS CI Updates for Microsoft.Azure.ServiceBus

CI Update for release of Microsoft.Azure.ServiceBus

Docs Build status updates of commit b03cac4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

bundlepackages/azure-dotnet.csv
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit b03cac4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

bundlepackages/azure-dotnet.csv
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Fixed issue with TicketRegistryCleaner schedule

If the schedule method throws an exception, it will stop the schedule
from ever running again.  Catching this exception here fixes this issue
from ever occurring.  This case can happen if the
lockingStrategy.release() within the DefaultTicketRegistryCleaner throws
an exception which has happened for us a few times causing this problem.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Pipeline failure when changes cannot be mapped to a project

Describe the bug
Pipeline failure when changes cannot be mapped to a project
Relevant links: https://buildkite.com/llvm-project/premerge-checks/builds/49068#1c2315ad-dc7b-41a5-bfda-57316dece5cd
To Reproduce
Steps to reproduce the behavior:

Send patch touching utils/bazel/zlib.bzl
Pre-merge checks fail

Expected behavior
Pre-merge checks don't fail
Details
This is the failure
INFO    Files modified by this patch:
--
  | utils/bazel/zlib.bzl
  | WARNING Could not map file to project: utils/bazel/zlib.bzl
  | INFO    Projects directly modified by this patch:
  |
  | WARNING There were changes that could not be mapped to a project. Checking everything
  | INFO    modified projects: ['clang', 'clang-tools-extra', 'compiler-rt', 'debuginfo-tests', 'flang', 'libc', 'libclc', 'libcxx', 'libcxxabi', 'libunwind', 'lld', 'lldb', 'mlir', 'openmp', 'parallel-libs', 'polly', 'pstl', 'llvm']
  | Traceback (most recent call last):
  | File "/var/lib/buildkite-agent/builds/llvm-premerge-checks/scripts/pipeline_premerge.py", line 56, in <module>
  | affected_projects = cp.get_affected_projects(modified_projects)
  | File "/var/lib/buildkite-agent/builds/llvm-premerge-checks/scripts/choose_projects.py", line 163, in get_affected_projects
  | logging.info(f'added {affected_projects - changed_projects} projects as they are affected')
  | TypeError: unsupported operand type(s) for -: 'set' and 'list'

I think the issue is that at https://github.com/google/llvm-premerge-checks/blob/75ca275b109e53cc268c8ada60970e780a320fcd/scripts/pipeline_premerge.py#L53 modified_projects gets set to all_projects which is a list and then is passed to get_affected_projects which expects a set.
Longer-term it would be nice to not build all the unrelated pre-merge check on changes to utils, but this codepath should also work.

I have restarted the build in https://buildkite.com/llvm-project/premerge-checks/builds/49068#65f3b557-2775-494d-a577-0ce0dda2a457 and it passed the "setup" stage.


minZoom and maxZoom not working for overlay layer

From @corymsmith on September 9, 2015 8:58
I have a base layer and a bunch of overlays, each overlay has a min and max zoom but it doesn't appear to be working. Does this structure look correct?
var overlay = {
  name: 'Elevation',
  url: base_url + tile_path,
  type: 'xyz',
  visible: false,
  layerOptions: {
    minZoom: 9,
    maxZoom: 18
  }
};

Copied from original issue: tombatossals/angular-leaflet-directive#928

From @florentplomb on October 6, 2015 17:21
Hi,
Try with this :
layerParams: {
minZoom: 9,
maxZoom: 18
}

Hi,
I have a similar issue. Tried layerParams and layerOptions?
I also tried changing the default values dynamically, but it only works the 1st time, no effect after that.
Any ideas?

Seems to work with layerParams, but had to remove default values.

It doesn't work for me. Here are my defaults:
this.defaults.tileLayer = myUrl;
this.defaults.layerParams = {maxZoom: 11, minZoom: 0};

I've also tried:
this.defaults.tileLayer = myUrl;
this.defaults.maxZoom = 11;

As mentioned in the README.
Any ideas why it doesn't work?


fix dwelling_nummber typo in database

Actually, I don't see the dwelling_nummber (or dwelling_number) in the database at all, just in the code (models/freecen_dwelling.rb and the automatically generated views).  I don't see that we actually use it anywhere.

We do not transcribe a dwelling number.  This is generated by the program 'fctools'  when it converts a Completed "Transcription" from a  CSV to a DAT for checking.
This is done to ensure that all the 'people' in each 'dwelling' are kept together. Example : the first Dwelling in a PIECE will have the unique Piece number,
Then the Civil Parish,
ED number,
Folio number
Schedule number,
The first " family " in a Dwelling will start with the number 1.
So the first person in that family will be 1,1
The next  person in that Dwelling will be number 1,2
Then  1, 3  1,4  1,5  etc.
So if the first Dwelling has 12 people living in it they will be numbered in the order transcribed. 1,1 : 1,2 : 1,3 : etc., through to 1,12 :
The next dwelling will then be 2,1 : 2,2 etc through to the last member of that dwelling.
If it is say a school with 120 people in it then the same applies from 1 to 120 in the order transcribed.
So each unique Piece number is done the same.
I could send a copy of an original Csv, how it changes in conversion at the following stage so you can see how these numbers are generated.
This numbering however is to no concern to the Researcher, only for keeping the people in Dwellings together for Freecen.
Hope that makes sence!
Sent from Samsung tablet
-------- Original message --------
From: dougkdev<EMAIL_ADDRESS>Date: 10/09/2015  8:40 PM  (GMT+00:00)
To: FreeUKGen/FreeCENMigration<EMAIL_ADDRESS>Subject: Re: [FreeCENMigration] fix dwelling_nummber typo in database (#42)
Actually, I don't see the dwelling_nummber (or dwelling_number) in the database at all, just in the code (models/freecen_dwelling.rb and the automatically generated views). I don't see that we actually use it anywhere.
—
Reply to this email directly or view it on GitHub.

Thanks for the clarification

This is fixed in the code


fix: Fix ForbidJavaFilesTask configuration failure when registered in non-android module with android module parent

Thanks @wzieba for reporting that

Thanks @mateuszkwiecinski for the fix!


[SPARK-49347][R][FOLLOW-UP] Use dedicated environment variable for SparkR deprecation warning

What changes were proposed in this pull request?
This PR proposes to have the dedicated environment variable called SPARKR_SUPPRESS_DEPRECATION_WARNING to skip SparkR deprecation warning.
Why are the changes needed?
In order to recover SparkR build on Windows (https://github.com/apache/spark/actions/workflows/build_sparkr_window.yml). Previously we did not set SPARK_TESTING before. https://github.com/apache/spark/pull/47881 set it and the build it broken. This PR works around it by having a dedicated environment variable.
Does this PR introduce any user-facing change?
No, test-only.
How was this patch tested?
Manually tested.
Was this patch authored or co-authored using generative AI tooling?
No.

Merged to master.


Devices shown as loading for around 10-15 seconds in Google Home app

Everything seems to work fine but my Google Home shows my device state as "loading" for around 10-11 seconds every time I open the app. Same thing is observed in Home Control in my Nest Hub 2.
But devices from other vendors like sinric pro take only 1-2 seconds to show their device state in Google Home.
@Fleker Please help as I am using this code on my several ESP8266 with Google Nest Hub to control my home. And I have to wait for 10-15 seconds every time to even turn on the lights.

Hi @maxakash,
The issue is unreproducible, so I will close out the issue for now, please feel free to open if needed.


[Request]: Replace chiaki4deck with chiaki-ng

Prerequisites

[X] I have searched all issues/PRs to ensure it has not already been reported or fixed.

Criteria

[X] Reasonably well-known and widely used
[X] A game or a game-related tool
[X] English interface (or at least English documentation)
[X] Latest stable or development version
[X] Full version (i.e. not a trial version)
[X] Fairly standard install (e.g. uses a version-specific download URL, no elaborate pre/post install scripts)

Name
chiaki-ng
Description
Next-Generation of Chiaki (the open-source remote play client for PlayStation)
Homepage
https://github.com/streetpea/chiaki-ng
Download Link(s)
https://github.com/streetpea/chiaki-ng/releases/download/v1.9.0/chiaki-ng-win_x64-VC-Release.zip
Some Indication of Popularity/Repute
chiaki-ng is an open-source project (with 1.1k stars) serving as the next-generation of Chiaki with improvements and ongoing support now that the original Chiaki project is in maintenance mode only.

Feel free to open a pull request for this :slightly_smiling_face:


Plex Media server big dir example

BrowseBigDirectories example:
While browsing Plex Media Server there is no info about items count in folders.
Warnings about  attribute: "childCount=" missing
Plex version: <IP_ADDRESS>63
It's only my server or something bigger?
PS. BrowseRecursively example works great as it dives in regardless of childCount attribute
Scanning local network for DLNA media servers...
[   641][I][SoapESP32.cpp:478] seekServer(): SSDP search for media servers started
[  4655][I][SoapESP32.cpp:481] seekServer(): SSDP query discovered 1 media servers
[  4655][I][SoapESP32.cpp:484] seekServer(): checking all discovered media servers for service ContentDirectory
[  4676][I][SoapESP32.cpp:498] seekServer(): connected successfully to server <IP_ADDRESS>:32469
[  4690][I][SoapESP32.cpp:555] seekServer(): ok, this server delivers media content
Number of discovered servers that deliver content: 1
Please be patient, searching big directory on server: Plex Media Server: docker
[  4702][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "0"
[  4729][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  4733][I][SoapESP32.cpp:915] browseServer(): scan answer from media server:
[  4741][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  4741][I][SoapESP32.cpp:686] soapScanContainer(): "94467912-bd40-4d2f-ad25-7b8423f7b05a" attribute searchable=0
[  4751][I][SoapESP32.cpp:706] soapScanContainer(): folder "Video" (id: "94467912-bd40-4d2f-ad25-7b8423f7b05a", childCount: 0) added to list
[  4767][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  4771][I][SoapESP32.cpp:686] soapScanContainer(): "abe6121c-1731-4683-815c-89e1dcd2bf11" attribute searchable=0
[  4781][I][SoapESP32.cpp:706] soapScanContainer(): folder "Music" (id: "abe6121c-1731-4683-815c-89e1dcd2bf11", childCount: 0) added to list
[  4797][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  4801][I][SoapESP32.cpp:686] soapScanContainer(): "b0184133-f840-4a4f-a583-45f99645edcd" attribute searchable=0
[  4811][I][SoapESP32.cpp:706] soapScanContainer(): folder "Photos" (id: "b0184133-f840-4a4f-a583-45f99645edcd", childCount: 0) added to list
[  4827][I][SoapESP32.cpp:981] browseServer(): found 3 folders and 0 files
[  4832][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "94467912-bd40-4d2f-ad25-7b8423f7b05a"
[  4865][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  4871][I][SoapESP32.cpp:915] browseServer(): scan answer from media server:
[  4878][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  4879][I][SoapESP32.cpp:686] soapScanContainer(): "91394f20-aec1-4cf8-80f2-803b5119f3df" attribute searchable=0
[  4888][I][SoapESP32.cpp:706] soapScanContainer(): folder "Video Channels" (id: "91394f20-aec1-4cf8-80f2-803b5119f3df", childCount: 0) added to list
[  4905][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  4908][I][SoapESP32.cpp:686] soapScanContainer(): "99be9211-6884-4436-ab37-83a8ac5bae6c" attribute searchable=0
[  4918][I][SoapESP32.cpp:706] soapScanContainer(): folder "Shared Video" (id: "99be9211-6884-4436-ab37-83a8ac5bae6c", childCount: 0) added to list
[  4935][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  4939][I][SoapESP32.cpp:686] soapScanContainer(): "9285c074-2f83-4ca8-b581-09452beaa609" attribute searchable=0
[  4949][I][SoapESP32.cpp:706] soapScanContainer(): folder "Remote Video" (id: "9285c074-2f83-4ca8-b581-09452beaa609", childCount: 0) added to list
[  4965][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  4969][I][SoapESP32.cpp:686] soapScanContainer(): "98c665b0-a78a-45c5-b62e-a3ff7469de0a" attribute searchable=0
[  4979][I][SoapESP32.cpp:706] soapScanContainer(): folder "Watch Later" (id: "98c665b0-a78a-45c5-b62e-a3ff7469de0a", childCount: 0) added to list
[  4996][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  5000][I][SoapESP32.cpp:686] soapScanContainer(): "E5E57F94-D24E-4ECF-88B5-FCCF165F21D5" attribute searchable=0
[  5010][I][SoapESP32.cpp:706] soapScanContainer(): folder "Recommended" (id: "E5E57F94-D24E-4ECF-88B5-FCCF165F21D5", childCount: 0) added to list
[  5027][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  5030][I][SoapESP32.cpp:686] soapScanContainer(): "f0ab4250-3f5c-49a6-a9eb-c4ca01b9faec" attribute searchable=0
[  5040][I][SoapESP32.cpp:706] soapScanContainer(): folder "Preferences" (id: "f0ab4250-3f5c-49a6-a9eb-c4ca01b9faec", childCount: 0) added to list
[  5056][I][SoapESP32.cpp:981] browseServer(): found 6 folders and 0 files
[  5061][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "91394f20-aec1-4cf8-80f2-803b5119f3df"
[  5086][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  5089][I][SoapESP32.cpp:915] browseServer(): scan answer from media server:
[  5095][I][SoapESP32.cpp:971] browseServer(): XML scanned, no elements announced
[  5099][I][SoapESP32.cpp:981] browseServer(): found 0 folders and 0 files
[  5106][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "99be9211-6884-4436-ab37-83a8ac5bae6c"
[  5370][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  5373][I][SoapESP32.cpp:915] browseServer(): scan answer from media server:
[  5379][I][SoapESP32.cpp:971] browseServer(): XML scanned, no elements announced
[  5383][I][SoapESP32.cpp:981] browseServer(): found 0 folders and 0 files
[  5390][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "9285c074-2f83-4ca8-b581-09452beaa609"
[  5413][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  5416][I][SoapESP32.cpp:915] browseServer(): scan answer from media server:
[  5422][I][SoapESP32.cpp:971] browseServer(): XML scanned, no elements announced
[  5426][I][SoapESP32.cpp:981] browseServer(): found 0 folders and 0 files
[  5433][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "98c665b0-a78a-45c5-b62e-a3ff7469de0a"
[  5502][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  5504][E][SoapESP32.cpp:308] soapReadHttpHeader(): header line: HTTP/1.1 500 Internal Server Error
[  5508][E][SoapESP32.cpp:905] browseServer(): HTTP Header not ok or reply status not 200
Error browsing server, object id: 98c665b0-a78a-45c5-b62e-a3ff7469de0a
[  5528][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "E5E57F94-D24E-4ECF-88B5-FCCF165F21D5"
[  5594][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  5597][E][SoapESP32.cpp:308] soapReadHttpHeader(): header line: HTTP/1.1 500 Internal Server Error
[  5601][E][SoapESP32.cpp:905] browseServer(): HTTP Header not ok or reply status not 200
Error browsing server, object id: E5E57F94-D24E-4ECF-88B5-FCCF165F21D5
[  5621][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "f0ab4250-3f5c-49a6-a9eb-c4ca01b9faec"
[  5641][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  5645][I][SoapESP32.cpp:915] browseServer(): scan answer from media server:
[  5654][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  5654][I][SoapESP32.cpp:686] soapScanContainer(): "2b34ec14-d674-4421-a8e6-f393af4e54ce" attribute searchable=0
[  5663][I][SoapESP32.cpp:706] soapScanContainer(): folder "Direct Play [Enabled]" (id: "2b34ec14-d674-4421-a8e6-f393af4e54ce", childCount: 0) added to list
[  5681][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  5684][I][SoapESP32.cpp:686] soapScanContainer(): "20511860-52b5-42d2-87b8-f3fbf327bf73" attribute searchable=0
[  5694][I][SoapESP32.cpp:706] soapScanContainer(): folder "Direct Stream [Enabled]" (id: "20511860-52b5-42d2-87b8-f3fbf327bf73", childCount: 0) added to list
[  5715][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  5716][I][SoapESP32.cpp:686] soapScanContainer(): "1bcb51e3-0846-4d88-9960-9b78e2a53f7c" attribute searchable=0
[  5726][I][SoapESP32.cpp:706] soapScanContainer(): folder "Local Resolution [1080p]" (id: "1bcb51e3-0846-4d88-9960-9b78e2a53f7c", childCount: 0) added to list
[  5744][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  5747][I][SoapESP32.cpp:686] soapScanContainer(): "52557847-e9d7-49f6-b9fa-e6b54923190d" attribute searchable=0
[  5757][I][SoapESP32.cpp:706] soapScanContainer(): folder "Local Video Quality [High]" (id: "52557847-e9d7-49f6-b9fa-e6b54923190d", childCount: 0) added to list
[  5776][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  5779][I][SoapESP32.cpp:686] soapScanContainer(): "20601bf7-4e3e-4ce1-b23a-bf2a6e733604" attribute searchable=0
[  5789][I][SoapESP32.cpp:706] soapScanContainer(): folder "Remote Resolution [720p]" (id: "20601bf7-4e3e-4ce1-b23a-bf2a6e733604", childCount: 0) added to list
[  5810][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  5810][I][SoapESP32.cpp:686] soapScanContainer(): "68d268a3-4f11-4d40-a738-b456c69e7737" attribute searchable=0
[  5821][I][SoapESP32.cpp:706] soapScanContainer(): folder "Remote Video Quality [Medium]" (id: "68d268a3-4f11-4d40-a738-b456c69e7737", childCount: 0) added to list
[  5839][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  5842][I][SoapESP32.cpp:686] soapScanContainer(): "ae5f8ee8-bb0c-4b77-899f-728fa3929640" attribute searchable=0
[  5852][I][SoapESP32.cpp:706] soapScanContainer(): folder "Online Resolution [720p]" (id: "ae5f8ee8-bb0c-4b77-899f-728fa3929640", childCount: 0) added to list
[  5871][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  5874][I][SoapESP32.cpp:686] soapScanContainer(): "e662010b-3afe-4695-a60d-0a5a7ed35892" attribute searchable=0
[  5884][I][SoapESP32.cpp:706] soapScanContainer(): folder "Online Video Quality [Medium]" (id: "e662010b-3afe-4695-a60d-0a5a7ed35892", childCount: 0) added to list
[  5903][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  5906][I][SoapESP32.cpp:686] soapScanContainer(): "c3588f27-26cb-4b2d-8cd9-453fd3fa12ce" attribute searchable=0
[  5917][I][SoapESP32.cpp:706] soapScanContainer(): folder "Subtitle Size [Normal]" (id: "c3588f27-26cb-4b2d-8cd9-453fd3fa12ce", childCount: 0) added to list
[  5934][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  5937][I][SoapESP32.cpp:686] soapScanContainer(): "8fc57947-ba5c-4efe-b550-e88b0ac9a17e" attribute searchable=0
[  5947][I][SoapESP32.cpp:706] soapScanContainer(): folder "Audio Boost [None]" (id: "8fc57947-ba5c-4efe-b550-e88b0ac9a17e", childCount: 0) added to list
[  5964][I][SoapESP32.cpp:981] browseServer(): found 10 folders and 0 files
[  5969][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "abe6121c-1731-4683-815c-89e1dcd2bf11"
[  5993][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  5997][I][SoapESP32.cpp:915] browseServer(): scan answer from media server:
[  6008][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6008][I][SoapESP32.cpp:686] soapScanContainer(): "74ecfbc84061d0e9d3b6" attribute searchable=0
[  6014][I][SoapESP32.cpp:706] soapScanContainer(): folder "Muzyka" (id: "74ecfbc84061d0e9d3b6", childCount: 0) added to list
[  6029][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6032][I][SoapESP32.cpp:686] soapScanContainer(): "aca21a34-d277-4d9d-9602-687d89765172" attribute searchable=0
[  6042][I][SoapESP32.cpp:706] soapScanContainer(): folder "Music Channels" (id: "aca21a34-d277-4d9d-9602-687d89765172", childCount: 0) added to list
[  6059][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6063][I][SoapESP32.cpp:686] soapScanContainer(): "aa85ef5c-5bb9-4a40-ad08-5b7ca04ab766" attribute searchable=0
[  6073][I][SoapESP32.cpp:706] soapScanContainer(): folder "Shared Music" (id: "aa85ef5c-5bb9-4a40-ad08-5b7ca04ab766", childCount: 0) added to list
[  6089][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6093][I][SoapESP32.cpp:686] soapScanContainer(): "ae282b40-95c2-4125-878b-f702efd484e5" attribute searchable=0
[  6103][I][SoapESP32.cpp:706] soapScanContainer(): folder "Remote Music" (id: "ae282b40-95c2-4125-878b-f702efd484e5", childCount: 0) added to list
[  6120][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6124][I][SoapESP32.cpp:686] soapScanContainer(): "ac85fabf-dbf8-4d36-a3d2-1ff357402804" attribute searchable=0
[  6134][I][SoapESP32.cpp:706] soapScanContainer(): folder "Music Queue" (id: "ac85fabf-dbf8-4d36-a3d2-1ff357402804", childCount: 0) added to list
[  6151][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6154][I][SoapESP32.cpp:686] soapScanContainer(): "972F29C1-51E3-4968-9501-D4535C176704" attribute searchable=0
[  6164][I][SoapESP32.cpp:706] soapScanContainer(): folder "Music Recommendations" (id: "972F29C1-51E3-4968-9501-D4535C176704", childCount: 0) added to list
[  6181][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6185][I][SoapESP32.cpp:686] soapScanContainer(): "d3611e72-8a03-424c-90fd-7dea335ecf7d" attribute searchable=0
[  6195][I][SoapESP32.cpp:706] soapScanContainer(): folder "Preferences" (id: "d3611e72-8a03-424c-90fd-7dea335ecf7d", childCount: 0) added to list
[  6212][I][SoapESP32.cpp:981] browseServer(): found 7 folders and 0 files
[  6216][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "74ecfbc84061d0e9d3b6"
[  6242][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  6247][I][SoapESP32.cpp:915] browseServer(): scan answer from media server:
[  6255][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6256][I][SoapESP32.cpp:686] soapScanContainer(): "41938fdb66374d2948e7" attribute searchable=0
[  6263][I][SoapESP32.cpp:706] soapScanContainer(): folder "All Artists" (id: "41938fdb66374d2948e7", childCount: 0) added to list
[  6278][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6282][I][SoapESP32.cpp:686] soapScanContainer(): "998da6c0fe93f4323db1" attribute searchable=0
[  6291][I][SoapESP32.cpp:706] soapScanContainer(): folder "By Album" (id: "998da6c0fe93f4323db1", childCount: 0) added to list
[  6308][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6310][I][SoapESP32.cpp:686] soapScanContainer(): "e98766db0840f72e0ff2" attribute searchable=0
[  6319][I][SoapESP32.cpp:706] soapScanContainer(): folder "By Genre" (id: "e98766db0840f72e0ff2", childCount: 0) added to list
[  6333][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6337][I][SoapESP32.cpp:686] soapScanContainer(): "65e4ed2f1489acdee7ee" attribute searchable=0
[  6346][I][SoapESP32.cpp:706] soapScanContainer(): folder "By Decade" (id: "65e4ed2f1489acdee7ee", childCount: 0) added to list
[  6361][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6364][I][SoapESP32.cpp:686] soapScanContainer(): "633df64c10d93d371bb3" attribute searchable=0
[  6373][I][SoapESP32.cpp:706] soapScanContainer(): folder "By Year" (id: "633df64c10d93d371bb3", childCount: 0) added to list
[  6388][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6392][I][SoapESP32.cpp:686] soapScanContainer(): "f3f84afe50f096896833" attribute searchable=0
[  6400][I][SoapESP32.cpp:706] soapScanContainer(): folder "By Collection" (id: "f3f84afe50f096896833", childCount: 0) added to list
[  6416][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6420][I][SoapESP32.cpp:686] soapScanContainer(): "c4779f51eee362fe10ea" attribute searchable=0
[  6428][I][SoapESP32.cpp:706] soapScanContainer(): folder "Recently Added" (id: "c4779f51eee362fe10ea", childCount: 0) added to list
[  6444][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6447][I][SoapESP32.cpp:686] soapScanContainer(): "8344e21bda00c7ccd5cc" attribute searchable=0
[  6456][I][SoapESP32.cpp:706] soapScanContainer(): folder "By Folder" (id: "8344e21bda00c7ccd5cc", childCount: 0) added to list
[  6470][I][SoapESP32.cpp:981] browseServer(): found 8 folders and 0 files
[  6476][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "aca21a34-d277-4d9d-9602-687d89765172"
[  6500][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  6503][I][SoapESP32.cpp:915] browseServer(): scan answer from media server:
[  6509][I][SoapESP32.cpp:971] browseServer(): XML scanned, no elements announced
[  6513][I][SoapESP32.cpp:981] browseServer(): found 0 folders and 0 files
[  6520][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "aa85ef5c-5bb9-4a40-ad08-5b7ca04ab766"
[  6542][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  6545][I][SoapESP32.cpp:915] browseServer(): scan answer from media server:
[  6552][I][SoapESP32.cpp:971] browseServer(): XML scanned, no elements announced
[  6555][I][SoapESP32.cpp:981] browseServer(): found 0 folders and 0 files
[  6563][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "ae282b40-95c2-4125-878b-f702efd484e5"
[  6596][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  6599][I][SoapESP32.cpp:915] browseServer(): scan answer from media server:
[  6605][I][SoapESP32.cpp:971] browseServer(): XML scanned, no elements announced
[  6609][I][SoapESP32.cpp:981] browseServer(): found 0 folders and 0 files
[  6616][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "ac85fabf-dbf8-4d36-a3d2-1ff357402804"
[  6637][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  6640][E][SoapESP32.cpp:308] soapReadHttpHeader(): header line: HTTP/1.1 500 Internal Server Error
[  6645][E][SoapESP32.cpp:905] browseServer(): HTTP Header not ok or reply status not 200
Error browsing server, object id: ac85fabf-dbf8-4d36-a3d2-1ff357402804
[  6665][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "972F29C1-51E3-4968-9501-D4535C176704"
[  6683][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  6685][E][SoapESP32.cpp:308] soapReadHttpHeader(): header line: HTTP/1.1 500 Internal Server Error
[  6690][E][SoapESP32.cpp:905] browseServer(): HTTP Header not ok or reply status not 200
Error browsing server, object id: 972F29C1-51E3-4968-9501-D4535C176704
[  6710][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "d3611e72-8a03-424c-90fd-7dea335ecf7d"
[  6728][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  6731][I][SoapESP32.cpp:915] browseServer(): scan answer from media server:
[  6741][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6741][I][SoapESP32.cpp:686] soapScanContainer(): "88d79be9-9512-4109-9619-b75b0352def8" attribute searchable=0
[  6751][I][SoapESP32.cpp:706] soapScanContainer(): folder "Music Transcode Bitrate [192kbps]" (id: "88d79be9-9512-4109-9619-b75b0352def8", childCount: 0) added to list
[  6768][I][SoapESP32.cpp:981] browseServer(): found 1 folders and 0 files
[  6774][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "b0184133-f840-4a4f-a583-45f99645edcd"
[  6807][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  6811][I][SoapESP32.cpp:915] browseServer(): scan answer from media server:
[  6820][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6820][I][SoapESP32.cpp:686] soapScanContainer(): "b1701ca5-0ae1-4211-87fe-2641c05e22e5" attribute searchable=0
[  6830][I][SoapESP32.cpp:706] soapScanContainer(): folder "Photo Channels" (id: "b1701ca5-0ae1-4211-87fe-2641c05e22e5", childCount: 0) added to list
[  6847][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6850][I][SoapESP32.cpp:686] soapScanContainer(): "bf499119-5303-4088-9138-53dd73a6a7b0" attribute searchable=0
[  6860][I][SoapESP32.cpp:706] soapScanContainer(): folder "Shared Photos" (id: "bf499119-5303-4088-9138-53dd73a6a7b0", childCount: 0) added to list
[  6877][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6881][I][SoapESP32.cpp:686] soapScanContainer(): "ba787e53-a572-46ac-ab7f-575b98bd31c2" attribute searchable=0
[  6891][I][SoapESP32.cpp:706] soapScanContainer(): folder "Remote Photos" (id: "ba787e53-a572-46ac-ab7f-575b98bd31c2", childCount: 0) added to list
[  6908][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6911][I][SoapESP32.cpp:686] soapScanContainer(): "bb3513cb-b204-48e9-8624-7776f6ef9ff2" attribute searchable=0
[  6921][I][SoapESP32.cpp:706] soapScanContainer(): folder "Photo Queue" (id: "bb3513cb-b204-48e9-8624-7776f6ef9ff2", childCount: 0) added to list
[  6939][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  6942][I][SoapESP32.cpp:686] soapScanContainer(): "E59388F0-FD45-4C09-B990-7BBC99E96B23" attribute searchable=0
[  6952][I][SoapESP32.cpp:706] soapScanContainer(): folder "Photo Recommendations" (id: "E59388F0-FD45-4C09-B990-7BBC99E96B23", childCount: 0) added to list
[  6969][I][SoapESP32.cpp:981] browseServer(): found 5 folders and 0 files
[  6974][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "b1701ca5-0ae1-4211-87fe-2641c05e22e5"
[  7006][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  7009][I][SoapESP32.cpp:915] browseServer(): scan answer from media server:
[  7015][I][SoapESP32.cpp:971] browseServer(): XML scanned, no elements announced
[  7019][I][SoapESP32.cpp:981] browseServer(): found 0 folders and 0 files
[  7026][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "bf499119-5303-4088-9138-53dd73a6a7b0"
[  7048][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  7052][I][SoapESP32.cpp:915] browseServer(): scan answer from media server:
[  7058][I][SoapESP32.cpp:971] browseServer(): XML scanned, no elements announced
[  7062][I][SoapESP32.cpp:981] browseServer(): found 0 folders and 0 files
[  7069][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "ba787e53-a572-46ac-ab7f-575b98bd31c2"
[  7090][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  7094][I][SoapESP32.cpp:915] browseServer(): scan answer from media server:
[  7100][I][SoapESP32.cpp:971] browseServer(): XML scanned, no elements announced
[  7104][I][SoapESP32.cpp:981] browseServer(): found 0 folders and 0 files
[  7111][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "bb3513cb-b204-48e9-8624-7776f6ef9ff2"
[  7133][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  7136][E][SoapESP32.cpp:308] soapReadHttpHeader(): header line: HTTP/1.1 500 Internal Server Error
[  7140][E][SoapESP32.cpp:905] browseServer(): HTTP Header not ok or reply status not 200
Error browsing server, object id: bb3513cb-b204-48e9-8624-7776f6ef9ff2
[  7160][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "E59388F0-FD45-4C09-B990-7BBC99E96B23"
[  7186][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[  7189][E][SoapESP32.cpp:308] soapReadHttpHeader(): header line: HTTP/1.1 500 Internal Server Error
[  7193][E][SoapESP32.cpp:905] browseServer(): HTTP Header not ok or reply status not 200
Error browsing server, object id: E59388F0-FD45-4C09-B990-7BBC99E96B23
No big directory was found on this server.
Some ESP32 memory stats after running this sketch:

minimum ever free memory of all regions [in bytes]: 251976
minimum ever free heap size [in bytes]:             197248
minimum ever stack size of this task [in bytes]:    5464

Sketch finished.
`

Kodi for example does not provide a child count for container (directories) as well, so it's not unusual. However, it is a real annoyance, for it forces you to dig into every directory to find out whether it's empty or not.
What interests me is http error 500. Increasing core debug level to 5 (verbose) will give a clue.

PS: attribute searchable is returned with value 0 in your case. It's missing with some other servers I tested and I have no idea if it's dependent on SW versions.

Thanks, good to know it not me;) I will iterate if it is only solution.
Then regarding your questions:
1.  "searchable" attribute.
This may be bug in library? I've installed "Developer Tools for UPnP™ Technology" package and there is "AV Media Controller". While using it, I see searchable: True on all folders

then the same "Video" folder in verbose log:
[  5002][V][SoapESP32.cpp:944] browseServer(): container attribute (length=84): id="94467912-bd40-4d2f-ad25-7b8423f7b05a" parentID="0" restricted="1" searchable="0"
[  5008][V][SoapESP32.cpp:945] browseServer(): container (length=183): dc:titleVideo</dc:title>dc:creatorUnknown</dc:creator>upnp:genreUnknown</upnp:genre>dc:descriptionVideo</dc:description>upnp:classobject.container.storageFolder</upnp:class>
[  5030][D][SoapESP32.cpp:645] soapScanContainer(): function entered, parent id: 0
[  5038][D][SoapESP32.cpp:649] soapScanContainer(): id="94467912-bd40-4d2f-ad25-7b8423f7b05a"
[  5046][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing.
[  5053][D][SoapESP32.cpp:683] soapScanContainer(): searchable="0"
[  5059][I][SoapESP32.cpp:686] soapScanContainer(): "94467912-bd40-4d2f-ad25-7b8423f7b05a" attribute searchable=0
[  5069][D][SoapESP32.cpp:697] soapScanContainer(): title="Video"
[  5075][I][SoapESP32.cpp:706] soapScanContainer(): folder "Video" (id: "94467912-bd40-4d2f-ad25-7b8423f7b05a", childCount: 0) added to list
2. http error 500  - This is verbose log:
[ 13287][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "E59388F0-FD45-4C09-B990-7BBC99E96B23"
[ 13301][D][SoapESP32.cpp:1244] soapPost(): <IP_ADDRESS>:32469 POST /ContentDirectory/ecac33e1-2f12-ae06-2e56-9edd48c5daa3/control.xml HTTP/1.1
[ 13308][V][SoapESP32.cpp:1287] soapPost(): send request to server:
POST /ContentDirectory/ecac33e1-2f12-ae06-2e56-9edd48c5daa3/control.xml HTTP/1.1
Host: <IP_ADDRESS>:32469
CACHE-CONTROL: no-cache
PRAGMA: no-cache
Connection: close
Content-Length: 474
Content-Type: text/xml; charset="utf-8"
SOAPAction: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
User-Agent: ESP32/Player/UPNP1.0
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body><u:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
E59388F0-FD45-4C09-B990-7BBC99E96B23
BrowseDirectChildren
*
0
100

</u:Browse>
</s:Body>
</s:Envelope>
[ 13391][I][SoapESP32.cpp:892] browseServer(): connected successfully to server <IP_ADDRESS>:32469
[ 13394][E][SoapESP32.cpp:308] soapReadHttpHeader(): header line: HTTP/1.1 500 Internal Server Error
[ 13402][E][SoapESP32.cpp:905] browseServer(): HTTP Header not ok or reply status not 200
Error browsing server, object id: E59388F0-FD45-4C09-B990-7BBC99E96B23
and screenshot from AVMedia Control from the same "Photo Recomendations" folder:

can you log a sequence containing the container attribute searchable= with >>wireshark<< please ?
thx th

I had to hack password to my docker ...  but ok,  lol
Dump attached.
dump.zip
ESP32 @ <IP_ADDRESS>
PLEX @ <IP_ADDRESS>
and sorry for some other not filtered noice – I forgot to stop the music
Anyting more, tomorrow.
Off topic...
I’m trying to add some controlling functions to my device  [ ESP32 + NFC Tag Reader + Display ( for album art presentation ) ].
Goal is: scan NFC, find album on Plex Server, download and display album art, start playing on Yamaha Receiver
ToDo

list media renderers,
start playing content from Plex on DMR

but I’m “quite fresh” in DLNA
Do you know any library for ESP/Arduino already capable of it ?

Thx for the dump. It confirms the server always reports container with attributes restricted=1 and searchable=0. The latter one contradicts the setting in your above screenshot from AVMedia Control Tool.
....
<container id="E59388F0-FD45-4C09-B990-7BBC99E96B23" parentID="b0184133-f840-4a4f-a583-45f99645edcd" restricted="1" searchable="0"><dc:title>Photo Recommendations</dc:title><dc:creator>Unknown</dc:creator><upnp:genre>Unknown</upnp:genre><dc:description>Photo Recommendations</dc:description><upnp:class>object.container.storageFolder</upnp:class></container>
....

Do you know any library for ESP/Arduino already capable of it ?

Actually not, sorry.

Ok, I see, so... AVMedia has bug. Thanks for your work.
Your library is great so I'll probably expand it with the features I need, in case I don't find a ready-made solution.


Two test failing with conda package and ubuntu

Last merge #81 was a bit too quick (my fault).
Turns out that two Conda Verify tests fail in test_model_serialization (see here).
Could you have a look at this @maximskorik ?
(I also just gave you writing rights for this repository)

Solved and merged into master with #85.


Host room can't pull to speaker

Yesterday I try to be speaker in some room but I can't. It's show "error unexpected return 502"

It seems to be a problem with the Clubhouse backend, and we can't affect it.


flicker on callng  ui.TermWidth() function

I need to make the ui autoadjustable. I use  ui.TermWidth() to detect terminal width every second and resize it if terminal width is changed.

Just a quick tip but you can detect when the terminal is resized by listening for the "<Resized>" event from the channel returned from PollEvents(). Example here: https://github.com/gizak/termui/blob/213738dbc71cff7412f8dae6d9f27ce4c379dc38/_examples/grid.go#L95-L108


cmake: 3.30.5 -> 3.31.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for cmake is: Cross-platform, open-source build system generator
meta.homepage for cmake is: https://cmake.org/
meta.changelog for cmake is: https://cmake.org/cmake/help/v3.31/release/3.31.html
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.31.2 with grep in /nix/store/hd4lsl5i5z6wamcs1spni9n13zik1nrq-cmake-3.31.2
found 3.31.2 in filename of file in /nix/store/hd4lsl5i5z6wamcs1spni9n13zik1nrq-cmake-3.31.2

Rebuild report (if merged into master) (click to expand)

57490 total rebuild path(s)

57489 package rebuild(s)

First fifty rebuilds by attrpath

ArchiSteamFarm
CuboCore.coreaction
CuboCore.corearchiver
CuboCore.corefm
CuboCore.coregarage
CuboCore.corehunt
CuboCore.coreimage
CuboCore.coreinfo
CuboCore.corekeyboard
CuboCore.corepad
CuboCore.corepaint
CuboCore.corepdf
CuboCore.corepins
CuboCore.corerenamer
CuboCore.coreshot
CuboCore.corestats
CuboCore.corestuff
CuboCore.coreterminal
CuboCore.coretime
CuboCore.coretoppings
CuboCore.coreuniverse
CuboCore.libcprime
CuboCore.libcsys
DisnixWebService
Fabric
LAStools
LPCNet
MMA
OVMF
OVMF-cloud-hypervisor
OVMFFull
QuadProgpp
R
SDL
SDL1
SDL2
SDL2_Pango
SDL2_gfx
SDL2_image
SDL2_image_2_0
SDL2_image_2_6
SDL2_mixer
SDL2_mixer_2_0
SDL2_net
SDL2_sound
SDL2_ttf
SDL_Pango
SDL_audiolib
SDL_compat

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/hd4lsl5i5z6wamcs1spni9n13zik1nrq-cmake-3.31.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A cmake https://github.com/r-ryantm/nixpkgs/archive/316cbbd0bc9e0714d75993238e22f1010d67a548.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/316cbbd0bc9e0714d75993238e22f1010d67a548#cmake

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/hd4lsl5i5z6wamcs1spni9n13zik1nrq-cmake-3.31.2
ls -la /nix/store/hd4lsl5i5z6wamcs1spni9n13zik1nrq-cmake-3.31.2/bin

Pre-merge build results
NixPkgs review skipped

Maintainer pings
cc @ttuegel @LnL7 for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for cmake is: Cross-platform, open-source build system generator
meta.homepage for cmake is: https://cmake.org/
meta.changelog for cmake is: https://cmake.org/cmake/help/v3.31/release/3.31.html
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.31.3 with grep in /nix/store/viphrrivan80ly6gw36y9zbra6fwxn4k-cmake-3.31.3
found 3.31.3 in filename of file in /nix/store/viphrrivan80ly6gw36y9zbra6fwxn4k-cmake-3.31.3

Rebuild report (if merged into master) (click to expand)

57643 total rebuild path(s)

57642 package rebuild(s)

First fifty rebuilds by attrpath

ArchiSteamFarm
CuboCore.coreaction
CuboCore.corearchiver
CuboCore.corefm
CuboCore.coregarage
CuboCore.corehunt
CuboCore.coreimage
CuboCore.coreinfo
CuboCore.corekeyboard
CuboCore.corepad
CuboCore.corepaint
CuboCore.corepdf
CuboCore.corepins
CuboCore.corerenamer
CuboCore.coreshot
CuboCore.corestats
CuboCore.corestuff
CuboCore.coreterminal
CuboCore.coretime
CuboCore.coretoppings
CuboCore.coreuniverse
CuboCore.libcprime
CuboCore.libcsys
DisnixWebService
Fabric
LAStools
LPCNet
MMA
OVMF
OVMF-cloud-hypervisor
OVMFFull
QuadProgpp
R
SDL
SDL1
SDL2
SDL2_Pango
SDL2_gfx
SDL2_image
SDL2_image_2_0
SDL2_image_2_6
SDL2_mixer
SDL2_mixer_2_0
SDL2_net
SDL2_sound
SDL2_ttf
SDL_Pango
SDL_audiolib
SDL_compat

Instructions to test this update (click to expand)

Either download from the cache:
nix-store -r /nix/store/viphrrivan80ly6gw36y9zbra6fwxn4k-cmake-3.31.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nixpkgs-update-cache.nix-community.org/' \
  --option trusted-public-keys '
  nixpkgs-update-cache.nix-community.org-1:U8d6wiQecHUPJFSqHN9GSSmNkmdiFW7GW7WNAnHW0SM=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The nixpkgs-update cache is only trusted for this store-path realization.)
For the cached download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A cmake https://github.com/r-ryantm/nixpkgs/archive/152d7e78818519b2c775dd4fc39747a96eb42520.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/152d7e78818519b2c775dd4fc39747a96eb42520#cmake

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/viphrrivan80ly6gw36y9zbra6fwxn4k-cmake-3.31.3
ls -la /nix/store/viphrrivan80ly6gw36y9zbra6fwxn4k-cmake-3.31.3/bin

Pre-merge build results
NixPkgs review skipped

Maintainer pings
cc @ttuegel @LnL7 for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.


[Bug]: If you close a folder in vscode there is no option to initialize a project

What happened?
If you are working in a folder in vscode and then close the folder so there is no folder shown in the left file explorer if you try to initialize a project it will not allow you select the initialize project option from the command palette
What should have happened?
@AlirezaHaghshenas and I discussed that the option to initialize the project should be present and open a dialogue to select the folder to initialize the taqueria project to. This may change after some discussion/investigation has been done but as of right now that is the solution we landed on.
Steps to reproduce the bug
Steps to reproduce the error:

Install/open the vscode extension
Click File -> Close Folder in vscode
Open the command palette

You should see the "Taqueria: Initialize Project" command
Relevant log output
No response
Screenshots and images

Code of Conduct

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

fixed in: #972


Shared preferences error

i've just upgraded my shared preferences version, then unable to run project, even i deleted
development/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.4+3/ folder
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    === BUILD TARGET shared_preferences OF PROJECT Pods WITH CONFIGURATION Debug ===
    In file included from /Users/ikra/development/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.4+3/ios/Classes/SharedPreferencesPlugin.m:5:
    /Users/ikra/development/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.4+3/ios/Classes/SharedPreferencesPlugin.h:5:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.

Could not build the application for the simulator.
Error launching application on iPhone 6.

Hi @godlessturtle
I felt a sort of dejavu,
I'm assuming that the downgrade didn't go well,
if your flutter doctor changed, please post the updated one.
Could you please post your flutter build --verbose,
thank you

i have built with my old podfile, works for now

Hi again @godlessturtle
I'm glad that you solved it;
given your last message I feel safe to close this issue,
if you disagree please write in the comments
and I will reopen it.
Thank you


Split expr hack suffix into its own rule

Fixes #132
(when combined with #180 and #182)
This fragment was used twice, so ocaml-tree-sitter generated an anonymous CST node for it.
I developed #180, #182, and this in one branch before splitting them off for easy review, so they should not conflict with each other.

Thank you for making all of these fixes!


API to provide consent details mapped to an ABHA address (M3 workflows)

Workflow: As part of the M3 workflows, and also in PHR apps, the integrator is supposed to return the list of all consents mapped to an ABHA address.
Justification: To reduce the need for storing the consent requests separately in their DB, we can expose an API to return the data along with status

Closed


Calculate string hashes only when needed

It is not necessary to calculate the hash values for non-direct
strings on every operation. This patch aims to improve performance
by delaying the hash computations until the value is actually
required. This patch was done in cooperation with Tamás Kéri.
JerryScript-DCO-1.0-Signed-off-by: Mátyás Mustoha<EMAIL_ADDRESS>

This patch speeds up the string-related tests of Sunspider, however slows down for some reason on others. Here are our measurements:

Probably caching, since if hash is not calculated, everything is bound to entry 0.

Although the goal of the change is performance improvement, half of the benchmarks degrade. I would not land this commit unless it can be enhanced to show a clear speedup.

This patch is inactive, and I will close this bug until a perf gain is achieved.


Add getValidatedRouterParams(event, validate)

Describe the feature
Similar to getValidatedBody(event, validate) but for router params.
Additional information

[ ] Would you be willing to help implement this feature?

We have readValidatedBody and getValidatedQuery and we could add a getValidatedRouterParams to get a typed result.
On a s side note, I feel like we have some naming inconsistencies ;

according to express the precise terminology is route parameters
we currently use both readX and getX ? Could we use getX for everything for the sake of consistencies?

we currently use both readX and getX ? Could we use getX for everything for the sake of consistencies?

Isn't a little nuance like explained here, https://stackoverflow.com/questions/23664175/whats-the-difference-between-read-readsome-get-and-getline?

This would be a great feature to add.
Right now I'm still using h3-zod  primarily because useValidatedParams, which is pretty much the proposed getValidatedBody(event, validate)


ALVR not working on Arch Linux (EndeavourOS)

I'm getting the error
SteamVR not installed: make sure you launched it at least once, then close it
I've done the instructions, it's not working still. It might be that I installed Steam through flatpak, but I'm not sure.

You probably need to install steam "normally" as recommended by Arch, because flatpak sandboxes stuff into its own file system I think.

It worked, thanks ^^

I was hoping this was fixed for flatpak.  Maybe a ALVR for flatpak can be released at some point.  Now I gotta unbundle my flatpak steam environment, damn.

@Squidtito you might want to check out https://github.com/CharlieQLe/alvr-flatpak

Cheers, will do. I've gone back to normal Steam for now just to test VR out and ensure it works. Hopefully AUR ALVR-git works with PICO-4.


Allow containers to have no exposed/forwarded port

Or more than one port! (But Consular doesn't support this yet)

Reading the Consular source code it looks like it'll handle the situation ok where no ports are defined.
I'm reluctant to update Consular with the move to Traefik coming up.

Ready for review.

You'll probably need a migration

right, done, thanks!

👍 🍰


how to handle 'register_buffer' with multiple gpu cards

    self.register_buffer('batch_mean', torch.ones(1)*(20))
    self.register_buffer('batch_std', torch.ones(1)*100)

Multi-GPU is handled automatically in our code with the relevant config gpus. The code has been tested on multi-gpu settings.

thanks.
I was also do as following：
in forward function
self.batch_mean = self.batch_mean.to(device), such as device = logits.device


shell session and kubeconfig shell sessions are disconnected in a few minutes

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):
Create 1 node rke2 node driver all roles cluster

Execute the kubectl shell/ ssh shell of the node and perform no action in the shell for a few seconds

Result:
With in a few seconds the shell gets disconnected with no error messages in the console
Expected Result:
The shell should not get disconnected within a few seconds/minutes. it should stay active as long as the user closes it.
Other details that may be helpful:
While executing into ssh shell, seeing the following errors in the console:
ContainerShell.vue:123 Failed to fetch node undefined

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): master-head c1151f6
Installation option (single install/HA): Single

I am not seeing any disconnection after a few seconds in either of the Manager or Dashboard UIs.
I am seeing that the shell disconnects after 5 minutes of inactivity, regardless of whether I use the shell. After exactly 5 minutes of inactivity, the shell disconnects.
There is one caveat to this: if I focus on another window (like my IDE) and then go back to the shell (still without typing anything), the browser will send a message (4eyJXaWR0aCI6MjUwLCJIZWlnaHQiOjQ5fQ==) to the shell container in the cluster that will reset the timeout (see the messages in the screen capture below). If this is an issue that we should fix, it seems that the UI could send a ping message on the websocket every minute or so to keep the connection live.

We can mark as won't fix if everyone is ok with this behavior. Seems fine to me. I know some people like long running shells but not end of the world to just restart, and since it's a pod it eats up resources.

The 4ey… message is to resize the terminal (4 = "terminal operations" + base64({"Width":250,"Height":49} == 4ey…), which happens when you focus it.  Sending that as a "ping" is a little hacky but will work...

Verified on master-head 76b0695
Shell is not disconnected for both kubectl and shell for a long time.


CD to docker hub

Coverage remained the same at 98.895% when pulling 0a7df2d3ff9059d0c381b705287bfc14174583e3 on emosbaugh:master into 100e3583aaa3d588731c4ca271a63c592d67a505 on replicatedhq:master.

Coverage remained the same at 98.895% when pulling 3bcbe5cabd07db9953ddd2dcb90d26a618122e6b on emosbaugh:master into 100e3583aaa3d588731c4ca271a63c592d67a505 on replicatedhq:master.

Coverage remained the same at 98.895% when pulling 3bcbe5cabd07db9953ddd2dcb90d26a618122e6b on emosbaugh:master into 100e3583aaa3d588731c4ca271a63c592d67a505 on replicatedhq:master.

Coverage remained the same at 98.895% when pulling eccfbe57648b047baf53cfed1673f4b13fb8a9b1 on emosbaugh:master into 100e3583aaa3d588731c4ca271a63c592d67a505 on replicatedhq:master.

lgtm


4.x: HttpClient first URI segment is omitted if path starts with //

Environment Details

Helidon Version: 4.0.0-M1
Helidon SE

When the path of a URI starts with // the first segment is omitted.
E.g. http://localhost:8080//foo/bar will make a request to /bar !
This is awkward as it is common to have a trailing slash in a URI (E.g. http://localhost:8080/), resolving that URI without normalizing can lead to a path that starts with a double slash.
E.g.
String uri = "http://localhost:8080/"
String baseUri = uri + "/foo/bar";

URI uri = URI.create("http://localhost:8080/")
String baseUri1 = uri + "/foo/bar"; // bad
URI baseUri2 = uri.resolve("/foo/bar"); // good
String baseUri3 = uri.normalize() + "/foo/bar"; // good

Reproducer:
WebServer server = WebServer.builder()
        .routing(r -> r.any("/{+}", (req, res) -> res.send(req.requestedUri().path().toString())))
        .build()
        .start();
try {
    Http1Client client = Http1Client.create();
    String baseUri = "http://localhost:" + server.port();
    System.out.println(client.get(baseUri + "//foo/bar").request(String.class).entity());
    // prints /bar
    System.out.println(client.get(baseUri + "/foo/bar").request(String.class).entity());
    // prints /foo/bar
} finally {
    server.stop();
}

Note that I ran into this while writing a unit test that retrieved the URI for given socket:
@BeforeAll
static void init(@Socket("backend") URI uri) {
    // uri has a trailing /
}

We also need to support (from conversation with @romain-grecourt, and other expected cases):
WebClient.builder().baseUri("http://localhost:8080//foo/bar")
webclient.get()
 .uri("http://localhost//foo/bar")

This is only for the initial leading / being duplicated, do not fix anywhere else

@romain-grecourt @tomas-langer This is actually a server issue eg.: URI.create("//foo/bar").normalize().getPath() --> "/bar", do we also want to introduce URI normalization to the client?

Feels like a bug in the java.net.URI - JDK-8316799

Huh not really a JDK bug, TIL about net_path //foo is a net_path as defined by RFC 2396
absoluteURI = scheme ":" ( hier_part | opaque_part )
hier_part = ( net_path | abs_path ) [ "?" query ]
net_path = "//" authority [ abs_path ]
abs_path = "/" path_segments
opaque_part = uric_no_slash *uric
uric_no_slash = unreserved | escaped | ";" | "?" | ":" | "@" |"&" | "=" | "+" | "$" | ","


NoReferencedTableError with schema

Similar issues:

#512, here it's claimed the issue is fixed with #541
#172, looks similar but I'm unclear if it's actually the same problem

Traceback (most recent call last):
  File "app.py", line 63, in <module>
    db.create_all()
  File "/Users/halfdan/flsqla-schema/.venv/lib/python3.6/site-packages/flask_sqlalchemy/__init__.py", line 963, in create_all
    self._execute_for_all_tables(app, bind, 'create_all')
  File "/Users/halfdan/flsqla-schema/.venv/lib/python3.6/site-packages/flask_sqlalchemy/__init__.py", line 955, in _execute_for_all_tables
    op(bind=self.get_engine(app, bind), **extra)
  File "/Users/halfdan/flsqla-schema/.venv/lib/python3.6/site-packages/sqlalchemy/sql/schema.py", line 4005, in create_all
    tables=tables)
  File "/Users/halfdan/flsqla-schema/.venv/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1940, in _run_visitor
    conn._run_visitor(visitorcallable, element, **kwargs)
  File "/Users/halfdan/flsqla-schema/.venv/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1549, in _run_visitor
    **kwargs).traverse_single(element)
  File "/Users/halfdan/flsqla-schema/.venv/lib/python3.6/site-packages/sqlalchemy/sql/visitors.py", line 121, in traverse_single
    return meth(obj, **kw)
  File "/Users/halfdan/flsqla-schema/.venv/lib/python3.6/site-packages/sqlalchemy/sql/ddl.py", line 736, in visit_metadata
    [t for t in tables if self._can_create_table(t)])
  File "/Users/halfdan/flsqla-schema/.venv/lib/python3.6/site-packages/sqlalchemy/sql/ddl.py", line 1101, in sort_tables_and_constraints
    dependent_on = fkc.referred_table
  File "/Users/halfdan/flsqla-schema/.venv/lib/python3.6/site-packages/sqlalchemy/sql/schema.py", line 3003, in referred_table
    return self.elements[0].column.table
  File "/Users/halfdan/flsqla-schema/.venv/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 767, in __get__
    obj.__dict__[self.__name__] = result = self.fget(obj)
  File "/Users/halfdan/flsqla-schema/.venv/lib/python3.6/site-packages/sqlalchemy/sql/schema.py", line 1892, in column
    tablekey)
sqlalchemy.exc.NoReferencedTableError: Foreign key associated with column 'company_list_item.company_id' could not find table 'companies' with which to generate a foreign key to target column 'id'

Code that reproduces the error:

from flask import Flask
from sqlalchemy import (
    Column,
    Integer,
    Text,
    func,
    String,
    Boolean,
    DateTime,
    Date,
    TIMESTAMP,
    ForeignKey,
    or_,
    and_,
    UniqueConstraint,
)
from sqlalchemy.orm import relationship, backref
from sqlalchemy.sql import expression
from sqlalchemy.ext.declarative import AbstractConcreteBase
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config["SQLALCHEMY_DATABASE_URI"] = "postgresql://localhost/flsqla"
db = SQLAlchemy()

class List(db.Model):
    __tablename__ = "lists"
    __table_args__ = {"schema": "public"}

    id = Column(Integer, primary_key=True)
    label = Column(String(50), nullable=False)
    items = relationship("ListItem", back_populates="llist")

class Company(db.Model):
    __tablename__ = "companies"
    __table_args__ = {"schema": "public"}

    id = Column(Integer, primary_key=True)
    label = Column(String(50), nullable=False)
    tracked = Column(Boolean, server_default=expression.true(), nullable=False)

class ListItem(db.Model):
    __abstract__ = True
    id = Column(Integer, primary_key=True)

class CompanyListItem(ListItem):
    __tablename__ = "company_list_item"
    __table_args__ = {"schema": "public"}

    company_id = Column(ForeignKey("companies.id", deferrable=True, initially="DEFERRED"), nullable=False)
    company = relationship("Company", primaryjoin="CompanyListItem.company_id == Company.id")

    __mapper_args__ = {"polymorphic_identity": "company_item", "concrete": True}

with app.app_context():
    db.init_app(app)
    db.create_all()

Removing the table args fixes the problem but it's clearly a bug that even though all models live in the same schema it can't resolve the foreign keys.

h

Closing, I'm assuming it was solved by specifying the schema in the foreign key.


List of known Apps / UI clients addition

Hi,
First off thanks so much to you all for building this API. Such an amazing and in depth resource!
I built a web app using this API and wanted to let you know so it can be added to the list of known apps.
Live site: https://spacex-project.netlify.app/
Github: https://github.com/tipenehughes/space-x-app)
If you have any questions or concerns, feel free to reach out.
Thanks!

Best way is to open a PR with the addition here, thanks!

Best way is to open a PR with the addition here, thanks!


Swap LCD to use second SPI bus, correct color order, fix offset, fix rotation

Use the second hardware SPI port for the built in display, keeping the default port free for use on the expansion port.  This allows the AtomS3 module to be used with AtomPOE base and the default Arduino ethernet library.
Swap color order from RGB to BGR to match the LCD used.
Correct a +2,+1 offset between the display space and the LCD itself, which led to clipping and inaccessible pixels.
Fix the "inverted" rotation positions.

Worth noting that this has been confirmed as a fix to https://github.com/m5stack/M5AtomS3/issues/16


Speckle Mapper add dedicated UI Button & next chores

Need to:
[ ] add a dedicated button on the ribbon
[ ] deprecate/remove the Rhino BIM buttons (maybe we keep them for a while with a link to Mapper docs)
[ ] update the docs (by also deprecating Rhino BIM in there)

Should we do this before the mapper reaches feature parity with the toolbar? Not sure if it currently supports:

[ ] deleting added schemas
[ ] automatically assigning schemas to all selected objs


Invalid PDF structure with pdfjs but open perfectly with chrome.

Attach (recommended) or Link to PDF file here:
https://pdf.cdn.readpaper.com/userUpload/2022-12-15/1530240274458050305/9562d027b980ea2779dcfb1669f9cf7e.pdf
Configuration:

Web browser and its version: Google Chrome v108.0.5359.124 (official) arm64
Operating system and its version: macOS Monterey v12.6
PDF.js version: v3.2.88 (https://mozilla.github.io/pdf.js/web/viewer.html)
Is a browser extension: no

Steps to reproduce the problem:

open https://mozilla.github.io/pdf.js/web/viewer.html and select PDF.

What is the expected behavior? (add screenshot)
open with chrome directly.

What went wrong? (add screenshot)
Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

Even Adobe Reader, i.e. the PDF reference implementation, refuses to open that document hence it's really corrupt (and not really our "fault").

I can see a potential solution, with the caveat that I've not run any tests...


Make use of API gateway native Swagger import

Now that AWS supports importing a Swagger template directly, we no longer need the horror of the Docker container with the maven goo.
Remove the maven goo and the dockerness and use awscli to create the API.

Actually, making it pure cloudformation would be "better" (for certain values of "better")


unable to add authorization header in Link

1)i have created one class which extends the Link
2)when my token is valid i have concat my customLink class with HttpLink(where i have set the uri and my header)
3)now while executing the request my server throws error of unAuthentication(token expired)
4)i have successfully refreshed my token
5)i want my current request(step3) to be executed with new token
6)for that i have to set my headers in my customLink class
i have tried below code
request.context.updateEntry((_)=>HttpLinkHeaders(headers: <String, String>{
              'Authorization': "Bearer ${new-token}"
            }));

Any help or guidance will be appreciated..thanks in advance

Hey @naikdp7!
Artemis currently uses gql's Link as its underlining client mechanism. If you're changing/chaining new Links at runtime, you need to reinstantiate ArtemisClient.fromLink.

Somewhat related to #73. This comment specifically.

  ArtemisClient client({required FirebaseAuth firebaseAuth}) =>
      ArtemisClient.fromLink(
        AuthLink(
          getToken: () async {
            final token = await firebaseAuth.currentUser?.getIdToken();
            return token;
          },
        ).concat(
          HttpLink(...),
        ),
      );

@naikdp7 do you still have issues with that?


DESCRIPTION file changes

could use a few fixes:

Maybe replace Repository with URL and BugReports - also, repo is listed as lawinslow/sbtools instead of USGS-R/sbtools
To make CRAN humans happy:

Title field needs to be sentence
Description field likely needs to be a bit longer, including URL for sciencebase, and description of what Sciencebase is.

I can send a PR if you want...

yeah, please do!