Calling all_tags() causes a PG column casting error.

Spotlight::Exhibit.all_tags
  ActsAsTaggableOn::Tag Load (1.3ms)  SELECT  tags.* FROM "tags" JOIN (SELECT taggings.tag_id FROM "taggings" WHERE (taggings.taggable_type = 'Spotlight::Exhibit') AND (taggings.taggable_id IN(SELECT spotlight_exhibits.id FROM "spotlight_exhibits")) GROUP BY taggings.tag_id) AS taggings ON taggings.tag_id = tags.id LIMIT $1  [["LIMIT", 11]]
ActiveRecord::StatementInvalid: PG::UndefinedFunction: ERROR:  operator does not exist: character varying = integer
LINE 1: ...= 'Spotlight::Exhibit') AND (taggings.taggable_id IN(SELECT ...
                                                             ^
HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.
: SELECT  tags.* FROM "tags" JOIN (SELECT taggings.tag_id FROM "taggings" WHERE (taggings.taggable_type = 'Spotlight::Exhibit') AND (taggings.taggable_id IN(SELECT spotlight_exhibits.id FROM "spotlight_exhibits")) GROUP BY taggings.tag_id) AS taggings ON taggings.tag_id = tags.id LIMIT $1

I suspect the problem here is that taggings.taggable_id is a string where spotlight_exhibits.id is an integer.
Using Rails 5.1.3

I think this is related to https://github.com/rails/rails/issues/23422 I've got string identifiers and this is building SQL for integer identifiers.


Syncing "Race Condition"

If passwords get synced before the metadata or metadata before passwords, the app will at current crash because the list lengths don't match.
This case should be handled by gracefully not showing incomplete codes. The code list should regularly be updated to ensure that data syncs while the app is running on multiple devices.

Honestly not sure if this is a thing. It looks like passwords get synced with the other roaming settings all at once. I'll do my best to test it, but otherwise will close it for now.

Code are all synced at once it seems. Closing, will re-open if proven otherwise.


Use CSS for colors of VWordPress and VHomeLink

Fixes

Fixes #4998 by @obulat
Description

This PR adds CSS variables for the contrasting text color and for the focus ring color so that the logo elements (VWordPressLink and VHomeLink) do not use JS to determine colors, even when the colors don't match the current color mode (i.e., on the pages modal, which has black background both in the dark and in the light themes).
To prevent some of the focus styles overriding each other, I changed focus-slim-tx class to only apply on focus-visible. Otherwise, it changes the ring color not only for the element in question, but for child elements, and sometimes is difficult to override.
Testing Instructions

Run the app using ov just frontend/run dev
Open http://localhost:8443 in a narrow window, and click on the menu button in the top right corner. Use the keyboard to navigate though the contents. The focus rings should be yellow, in dark and in light themes. The WordPress and Openverse links should have correct colors.
Checklist

[ ] My pull request has a descriptive title (not a vague title likeUpdate index.md).
[ ] My pull request targets the default branch of the repository (main) or a parent feature branch.
[ ] My commit messages follow best practices.
[ ] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[ ] I tried running the project locally and verified that there are no visible errors.
[ ] I ran the DAG documentation generator (ov just catalog/generate-docs for catalog
PRs) or the media properties generator (ov just catalog/generate-docs media-props
for the catalog or ov just api/generate-docs for the API) where applicable.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

Drafting until questions can be addressed.

When I run this locally, it looks like the WordPress, Openverse, and Exit buttons on the menu are all either pink on light mode, or yellow on dark mode. Is that what's expected? Between my local copy and staging, the only difference I can tell is that the WordPress logo goes from yellow on light mode to pink on light mode.

The focus rings are expected to be yellow on the dark background, and pink on the light background.
In the menu modal that has black background, the focus ring should always be yellow, both in the dark and in the light theme.

The background shoud not change on hover (it does in production in the dark theme currently)

On light mode, I'm still seeing the Openverse logo, X, and WP logo at the bottom highlighted in purple within the modal menu 😕 It does change to yellow in dark mode, though.


Fix code that would othwerwise use unititialized variables

(cppcheck emits "uninitialized variable" warning for this).

fixed in 3a3cb629d9ef66639198f6130f58e30f0606adc8 back in August.


Add "replace all" button when doing find and replace

For #11126.
cc: @ficristo

LGTM, thank you.

Great job @amrelnaggar!


Build issue with vue-cli & webpack

Hi, I'm trying to use this package with an older vue app, which I'm trying to migrate from vue 2 to vue 3, while sticking to vue-cli + webpack due to legacy code.
For some reason, the vue-cli can't process the js files of this package which are esm modules:
 ERROR  Failed to compile with 1 error
 error  in ./node_modules/vuex-facing-decorator/dist/esm/index.js

Module parse failed: 'import' and 'export' may appear only with 'sourceType: module' (1:0)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
> import { BindProperty } from './const';

My understanding is that vue-cli should distinguish esm module even in the js file, but it is not the case.
Any suggestions would be highly appreciated.
Thanks!

The package. json version v1.0.3 has removed type=commonjs. You can try this version.
Here are my suggestions:

Using<EMAIL_ADDRESS>Version;
Using typescript@5 Version;
Check if the type configuration item of your project's package.json is correct;
Check if the module configuration item for tsconfig.json in your project is correct.

Thanks a lot! 1.0.3 builds without problems


Update SDK to OpenAPI spec + Fix tests

Changes

SDK generation and fixing tests by passing a request when calling ListAll method
Tests

Successfully generated + Integration tests are running...

[ ] make test passing
[ ] make fmt applied
[ ] relevant integration tests applied

Codecov Report
Attention: 78 lines in your changes are missing coverage. Please review.

Comparison is base (b3cdc97) 17.92% compared to head (f1af595) 17.89%.

Files
Patch %
Lines

service/catalog/api.go
0.00%
35 Missing :warning:

service/catalog/model.go
0.00%
16 Missing :warning:

experimental/mocks/mock_workspace_client.go
20.00%
12 Missing :warning:

service/settings/api.go
0.00%
6 Missing :warning:

service/settings/impl.go
0.00%
3 Missing :warning:

service/catalog/impl.go
0.00%
2 Missing :warning:

service/iam/model.go
0.00%
2 Missing :warning:

service/sql/model.go
0.00%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #755      +/-   ##
==========================================
- Coverage   17.92%   17.89%   -0.04%
==========================================
  Files         108      108
  Lines       14646    14695      +49
==========================================
+ Hits         2626     2629       +3
- Misses      11808    11854      +46
  Partials      212      212

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


latest docker image "teslamate/teslamate:edge" does not start on Raspi4

With the current docker image teslamate/teslamate:edge I am seeing the following errors on startup on my Raspi4:
teslamate_1          | Error relocating /opt/app/erts-11.1.7/bin/beam.smp: __gmtime64_r: symbol not found
teslamate_1          | Error relocating /opt/app/erts-11.1.7/bin/beam.smp: __mktime64: symbol not found
teslamate_1          | Error relocating /opt/app/erts-11.1.7/bin/beam.smp: __select_time64: symbol not found
teslamate_1          | Error relocating /opt/app/erts-11.1.7/bin/beam.smp: __clock_getres_time64: symbol not found
teslamate_1          | Error relocating /opt/app/erts-11.1.7/bin/beam.smp: __utime64: symbol not found
teslamate_1          | Error relocating /opt/app/erts-11.1.7/bin/beam.smp: __fstat_time64: symbol not found
teslamate_1          | Error relocating /opt/app/erts-11.1.7/bin/beam.smp: __ppoll_time64: symbol not found
teslamate_1          | Error relocating /opt/app/erts-11.1.7/bin/beam.smp: __getrusage_time64: symbol not found
teslamate_1          | Error relocating /opt/app/erts-11.1.7/bin/beam.smp: __clock_gettime64: symbol not found
teslamate_1          | Error relocating /opt/app/erts-11.1.7/bin/beam.smp: __localtime64_r: symbol not found
teslamate_1          | Error relocating /opt/app/erts-11.1.7/bin/beam.smp: __stat_time64: symbol not found
teslamate_1          | Error relocating /opt/app/erts-11.1.7/bin/beam.smp: __timerfd_settime64: symbol not found
teslamate_1          | Error relocating /opt/app/erts-11.1.7/bin/beam.smp: __time64: symbol not found
teslamate_1          | Error relocating /opt/app/erts-11.1.7/bin/beam.smp: __gettimeofday_time64: symbol not found
teslamate_1          | Error relocating /opt/app/erts-11.1.7/bin/beam.smp: __lstat_time64: symbol not found
teslamate_1          | Error relocating /opt/app/erts-11.1.7/bin/beam.smp: __dlsym_time64: symbol not found
teslamate_1          | Error relocating /opt/app/erts-11.1.7/bin/beam.smp: __ctime64: symbol not found

Environment

TeslaMate version: teslamate:edge
Type of installation: Docker
OS TeslaMate is installed on: 2021-01-30 20:20:00 CET
User OS & Browser: Raspberry 4

Can you check again if this is still the case with the latest version? (docker-compose pull)

Can you check again if this is still the case with the latest version? (docker-compose pull)

still not working:
$ docker inspect teslamate/teslamate:edge
[
    {
        "Id": "sha256:e41586277e30ee443eee5b7c43442702b10491f6267e5bade713be488e17a7ed",
        "RepoTags": [
            "teslamate/teslamate:edge"
        ],
        "RepoDigests": [
            "teslamate/teslamate@sha256:b2064a7d2e02248b709cd4b5cba4b08a3a386e95fc4c88cea0e739ac7eebaca1"
        ],
        "Parent": "",
        "Comment": "buildkit.dockerfile.v0",
        "Created": "2021-01-30T19:33:40.272317128Z",
...

still not working:
$ docker inspect teslamate/teslamate:edge
[
    {
        "Id": "sha256:e41586277e30ee443eee5b7c43442702b10491f6267e5bade713be488e17a7ed",
        "RepoTags": [
            "teslamate/teslamate:edge"
        ],
        "RepoDigests": [
            "teslamate/teslamate@sha256:b2064a7d2e02248b709cd4b5cba4b08a3a386e95fc4c88cea0e739ac7eebaca1"
        ],
        "Parent": "",
        "Comment": "buildkit.dockerfile.v0",
        "Created": "2021-01-30T19:33:40.272317128Z",
...

Just went to upgrade and am now getting these same errors.  Same install/setup as Kosta.

Just went to upgrade and am now getting these same errors.  Same install/setup as Kosta.

Same here on RPI3+ and teslamate:edge

Same here on RPI3+ and teslamate:edge

I was also able to reproduce it on a Raspberry Pi 3 Model B. The problem is caused by the latest Alpine version:

Therefore, the following platforms are not suitable as Docker hosts for 32-bit Alpine Linux 3.13.0, due to containing out-of-date libseccomp: Amazon Linux 1 or 2, CentOS 7 or 8, Debian stable without debian-backports, Raspbian stable, Ubuntu 14.04 or earlier, and Windows. This applies regardless of whether the Linux distribution Docker packages or separate Docker package repositories are used.

Source: https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.13.0
I've updated the Dockerfile to use Debian as a base iamge. The resulting image is unfortunately much larger than the one based on Alpine. But there is currently no alternative afaik.

I was also able to reproduce it on a Raspberry Pi 3 Model B. The problem is caused by the latest Alpine version:

Therefore, the following platforms are not suitable as Docker hosts for 32-bit Alpine Linux 3.13.0, due to containing out-of-date libseccomp: Amazon Linux 1 or 2, CentOS 7 or 8, Debian stable without debian-backports, Raspbian stable, Ubuntu 14.04 or earlier, and Windows. This applies regardless of whether the Linux distribution Docker packages or separate Docker package repositories are used.

Source: https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.13.0
I've updated the Dockerfile to use Debian as a base iamge. The resulting image is unfortunately much larger than the one based on Alpine. But there is currently no alternative afaik.

teslamate:edge is now working for me!

teslamate:edge is now working for me!

What about staying with alpine 3.12.x?

What about staying with alpine 3.12.x?

The official erlang/Elixir images are based on v3.13. And unofficial images are not available for all architectures. So in the end we would have to compile everything ourselves to stay on v3.12. That doesn't seem like a long-term solution to me.

The official erlang/Elixir images are based on v3.13. And unofficial images are not available for all architectures. So in the end we would have to compile everything ourselves to stay on v3.12. That doesn't seem like a long-term solution to me.

works for me as well again! 👍


Create separate page for EVENTS description

@jknodlseder - How does this PR relate to #39?
Is one of them a duplicate of the other?
If no, which one should be reviewed and merged first?

You can discard this request, #39 includes the reformating.


Data race in RawIter::next

I have a program where one thread iterates through thread-locals and another thread calls get_or_default(). Running under Miri results in:
error: Undefined Behavior: Data race detected between Atomic Load on Thread(id = 0, name = "main") and Write on Thread(id = 1) at alloc378305+0x30 (current vector clock = VClock([44]), conflicting timestamp = VClock([0, 26]))
    --> /home/ibraheem/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/sync/atomic.rs:2363:24
     |
2363 |             Acquire => intrinsics::atomic_load_acq(dst),
     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Data race detected between Atomic Load on Thread(id = 0, name = "main") and Write on Thread(id = 1) at alloc378305+0x30 (current vector clock = VClock([44]), conflicting timestamp = VClock([0, 26]))
     |
     = help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior
     = help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information

     = note: inside `std::sync::atomic::atomic_load::<u8>` at /home/ibraheem/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/sync/atomic.rs:2363:24
     = note: inside `std::sync::atomic::AtomicBool::load` at /home/ibraheem/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/sync/atomic.rs:385:18
     = note: inside `thread_local::RawIter::next::<crystalline::raw::Slots<3_usize>>` at /home/ibraheem/.cargo/registry/src/github.com-1ecc6299db9ec823/thread_local-1.1.3/src/lib.rs:387:24

It looks like the issue is here. I don't have a minimal reproduction right now, but I'll see if I can make one.

Does changing line 381 to use Ordering::Acquire fix the problem?

It does. I'll open a PR with the fix, thanks for the quick response!


Compatibility of Using the pymupdf4llm Library with the Apache License in AI-Scientist

The library "pymupdf4llm" seems to be under the GPL-3.0 license. Is it acceptable to use it under the Apache license in AI-Scientist?
https://pypi.org/project/pymupdf4llm/

We will investigate the license here, thanks for bringing it to our attention! :)


Add check for presence of a translation

Current behavior
There is no way to be certain about the existence of a translation for a specific key. The best thing I can do is checking if the translation is the same as the given key:
if (this.translate.instant(myKey) === myKey) { ... }
However, besides not being pretty, this cannot detect the case when the translation really is the same as the key.
Expected behavior
It would be nice to have a safe and concise test for the presence of a translation.
How do you think that we should implement this?
if(this.translate.hasTranslation(key)) { ... }
Nice bonus: Give it an optional argument for testing another language instead of the current:
hasTranslation(translationKey: string, language?: string): boolean

Another nice feature would be not triggering the "MissingTranslationsHandler" when calling this method you suggested.
 That's some kind of dirty for me :(

Hey, I wrote a Visual Studio Code Extension that shows translations inline in the codebase. Maybe this can help during development as you can see if a certain identifier has a corresponding translation in a .json file.
https://marketplace.visualstudio.com/items?itemName=chr33z.lingua-vscode

You can easily check with:
import { TranslateService } from '@ngx-translate/core';

constructor(private translateService: TranslateService) { }

public hasTranslation(translationKey: string, language?: string): boolean {
  const translations = this.translateService.translations[language || this.translateService.currentLang];
  return translations[translationKey] !== undefined;
}

A slightly improved version of @spixy where you can reference deep keys via dot notation eg. VERY.DEEP.TRANSLATION
import { TranslateService } from '@ngx-translate/core';

constructor(private translateService: TranslateService) { }

public hasTranslation(translationKey: string, language?: string): boolean {
        const translation: object | string = this.translateService.translations[language || this.translateService.currentLang];
        const value = key
            .split('.')
            .reduce((t, k) => t[k] || {}, translation || {});
        return value !== undefined;
}

@M4tiz there are some errors there and i'm able to reference deep keys with @spixy code

this version of @M4tiz code snippet worked for me:
import { TranslateService } from '@ngx-translate/core';

constructor(private translateService: TranslateService) { }

public hasTranslation(translationKey: string, language?: string): boolean {
        const translation: object | string = this.translateService.translations[language || this.translate.currentLang];
        const value = translationKey
                .split('.')
                .reduce((translation, k) => translation && translation[k], translation);
        return value !== undefined;
}

Another way to do it:
import { TranslateService } from '@ngx-translate/core';

constructor(private translate: TranslateService) { }

public hasTranslation(translationKey: string): boolean {
    let isTranslated: boolean = true;
    if (this.translate.instant(translationKey) == translationKey){
      isTranslated = false;
    }
    return isTranslated;
  }

Another way to do it:
import { TranslateService } from '@ngx-translate/core';

constructor(private translate: TranslateService) { }

public hasTranslation(translationKey: string): boolean {
    let isTranslated: boolean = true;
    if (this.translate.instant(translationKey) == translationKey){
      isTranslated = false;
    }
    return isTranslated;
  }

does not take into consideration the case when the translation is actually the key, like "OK": "OK"

@M4tiz Snippet didn't work for me because value can be an empty object after the reduction. I fixed it like this if this can help someone
import { TranslateService } from '@ngx-translate/core';

constructor(private translateService: TranslateService) { }

public hasTranslation(translationKey: string, language?: string): boolean {
        const translation: object | string = this.translateService.translations[language || this.translateService.currentLang];
        const value = key
            .split('.')
            .reduce((t, k) => t[k] || {}, translation || {});
        return typeof value === 'string';
}


Update the provider and consumer umbrella components to R24.08

Description
Update the provider and consumer umbrella products
Acceptance Criteria

[x] #133
[ ] Update Digital Twin Registry to R24.08 (0.5.2)

Additional Information

dtr done https://github.com/eclipse-tractusx/tractus-x-umbrella/pull/149


Masks are not working on Chrome Version 40.0.2214.93

I haven't tested the mask property on older versions of Chrome but it doesn't work on the latest release 40.0.2214.93. It works on Safari 8.0.2 though.

Can you provide a sample? I am using the same version (Mac OS X) and this demo works fine: http://createjs.com/demos/easeljs/Masks.html

Sorry my bad, it works.
It requires a server to work properly on Chrome.

Masks themselves do not, but if other operations taint the canvas, then it might fail. Thanks for following up.


perf(cuboid-tool): Opitimize the code of rendering Cuboid

:tada: This PR is included in version 1.14.0-alpha.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:


Support for graphfetch servicestore cache

What type of PR is this?

What does this PR do / why is it needed ?

Which issue(s) this PR fixes:

Fixes #
Other notes for reviewers:
Does this PR introduce a user-facing change?

/easycla

/easycla

/easycla

/easycla

/easycla


Use the correct activity for the launcher activity

I created an issue for this here: #30.
For the project Android-CleanArchitecture the launcher activity is not the activity that is launched when running the command:
dryrun https://github.com/android10/Android-CleanArchitecture -m presentation
It seems like using xpath("//activity") gets all the activities in the file and last returns us the last one.
The fix in this PR addresses the issue, but please review as I'm not familiar with xpath and don't know if that xpath("//activity") is necessary.
This fix allows dryrun to successfully launch the project above.

Hey Dvoiss,
Had the same issue yesterday with this repository as well
dryrun https://github.com/javiersantos/MaterialStyledDialogs
It works great now, thanks for the PR mate 👍


Multiple SortDescriptors sorting got slow with newer Realm versions

Goals
Sorted Results using SortDescriptors like this should be as fast as in the past (like in v3.19.0):
let sortedModels = realm.objects(Model.self)
    .sorted(by: [
        SortDescriptor(keyPath: "b", ascending: false), //Property `b` of type `Bool` (`false` on all objects)
        SortDescriptor(keyPath: "id", ascending: false)
    ])

Expected Results
Switching from Realm 3.19.0 to 10.1.4 sorted results should be equally performant as with the version switched from.
Actual Results
The performance of these sorted results dropped by a factor of 2 minimum.
Steps for others to Reproduce
Please follow the steps provided in the code sample repository.
But in a nutshell I will give you the TLDR; version here:
Having

an encrypted Realm,
an entity with 2 specific fields (String (UUID) and Bool (all false!) in this case - but could be others),
having a lot of objects with this one entity (1_000_000 in this case),
then sorting using SortDescriptors, first by the Bool property, then by the String property

is giving you a 2x performance drop on >= 10.1.4 compared to 3.19.0.
(Sidenote: Removing the first sort descriptor makes the sorting faster from 3.19.0 to 10.1.4)
Here is most of the code from the sample project. It is meant for discussion here.
Please use the sample project together with Instruments (and signposts) to see the time spent executing the sorted query by yourself.
If have included a detailed test description as well as a detailed problem description in the README.md file there.
The model should look like this:
open class Model: Object {
    @objc open dynamic var id = UUID().uuidString
    @objc open dynamic var b: Bool = false

    open override class func indexedProperties() -> [String] {
        return ["id"]
    }
}

The requirements for the model properties are quite strechy, you basically could use any property types there, as long as it is given that one property's value largely is the same on all objects of the to-be-sorted Results.
Connection to the database could look like this:
func appMigration(_ migration: Migration, oldSchemaVersion: UInt64) {

}

let dbName = "database.realm"
let documents = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
let dbURL = (try! FileManager.default.url(for: .itemReplacementDirectory, in: .userDomainMask, appropriateFor: documents, create: true)).appendingPathComponent("database.realm")
let encryptionKey: Data = {
    return Data(repeating: 7, count: 64)
}()

var config: Realm.Configuration {
    print("dbURL \(dbURL)")
    return .init(fileURL: dbURL, encryptionKey: encryptionKey, schemaVersion: 1, migrationBlock: appMigration, shouldCompactOnLaunch: { (Double($1) / Double($0)) < 0.5 })
}

let realm: Realm = {
    return try! Realm(configuration: config)
}()

Generating data should look like this:
func generateData() {
    let r = realm

    try! r.write {
        r.deleteAll()

        for _ in 0..<1_000_000 {
            let m = Model()
            r.add(m)
        }
    }
}

Executing the query should look like this:
func fetchResults() {
    let r = realm //Realm getter for the realm on disk - needs to be encrypted
    let txs = r.objects(Model.self)
        .sorted(by: [
            SortDescriptor(keyPath: "b", ascending: false), //This line
            SortDescriptor(keyPath: "id", ascending: false) //along with this line in that combination
                                                            //is causing performance issues
                                                            //when most `b` values are equal
        ])
    for _ in 0...10 {
        _ = txs.randomElement()
    }
}

Code Sample
https://github.com/Fab1n/realm-encrypted-sort-performance
Referenced Issues:
These issues are interesting for the topic of sorting, but may not directly be connected to this issue.
https://github.com/realm/realm-cocoa/issues/6786
https://github.com/realm/realm-cocoa/issues/4089
Version of Realm and Tooling
ProductName:	macOS
ProductVersion:	11.1
BuildVersion:	20C69

/Applications/Xcode.app/Contents/Developer
Xcode 12.3
Build version 12C33

/usr/local/lib/ruby/gems/3.0.0/bin/pod
1.10.0

Realm versions used here 3.19.0, 10.1.4 and 10.5.1

/bin/bash
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin20)

carthage not found
(not in use here)

/usr/local/bin/git
git version 2.30.0

iOS/OSX version: iOS Simulator 14.3 iPhone 12 Pro / macOS 11.1

@Fab1n Thanks for providing us with the above information and sample app. I've ran the two versions through time profiler and sent the findings onto the team.

I can confirm there is some unexpected kind of interaction between the sorting and the encryption layer, not seen before Core6.

Thanks @finnschiermer and @leemaguire for your help and confirmation.
Please keep me on track with any fixes in Core or Realm regarding this issue as well as any more findings.

I will have a look at this.

Was not able to spot the main cause for this degradation. But I can see that the new design takes a hit when encryption is on -  this does not happen so much in the old design.


Allow passing in array of bad strings to remove from uglied classes

.rp__asdf1234  uses the .rp__ prefix, followed by a Base 36 encoded number that starts at 0 and increments. This means that "bad words" can be found in class names. If people are running a website/app aimed at children, religious, political, etc audiences, they may not want bad words in their production builds.
Though the more words passed in, the slower a build could potentially be if it hits a large number that starts with that word. But that's up to them, as they are the ones passing in the array of strings.

Blocked by #5

Moved to:

https://github.com/red-perfume/red-perfume-css/issues/3


Add Image Resizer

Image Resizer
Lets you resize images by right-clicking.

Thanks for the recommendation, if you would like it to be added to the list, please create an Pull Request Instead. Thanks for Understanding!

Thanks for the suggestion, but:

It's your list, not mine.
I'm not currently setup to do GitHub Pull Requests, which is too much hassle just for this.
Since you've not that interested in adding it, I'll just write it off as a waste of my time.

https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request

As I said, that's too much hassle.


Entry criteria and enrolment is defined on the website with form linked

@AmyCYF , not sure what this is. I would never add the link to the website, otherwise we'll have thousands of random people signing the ITP enrolment.


Additional device support plus fixes

Added support for Quirky Aros AC units
Added support for Quirky refuel propane tank monitor
Added support for dropcam sensors
Fixed support for the Leaksmart valve (binary switch that reports 'opened' and not 'powered')
Created base smoke detector object to inherit from and added test_activated

Coverage increased (+0.3%) to 94.34% when pulling 3c491c717080cf22824d7ac20bce1454ab40c73d on w1ll1am23:additional_device_support into a2130efa83aa37e41fba2358a2ad9a7be2caf2f8 on python-wink:master.

Coverage increased (+0.3%) to 94.34% when pulling df902d5cda442b539d459e89435993d0b035a823 on w1ll1am23:additional_device_support into a2130efa83aa37e41fba2358a2ad9a7be2caf2f8 on python-wink:master.

Coverage increased (+0.3%) to 94.34% when pulling 052cf92c278f30e08c217b2c8a8f4008f6fd6d7a on w1ll1am23:additional_device_support into a2130efa83aa37e41fba2358a2ad9a7be2caf2f8 on python-wink:master.

@bradsk88 Not sure what is going on with tarvis, but it is complaining about six not being installed. Can you take a look when you get a chance?

Why is six a dependency now?

No idea, one of the other dependencies must want it for some reason. Not sure why adding it to the before_install didn't fix it though.

six is notoriously difficult to get working across platforms.
I'll take a look.
You can go ahead and remove it from the deps here for now.  I'll try to remove the need for it.

Looks like python-coveralls has a dependency for six, but it hasn't been updated since last year. Maybe something changed in the server?

I think it's actually that and setuptools
https://github.com/pypa/setuptools/issues/945

@w1ll1am23 you can go ahead and merge or rebase master into your branch.  It should be fixed now.
When you merge this PR, please use the "Squash and Merge" feature in github to keep the master branch history concise.

Can't get these tests to run for some reason, going to close this an re-open.

Coverage increased (+0.3%) to 94.34% when pulling 83106c3d4b693af2c4206eca80b6d2a678ca4396 on w1ll1am23:additional_device_support into 05175b24b56afc86dc5fa69afaad69c80d0a8546 on python-wink:master.

Coverage increased (+0.3%) to 94.34% when pulling 83106c3d4b693af2c4206eca80b6d2a678ca4396 on w1ll1am23:additional_device_support into 05175b24b56afc86dc5fa69afaad69c80d0a8546 on python-wink:master.

Coverage increased (+0.3%) to 94.34% when pulling 1fd435c44f7abf2c083ba96cd3d80da5aa14d556 on w1ll1am23:additional_device_support into 05175b24b56afc86dc5fa69afaad69c80d0a8546 on python-wink:master.


AMBARI-23294: Ambari files view throws 500 ERROR while trying to upload/download to/from HDFS encrypted zone (nitirajrathore)

What changes were proposed in this pull request?
After minor code modification below is what happens.

User will always be able to list files inside the encrypted zone whether he/she has permission on it or not.
User will be able to preview and download the file if he/she has encrypted key permission on the folder transparently.
If user does not have encrypted zone key permission and he tries to see content he will get a pop up with error and on error details page he will see complete error message from HDFS

How was this patch tested?
Manual testing was done in files view and cross checked behaviour against the output of HDFS cli.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/1247/
Test PASSed.


Why is get_field_value an @abstractmethod of PydanticBaseSettingsSource?

Sorry for opening this as an issue. It is more a question or a discussion.
I implement some custom sources for my settings object and with pydantic-settings v2 I have to implement get_field_value.
This method it is never used because my class inherits from PydanticBaseSettingsSource, but the get_field_value method is only called from PydanticBaseEnvSettingsSource (note the additional Env). The InitSettingsSource has even a comment in its version of this method, stating it is only there to make mypy happy.
I started implementing my custom source like this now, so i at lease notice when suddenly this method is used in a new version.
class CustomConfigIniSettingsSource(PydanticBaseSettingsSource):

    def get_field_value(
        self,
        field: FieldInfo,
        field_name: str,
    ) -> tuple[Any, str, bool]:
        raise NotImplementedError

    def __call__(self) -> dict[str, Any]:
        ...
        return settings

… but my impression is, it should be an @abstractmethod of PydanticBaseEnvSettingsSource actually.
Selected Assignee: @samuelcolvin

@fnep No worries.
Yeah, get_field_value and __call__ are abstractmethod. It means each source have to implement them(that's why you see InitSettingsSource.get_field_value does nothing.

This method it is never used because my class inherits from PydanticBaseSettingsSource, but the get_field_value method is only called from PydanticBaseEnvSettingsSource

It's never used in PydanticBaseSettingsSource because this method usually will be called in __call__. and as __call__ is an abstractmethod every source has to implement __call__. the source itself can decide whether to call the get_field_value(InitSettingsSource does not call it but PydanticBaseEnvSettingsSource does).
In general, I would suggest inheriting one of our existing sources for a custom source class. you still can inherit PydanticBaseSettingsSource but you have to implement more details.

It's never used in PydanticBaseSettingsSource because this method usually will be called in call. and as call is an abstractmethod every source has to implement call. the source itself can decide whether to call the get_field_value(InitSettingsSource does not call it but PydanticBaseEnvSettingsSource does).

That's exactly my point. It is a method particular to the implementation of PydanticBaseEnvSettingsSource and not to PydanticBaseSettingsSource. The requirement to implement this function is from my understanding on the wrong class. The __call__ method is the only protocol relevant requirement.

PydanticBaseEnvSettingsSource is not an abstract class. it is a base class for other environment variables related sources.
So, if somebody wants to implement a custom source related to envs, they can use PydanticBaseEnvSettingsSource. but in general, for having a custom source class we need to inherit from PydanticBaseSettingsSource. Consider a custom source that loads values from the network, then it needs get_field_value I think.

Consider a custom source that loads values from the network, then it needs get_field_value I think.
In such a case, it also had to implement the call to get_field_value or inherit from PydanticBaseEnvSettingsSource if all the type conversion logic is needed.

PydanticBaseEnvSettingsSource is not an abstract class.
Maybe this is the issue. Is there a good reason why this is not an ABC? It cannot be instantiated without inheriting from it and implementing get_field_value … because this is abstract.

Agree that the implementation of PydanticBaseSettingsSource and source classes are not perfect.
We had the limitation of time and tried to be compatible as much as possible with Pydantic V1.
We are open for improvement. but we need to consider our users to do not break the library(except in major releases)
I may try to improve it later.
BTW, Thanks for your investigation

I may try to improve it later.

Cool! 🚀
I think this should be non-breaking in this case because the PydanticBaseEnvSettingsSource is not usable without inheriting from it anyway. :)

AFAICT, all of the methods of PydanticBaseSettingsSource besides __init__ and __call__ could simply be moved down to PydanticBaseEnvSettingsSource.
Everything would still be happy, because the PydanticBaseSettingsSource seems to really only need to be callable:

get_field_value is only used within PydanticBaseEnvSettingsSource (+ subclasses)
prepare_field_value is only used within PydanticBaseEnvSettingsSource (+ subclasses)
field_is_complex is only needed by prepare_field_value
The get_field_value implementation in InitSettingsSource exists only because the base has it as abstract

It's not clear why any of these would need to be in PydanticBaseSettingsSource since the only context where they make any sense seems to be within PydanticBaseEnvSettingsSource.
Relatedly, I suspect it's why the JsonConfigSettingsSource
example ends up being as perplexingly complicated as it is. Perspective of a new user:
Q: "Why can't I just define a __call__ method? Why do I need these other get_field_value and prepare_field_value methods? What do they need to do, and what calls them?"
A: 🤷♂
In other words, rather than defining a simple __call__ method, mysterious additional get_field_value and prepare_field_value need to be defined for ...reasons... which don't seem to be particularly obvious from reading the documentation or even the library source code.
(And with all that extra complexity, it seems that JsonConfigSettingsSource.get_field_value ends up reading and parsing the JSON file repeatedly since it's called from a loop, leading one to add even more complexity with a caching layer, etc.)
Upon closer investigation, the rabbit hole of complexity appears to come from the potentially extraneous methods in PydanticBaseSettingsSource, and if they could just be moved down to PydanticBaseEnvSettingsSource, then perhaps the base interface could be much simpler.
I could be totally misunderstanding though or missing some of the rationale, so just some thoughts.. in case it's helpful.

Thank you @kkroening. I ended up here because I was trying to understand that JsonConfigSettingsSource example as I migrated to V2. It made no sense to me, so I just defined get_field_value() to pass, but it really felt wrong. I agree with the above arguments that it doesn't really belong in this base class.

Hi! I spent some time refactoring settings sources. My motivation was more related to nested settings, but I was asking this same question myself.
The code in my PR would simplify a lot, if get_field_value and other were part of EnvSettings only. There I go one step farther, and try to turn these methods into classmethods, so that processing of nested models could be done recursively.
https://github.com/pydantic/pydantic-settings/pull/152


increase contrast

Using the dark theme, I find the contrast is low in the following areas:

contrast between active tab and other passive tabs in the tab bar
contrast between active tab and other passive tabs in the the add-on Simple Tab Groups (not sure if this can be changed by Adaptive-Tab-Bar-Colour  add-on)

The lack of contrast results in the user hunting for the tab.
the ideal would be to allow user control to change contrast level and/or to use a different colour altogether for the active tab.
TY.

Hello! To increase the contrast between active tab and other tabs, you may try adjusting “selected tab” slider under the “customisation” tab in the add-on’s settings page.

The colour scheme of the Simple Tab Group UI could not be changed by Adaptive Tab Bar Colour.
Hope it helps!


Restart Debugger after task run end.

When write a server  program  use typescript,and add  task.json   to watch and  build code . I hope restart the debugger after task  run end.

{
	"version": "2.0.0",
	"tasks": [
        {
            "type": "typescript",
            "tsconfig": "tsconfig.json",
            "option": "watch",
            "problemMatcher": [
                "$tsc-watch"
            ]
        }
    ]
}

Add one config like  "redebug":true  .

your feature request works the other way around: register the "watch" task as a "preLaunchTask" of your debug configuration. This ensures that the your program is compiled before debugging starts.

That's not what I want. When I write the front-end code（ vue and webpack ）, it always executes the latest saved code and doesn't need to restart . I want to restart the debugger automatically when I save the typescript code and tsc monitor rebuild it. It usefull for write typescript back-end code. It's better to configure it according to the environment.
It requires task and debugger communication, but I'm not familiar with vscode's code.

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!


Fix for a breaking change in webpack2 for loaders

Module not found: Error: Can't resolve 'raw' in '/home/.../node_modules/clappr-rtmp/src'
BREAKING CHANGE: It's no longer allowed to omit the '-loader' suffix when using loaders.
You need to specify 'raw-loader' instead of 'raw',
see https://webpack.js.org/guides/migrating/#automatic-loader-module-name-extension-removed

thanks @hxl-dy !


Make the stop command more reliable

When nothing was running then stop shouldn't spawn a new server process

Done


zoom-us: Missing desktop icon

Describe the bug
zoom-us is missing its icon, because it does not appear in the source tarball.
I see a couple of options to fix:

Fetch the icon separately, perhaps from https://github.com/flathub/us.zoom.Zoom
Change the source to one of the packaged releases for another distro that includes the icon

cc @danbst
Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: zoom-us
# a list of nixos modules affected by the problem
module:

I would install the desktop file and appdata from there as well :+1:


Windows Subsystem for Linux

Docker installation guide:
https://gist.github.com/rstacruz/297fc799f094f55d062b982f7dac9e41
mentions Windows Subsystem for Linux as alternative way of running Docker on Windows systems. Interesting! Mention this?
Also: just link this whole guide in readme?

PS: there are various recommendations of how to install docker on Ubuntu that mention either docker, docker-ce, docker.io. What is the most recent?

I spend considerable time on figuring out what is the best (read reliable) way to install docker. I agree that windows subsystem for Linux is technically superior to the version chocolatey offers, however, chocolatey has other perks (R, Rstudio, Make and Git can be installed the same way).
So for the paper, I think we should leave it as is, but I would like to incorporate this into repro. @brandmaier would you mind me moving this issue to repro?
PS: The installation on ubuntu is confirmed to work by Tiago.

OK. Please move the issue.


More Documentation

I want to rewrite this in dart, is there a guide on the structure and rules of the format?

You can find the exact data spec for the .pose format here: https://github.com/sign-language-processing/pose/blob/master/docs/specs/v0.1.md
The important thing is that you have three classes in your dart implementation:
Pose, PoseHeader and PoseBody
To read it in python, we use:

Pose https://github.com/sign-language-processing/pose/blob/master/src/python/pose_format/pose.py#L33
PoseHeader https://github.com/sign-language-processing/pose/blob/master/src/python/pose_format/pose_header.py#L258
PoseBody https://github.com/sign-language-processing/pose/blob/master/src/python/pose_format/pose_body.py#L89

To read it in javascript, we use https://github.com/sign-language-processing/pose/blob/master/src/js/pose_format/src/parser.ts
If you would like to contribute your implementation, please create a PR under a src/dart directory. If you would include tests, it would ensure that we do not introduce breaking changes in the future.

You can find the exact data spec for the .pose format here: master/docs/specs/v0.1.md

thanks.

The important thing is that you have three classes in your dart implementation:
Pose, PoseHeader and PoseBody

i figured, but was stuck in understanding

BufferReader https://github.com/sign-language-processing/pose/blob/master/src/python/pose_format/utils/reader.py#L34

since there is no Struct data structure in dart

To read it in javascript, we use master/src/js/pose_format/src/parser.ts

I think ts is easier to understand here

please create a PR under a src/dart directory

Ok will do it after completing.

Update : I was able to load the files, https://pub.dev/packages/pose

That is great! Thanks for the update.
Feel free to create a pull request that adds dart support and documentation :)

Update : https://github.com/bipinkrish/pose, Pose to GIF is now possible

Looks great!

I will re-open this once I get time continue


Automate wrangling script

Either by putting into a .Rmd published on Posit Connect as a scheduled report or with GitHub actions

For now, for testing purposes, have this run once a day, but be able to trigger manually also?


IGAPP-815: Store tarball instead of single files

This pull request belongs to an issue on our bugtracker.
You can find it there by looking for an issue with the key which is mentioned in the title of this pull request.
It starts with the keyword IGAPP.

Do you have some more input for this?

Do you have some more input for this?

@Taggotty it is very tedious to download all files separately, by saving it as .tar.gz you just need to download one file and can just unpack it afterwards.

Is this just for the IGAPP-815 Task and will be reverted or do we always want to do this?

@SteffiStuffel I would just keep this as I don't see a reason not to keep it. Makes sense imo


YARN-11408. Add a check of autoQueueCreation is disabled for emitDefaultUserLimitFactor method

Change-Id: If1e36c5969d270c1b81a4bbd2e883fa819c81f20

Description of PR
How was this patch tested?
For code changes:

[x] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
[ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
1m  1s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
43m 18s

trunk passed

+1 :green_heart:
compile
1m  7s

trunk passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04

+1 :green_heart:
compile
0m 55s

trunk passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
checkstyle
0m 51s

trunk passed

+1 :green_heart:
mvnsite
1m  3s

trunk passed

-1 :x:
javadoc
0m 54s
/branch-javadoc-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager-jdkUbuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.txt
hadoop-yarn-server-resourcemanager in trunk failed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.

+1 :green_heart:
javadoc
0m 41s

trunk passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
spotbugs
2m 12s

trunk passed

+1 :green_heart:
shadedclient
24m 14s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 52s

the patch passed

+1 :green_heart:
compile
0m 58s

the patch passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04

+1 :green_heart:
javac
0m 58s

the patch passed

+1 :green_heart:
compile
0m 51s

the patch passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
javac
0m 51s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 41s

the patch passed

+1 :green_heart:
mvnsite
0m 56s

the patch passed

-1 :x:
javadoc
0m 41s
/patch-javadoc-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager-jdkUbuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.txt
hadoop-yarn-server-resourcemanager in the patch failed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.

+1 :green_heart:
javadoc
0m 36s

the patch passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
spotbugs
2m  0s

the patch passed

+1 :green_heart:
shadedclient
23m 57s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
102m 38s

hadoop-yarn-server-resourcemanager in the patch passed.

+1 :green_heart:
asflicense
0m 34s

The patch does not generate ASF License warnings.

210m  4s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5278/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/5278

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
Linux 6cac3270c046 4.15.0-200-generic #211-Ubuntu SMP Thu Nov 24 18:16:04 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 08698b36e0dad26d2938201a9c4261f84af88e44

Default Java
Private Build-1.8.0_352-8u352-ga-1~20.04-b08

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_352-8u352-ga-1~20.04-b08

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5278/1/testReport/

Max. process+thread count
940 (vs. ulimit of 5500)

modules
C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5278/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 54s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+0 :ok:
detsecrets
0m  1s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
46m 35s

trunk passed

+1 :green_heart:
compile
1m  6s

trunk passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04

+1 :green_heart:
compile
0m 58s

trunk passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
checkstyle
0m 50s

trunk passed

+1 :green_heart:
mvnsite
1m  3s

trunk passed

-1 :x:
javadoc
0m 54s
/branch-javadoc-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager-jdkUbuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.txt
hadoop-yarn-server-resourcemanager in trunk failed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.

+1 :green_heart:
javadoc
0m 44s

trunk passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
spotbugs
2m  7s

trunk passed

+1 :green_heart:
shadedclient
27m 42s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 59s

the patch passed

+1 :green_heart:
compile
1m  1s

the patch passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04

+1 :green_heart:
javac
1m  1s

the patch passed

+1 :green_heart:
compile
0m 50s

the patch passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
javac
0m 50s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 39s

the patch passed

+1 :green_heart:
mvnsite
0m 54s

the patch passed

-1 :x:
javadoc
0m 40s
/patch-javadoc-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager-jdkUbuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.txt
hadoop-yarn-server-resourcemanager in the patch failed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.

+1 :green_heart:
javadoc
0m 37s

the patch passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
spotbugs
2m  2s

the patch passed

+1 :green_heart:
shadedclient
27m 40s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
102m 27s

hadoop-yarn-server-resourcemanager in the patch passed.

+1 :green_heart:
asflicense
0m 33s

The patch does not generate ASF License warnings.

220m 20s

Subsystem
Report/Notes

Docker
ClientAPI=1.42 ServerAPI=1.42 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5278/3/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/5278

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
Linux c73991bf875b 4.15.0-200-generic #211-Ubuntu SMP Thu Nov 24 18:16:04 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 2d132a48361bd247f118463ba1a8feb1995edd55

Default Java
Private Build-1.8.0_352-8u352-ga-1~20.04-b08

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_352-8u352-ga-1~20.04-b08

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5278/3/testReport/

Max. process+thread count
911 (vs. ulimit of 5500)

modules
C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5278/3/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

Thanks @susheel-gupta, LGTM. Merged to trunk.


feat: browser tests ci

Resolves #328
Browser test: deno task test:browser:init && deno task test:browser

Another thing: make sure to remove test_browser/puppeteer/package-lock.json

What API are we aiming to for now?
Ideas.

deno task run test:browser test_browser/examples/derived.ts - single test
deno task run test:browser test_browser/examples/derived.ts test_browser/examples/derived2.ts - multiple tests
deno task run test:browser - all tests inside test_browser/examples/*.ts
or just required tests hardcoded in test_browser/constants.ts

How the source example test file should look like?
Ideas.

Input file: test_browser/examples/derived.ts

import * as C from "capi.js"

const root = C.entryRead(C.polkadot)("Paras", "Parachains", []).access("value")

console.log(C.throwIfError(await root.run()))

Output file: test_browser/static/derived.html

<script type="module">
  import * as C from "./capi.js"

  ;(async function browserTest() {
    const root = C.entryRead(C.polkadot)("Paras", "Parachains", []).access("value")

    console.log(C.throwIfError(await root.run()))

    console.info('derived')
  })()
</script>

// @harrysolovay @tjjfvi

We want to run the existing examples in the browser, so there's no need for a test_browser/examples directory.
Ideally it should look like:
deno task run test:browser examples/transfer.ts # one example
deno task run test:browser examples/transfer.ts examples/derived.ts # two examples, parallel
deno task run test:browser # all examples, parallel

Each example file can be deno bundled independently; no need to bundle capi and then tweak the imports.
Also, could you nest test_browser in _tasks?

Also, there's no need for the browserTest async IIFE, as all modern browsers support top-level await in modules.

And the output HTML files should reference the bundled file with
<script src="..." type="module"></script>

rather than inlining it, to avoid issues with HTML encoding

How do we want to run multiple tests in parallel?

run multiple deno processes
run multiple async JS functions

Since these tests just spawn another process, no need for multiple deno processes; there will be multiple puppeteer processes either way. Parallel promises should suffice.

We're going to take the lessons learned from this and incorporate it into a more holistic example-testing strategy.


Fixed problem that npm run api is not working with AngularCLI example

Please see for more details the following links:
https://github.com/Urigo/angular-meteor/issues/1943
https://github.com/meteor/meteor/issues/10128

@mfechner just for my edification, why to replace barbatus:typescript by angular-compilers? I would assume the api server is clear of any angular code...

As the client and the server are using the same node_modules folder I had to remove barbatus:typescript and need to replace it by angular-compilers that the example is running without errors.

@mfechner What are the errors you encountered?
I was able to run the angular-meteor/examples/AngularCLI without replacing barbatus:typescript by angular-compilers. See [examples/AngularCLI]: "cannot find" messages as building the api server but it runs fine #1948 to get a link to a repo with such a working example.


s3 access

Thank you for sharing this nice and clean setup. I'm trying to test it and hit an error during custom script execution.
          aws s3 cp ${S3Bucket}/slurm-mgmtd.sh /home/centos/slurm-mgmtd.sh

/var/log/messages on the head node has the following:
Nov 27 10:16:48 ip-10-0-0-54 cloud-init: + sudo mkdir -p /nfs
Nov 27 10:16:48 ip-10-0-0-54 cloud-init: + aws s3 cp s3://s3.eu-west-2.amazonaws.com/XXX/XXX/aws-plugin-for-slurm/slurm-mgmtd.sh /home/centos/slurm-mgmtd.sh
Nov 27 10:16:49 ip-10-0-0-54 cloud-init: fatal error: An error occurred (403) when calling the HeadObject operation: Forbidden

I can see that the respective role SlurmHeadnodeRole_xxx gets created and assigned to the headnode. Specifically SlurmS3 has the following:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "s3:GetObject"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Could my problem be due to the fact that instead of a bucket name I feed a directory in the bucket?
s3://s3.eu-west-2.amazonaws.com/XXX/XXX

I'm going to try using a new bucket but having a folder should be better. Or better yet, ammend the SlurmS3 policy with list and get. Would that work? Any caveates I should be aware of? Thanks!

I was able to resolve the issue. It had to do with my bucket uri. Using directories is fine as it is, but amazonaws.com is not needed. The bucket name should be something
s3://<bucker_name>///aws-plugin-for-slurm
You may want to ammend your documentation also add that slurm tar should be placed into that dir. It was not clear to me and I had to look in to the yaml file to find out where the tar file goes.
Thanks!


Word "validate" is spelled incorrectly on the "Validation data" tab.

System Information (please complete the following information):
Windows OS: Windows-11-Enterprise-22H2
ML.Net Model Builder 2022: <IP_ADDRESS>6301 (Main Build)
Microsoft Visual Studio Enterprise: 2022(17.4.5)
.Net: 6.0
Describe the bug

On which step of the process did you run into an issue:
Word "validate" is spelled incorrectly on the "Validation data" tab.

TestMatrix
https://testpass.blob.core.windows.net/test-pass-data/wikipedia-detox-250-line-data.tsv
To Reproduce
Steps to reproduce the behavior:

Select Create a new project from the Visual Studio start window.
Choose the C# Console App (.NET Core) project template.
Add model builder by right click on the project.
Select any scenario.
Go to the Data page, choose the data source then click the "Advanced data options..." link.
Go to the "Validation data" tab, check the word "validate".

Expected behavior
Word "validate" should be spelled correctly on the "Validation data" tab.
Screenshot

Additional context

The bug has been fixed on the latest main build <IP_ADDRESS>6701.


[REVIEW] GaganpreetKaurKalsi

GitHub Profile Link
https://github.com/GaganpreetKaurKalsi

Looks great, reviewed on a live stream, here is some feedback

try to make the profile slightly shorter, there is a lot of blank space at the end


Ecostrad IQ Ceramic only appearing as a 'simple switch'

As described, trying to add the Ecostrad IQ Ceramic Heaters (Local Tuya has been less than useful) and this one looks much more indepth and useful!
Could I please ask for help re. why they are only appearing as a simple switch?
Thanks!

Please refile the issue as a "New Device", or "Bug report", providing as much of the requested information as you can, especially log messages.


optimize_transport_and_conversion.py error

Hi all,
I am novice using GeoH2, i am running an analysis for given country. I came accros an error related to the coordinate normalization in geodesic which seems to be depreciated. I will be grateful with some hint. Below is the error
geopy                     2.4.1              pyhd8ed1ab_1    conda-forge
geos                      3.11.0               h39d44d4_0    conda-forge
for i in range(len(hexagon)):
# calculate distance to demand for each hexagon
poly = shapely.wkt.loads(str(hexagon['geometry'][i]))
center = poly.centroid
demand_coords = (demand_center_list.loc[d,'Lat [deg]'], demand_center_list.loc[d,'Lon [deg]'])
hexagon_coords = (center.y, center.x)
dist = geopy.distance.geodesic(demand_coords, hexagon_coords).km
    distance_to_demand[i] = dist

……………………………
……………
……
….
..
187 latitude, longitude, altitude =
--> 188     _normalize_coordinates(latitude, longitude, altitude)
190 self = super().new(cls)
191 self.latitude = latitude
File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:74, in _normalize_coordinates(latitude, longitude, altitude)
66 if abs(latitude) > 90:
67     warnings.warn('Latitude normalization has been prohibited in the newer '
68                   'versions of geopy, because the normalized value happened '
69                   'to be on a different pole, which is probably not what was '
(...)
72                   '(latitude, longitude) or (y, x) in Cartesian terms.',
73                   UserWarning, stacklevel=3)
---> 74     raise ValueError('Latitude must be in the [-90; 90] range.')
76 if abs(longitude) > 180:
77     # Longitude normalization is pretty straightforward and doesn't seem
78     # to be error-prone, so there's nothing to complain about.
79     longitude = _normalize_angle(longitude, 180.0)
ValueError: Latitude must be in the [-90; 90] range.

Hi,
Thank you for emailing.
The error is saying that the Latitude must be between -90 and 90.
From the error snippet that you have sent, I am not able to see which line in the code the error is coming from, but it could help to check your parameter file where you have your latitude stored.
Many thanks,
Samiyha

From: DJIBO BOUBE Bachirou @.>
Sent: 10 October 2024 23:20
To: ClimateCompatibleGrowth/GeoH2 @.>
Cc: Subscribed @.***>
Subject: [ClimateCompatibleGrowth/GeoH2] optimize_transport_and_conversion.py error (Issue #20)
Hi all,
I am novice using GeoH2, i am running an analysis for given country. I came accros an error related to the coordinate normalization in geodesic which seems to be depreciated. I will be grateful with some hint. Below is the error
for i in range(len(hexagon)):
calculate distance to demand for each hexagon
poly = shapely.wkt.loads(str(hexagon['geometry'][i]))
center = poly.centroid
demand_coords = (demand_center_list.loc[d,'Lat [deg]'], demand_center_list.loc[d,'Lon [deg]'])
hexagon_coords = (center.y, center.x)
dist = geopy.distance.geodesic(demand_coords, hexagon_coords).km
distance_to_demand[i] = dist

……………………………
……………
……
….
..
187 latitude, longitude, altitude =
--> 188 _normalize_coordinates(latitude, longitude, altitude)
190 self = super().new(cls)
191 self.latitude = latitude
File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:74http://localhost:8892/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/point.py#line=73, in _normalize_coordinates(latitude, longitude, altitude)
66 if abs(latitude) > 90:
67 warnings.warn('Latitude normalization has been prohibited in the newer '
68 'versions of geopy, because the normalized value happened '
69 'to be on a different pole, which is probably not what was '
(...)
72 '(latitude, longitude) or (y, x) in Cartesian terms.',
73 UserWarning, stacklevel=3)
---> 74 raise ValueError('Latitude must be in the [-90; 90] range.')
76 if abs(longitude) > 180:
77 # Longitude normalization is pretty straightforward and doesn't seem
78 # to be error-prone, so there's nothing to complain about.
79 longitude = _normalize_angle(longitude, 180.0)
ValueError: Latitude must be in the [-90; 90] range.
—
Reply to this email directly, view it on GitHubhttps://github.com/ClimateCompatibleGrowth/GeoH2/issues/20, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BKKL4AWEGDMJCYOOQWGCKDTZ234RFAVCNFSM6AAAAABPXXFOACVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU3TSOJVG43DENI.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Thanks for your prompte response:
The error is on the line 115
115 dist = geopy.distance.geodesic(demand_coords, hexagon_coords).km
i have even shift back to the geopy 2.0 instead of 2.4.1
Kindly receive below further explanation.
[C:\Users\hp\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:471](file:///C:/Users/hp/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/point.py#line=470): UserWarning: Latitude normalization has been prohibited in the newer versions of geopy, because the normalized value happened to be on a different pole, which is probably not what was meant. If you pass coordinates as positional args, please make sure that the order is (latitude, longitude) or (y, x) in Cartesian terms.
return cls(*args)
ValueError                                Traceback (most recent call last)
Cell In[15], line 115
113 #hexagon_coords = (center.x, center.y)
114 hexagon_coords = (center.y, center.x)
--> 115 dist = geopy.distance.geodesic(demand_coords, hexagon_coords).km
117 distance_to_demand[i] = dist
119 #!!! maybe this is the place to set a restriction based on distance to demand center-- for all hexagons with a distance below some cutoff point
120 # label demand location under consideration
File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\distance.py:418, in geodesic.init(self, *args, **kwargs)
416 self.set_ellipsoid(kwargs.pop('ellipsoid', 'WGS-84'))
417 major, minor, f = self.ELLIPSOID
--> 418 super().init(*args, **kwargs)
File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\distance.py:201, in Distance.init(self, *args, **kwargs)
199 elif len(args) > 1:
200     for a, b in util.pairwise(args):
--> 201         kilometers += self.measure(a, b)
203 kilometers += units.kilometers(**kwargs)
204 self.__kilometers = kilometers
File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\distance.py:438, in geodesic.measure(self, a, b)
437 def measure(self, a, b):
--> 438     a, b = Point(a), Point(b)
439     _ensure_same_altitude(a, b)
440     lat1, lon1 = a.latitude, a.longitude
File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:174, in Point.new(cls, latitude, longitude, altitude)
170             raise TypeError(
171                 "Failed to create Point instance from %r." % (arg,)
172             )
173         else:
--> 174             return cls.from_sequence(seq)
176 if single_arg:
177     raise ValueError(
178         'A single number has been passed to the Point '
179         'constructor. This is probably a mistake, because '
(...)
183         'to get rid of this error.'
184     )
File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:471, in Point.from_sequence(cls, seq)
468 if len(args) > 3:
469     raise ValueError('When creating a Point from sequence, it '
470                      'must not have more than 3 items.')
--> 471 return cls(*args)
File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:187, in Point.new(cls, latitude, longitude, altitude)
176 if single_arg:
177     raise ValueError(
178         'A single number has been passed to the Point '
179         'constructor. This is probably a mistake, because '
(...)
183         'to get rid of this error.'
184     )
186 latitude, longitude, altitude =
--> 187     _normalize_coordinates(latitude, longitude, altitude)
189 self = super().new(cls)
190 self.latitude = latitude
File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:74, in _normalize_coordinates(latitude, longitude, altitude)
66 if abs(latitude) > 90:
67     warnings.warn('Latitude normalization has been prohibited in the newer '
68                   'versions of geopy, because the normalized value happened '
69                   'to be on a different pole, which is probably not what was '
(...)
72                   '(latitude, longitude) or (y, x) in Cartesian terms.',
73                   UserWarning, stacklevel=3)
---> 74     raise ValueError('Latitude must be in the [-90; 90] range.')
76 if abs(longitude) > 180:
77     # Longitude normalization is pretty straightforward and doesn't seem
78     # to be error-prone, so there's nothing to complain about.
79     longitude = _normalize_angle(longitude, 180.0)
ValueError: Latitude must be in the [-90; 90] range.

Thank you for sharing more information.
Can you check your Parameters/demand_parameters.xlsx file and share your latitude and longitude values with me please.
Many thanks,
Samiyha

From: DJIBO BOUBE Bachirou @.>
Sent: 11 October 2024 11:04
To: ClimateCompatibleGrowth/GeoH2 @.>
Cc: Samiyha Naqvi @.>; Comment @.>
Subject: Re: [ClimateCompatibleGrowth/GeoH2] optimize_transport_and_conversion.py error (Issue #20)
Thanks for your prompte response:
The error is on the line 115
115 dist = geopy.distance.geodesic(demand_coords, hexagon_coords).km
i have even shift back to the geopy 2.0 instead of 2.4.1
Kindly receive below further explanation.
C:\Users\hp\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:471: UserWarning: Latitude normalization has been prohibited in the newer versions of geopy, because the normalized value happened to be on a different pole, which is probably not what was meant. If you pass coordinates as positional args, please make sure that the order is (latitude, longitude) or (y, x) in Cartesian terms.
return cls(*args)
ValueError Traceback (most recent call last)
Cell In[15], line 115
113 #hexagon_coords = (center.x, center.y)
114 hexagon_coords = (center.y, center.x)
--> 115 dist = geopy.distance.geodesic(demand_coords, hexagon_coords).km
117 distance_to_demand[i] = dist
119 #!!! maybe this is the place to set a restriction based on distance to demand center-- for all hexagons with a distance below some cutoff point
120 # label demand location under consideration
File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\distance.py:418http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/distance.py#line=417, in geodesic.init(self, *args, **kwargs)
416 self.set_ellipsoid(kwargs.pop('ellipsoid', 'WGS-84'))
417 major, minor, f = self.ELLIPSOID
--> 418 super().init(*args, **kwargs)
File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\distance.py:201http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/distance.py#line=200, in Distance.init(self, *args, **kwargs)
199 elif len(args) > 1:
200 for a, b in util.pairwise(args):
--> 201 kilometers += self.measure(a, b)
203 kilometers += units.kilometers(**kwargs)
204 self.__kilometers = kilometers
File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\distance.py:438http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/distance.py#line=437, in geodesic.measure(self, a, b)
437 def measure(self, a, b):
--> 438 a, b = Point(a), Point(b)
439 _ensure_same_altitude(a, b)
440 lat1, lon1 = a.latitude, a.longitude
File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:174http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/point.py#line=173, in Point.new(cls, latitude, longitude, altitude)
170 raise TypeError(
171 "Failed to create Point instance from %r." % (arg,)
172 )
173 else:
--> 174 return cls.from_sequence(seq)
176 if single_arg:
177 raise ValueError(
178 'A single number has been passed to the Point '
179 'constructor. This is probably a mistake, because '
(...)
183 'to get rid of this error.'
184 )
File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:471http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/point.py#line=470, in Point.from_sequence(cls, seq)
468 if len(args) > 3:
469 raise ValueError('When creating a Point from sequence, it '
470 'must not have more than 3 items.')
--> 471 return cls(*args)
File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:187http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/point.py#line=186, in Point.new(cls, latitude, longitude, altitude)
176 if single_arg:
177 raise ValueError(
178 'A single number has been passed to the Point '
179 'constructor. This is probably a mistake, because '
(...)
183 'to get rid of this error.'
184 )
186 latitude, longitude, altitude =
--> 187 _normalize_coordinates(latitude, longitude, altitude)
189 self = super().new(cls)
190 self.latitude = latitude
File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:74http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/point.py#line=73, in _normalize_coordinates(latitude, longitude, altitude)
66 if abs(latitude) > 90:
67 warnings.warn('Latitude normalization has been prohibited in the newer '
68 'versions of geopy, because the normalized value happened '
69 'to be on a different pole, which is probably not what was '
(...)
72 '(latitude, longitude) or (y, x) in Cartesian terms.',
73 UserWarning, stacklevel=3)
---> 74 raise ValueError('Latitude must be in the [-90; 90] range.')
76 if abs(longitude) > 180:
77 # Longitude normalization is pretty straightforward and doesn't seem
78 # to be error-prone, so there's nothing to complain about.
79 longitude = _normalize_angle(longitude, 180.0)
ValueError: Latitude must be in the [-90; 90] range.
—
Reply to this email directly, view it on GitHubhttps://github.com/ClimateCompatibleGrowth/GeoH2/issues/20#issuecomment-2407074481, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BKKL4ASV2I7R2DOXQLM47VDZ26PBVAVCNFSM6AAAAABPXXFOACVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXGA3TINBYGE.
You are receiving this because you commented.Message ID: @.***>

Thank you for sharing more information. Can you check your Parameters/demand_parameters.xlsx file and share your latitude and longitude values with me please. Many thanks, Samiyha
Lat [deg] : 13, Lon[deg]:  2

…
________________________________ From: DJIBO BOUBE Bachirou @.> Sent: 11 October 2024 11:04 To: ClimateCompatibleGrowth/GeoH2 @.> Cc: Samiyha Naqvi @.>; Comment @.> Subject: Re: [ClimateCompatibleGrowth/GeoH2] optimize_transport_and_conversion.py error (Issue #20) Thanks for your prompte response: The error is on the line 115 115 dist = geopy.distance.geodesic(demand_coords, hexagon_coords).km i have even shift back to the geopy 2.0 instead of 2.4.1 Kindly receive below further explanation. C:\Users\hp\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:471: UserWarning: Latitude normalization has been prohibited in the newer versions of geopy, because the normalized value happened to be on a different pole, which is probably not what was meant. If you pass coordinates as positional args, please make sure that the order is (latitude, longitude) or (y, x) in Cartesian terms. return cls(*args) ValueError Traceback (most recent call last) Cell In[15], line 115 113 #hexagon_coords = (center.x, center.y) 114 hexagon_coords = (center.y, center.x) --> 115 dist = geopy.distance.geodesic(demand_coords, hexagon_coords).km 117 distance_to_demand[i] = dist 119 #!!! maybe this is the place to set a restriction based on distance to demand center-- for all hexagons with a distance below some cutoff point 120 # label demand location under consideration File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\distance.py:418http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/distance.py#line=417, in geodesic.init(self, *args, **kwargs) 416 self.set_ellipsoid(kwargs.pop('ellipsoid', 'WGS-84')) 417 major, minor, f = self.ELLIPSOID --> 418 super().init(*args, **kwargs) File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\distance.py:201http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/distance.py#line=200, in Distance.init(self, *args, **kwargs) 199 elif len(args) > 1: 200 for a, b in util.pairwise(args): --> 201 kilometers += self.measure(a, b) 203 kilometers += units.kilometers(kwargs) 204 self.__kilometers = kilometers File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\distance.py:438http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/distance.py#line=437, in geodesic.measure(self, a, b) 437 def measure(self, a, b): --> 438 a, b = Point(a), Point(b) 439 _ensure_same_altitude(a, b) 440 lat1, lon1 = a.latitude, a.longitude File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:174http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/point.py#line=173, in Point.new(cls, latitude, longitude, altitude) 170 raise TypeError( 171 "Failed to create Point instance from %r." % (arg,) 172 ) 173 else: --> 174 return cls.from_sequence(seq) 176 if single_arg: 177 raise ValueError( 178 'A single number has been passed to the Point ' 179 'constructor. This is probably a mistake, because ' (...) 183 'to get rid of this error.' 184 ) File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:471http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/point.py#line=470, in Point.from_sequence(cls, seq) 468 if len(args) > 3: 469 raise ValueError('When creating a Point from sequence, it ' 470 'must not have more than 3 items.') --> 471 return cls(args) File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:187http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/point.py#line=186, in Point.new(cls, latitude, longitude, altitude) 176 if single_arg: 177 raise ValueError( 178 'A single number has been passed to the Point ' 179 'constructor. This is probably a mistake, because ' (...) 183 'to get rid of this error.' 184 ) 186 latitude, longitude, altitude = --> 187 _normalize_coordinates(latitude, longitude, altitude) 189 self = super().new(cls) 190 self.latitude = latitude File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:74http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/point.py#line=73, in _normalize_coordinates(latitude, longitude, altitude) 66 if abs(latitude) > 90: 67 warnings.warn('Latitude normalization has been prohibited in the newer ' 68 'versions of geopy, because the normalized value happened ' 69 'to be on a different pole, which is probably not what was ' (...) 72 '(latitude, longitude) or (y, x) in Cartesian terms.', 73 UserWarning, stacklevel=3) ---> 74 raise ValueError('Latitude must be in the [-90; 90] range.') 76 if abs(longitude) > 180: 77 # Longitude normalization is pretty straightforward and doesn't seem 78 # to be error-prone, so there's nothing to complain about. 79 longitude = _normalize_angle(longitude, 180.0) ValueError: Latitude must be in the [-90; 90] range. — Reply to this email directly, view it on GitHub<#20 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BKKL4ASV2I7R2DOXQLM47VDZ26PBVAVCNFSM6AAAAABPXXFOACVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXGA3TINBYGE. You are receiving this because you commented.Message ID: @.>

I've just realised that you might be using an older version of the repo. Have you pulled from the repo recently to update your version?
Please try the below when you are in the GeoH2 folder (if you haven't updated it since September 25th):

git pull origin main

And then please read the Readme as we have updated the code.
If this is not the case, please could you send a screenshot(s) of the full error in your terminal/console.
Many thanks,
Samiyha

From: DJIBO BOUBE Bachirou @.>
Sent: 11 October 2024 17:02
To: ClimateCompatibleGrowth/GeoH2 @.>
Cc: Samiyha Naqvi @.>; Comment @.>
Subject: Re: [ClimateCompatibleGrowth/GeoH2] optimize_transport_and_conversion.py error (Issue #20)
Thank you for sharing more information. Can you check your Parameters/demand_parameters.xlsx file and share your latitude and longitude values with me please. Many thanks, Samiyha
Lat [deg] : 13, Lon[deg]: 2
image.png (view on web)https://github.com/user-attachments/assets/9ebfce10-fd16-4b25-8387-e890a98af1aa
…
________________________________ From: DJIBO BOUBE Bachirou @.> Sent: 11 October 2024 11:04 To: ClimateCompatibleGrowth/GeoH2 @.> Cc: Samiyha Naqvi @.>; Comment @.> Subject: Re: [ClimateCompatibleGrowth/GeoH2] optimize_transport_and_conversion.py error (Issue #20https://github.com/ClimateCompatibleGrowth/GeoH2/issues/20) Thanks for your prompte response: The error is on the line 115 115 dist = geopy.distance.geodesic(demand_coords, hexagon_coords).km i have even shift back to the geopy 2.0 instead of 2.4.1 Kindly receive below further explanation. C:\Users\hp\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:471: UserWarning: Latitude normalization has been prohibited in the newer versions of geopy, because the normalized value happened to be on a different pole, which is probably not what was meant. If you pass coordinates as positional args, please make sure that the order is (latitude, longitude) or (y, x) in Cartesian terms. return cls(*args) ValueError Traceback (most recent call last) Cell In[15], line 115 113 #hexagon_coords = (center.x, center.y) 114 hexagon_coords = (center.y, center.x) --> 115 dist = geopy.distance.geodesic(demand_coords, hexagon_coords).km 117 distance_to_demand[i] = dist 119 #!!! maybe this is the place to set a restriction based on distance to demand center-- for all hexagons with a distance below some cutoff point 120 # label demand location under consideration File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\distance.py:418http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/distance.py#line=417, in geodesic.init(self, *args, **kwargs) 416 self.set_ellipsoid(kwargs.pop('ellipsoid', 'WGS-84')) 417 major, minor, f = self.ELLIPSOID --> 418 super().init(*args, **kwargs) File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\distance.py:201http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/distance.py#line=200, in Distance.init(self, *args, **kwargs) 199 elif len(args) > 1: 200 for a, b in util.pairwise(args): --> 201 kilometers += self.measure(a, b) 203 kilometers += units.kilometers(kwargs) 204 self.__kilometers = kilometers File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\distance.py:438http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/distance.py#line=437, in geodesic.measure(self, a, b) 437 def measure(self, a, b): --> 438 a, b = Point(a), Point(b) 439 _ensure_same_altitude(a, b) 440 lat1, lon1 = a.latitude, a.longitude File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:174http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/point.py#line=173, in Point.new(cls, latitude, longitude, altitude) 170 raise TypeError( 171 "Failed to create Point instance from %r." % (arg,) 172 ) 173 else: --> 174 return cls.from_sequence(seq) 176 if single_arg: 177 raise ValueError( 178 'A single number has been passed to the Point ' 179 'constructor. This is probably a mistake, because ' (...) 183 'to get rid of this error.' 184 ) File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:471http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/point.py#line=470, in Point.from_sequence(cls, seq) 468 if len(args) > 3: 469 raise ValueError('When creating a Point from sequence, it ' 470 'must not have more than 3 items.') --> 471 return cls(args) File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:187http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/point.py#line=186, in Point.new(cls, latitude, longitude, altitude) 176 if single_arg: 177 raise ValueError( 178 'A single number has been passed to the Point ' 179 'constructor. This is probably a mistake, because ' (...) 183 'to get rid of this error.' 184 ) 186 latitude, longitude, altitude = --> 187 _normalize_coordinates(latitude, longitude, altitude) 189 self = super().new(cls) 190 self.latitude = latitude File ~\AppData\Local\miniconda3\envs\geoh2\lib\site-packages\geopy\point.py:74http://localhost:8957/lab/tree/~/AppData/Local/miniconda3/envs/geoh2/lib/site-packages/geopy/point.py#line=73, in _normalize_coordinates(latitude, longitude, altitude) 66 if abs(latitude) > 90: 67 warnings.warn('Latitude normalization has been prohibited in the newer ' 68 'versions of geopy, because the normalized value happened ' 69 'to be on a different pole, which is probably not what was ' (...) 72 '(latitude, longitude) or (y, x) in Cartesian terms.', 73 UserWarning, stacklevel=3) ---> 74 raise ValueError('Latitude must be in the [-90; 90] range.') 76 if abs(longitude) > 180: 77 # Longitude normalization is pretty straightforward and doesn't seem 78 # to be error-prone, so there's nothing to complain about. 79 longitude = _normalize_angle(longitude, 180.0) ValueError: Latitude must be in the [-90; 90] range. — Reply to this email directly, view it on GitHub<#20 (comment)https://github.com/ClimateCompatibleGrowth/GeoH2/issues/20#issuecomment-2407074481>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BKKL4ASV2I7R2DOXQLM47VDZ26PBVAVCNFSM6AAAAABPXXFOACVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXGA3TINBYGE. You are receiving this because you commented.Message ID: @.>
—
Reply to this email directly, view it on GitHubhttps://github.com/ClimateCompatibleGrowth/GeoH2/issues/20#issuecomment-2407708592, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BKKL4ASEOREJOIIWOHR3R5DZ27ZAPAVCNFSM6AAAAABPXXFOACVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXG4YDQNJZGI.
You are receiving this because you commented.Message ID: @.***>

Hi @samiyhanaqvi,
I'm sorry for not getting back to you sooner, but I'm using the two versions. The current issue is related to the first version
I am still exploring the new versions I will come back for further information regarding.
Thanks for reaching out.

Hi @samiyhanaqvi
This what i got as error, i have even the system to linux:
(geoh2s) bachirou@djibo:~/GeoH2-main_new_NE$ snakemake -j 1 Resources/hex_transport_NE.geojson
Building DAG of jobs...
Using shell: /bin/bash
Provided cores: 1 (use --cores to define parallelism)
Rules claiming more threads will be scaled down.
Job stats:
job                                  count

optimize_transport_and_conversion        1
total                                    1
Select jobs to execute...
[Thu Oct 24 09:01:53 2024]
rule optimize_transport_and_conversion:
input: Data/hexagons_with_country_NE.geojson, Parameters/technology_parameters.xlsx, Parameters/demand_parameters.xlsx, Parameters/country_parameters.xlsx, Parameters/conversion_parameters.xlsx, Parameters/transport_parameters.xlsx, Parameters/pipeline_parameters.xlsx
output: Resources/hex_transport_NE.geojson
jobid: 0
reason: Missing output files: Resources/hex_transport_NE.geojson
wildcards: country=NE
resources: tmpdir=/tmp
Traceback (most recent call last):
File "/home/bachirou/GeoH2-main_new_NE/.snakemake/scripts/tmp2uj6l_u0.optimize_transport_and_conversion.py", line 57, in
country_parameters = pd.read_excel(country_parameters,
File "/home/bachirou/miniconda3/envs/geoh2s/lib/python3.10/site-packages/pandas/io/excel/_base.py", line 517, in read_excel
data = io.parse(
File "/home/bachirou/miniconda3/envs/geoh2s/lib/python3.10/site-packages/pandas/io/excel/_base.py", line 1629, in parse
return self._reader.parse(
File "/home/bachirou/miniconda3/envs/geoh2s/lib/python3.10/site-packages/pandas/io/excel/_base.py", line 931, in parse
raise err
File "/home/bachirou/miniconda3/envs/geoh2s/lib/python3.10/site-packages/pandas/io/excel/_base.py", line 918, in parse
output[asheetname] = parser.read(nrows=nrows)
File "/home/bachirou/miniconda3/envs/geoh2s/lib/python3.10/site-packages/pandas/io/parsers/readers.py", line 1748, in read
) = self._engine.read(  # type: ignore[attr-defined]
File "/home/bachirou/miniconda3/envs/geoh2s/lib/python3.10/site-packages/pandas/io/parsers/python_parser.py", line 292, in read
index, result_columns = self._make_index(
File "/home/bachirou/miniconda3/envs/geoh2s/lib/python3.10/site-packages/pandas/io/parsers/base_parser.py", line 370, in _make_index
simple_index = self._get_simple_index(alldata, columns)
File "/home/bachirou/miniconda3/envs/geoh2s/lib/python3.10/site-packages/pandas/io/parsers/base_parser.py", line 402, in _get_simple_index
i = ix(idx)
File "/home/bachirou/miniconda3/envs/geoh2s/lib/python3.10/site-packages/pandas/io/parsers/base_parser.py", line 397, in ix
raise ValueError(f"Index {col} invalid")
ValueError: Index Country invalid (sheet: 0)
[Thu Oct 24 09:01:54 2024]
Error in rule optimize_transport_and_conversion:
jobid: 0
input: Data/hexagons_with_country_NE.geojson, Parameters/technology_parameters.xlsx, Parameters/demand_parameters.xlsx, Parameters/country_parameters.xlsx, Parameters/conversion_parameters.xlsx, Parameters/transport_parameters.xlsx, Parameters/pipeline_parameters.xlsx
output: Resources/hex_transport_NE.geojson
RuleException:
CalledProcessError in file /home/bachirou/GeoH2-main_new_NE/Snakefile, line 55:
Command 'set -euo pipefail;  /home/bachirou/miniconda3/envs/geoh2s/bin/python3.10 /home/bachirou/GeoH2-main_new_NE/.snakemake/scripts/tmp2uj6l_u0.optimize_transport_and_conversion.py' returned non-zero exit status 1.
File "/home/bachirou/GeoH2-main_new_NE/Snakefile", line 55, in __rule_optimize_transport_and_conversion
File "/home/bachirou/miniconda3/envs/geoh2s/lib/python3.10/concurrent/futures/thread.py", line 58, in run
Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message
Complete log: .snakemake/log/2024-10-24T090153.559794.snakemake.log

Thank you for sharing this.
The error seems to be with the country parameters excel file. I would recommend checking that the format of the file is like the example file we have in the repo. If that's fine, you can try opening the file and "save as" an excel workbook as it could be in a different format, but with the same file extension.
How are you finding using the up-to-date software?

Hi
Thanks a lot for the support @samiyhanaqvi. I have been able to find out the issue and correct.
I am impressed by the flexibility of the updated version of the Geoh2 and the use of snakemake for running the code easily. Many thanks to the CCG team, you did amazing work. Keep it going

No worries. I am going to close this issue now.


Attempt 2 of eleventy-base-blog ready for submission

👷 Deploy Preview for graceful-eclair-4981f5 processing.

Name
Link

🔨 Latest commit
5e5dbac8a7432a66672335447f2a88e95e00e312

🔍 Latest deploy log
https://app.netlify.com/sites/graceful-eclair-4981f5/deploys/65bf6c4f92e7840007132e27


[2.0] Self-signed SSL

How can I allow self-signed SSL certificates with AFNetworking 2.0?
Setting allowsInvalidSSLCertificate of AFHTTPClient to YES doesn't work while HTTPRequestOperationWithRequest:success:failure: never gets called with new GET/POST/etc methods.
What can I do?
Edit: Errors I get are below
2013-08-30 19:40:03.656 X[3912:450f] CFNetwork SSLHandshake failed (-9824)
2013-08-30 19:40:03.660 X[3912:450f] NSURLConnection/CFURLConnection HTTP load failed \n (kCFStreamErrorDomainSSL, -9824)
2013-08-30 19:40:03.667 X[3912:6003] Failed: Error Domain=NSURLErrorDomain Code=-1200 \n
"An SSL error has occurred and a secure connection to the server cannot be made." \n
UserInfo=0x17574860 {NSErrorFailingURLStringKey=http://, \n
NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, \n
NSErrorFailingURLKey=http://, \n
NSLocalizedDescription=An SSL error has occurred and a secure connection to the server cannot be made., \n
NSUnderlyingError=0x175741f0 "An SSL error has occurred and a secure connection to the server cannot be made."}

Does it occur for all the requests, or just for some requests at some instances? I got the same error - NSURLErrorDomain Code=-1200 \n
"An SSL error has occurred and a secure connection to the server cannot be made." But it doesn't occur for all the request to the URL. Also it works fine after some retry. Does the above modification solve this issue?

info.plist add NSAppTransportSecurity， NSAllowsArbitraryLoads


License shows expired after one month of use

I have been using this extension for one month with dotnet core 2.2 . It shows MIT license but after one month of use it prompted me that license expired. Can you please confirm if its free or purchase required??

Licence is MIT, as stated in ReadMe segment Contributing, and it is Free.


In ios13 system, HUD will not be displayed in the center, but in the upper left corner

I also facing this problem.

Uploading SVProgressHUD.m.zip…
Replace SVProgressHUD. m with this updated code.
this will solve the issue in iOS 13.
and in AppDelegate if you have add var window  : Window? then no need it for xcode11 or later.

The pull request doesn't work for me on latest version of Xcode.

SVProgressHUD.m.zip
…]()
Please change SVProgressHUD.m file code with this file for xcode11 or later Its Uiscenedelegate issue.

This issue is due to the reason that the current window is only accessible via UIScene by default in iOS13 rather than the old way.
Get the current window like this:
 [[[[UIApplication sharedApplication] connectedScenes] allObjects] firstObject].delegate.window;
Pull request #1019 resolved this issue.
You guys could try it out.

It crashes on iOS 12, because in this case: UIScene *scene = [[[[UIApplication sharedApplication] connectedScenes] allObjects] firstObject]; need to check it for iOS version!
Just replace this code:
UIScene *scene = [[[[UIApplication sharedApplication] connectedScenes] allObjects] firstObject];         if([scene.delegate conformsToProtocol:@protocol(UIWindowSceneDelegate)]){             window = [(id <UIWindowSceneDelegate>)scene.delegate window];         }else{             window = [[[UIApplication sharedApplication]delegate]window];         }
with this:
if (@available(iOS 13.0, *)) {         UIScene *scene = [[[[UIApplication sharedApplication] connectedScenes] allObjects] firstObject];         if([scene.delegate conformsToProtocol:@protocol(UIWindowSceneDelegate)]){             window = [(id <UIWindowSceneDelegate>)scene.delegate window];         }else{             window = [[[UIApplication sharedApplication]delegate]window];         }     } else {         window = [[[UIApplication sharedApplication]delegate]window];     }

At Appdelegate.swift
In func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool
Let set window = UIWindow(frame: UIScreen.main.bounds)

At Appdelegate.swift
In func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool
Let set window = UIWindow(frame: UIScreen.main.bounds)

Works for me.
Thanks @LaptrinhvaCuocsong