Discovery: Refactor and add Avahi DBus backend

So... I was mildly annoyed by the
*** WARNING *** The program 'librespot' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/blog/projects/avahi-compat.html>

warnings from the dns_sd compat library and thought it would be a fun little project to write an additional MDNS/DNS-SD backend that directly talks to Avahi via DBus.
This PR is a minimal working example of that. I made quite some refactorings to the discovery module in order to keep the code readable and not litter it too much with #[cfg(feature = "with-xyz")] guards. This should be fairly easy to review by looking at the individual commits and their messages.
I have a local branch with some more error handling in the avahi_task, but I'd be happy about your opinion on this before making things more complicated (I'd also need to clean that up a bit).
Does this have a place in librespot upstream? If so, I'd add some more documentation around the new feature flags and commandline flag.

Tests seem to pass now (I've had to bump MSRV and improve handling of the feature flags). The one remaining test failure seems to be spurious: It's a timeout when testing Session.connect, which shouldn't be affected by anything in this PR as far as I can tell.

Hi,
just tried to compile it with cargo build --release --no-default-features --features "pulseaudio-backend", but I get the following compile errors:
   Compiling librespot-discovery v0.5.0-dev (/tmp/librespot/discovery)
error[E0432]: unresolved import `self::avahi`
  --> discovery/src/lib.rs:26:5
   |
26 |     avahi::EntryGroupState,
   |     ^^^^^ could not find `avahi` in the crate root

error[E0433]: failed to resolve: use of undeclared crate or module `zbus`
   --> discovery/src/lib.rs:152:11
    |
152 | impl From<zbus::Error> for DiscoveryError {
    |           ^^^^ use of undeclared crate or module `zbus`

error[E0433]: failed to resolve: use of undeclared crate or module `zbus`
   --> discovery/src/lib.rs:153:20
    |
153 |     fn from(error: zbus::Error) -> Self {
    |                    ^^^^ use of undeclared crate or module `zbus`

Some errors have detailed explanations: E0432, E0433.
For more information about an error, try `rustc --explain E0432`.
error: could not compile `librespot-discovery` (lib) due to 3 previous errors

I've build this branch successfully using cargo build  --release --no-default-features --features with-avahi. It was even possible to build a static binary (with RUSTFLAGS="-C target-feature=+crt-static").
When I don't specify any 'zeroconf' backend (e.g. cargo build  --release --no-default-features) I get the same errors as @meiser79

Sorry, I have fixed that locally already and forgot to push it. Will do so later today!

Build should be fixed now for any feature combination :)

Building with only --no-default-features works now, but it won't start successful.
[2024-10-06T11:17:43Z ERROR librespot] Invalid `--zeroconf-backend` / `-`: ""
Default: <none>

Building with only --no-default-features works now, but it won't start successful.
[2024-10-06T11:17:43Z ERROR librespot] Invalid `--zeroconf-backend` / `-`: ""
Default: <none>

Oh, right: I didn't think about that case. Previously, there was no way to compile librespot without discovery/zeroconf support, but this is a possibility now. (And I guess it's sensible: If people want to build a minimal-size executable, and require only OAuth support, they could compile without zeroconf backend.)
Should be fixed now, with librespot exiting with an error message if the combination of compile-time features and CLI options leaves no way to authenticate.

Works now.
[2024-10-06T15:58:03Z INFO  librespot] librespot 0.5.0-dev d07063f (Built on 2024-10-06, Build ID: YkDAkydC, Profile: debug)
[2024-10-06T15:58:03Z ERROR librespot] Credentials are required if discovery and oauth login are disabled.

If you could resolve that last comment, and resolve the conflicts, I'm all for merging this. 👍

You think you could do something about #1379 here?

If you could resolve that last comment, and resolve the conflicts, I'm all for merging this. 👍

Will do!

You think you could do something about #1379 here?

The new backend should not be affected by that issue, cf. my comment at #1379.
I think there's room to improve documentation around that issue, and maybe also to improve librespot defaults. However, I think that's out of scope here.

Thanks for the update. I think there's something up with the changelog merge. Could you move your changes up to the "Unreleased" section? Also probably should mark the discovery changes as breaking if there were any API changes there that upstream devs should be aware of.

You think you could do something about #1379 here?

The new backend should not be affected by that issue, cf. my comment at #1379.
I think there's room to improve documentation around that issue, and maybe also to improve librespot defaults. However, I think that's out of scope here.

Props for the extensive reply there. All good to me. I thought maybe it was easy to slip that proposal in here, but totally fine to keep that for some other PR.

Thanks for the update. I think there's something up with the changelog merge. Could you move your changes up to the "Unreleased" section? Also probably should mark the discovery changes as breaking if there were any API changes there that upstream devs should be aware of.

Completely missed this when rebasing, thanks for the heads-up! Hopefully, this should be fixed now.

You think you could do something about #1379 here?

The new backend should not be affected by that issue, cf. my comment at #1379.
I think there's room to improve documentation around that issue, and maybe also to improve librespot defaults. However, I think that's out of scope here.

Props for the extensive reply there. All good to me. I thought maybe it was easy to slip that proposal in here, but totally fine to keep that for some other PR.

:+1:

Merged, thanks a lot! May I ask you to also update the wiki with the new command line options?
With these breaking changes, we're going to up the version to 0.6.0. And hey, since faster releases are requested, would what we have now not be a nice scope?

Merged, thanks a lot! May I ask you to also update the wiki with the new command line options?

Done!

Is there a summary somewhere as to which library to use under which circumstances? What are the pros and cons of them? (I'm not familiar with mDNS here, but providing a librespot based binary to many platforms... Windows, Mac, Linux)

Quick note. If one was building with disabled default features (eg: cargo build --release --no-default-features --features pulseaudio-backend) librespot won't start anymore after this. To recover, explicitly enable mdns, cargo build --release --no-default-features --features pulseaudio-backend,with-libmdns.

Quick note. If one was building with disabled default features (eg: cargo build --release --no-default-features --features pulseaudio-backend) librespot won't start anymore after this. To recover, explicitly enable mdns, cargo build --release --no-default-features --features pulseaudio-backend,with-libmdns.

What exactly do you mean when you say it "won't start anymore"?
With the changes made after https://github.com/librespot-org/librespot/pull/1347#issuecomment-2395473932 it definitely shouldn't crash but exit with a meaningful error message. Also, see https://github.com/librespot-org/librespot/issues/1390 and updates made to the documentation there.
There's room to further improve documentation; that's still on my todo-list.

What exactly do you mean when you say it "won't start anymore"?

Sorry, indeed; it exits with an error and the message Credentials are required if discovery and oauth login are disabled as mentioned above. It's very clean.
I was just pointing out the change ref --no-default-features, as if I half-understand here the mdns was baked-in (not a feature) and thus always enabled, but that's not true anymore.
Sorry for the noise.


Remove redundant version in pom.xml

Codecov Report

Merging #231 (9ed1698) into master (f1f92f7) will decrease coverage by 0.15%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #231      +/-   ##
============================================
- Coverage     35.84%   35.69%   -0.16%
+ Complexity      662      659       -3
============================================
  Files           220      220
  Lines         11229    11229
  Branches        275      275
============================================
- Hits           4025     4008      -17
- Misses         6957     6977      +20
+ Partials        247      244       -3

Flag
Coverage Δ

java
61.68% <ø> (-0.45%)
:arrow_down:

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

Impacted Files
Coverage Δ

...g/apache/rocketmq/client/java/impl/ClientImpl.java
48.55% <0.00%> (-5.47%)
:arrow_down:

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


make test fail by using unsynchronized read/write closures

Hey, as we discussed in #100 the cache calls normalizeOperation with unsynced read/write methods. So in this case the deep merge doesnt really help and the data is still missing fields.

Maybe we should add readFromCache closure, and the regular read must be in sync with the write. write(val, 1); assert(read(val) == 1)
Then the deep merge will consider three sources: the currently processed object, its past versions from the current normalizeOperation execution and its version in the cache.


Can you make it a prebuilt extension?

As the installation of source extensions jupyter labextension install is likely to be removed in future versions of JupyterLab: jupyterlab/jupyterlab#11336 so can you make your theme jupyterlab_city-lights-theme a prebuilt extension, please?
More information on a prebuilt extension can be found here

Hi,
Coming here from the issue on JupyterLab: https://github.com/jupyterlab/jupyterlab/issues/11336
Although it's not decided if or when the managing of source extensions will be dropped, installing prebuilt extensions is still a nice improvement for the end users.
There is also a migration guide in the docs, and the python -m jupyterlab.upgrade_extension script should already help quite a bit with the migration: https://jupyterlab.readthedocs.io/en/stable/extension/extension_migration.html#jupyterlab-2-x-to-3-x

I once tried to support the prebuilt extension when JupyterLab 3.0 came out, and #100 is an attempt to prepare Python's venv setup prior to the actual implementation. As you can see in the PR, GitHub Actions somehow keeps failing in the topic branch whereas the equivalent test goes well on my local end. I gave up troubleshooting quite a while ago, but I try to make some time again to look into this.
I didn't know that jupyterlab/jupyterlab#11336 has been discussed. Thanks for letting me know!

For some applications, the only allowed way to install jupyter extensions is via 'pip' or 'conda' already. So the command 'jupytelab extension install' does not work. One of the examples is the 'Jupyterlab Desktop'.


gmp: Skip WAL (passthrough) if no PRW is specified, normal agent mode otherwise.

Before this change GMP fork in agent mode for 2.45.3 will write data to agent DB/WAL and rely on truncation to remove the entries. This is wasteful if no PRW is configured as we have a side channel for GCM export.
This change literally skips all sample appends if no PRW is configured. This effectively keeps agent DB/WAL always empty. If new configuration comes in with PRW entry, the append is enabled and all should work as in vanilla Prometheus.
This should give us maximum efficiency, while keeping agent mode smooth for everyone. This also allows experiments with "passthrough" mode (no WAL/persistence mode) in future of Prometheus.

Kind of works, but some metrics bugs are there, to investigate:


Create Multiple Sheets

Is it possible to create a multiple sheets, example MySheet1, MySheet2, MySheet3. . . . ?

Yes, it's possible. The first argument of updateCell() takes a String as input for the sheet name.
So, if you do something like
var decoder = Excel.createExcel();

decoder.updateCell("Sheet1", CellIndex.indexByString("A1"), "val");
decoder.updateCell("Sheet2", CellIndex.indexByString("A1"), "val");

you'll have a document with two sheets: Sheet1 and Sheet2.

Yes its possible to create, whenever u call decoder.updateCell() with the desired sheetName
then if the sheet doesn't exist then it will be automatically created or if it exists then it will be updated in the desired cell

seems like it won't create a new sheet if you use appendRow()

Its working now.
Long Live Open S🔥 urce


maintenance, fork/copies

hi @mwitkow sorry to bug you.
I was curious if I could get your permission to take some/most of the go-flagz code and integrate it into a slightly different format (for instance using std go flags pattern and naming, a different logging/error handling etc...) probably as a new package in fortio (https://github.com/fortio/fortio) obviously I would preserve your name in the credits and copyright header but curious to get your blessing or hear objections? (do you plan on maintaining go-flagz further? is improbable-io going to?)
ps: if you want we can talk via email or twitter or linked in if that feels better

Hi Laurent,
Thanks for reaching out. I'm not actively supporting the codebase (I sadly
rarely code these days) and I don't think Improbable is either. If you find
it useful feel free to reuse it in whatever fashion the existing license
permits
Thanks
Michal
On Wed, 15 Jul 2020, 22:44 Laurent Demailly<EMAIL_ADDRESS>wrote:

hi @mwitkow https://github.com/mwitkow sorry to bug you.
I was curious if I could get your permission to take some/most of the
go-flagz code and integrate it into a slightly different format (for
instance using std go flags pattern and naming, a different logging/error
handling etc...) probably as a new package in fortio (
https://github.com/fortio/fortio) obviously I would preserve your name in
the credits and copyright header but curious to get your blessing or hear
objections? (do you plan on maintaining go-flagz further? is improbable-io
going to?)
ps: if you want we can talk via email or twitter or linked in if that
feels better
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mwitkow/go-flagz/issues/25, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACJVNI5Y6NC4M65RBIHFKJDR3YIMFANCNFSM4O26HYVQ
.

Thank you for the reply, appreciated! will do and keep the Apache-2.0 license and your initial copyright and credit.

here is the outcome:
https://github.com/fortio/fortio/tree/master/dflag
(trimmed down features like etcd etc that I don't need and add (broken atm) dependencies)
hope it's ok

I rewrote most of the code using generics and made additional improvements, also just moved it to a standalone package with minimal dependencies:
https://github.com/fortio/dflag


`MonsterLove.StateMachine.StateMachine.ignoredNames' is assigned but its value is never used

Can this line then be removed?
StateMachine/StateMachine.cs(60,29): warning CS0414: The private field `MonsterLove.StateMachine.StateMachine.ignoredNames' is assigned but its value is never used

Necropost! As of v4.0 the ignored names concept no longer exists. ;)


Fixed problem with active items within a Sub Menu

When the list item is active, .sidebar2 li li:not(:hover) a  would still change the background to white.
This is just a little fix to stop that from happening.

http://forum.metroui.org.ua/viewtopic.php?id=69


Corrupt json file, if json file is UTF-8 with BOM

code-server version: 1.939-vsc1.33.1
OS Version: Linux

Description
If the json file is UTF-8 with BOM, then a zero-length file is written. After that we can not close the tab with the file.
Microsoft vscode have not this problem.
Steps to Reproduce

Open Json file in editor.
Edit
Save Json file
Result: File corrut and lenth 0. The tab does not close.

No longer relevant to new releases. Closing as fixed


fix: Enable delayed-start services to get message-bus credential

Closes #4540
security-spiffe-token-provider allows delayed start services to request known secrets. Prior to this commit, it didn't know about the message-bus known secret.  Also is now just a warning to the log if a service requests a nonexistent secret.

If your build fails  due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/edgex-go/blob/main/.github/Contributing.md
PR Checklist
Please check if your PR fulfills the following requirements:

[X] I am not introducing a breaking change (if you are, flag in conventional commit message with BREAKING CHANGE: describing the break)
[X] I am not introducing a new dependency (add notes below if you are)
[ ] I have added unit tests for the new feature or bug fix (if not, why?)
[X] I have fully tested (add details below) this the new feature or bug fix (if not, why?)
[ ] I have opened a PR for the related docs change (if not, why?)

Testing Instructions
Suggested testing instructions:
modify add-runtime-token-config-template.yml and add SECRETSTORE_RUNTIMETOKENPROVIDER_REQUIREDSECRETS: foo,message-bus,redisdb,bar
make run dev delayed-start ds-virtual
docker logs -f edgex-security-spiffe-token-provider
you will notice that there are errors thrown when it tries to request the message-bus known secret, which doesn't exists, because make run didn't have the mqtt-bus option provided.  Also foo and bar secrets will be ignored.  Basically, this proves the code is trying to copy those known secrets.
Success case achieved by make run dev mqtt-bus delayed-start ds-virtual.
New Dependency Instructions (If applicable)

Codecov Report

Merging #4550 (d352908) into main (47e5a6d) will not change coverage.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main    #4550   +/-   ##
=======================================
  Coverage   41.53%   41.53%
=======================================
  Files         106      106
  Lines        9766     9766
=======================================
  Hits         4056     4056
  Misses       5364     5364
  Partials      346      346

Impacted Files
Coverage Δ

internal/security/secretstore/init.go
14.35% <100.00%> (ø)


ci: test against PHP 8.2

@owenvoke Thanks for the PR! Please see this discussion regarding PHP 8.2: https://github.com/azuyalabs/yasumi/discussions/302

Aha! Thanks, my bad! I'll close this and let you handle the changes on your branch. 👍🏻

No worries! :ok_hand:


Speed Issue: House district map files too large.

If you look at the house district maps, they begin around 215kb in the first house, ramp up to 600kb-850kb from the 100th-112th... and then jump in size to 1.2MB for the 113th and 114th. There's a palpable load time difference between votes in the 112th and votes in the 113th.
(Note this is separate from #23 which is the states_all.json for the party control maps.)
Any way we could regenerate the 113th and 114th house maps with less detail or is there something intractable about the 2010 redistricting that's pushing up the level of detail required?

Smaller maps made and committed for 113th and 114th Congress.  Seem to work/look fine.


Add illustrative example comics to the intro/basics

Eg. xkcd or phdcomics

about git command-line reality https://xkcd.com/1597
about commit messages reality https://xkcd.com/1296/
Do we have permission to use PHD comics?

"Final paper": https://phdcomics.com/comics/archive.php?comicid=1531
"Start from scratch": https://phdcomics.com/comics/archive.php?comicid=1689


Editor + Dotnet ProjectSystem ---- Project References don't work.

With a dotnet sdk solution, project with project references do not work properly.

I think we should be more specific here: I highly doubt that everything will fail once the language service is made aware of the P2P reference.  But that appears to be the issue right now.
Is this something you'll be addressing in #3564?

Fixed by #3777


Do not allow image under configuration in mesg.yml

for now is ok to set configuration.image in mesg.yaml and it shound't

Please don't forget to ref the issue


Fix default path for auth.json

Default path should be ${XDG_RUNTIME_DIR}/containers/auth.json according
to the docs.
This regressed to ${XDG_RUNTIME_DIR}/auth.json in #3760.
Fixes: #4227
Signed-off-by: Hunor Csomortáni<EMAIL_ADDRESS>

My concern would be losing existing credentials after this change is applied (we won't look at the old default path, so users will have to log in again)... though, given this only happens after an RPM upgrade, I don't suppose that's the worst thing.
/approve

LGTM assuming happy tests.
Probably worth making a release note for this @mheon once the kit is created.

Failures seem to be flakes, related to #4167 . Is there a way I can re-trigger CI?

/lgtm
/hold
hold cancel once tests pass.

@csomh I think you can click on the "details" link next to a failing test and then click on "retest" on the next page.  If not, an admin certainly can and will.  Looks like the tests are cranking ATM, fingers crossed.

/hold cancel

I think Podman should not try to hard-code the default path and rely on the defaults implemented in containers/image (see https://github.com/containers/image/blob/master/pkg/docker/config/config.go#L171). @mtrmac, what do you think of making getPathToAuth(...) public? We could then drop the function in libpod and use/display what c/image provides.

I agree Podman should not carry a duplicate of the default logic in the cases it uses the default (in particular, not rootless… or maybe c/image should become rootless-aware in all its defaults, but that would be a bigger project)
Just exporting getPathToAuth would not be sufficient, because the primary reason Podman overrides it (I think) is handling rootless.GetRootlessUID(), which c/image does not do (rootless-aware, again)
getPathToAuth defaults to /run/containers/$UID/auth.json, which Podman does not do, but more importantly which does not actually work for non-root UIDs well (the caller is not allowed to modify files in there), so porting this default to Podman seems not quite warranted. [FWIW the Podman’s attempt to create /run/user/$UID will fail for the same reason.]
Podman has two more locations where it tries to create the files. Assuming they are there for a good reason, just using getPathToAuth would break those cases.

The quick 60% improvement is for Podman to not set SystemContext.AuthFilePath if $XDG_RUNTIME_DIR is set; that immediately does the right thing for all non-root users, and does not change Podman’s behavior at all.
As for root, that’s worse… Ideally the whole sequence of fallbacks (or those parts of it that are actually necessary?) in pkg/util.GetRuntimeDir would be exactly the same as in c/image/config, shared in a subpackage somewhere. That’s not exactly getPathToAuth, though. Maybe a c/image/pkg/docker/config/directory?
One other awkward moment about all this is credential helper configuration — the approach we’ve been using now, to create/edit a config file in the first possible directory in the fallback sequence, is rather incorrect if a file later in the fallback sequence already exists and specifies credential helpers: creating the new file causes that credential helper configuration to be ignored. So, GetRuntimeDir really should be GetDockerAuthFilePath returning a path exactly to the file to create/modify (while Podman needs a runtime directory for other purposes, sure).
Just exporting getPathToAuth doesn’t look like the right API.

I am fine with containers/image owning this, and podman, buildah, skopeo should allow it to handle it, if possible.


[Mentions v2] Replace room mentions with reportName when sending emails

~HOLD https://github.com/Expensify/App/issues/39514~
When sending emails we need to start replacing the room mentions with the room name as plain text, as described here in the Mentions v2 design doc.

Auth PR is up, still have a Web-E PR to put for review.

Deployed


First 2 segments always by http, can it be changed?

Is there any way to force the download over p2p of every segment including the first 2 that by default are downloader over http?
thanks

P2P Media Loader implements P2P assisted video delivery approach. It means that the source stream is located on a CDN or a Media Server and accessible over HTTP.
For example, if you have 5 peers in the P2P swarm then at least one peer have to download the segments from source and redistribute them over P2P to other 4 peers. Maximum possible overall P2P ratio, in this case, is 80%.
For 10 peers maximum possible overall P2P ratio is 90%. For 100 peers 99%. For 1000 peers in the best case (that is practically not possible) is 99.9%.
Assuming above overall 100% P2P is not achievable with this approach and you can not achieve "force the download over p2p of every segment" for all the peers.
While designing, implementing and testing P2P algorithms of the library we came to decision that the first few segments have to be downloaded over HTTP. It provides best user experience - fast playback on startup with no difference compared to standard HTTP download.
P2P requires more time to initialize, find peers and do P2P download than raw HTTP download. Moreover, if you start download first segments over P2P from a slow peer or even broken peer your playback will stall and your site visitors will be disappointed.
"force the download over p2p of every segment" has another drawback - if a peer can't connect to other peers over P2P (for example behind NAT not configured well for P2P) then playback will never start.
You can configure to try event first 2 segments to download over P2P by using requiredSegmentsPriority property like:
const config = {
    loader: {
        requiredSegmentsPriority: -1
    }
};

const engine = new p2pml.hlsjs.Engine(config);

But it will not give you 100% P2P ratio and may lead to stalls and not reliable playback.

thanks


Add integration tests to checks done during PR review

What would you like to be added:
Similar to the existing cli tests executed on commits in a PR branch, the existing integration tests that are done on the main branch every day should be executed (will take around 5 additional minutes). In addition to that, the e2e test suite for all the dependent components, e.g. ocm-controllers, maps, etc. should be executed with the ocm cli/lib version built during the PR.
Why is this needed:
Required to avoid errors introduced to the main branch by detecting them before the merge.

Hi @jensh007 , as discussed it makes much sense to also include the integration tests into the PR checks. I hope it is ok, to place this on you as you have the best knowledge about the current test setup.

Just call dispatch workflow with a payload describing the version and the branch.

https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#repository_dispatch
on:
  repository_dispatch:
    types: [test_result]

jobs:
  run_if_failure:
    if: ${{ !github.event.client_payload.passed }}
    runs-on: ubuntu-latest
    steps:
      - env:
          MESSAGE: ${{ github.event.client_payload.message }}
        run: echo $MESSAGE

Almost done. Added PR #485 to ocm repo. Still in draft and not to be merged because it requires an organization level secret. I don't have permission to create this.

#485 ready for review

test results are sent as PR comment
failing tests will not block PR
Slack notifications now sent only on failure to reduce spamming our channel


Fix for case where '/' is an endpoint

Added special case for '/' as an endpoint and created a new test for that
Microsoft Reviewers: Open in CodeFlow

Should fix this issue.

I added back a file under the tests/apis as only there it is checked if the generated file compiles, which checks if there are no two same methods generated

Merged and published as 3.0.3. Thanks @sjwilczynski!


Custom AMI creation (pcluster createami/pcluster build-image) fails with ARM architecture

Bug description
When provisioning AMIs via either the pcluster createami command (on pcluster 2.x) or pcluster build-image command (on pcluster 3.0.0), the arm_pl_install recipe in the ParallelCluster cookbook will fail with the following error message:
FATAL: OpenSSL::SSL::SSLError: remote_file[/opt/parallelcluster/sources/gcc-9.3.0.tar.gz] (aws-parallelcluster::arm_pl_install line 75) had an error: OpenSSL::SSL::SSLError: SSL Error connecting to https://ftp.gnu.org/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz - SSL_connect returned=1 errno=0 state=error: certificate verify failed (certificate has expired)

Causes of the problem
This error is the result of the Letsencrypt Root CA X3 expiration on 30 September 2021. The certificate embedded in CINC version used is outdated. See Github issue on Chef for more details: https://github.com/chef/chef/issues/12126.
How to reproduce the bug
It happens when creating custom ARM architecture AMI using the following command.
For pcluster2:
pcluster createami --region $Region --ami-id $your_base_ami \
  --instance $arm_instance_type --os $selected_OS --config $your_config

For pcluster3:
pcluster build-image --region $Region--image-id $your_image_id \
  —image-configuration your_image_config.yaml

Affected Versions
This issue affects ParallelCluster from 2.10.1 to 3.0.0 when using createami/build-image with ARM architecture base AMI.
Workaround
You can find the mitigation of the problem here.

Fixed as part of 2.11.3: https://github.com/aws/aws-parallelcluster/releases/tag/v2.11.3


LSTM not work in M1

Issue Description
Please describe our issue, along with:

expected behavior
let M1 work like it does in beta7

encountered behavior

Could not calculate output shape for op DynamicCustomOp: not fully initialized (0 TArgs specified, 1 required)
java.lang.NullPointerException: array is marked non-null but is null
	at org.deeplearning4j.nn.workspace.LayerWorkspaceMgr.validateArrayLocation(LayerWorkspaceMgr.java:80)
	at org.deeplearning4j.nn.graph.ComputationGraph.validateArrayWorkspaces(ComputationGraph.java:1877)
	at org.deeplearning4j.nn.graph.ComputationGraph.ffToLayerActivationsInWS(ComputationGraph.java:2159)
	at org.deeplearning4j.nn.graph.ComputationGraph.computeGradientAndScore(ComputationGraph.java:1371)
	at org.deeplearning4j.nn.graph.ComputationGraph.computeGradientAndScore(ComputationGraph.java:1340)
	at org.deeplearning4j.optimize.solvers.BaseOptimizer.gradientAndScore(BaseOptimizer.java:174)
	at org.deeplearning4j.optimize.solvers.StochasticGradientDescent.optimize(StochasticGradientDescent.java:61)
	at org.deeplearning4j.optimize.Solver.optimize(Solver.java:52)
	at org.deeplearning4j.nn.graph.ComputationGraph.fitHelper(ComputationGraph.java:1164)
	at org.deeplearning4j.nn.graph.ComputationGraph.fit(ComputationGraph.java:1114)
	at org.deeplearning4j.nn.graph.ComputationGraph.fit(ComputationGraph.java:1081)

Version Information
Please indicate relevant versions, including, if relevant:

Deeplearning4j version M1
Platform information (OS, etc) WIN7
CUDA version, if used  NO
NVIDIA driver version, if in use NO

@SidneyLann  could you please provide a complete example including input I can just run to verify this? Thanks!

dl4j-lstm.zip
lstm.zip

@agibsonccc uploaded. Please change the DATA_HOME folder in LstmUtil.java

@agibsonccc Please give me your email address.

@SidneyLann  DM me on the forums please.

But there can't upload zip files.

@SidneyLann  that's fine. I'm happy to have the conversation on there, then if needed you can send me sharing links or an email. I just don't want an email publicly accessible for bots to spam.

@SidneyLann  confirmed already fixed on snapshots/new release version. I was able to run your code just fine. I downloaded it from the archives. It was likely related to the helpers issues that were already fixed. Thanks for reporting!


feat: add SigmaCompactSpace instances

forward-port of leanprover-community/mathlib#19100. Also adds a new lemma IsClosed.sigmaCompactSpace.

I don't forward-port changes to Topology.Constructions that didn't go through mathport yet.

bors merge
Thanks!


ModuleNotFoundError: No module named 'xformers._flash_attn'

hi, thanks for yuor open source ~, and this is a wondfoul work, when i prepared the data and try to run test , an error occured, like:

could you please help me debug this ~

i had debug that problem~

Congratulations! 🎉
If anyone encounters the same problem, please check this issue for a solution~

To save ur time:
export XFORMERS_FORCE_DISABLE_TRITON=1


Add a function to molecules_container that returns the molecule radius

This is necessary for good zoom control when centering on a molecule.

Implemented in https://github.com/pemsley/coot/commit/7a0f2937c38c53455d42211755f37deaaacf2872


Query.Include.Where.where = bad where.!

Please HelpME..!
using (IDatabase db = DBContext.GetInstance())
{
result = db.Query().Include(x => x.CatGastos)
.Where(x => x.Mes == mes).Where(x => x.Year == year)
.ToList();
}
generate this sql...
exec sp_executesql N'SELECT [GE].[Id] as [Id], [GE].[FechaGasto] as [FechaGasto], [GE].[CatGastoId] as [CatGastoId], [GE].[Observacion] as [Observacion], [GE].[Importe] as [Importe], [GE].[Mes] as [Mes], [GE].[Year] as [Year], [CG].[Id] as [CatGastos__Id], [CG].[Nombre] as [CatGastos__Nombre] FROM [GastosEmpresa] [GE]
LEFT JOIN [CatGastos] [CG] ON [GE].[CatGastoId] = [CG].[Id]
WHERE ([GE].[Mes] = @0) AND (([GE].[Mes] = @1) AND ([GE].[Year] = @2)) ',N'@0 int,@1 int,@2 int',@0=12,@1=12,@2=2017

haha ok I found the error
Wrong
result = db.Query().Include(x => x.CatGastos).Where(x => x.Mes == mes).Where(x => x.Year == year)
.ToList();
OK
result = db.Query().Include(x => x.CatGastos)
.Where(x => x.Mes == mes && x.Year == year)
.ToList();

This is a bug. Will get it fixed for the next release.


x509: certificate has expired or is not yet valid: current time

根据 https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/ 提供的方案，执行了以下步骤
1.检查证书时间：kubeadm certs check-expiration
2.备份：cp -rf /etc/kubernetes /etc/kubernetes.bak
3.更新证书：kubeadm certs renew all
4.重启API服务：docker ps | grep -v pause | grep -E "scheduler|controller|apiserver" | awk '{print $1}' | awk '{print "docker","restart",$1}' | bash
5.更新链接配置：
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
cd /home/ec2-user/.kube
chown ec2-user:ec2-user config

6.检查证书
[root@k8s-master01 pki]# kubeadm certs check-expiration
[check-expiration] Reading configuration from the cluster...
[check-expiration] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'

CERTIFICATE                EXPIRES                  RESIDUAL TIME   CERTIFICATE AUTHORITY   EXTERNALLY MANAGED
admin.conf                 Oct 26, 2024 08:02 UTC   364d                                    no
apiserver                  Oct 26, 2024 08:02 UTC   364d            ca                      no
apiserver-kubelet-client   Oct 26, 2024 08:02 UTC   364d            ca                      no
controller-manager.conf    Oct 26, 2024 08:02 UTC   364d                                    no
front-proxy-client         Oct 26, 2024 08:02 UTC   364d            front-proxy-ca          no
scheduler.conf             Oct 26, 2024 08:02 UTC   364d                                    no

CERTIFICATE AUTHORITY   EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED
ca                      Sep 15, 2031 07:59 UTC   7y              no
front-proxy-ca          Sep 15, 2031 07:59 UTC   7y              no

7.启动pod 提示一下错误：
"https://XX.XX.XX.XX:443/apis/crd.projectcalico.org/v1/ippools?resourceVersion=": x509: certificate has expired or is not yet valid: current time 2023-10-27T15:01:26Z is after 2023-09-18T09:20:41Z, failed to clean up sandbox container

Please write your issue in English @holidayFeng; this is the language we use for bug reports and feature requests.

/triage needs-information

Please write your issue in English @holidayFeng; this is the language we use for bug reports and feature requests.

thank you for your reply
issue: x509: certificate has expired or is not yet valid: current time；
I tried the following, but the issue was not resolved, but the certificate was updated by checking kubeadm certs check-expiration；
1.check when certificates expire:
kubeadm certs check-expiration
2.cp -rf /etc/kubernetes /etc/kubernetes.bak
3.kubeadm certs renew all
4.restart "scheduler|controller|apiserver" ：
docker ps | grep -v pause | grep -E "scheduler|controller|apiserver" | awk '{print $1}' | awk '{print "docker","restart",$1}' | bash
5.update config：
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
cd /home/ec2-user/.kube
chown ec2-user:ec2-user config

[root@k8s-master01 pki]# kubeadm certs check-expiration
[check-expiration] Reading configuration from the cluster...
[check-expiration] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
CERTIFICATE                EXPIRES                  RESIDUAL TIME   CERTIFICATE AUTHORITY   EXTERNALLY MANAGED
admin.conf                 Oct 26, 2024 08:02 UTC   364d                                    no
apiserver                  Oct 26, 2024 08:02 UTC   364d            ca                      no
apiserver-kubelet-client   Oct 26, 2024 08:02 UTC   364d            ca                      no
controller-manager.conf    Oct 26, 2024 08:02 UTC   364d                                    no
front-proxy-client         Oct 26, 2024 08:02 UTC   364d            front-proxy-ca          no
scheduler.conf             Oct 26, 2024 08:02 UTC   364d                                    no
CERTIFICATE AUTHORITY   EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED
ca                      Sep 15, 2031 07:59 UTC   7y              no
front-proxy-ca          Sep 15, 2031 07:59 UTC   7y              no

more information by kubectl describe pod -n mines mines-wallet-server-5cbc4d68df-rbqhs
Events:
Type     Reason                  Age                  From               Message

Normal   Scheduled               50m                  default-scheduler  Successfully assigned mines/mines-wallet-server-5cbc4d68df-rbqhs to k8s-node01
Warning  FailedCreatePodSandBox  50m                  kubelet            Failed to create pod sandbox: rpc error: code = Unknown desc = [failed to set up sandbox container "7410f262f1bbbb01deac357299f810181f387500e5d9426d82b5d71a91601f59" network for pod "mines-wallet-server-5cbc4d68df-rbqhs": networkPlugin cni failed to set up pod "mines-wallet-server-5cbc4d68df-rbqhs_mines" network: Get "https://X.X.X.X:443/apis/crd.projectcalico.org/v1/ippools?resourceVersion=": x509: certificate has expired or is not yet valid: current time 2023-10-27T16:47:28Z is after 2023-09-18T09:20:41Z, failed to clean up sandbox container "7410f262f1bbbb01deac357299f810181f387500e5d9426d82b5d71a91601f59" network for pod "mines-wallet-server-5cbc4d68df-rbqhs": networkPlugin cni failed to teardown pod "mines-wallet-server-5cbc4d68df-rbqhs_mines" network: error getting ClusterInformation: Get "https://X.X.X.X:443/apis/crd.projectcalico.org/v1/clusterinformations/default": x509: certificate has expired or is not yet valid: current time 2023-10-27T16:47:28Z is after 2023-09-18T09:16:42Z]
Normal   SandboxChanged          30s (x232 over 50m)  kubelet            Pod sandbox changed, it will be killed and re-created.

Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.2", GitCommit:"8b5a19147530eaac9476b0ab82980b4088bbc1b2", GitTreeState:"clean", BuildDate:"2021-09-15T21:38:50Z", GoVersion:"go1.16.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.0", GitCommit:"c2b5237ccd9c0f1d600d3072634ca66cefdf272f", GitTreeState:"clean", BuildDate:"2021-08-04T17:57:25Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"linux/amd64"}

This is a support request, it is not a documentation problem.
However, in your step 4, you are restarting the controller plane components using docker commands. Why would you do that? All certs/keys are mounted into those static Pods via hostPath volumes, is docker aware of hostPath volumes?
You are supposed to restart all those components in the k8s way. For example, touch the manifests under /etc/kubernetes/manifests, or even restart kubelet.

/kind support

This is a support request, it is not a documentation problem. However, in your step 4, you are restarting the controller plane components using docker commands. Why would you do that? All certs/keys are mounted into those static Pods via hostPath volumes, is docker aware of hostPath volumes? You are supposed to restart all those components in the k8s way. For example, touch the manifests under /etc/kubernetes/manifests, or even restart kubelet.

thank you for your reply ;
"systemctl  restart kubelet" has been executed, but the issue still exists

Did you try this?

To restart a static Pod you can temporarily remove its manifest file from /etc/kubernetes/manifests/ and wait for 20 seconds (see the fileCheckFrequency value in KubeletConfiguration struct.

From https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/#manual-certificate-renewal

a better place to ask would be on the support channels. please see:
https://git.k8s.io/kubernetes/SUPPORT.md
/kind support
/close


Automate updating embedded log_list.json file

log_list.json and log_list.sig auto-updating is now complete. Gradle task configured to download the zip file, extract and verify the validity of the signature.
Remaining:

Auto tag/release workflow


fig.yml file not mentioned

Hi,
it just took me quite a while to find out that there is an important step missing between pulling the sonarqube image and running fig up. I.e. I have to get a matching fig.yml file. I found it in the github.com repo. It would be nice to put this info into the docu as well.
Anyways thanks a lot for creating and maintaining this image!
-Christian

Added the reference to the fig.yml.
Thanks for the feedback


Allow passing project root path to GlobalModelRepository

Provides a way to search for models at different location regardless where python process is started (os.getcwd).
Related to #239 and #240.
Should we allow passing multiple locations?

[x] project_root param when parsing models (model_from_str, model_from_file)
[ ] project_root param when parsing meta-models (?)
[ ] cli project_root param

Code review checklist

[ ] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR)
[ ] Title summarizes what is changing
[ ] Commit messages are meaningful (see this for details)
[ ] Tests have been included and/or updated
[ ] Docstrings have been included and/or updated, as appropriate
[ ] Standalone docs have been updated accordingly
[ ] Changelog(s) has/have been updated, as needed (see CHANGELOG.md, no need
to update for typo fixes and such).

@danixeee Can we close this in favor of #243 ?

@igordejanovic yes. Closing in favor of #243.


As of July 2023, users must provide an api key and key id to create an access token.

Describe The Bug:
Unable to connect to wyze.com
To Reproduce:
start home bridge, first connection to wyze. getVaccuumDeviceList method.
Expected behavior:
Connection and authentication successful.
Logs:
Traceback (most recent call last):
  File "/usr/local/lib/node_modules/homebridge-wyze-robovac/py_helpers/getVacuumDeviceList.py", line 13, in <module>
    client = Client(email=sys.argv[1], password=os.sys.argv[2])
  File "/Users/dbutler/Library/Python/3.9/lib/python/site-packages/wyze_sdk/api/client.py", line 72, in __init__
    self.login()
  File "/Users/dbutler/Library/Python/3.9/lib/python/site-packages/wyze_sdk/api/client.py", line 176, in login
    raise WyzeClientConfigurationError(
wyze_sdk.errors.WyzeClientConfigurationError: Must provide a Wyze API key and id.

As of July 2023, users must provide an api key and key id to create an access token. For more information, please visit https://support.wyze.com/hc/en-us/articles/16129834216731.

Plugin Config:
{
    "name": "WyzeRoboVac",
    "username": "xxxxxx",
    "password": "xxxxxxxx",
    "mfaCode": "781419",
    "statusCheckRefreshInterval": 30,
    "idleBatteryCheckRefreshInterval": 1800,
    "busyBatteryCheckRefreshInterval": 120,
    "path2py_stubs": "/usr/local/lib/node_modules/homebridge-wyze-robovac/py_helpers",
    "debugLevel": 0,
    "platform": "WyzeRoboVac"
}

Screenshots:

Environment:

Plugin Version:  homebridge-wyze-robovac v1.2.1
Homebridge Version: v1.6.1
Node.js Version: v16.16.0
NPM Version: 8.11.0
Operating System:  macOS ->

@deltabrav0 @RMCob can I get your thoughts on this? this will satisfy the api key and key id requirement as per the new Wyze changes. I am very new to this so any recommendations appreciated!

This problem is resolved with release 1.4.0


Google My Maps incompatibility

I noticed that Google My Maps will not import KML generated by SharpKML ("The file contains invalid or unsupported data, or the file is too large to parse.") However, it will import the same KML data that has been imported and then exported through the desktop version of Google Earth.
This seems to be caused by the "kml:" namespace prefix that SharpKML adds to every element. Stripping off these prefixes using a text editor makes the file acceptable to Google My Maps. Can the prefix generation be made optional?

Have you tried serializing the root object as a Kml element, which will include the namespace for you so the other elements aren't prefixed with kml: (there's an example here which shows how to serialize it)
If you're still stuck post some code and I'll try to help

I tried the technique you suggested, but I still get the namespace prefixes. This code takes the KML out of my input KMZ file, and serializes it back out again:
KmzFile kmzMain = KmzFile.Open(System.IO.File.OpenRead(strInputFilename));
KmlFile kmlMain = kmzMain.GetDefaultKmlFile();

Serializer serializer = new Serializer();
Kml root = kmlMain.Root as Kml;
serializer.Serialize(root);
using (StreamWriter strmOut = new StreamWriter(strOutputFilename, false, Encoding.UTF8))
{
    strmOut.Write(serializer.Xml);
}

Do you have a small sample KMZ file that reproduces the issue that you're allowed to share - I'm guessing the namespaces that are being read are different to what the library is expecting so it's trying to preserve that information when serializing it.

Sure. Here is a KMZ exported from desktop Google Earth and the KML (with namespace prefixes) that results from running the code in my earlier comment.
SharpKml_Sample.zip

Thanks for that, it looks like the input has the KML namespace declared twice, which we're trying to preserve when serializing and is causing problems:
<kml xmlns="http://www.opengis.net/kml/2.2" ... xmlns:kml="http://www.opengis.net/kml/2.2" ...>
Let me take a look and see how we can handle that, so far not having much luck with the XmlWriter to get it to do the right thing (the easy option would be to not serialize the xmlns:kml attribute, but I believe we have to retain all element/attributes from the original file)

This is now fixed in 3.0.5 (well, it works on my machine 😇) - thanks for your help reporting and providing sample data that was able to reproduce the problem!

Looks good here, too. Thanks for the quick response.


Hydra don't detects flatpak lutris

it's possible to use the flatpak version, or is needed to install the native?

Currently Hydra does not support flatpak, although it is planned for the future.
I'm not a Linux user so I won't be able to help you in details, but if the native wat that you mentioned does not work, you could join the discord server and ask for help in the support channel


icons cut off on linux

The "send", "receive", etc icons are cut off a bit on linux. I'm using the high resolution. Low res too small. See screenshot.

That effect comes from QT scaled method. Small increase of icon size helped


Use single eq operator

Double eq works only on Bash shell, so the comparison will fall on any other POSIX shells.

You are right. Single equal should be used. Thanks for the contribution.


Is this Java/Swift SDK incomplete compared to JS SDK?

Hi,
The Java SDK and Swift SDK provided by the IAB looks incomplete to me compared to what they offer via JS SDK.
If you look at the SDK e.g. Java SDK all it offers is the ConsentStringParser(byte[] bytes), and this takes byte stream as the input.
It’s much more via the JS SDK, where you provide the vendor list, vendors allowed and purposes allowed. So are the APP developers supposed to use other API in APPs even to generate the byte stream that is needed towards ConsentStringParser.
Regards,
Zahoor

@zahoork my thoughts were that Java would be used primarily to just read values coming from consent strings created by CMPs.   So the JS SDK got writing functions added to it.  It seems, however, that there is a growing need to support setting consent string values especially in android mobile contexts.  We're trying to figure out the best way to handle this, whether it is splitting out a separate Android Consent String SDK or to have both side-by-side in this repo.

Thanks chris for your response. We e.g as publishers(who act as CMP as well) want this SDK to generate the consent string as well based on consents related to each vendor in Global vendor List/or publisher specific vendors so that we can make the consent string available to other SDKs/Adversting SDK's etc.  This is exactly how we use the Javascript SDK as well, which takes the consents from vendors, purposes etc and generates the consent strings for us. So only to have consent parsing/validation part in the SDK won't help. Accordingly please add this missing part to both Java and Swift SDK's.
Regards,
Zahoor

This is good feedback thank you.

There is a VendorConsentBuilder in the version 2.0.0 which may be what you need

@lanusau From Android perspective, the problem in VendorConsentBuilder in the version 2.0.0 is that it is dependent about Instant class which is not available until api level 26. Any plans for supporting older Android version as well?

Android support is an open issue. There was a suggestion on the other thread that maybe we need to fork this and create another project for Android. While it may seem somewhat easy to adjust code here to make it compatible with Android initially, the truth is that a lot of backend Java programmers are not familiar with Android constraints, Java 8 is ancient history for us, we're already looking to Java 9 and 10 and beyond. So its inevitable that some code eventually will make it this project that will break android compatibility. So I think having separate project for Android would be more stable?

The main issue is that Android supports mainly Java 1.7 but support for 1.8 exists to some extent.
For example, lambdas, methods references are backported to old versions of Android but other APIs such as Streams are not available for versions of Android lower than 7.0 (roughly only 37% of devices that visited the Google Play Store).
I started working on a PR that would backport this SDK to 1.7 but I'm not sure if it's the right thing to do as it introduces API breaking changes and also, it would be lowering this SDK to the lowest common denominator (ie Android).
Splitting this SDK in two separate projects (one for pure Java 8/9/10 and one for Android Java 1.7) means supporting two versions of basically the same thing and I'm not sure you want to do that.

My vote is for having separate project for Android. If that seems like an overkill, then we need an automated way to test that build will work on Android.

So far, I've bumped into Streams, lambdas, method references and java.time.Instant requiring java 8.
I agree with @ChrisKula that having a single repo is better in terms of maintenance.
Regarding @lanusau remark that backend developers might continue pushing java 8 code, I guess this can be prevented by forcing sourceTargetCompatibility=1.7 in the gradle file.

I don't have environment to compile and test this code for Android. So we need a volunteer to backport this code to java 1.7 and test in Android environment.

I had a stub at this one and have created PR https://github.com/InteractiveAdvertisingBureau/Consent-String-SDK-Java/pull/39

@lanusau @ChrisKula @jsuontaus I have a working version for Android here:  https://github.com/didomi/Consent-String-SDK-Android
cc @jenniferIAB

I have reviewed PR #39 and its ready to merge. However, if we are going to have official Consent-String-SDK-Android, then it would make better sense to leave this library as it is, because PR #39 changes signatures of some methods (from Instant to Date) and would very likely require people using this library to update their code after upgrading to new version.
@tszpinda  - does Consent-String-SDK-Android code above work for you?
@jenniferIAB  - I wonder what are your thoughts of having Consent-String-SDK-Android alongside this library?

PR #39 is not necessarily enough to make it Android-compatible as it's hard to guarantee that the APIs used are compatible with Android unless you build for Android specifically. The project needs to include building and Android library as well which is what https://github.com/didomi/Consent-String-SDK-Android does (it uses the exact same code as the Java version).

@jawadst, comments below

it's hard to guarantee that the APIs used are compatible with Android unless you build for Android specifically

Do you have an exemple ? Java 7 should work out of the box for android

The project needs to include building an Android library

What do you mean ? Android doesn't require a .aar. Plain jars work fine.
Overall, forking always has a cost. In addition to maintenance (having to backport), it also makes it less easy to find the correct repo. I would like it better if there could be only one repo. The use of Date instead of Instant in a breaking change but nothing too complicated to change for users.


Fix spelling error (causing CI failure)

Proposed Changes
SSIA
Small typo fix, that currently causes codespell to fail.
../Frenck

Codecov Report

Merging #438 (4df5319) into main (1ff6831) will not change coverage.
Report is 7 commits behind head on main.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #438   +/-   ##
=======================================
  Coverage   91.74%   91.74%
=======================================
  Files           4        4
  Lines         109      109
  Branches        8        8
=======================================
  Hits          100      100
  Misses          8        8
  Partials        1        1


Persisting a vector of strings

Dear devs,
For a given segment I produce a vector of strings. Does cineast support storing this vector to the cottontail db?  If yes, could you point me to an example? I have seen that there is vector support for ReadableFloatVector, but could not find something similar for strings.  Otherwise, should I have multiple database entries for each vector element?
Best,
Ribin

Hey, string vectors are not supported. If you want to store multiple strings, you would need to explicitly create a 'column' for each.
For something different: we recently enabled github discussions for all main repos of the vitrivr organization, they are a more suitable place for questions.

I'll just briefly add: You can use Text Retrieval in Cottontail, check out for example how we search OCR. As @lucaro said though, feel free to start a discussion on the discussions page.


Step 14 is missing & Step 15 throws an error

Step 14 is missing and Step 15 threw this error...
PS V:\Arc-HCI\WorkingDir> az hybridaks proxy --resource-group $resourceGroup --name "aks-hybrid-cluster" --file .\target-config
az : WARNING: Command group 'hybridaks' is in preview and under development. Reference and support levels:
https://aka.ms/CLI_refstatus
At line:1 char:1

az hybridaks proxy --resource-group $resourceGroup --name "aks-hybrid ...

  + CategoryInfo          : NotSpecified: (WARNING: Comman...s/CLI_refstatus:String) [], RemoteException
  + FullyQualifiedErrorId : NativeCommandError

ERROR: Bad Request({"error":{"code":"NoRegisteredProviderFound","message":"No registered resource provider found for
location 'westeurope' and API version '2021-10-01-privatepreview' for type 'endpoints'. The supported api-versions are
'2021-10-06-preview, 2022-05-01-preview, 2023-03-15'. The supported locations are 'eastus, eastus2, westus2, southeastasia,
westeurope, northeurope, westcentralus, southcentralus, uksouth, australiaeast, francecentral, westus, centralus,
northcentralus, japaneast, eastasia, koreacentral, westus3, swedencentral, canadacentral, canadaeast, ukwest, brazilsouth,
switzerlandnorth, southafricanorth, centralindia, uaenorth, norwayeast, australiasoutheast'."}})
ERROR: Error occured while making ARM request: Bad Request({"error":{"code":"NoRegisteredProviderFound","message":"No
registered resource provider found for location 'westeurope' and API version '2021-10-01-privatepreview' for type
'endpoints'. The supported api-versions are '2021-10-06-preview, 2022-05-01-preview, 2023-03-15'. The supported locations
are 'eastus, eastus2, westus2, southeastasia, westeurope, northeurope, westcentralus, southcentralus, uksouth,
australiaeast, francecentral, westus, centralus, northcentralus, japaneast, eastasia, koreacentral, westus3, swedencentral,
canadacentral, canadaeast, ukwest, brazilsouth, switzerlandnorth, southafricanorth, centralindia, uaenorth, norwayeast,
australiasoutheast'."}})
Summary: Unable to fetch relay and static user authentication information

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

ID: 7e538b3b-303f-eb84-718d-f9da2d14fd91
Version Independent ID: b7f3f5fe-cfd8-1160-ef1b-f1637f809d53
Content: Quickly get started with using Azure CLI to deploy an AKS hybrid cluster on Windows Server in an Azure VM - AKS hybrid
Content Source: AKS-Hybrid/aks-hybrid-preview-azure-vm.md
Service: azure-stack
Sub-service: aks-hci
GitHub Login: @sethmanheim
Microsoft Alias: sethm

@craigpay
Thanks for your feedback! We will investigate and update as appropriate.

@craigpay
Thanks for reporting this! For Step 14 is missing, We have created a PR for this issue and the changes should go live soon.
https://github.com/Naveenommi-MSFT/azure-stack-docs-pr/pull/1
The error message indicates that there is no registered resource provider found for the specified location and API version for type 'endpoints'. This could be due to a mismatch between the specified location and API version and the supported locations and API versions for the resource provider.
To resolve this issue, you can try specifying a different location or API version that is supported by the resource provider. You can also check the documentation for the resource provider to see the list of supported locations and API versions.
If still having issue, I'd recommend working closer with our support team via an Azure support request.

@craigpay
We are going to close this thread, if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.
#Please-close


Add test for issue #77: Leading 0 for 'SSS' (milliseconds) is missing

Add test for issue #77 as @phstc suggested.

@vejuhust perfect! thanks :beers:


How to get the 'active ... ago'/ 'active now' timestamp?

I'm searching for a method to get a timestamp when a user was online last or is online right now.
In the apps you are able to see in your inbox feed when a user you had a chat with was lastly active.
I pulled the data  from my inbox feed (Client.Feed.Inbox) but was not able to find the timestamp for that. The lastSeenAt or lastActivityAt timestamps are matching the time of the last message sent.
Can I find this ts via another endpoint which might not be implemented yet?

The (current) endpoint for this is https://i.instagram.com/api/v1/direct_v2/get_presence/

Could you please show example how to use this endpoint?

Sure! A simple GET request with according authentication will do.
Example return value:
{   "user_presence": {     "0123456": {       "is_active": false,       "last_activity_at_ms":<PHONE_NUMBER>360     },     "01234567": {       "is_active": false,       "last_activity_at_ms": null     },   },   "status": "ok" }
Where 0123456 and 01234567 are example UserID Values

Closing. Method was added:
https://github.com/dilame/instagram-private-api/commit/fc80f1d5c883fad0818e05bd9676b2c22eb34782#diff-12c61f04998291d77ad3152003cdbaf7R38

Sorry if I'm a bit late, but I was wondering... How exactly does this endpoint work? It has no pagination, so which users exactly are going to be included in the JSON object?


Moving task's optional mechanism to task class with getOrElse

Motivation:
When applying the task by script plugin. The getTasks().withType(CompileThrift.class) doesn't works well. Notice that we can just use @Optional with getOrElse.
Wanna add test, but testkit doesn't work well with legacy script plugin.
Modifications:

Remove getTasks().withType
Using @Optional for field we have default value.

Result:

Even we use apply from: "applied.gradle" works

I have tried to build the plugin locally and used it in our own repo. I can run gradle clean build without issues using the 0.6.1-SNAPSHOT in our own repo, so the fix should be fine 👍


Update UCP redirect

Deploy preview ready!
Built with commit 191c12bc933f30620e83e631aec278c6ae4f4ad1
https://deploy-preview-566--docker-docs.netlify.com


Thoughts on feasibility of using Jsonix for Soap Client Using WSDL

I could not find a SoapClient library that used jsonix... is there any examples on doing this with jsonix ?
I would like from a WSDL to be able to create a SoapClient...
Thanks,

Should be possible but I did not experiment with it yet.

the compiler seems to generate all the bindings for the wsdl... if we want to send the HTTP Post request we will need a way to wrap the soap envelope and unwrap the soap envelope... do you have any how to do this with jsonix ? or point me in a good direction ?
Regards,

The compiler at the moment only generates mappings for schema types and elements, not for SOAP operations.
Ulimately I think it is possible to generate a ready-to-use SOAP client with Jsonix based on WSDL. I'm not a SOAP pro so I might be wrong but here's the general outline.
From what I understand, WSDL defines operations which take some (schema-defined) XML as input and give some XML as output. This XML is payload wrapped in some SOAP envelopes and stuff. A Jsonix-based SOAP client would do the following:

Take some nice JS/JSON data as input.
Wrap it in a SOAP envelope.
Marshal it in XML.
Perform the POST request, get some XML back.
Unmarshal the XML.
Unwrap the payload from the response.
Give the result back.

From these points above, Jsonix provides marshalling/unmarshalling JS<->XML.
One thing which is missing is the wrapping/unwrapping SOAP envelopes. I'd do this before converting to/from XML, so in this case you'd generates mappings for SOAP schemas and just wrap your JS payload in SOAP envelope in JS. Then Jsonix will be able to marshal/unmarshal the complete SOAP envelope with your payload in XML.
This would require compiling SOAP schemas with Jsonix Schema Compiler. This is absolutely possible, I even thing it was done already, but I could not find it.
Next, developing the SOAP client. I actually think that such a client may be generated automatically from WSDL, but for starters it would be good to provide the basic framework for developing such clients. This framework would allow configuring WSDL operations in some easy manner (mappings?) and then overtaking wrapping/marshalling/requesting/unmarshalling/unwrapping cycle. So you'd just confiure which operations take which elements/types as input and the rest would be the library's task. I think this should not be too complex for basic cases, but there's quite a lot of crazy enterprize stuff in SOAP. I'd start small and grow it to demand.
Finally once you've got the library were you can configure operations in some declarative manner, the Jsonix Schema Compiler may be extended to generate SOAP client configs automatically. The current tech in use... (TBD)

Thanks a lot for taking the time to answer my questions. I will try to do it that way, starting simple.
Regards,


Feature/analytics by api

Closes #999
Added:

Filter analytics by API

Removed WIP. @apinf/developers  please review & test with multiple APIs using sample requests.

Also now, filtering is done by comparing frontend_prefix & request_path using regex. This might not be very precise when there are couple of APIs with similar names.

In order to encourage readability, please consider using VerbalExpressions.js to write our regular expressions. I.e. regular expressions can be quite conplicated, and VerbalExpressions gives us a nice syntax to use natural language.

We need to be consistent when writing code with other people. While inline comments may be preferable sometimes, our project mainly places comments above the line of code.
One reason we have placed comments above the line, rather than inline, is related to keeping line length short. Another reason is that it should be easy to visually scan for comments. When comments come at the end of the line, they begin at many different columns and can increase the length of the line so that more horizontal scanning is necessary.

For what it's worth, this is a complex pull request. It is really good work. We just need to look at higher levels such as code consistency, organization, and naming conventions during the review process.

Cool emoji! We should use those more often :smiley:

Challenge: make a meaningful commit message using only emoji ... :sunglasses:

🏆 🉑 ed!

Added suggested changes.

Thanks @nnn.

@frenchbread we just merged some changes into develop that affect code you are working with. Just a notice. :warning:

After meteor reset, when there are no APIs added, getting this error:
Exception while invoking method 'getElasticSearchData'
TypeError: undefined is not a function at elasticsearch/server/methods.js:34:15


Implement quickpulse exporting functionality

Part two of three of live metrics feature
This implements only the "exporting" side of pinging and posting logic.
See this spec for details.
Will implement collection logic in separate pr.

API change check
API changes are not detected in this pull request.


[news] Minor fixes for Turkish translation

It doesn't show articles properly
Typos in the #118 fixed

Before:

After:

Didn't I fix it already in https://github.com/organicmaps/organicmaps.github.io/commit/213d667a801821288ecd5a1df4ed844bc813fc7b?

Yes, I created this PR before you fix. So don't need to merge.

Sorry, I didn't see your PR :( But it's great that we fixed it!


Code cleanup

The plugin-xml has references for example to a view ID "SampleWorkspaceAccessID" which should probably not be used at all. This causes a custom view to popup when first opening Oxygen with the plugin installed.

Fixed in: 2914f2b183e15ff64d52b0abd0f802c15951a047


ORC-1374: Update Spark to 3.3.2

What changes were proposed in this pull request?
This PR aims to upgrade Java benchmark module to use Apache Spark 3.3.2 which is the latest version.
Why are the changes needed?
To run the benchmark.
How was this patch tested?
Pass the CIs.

cc @williamhyun

Thank you, @williamhyun !


Why safari browser does not display properly

Strokes show special thick？google is normal

I'm having trouble reproducing this in Safari. Could you take a screenshot to show what you mean?

thank you

whoa that's super messed up. It works for me in Safari, so I'm not sure what the issue is. Which version of safari are you using, and on which device? Do you have it running on a demo page somewhere I can take a look at?

http://www.wehanyu.com/letter/731
You can refer to this text

See also this thread, with a potential solution:
https://talk.observablehq.com/t/hanzi-writer-renders-incorrectly-inside-an-observable-notebook-on-a-mobile-browser/1898/2

This should be fixed now in v1.3.1. Let me know if you still see the issue!

Thank you so much，it solved
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2019年4月19日(星期五) 晚上8:48
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [chanind/hanzi-writer] Why safari browser does not displayproperly (#104)
This should be fixed now in v1.3.1. Let me know if you still see the issue!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Getting an error " No exact matches in call to static method 'save' " when trying to save to disk when following along tutorial

Same issue as here with the Disk dependency when following along with the tutorial, yet your code seems to compile fine when I check it out. I cannot figure out the difference and wanted to see if you did something special to get the Disk dependency to compile
https://github.com/saoudrizwan/Disk/issues/87

Did you pin the version? I'm using a very specific version of Disk.
On Thu 16. Jul 2020 at 19:48, Peter Lamar<EMAIL_ADDRESS>wrote:

Same issue as here with the Disk dependency when following along with the
tutorial, any yet your code seems to compile fine when I check it out. I
cannot figure out the difference and wanted to see if you did something
special to get the Disk dependency to compile
saoudrizwan/Disk#87 https://github.com/saoudrizwan/Disk/issues/87
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/peterfriese/MakeItSo/issues/33, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABYVK2A6AUPBZV5OSFTRHLR344QBANCNFSM4O4VCBJQ
.

--
Peter Friese | Developer Advocate |<EMAIL_ADDRESS>| +44 7867
163536 / +49<PHONE_NUMBER>

I copied what you did in the pod file and did pod install and it didn’t
seem to make a difference. Are there any other steps to specifying  a
version?
On Thu, Jul 16, 2020 at 4:17 PM Peter Friese<EMAIL_ADDRESS>wrote:

Did you pin the version? I'm using a very specific version of Disk.
On Thu 16. Jul 2020 at 19:48, Peter Lamar<EMAIL_ADDRESS>wrote:

Same issue as here with the Disk dependency when following along with the
tutorial, any yet your code seems to compile fine when I check it out. I
cannot figure out the difference and wanted to see if you did something
special to get the Disk dependency to compile
saoudrizwan/Disk#87 https://github.com/saoudrizwan/Disk/issues/87
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/peterfriese/MakeItSo/issues/33, or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AABYVK2A6AUPBZV5OSFTRHLR344QBANCNFSM4O4VCBJQ
.

--
Peter Friese | Developer Advocate |<EMAIL_ADDRESS>| +44 7867
163536 / +49<PHONE_NUMBER>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/peterfriese/MakeItSo/issues/33#issuecomment-659648110,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABNVC7RV2VWAU2C5B4HW2ATR35N53ANCNFSM4O4VCBJQ
.

@peterlamar  Does your Task struct conforms to the Codable protocol? Disk needs that to be able to do the persist

Good idea @SantiagoSalem, that resolves it. I must have missed that detail in the tutorial. Thanks!


Add typings

@johachi How do you feel about us either:
a. Porting this to typescript
b. Adding a typings file for people consuming this from typescript?
Right now we're limited to using var etc on our source. If we don't want to add typing to the module maybe we could at least at a transpilation step via babel?
What are your thoughts on this?

I'm actually open to port this to TypeScript. I will have to learn it for my new job any way, so this could be a good start. How would you want to go about doing this?

Hi, full port to TS would be great! Meanwhile I sent a PR to add external TS typings to simplify consuming the library from downstream TS projects.
https://github.com/gabzim/circle-to-polygon/pull/25

Thanks a lot for your contribution @zakjan, it's really appreciated. I have one small question and then if @johachi is good to merge, I'm good as well.

DefinitelyTyped PR just got merged.

@zakjan thats great! Thank you for your effort. Please feel free to open a PR to update the readme to mention that there is TS support. :) If not I will do it in a few days.
@gabzim I'm closing this issue now since there now is a type in DefinitelyTyped.


added file

@Jokerrooss I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host uniwersytetkaliski.edu not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!


git clone https://github.com/karthik558/ddos-attack.git
Requirements

Elaborate on your issue, please !!


Can this method perform in-context image segmentation?

Hi @edward3862
Thanks for your great work!
I want to know, can this method perform in-context image segmentation?

Hi @jianzongwu
Thank you for your attention to our work!
If it is necessary to perform segmentation, our method will produce a mask. Note that the Diffusion Model we use is primarily pre-trained for generating natural images; therefore, the accuracy cannot be fully guaranteed.


Improve yardocs

in conflict now after my merge frenzy :)

Unconflicted

And broken

Specs fixed, not actually broken by this PR but some combination of the previous ones.


Remove statics from HUDController script

You can use PlayerNavegationTest.scene to check everything is working as expected

Task linked: CU-kv863a Remove static variables from HUD Controller (we don't longer need them to be static)

Task linked: CU-kk6zfz VS3 UI Features


GitHub repo URLs split across multiple lines

The current template puts the "blurb" containing the GitHub repo URL in a special left text box, which causes it to split awkwardly across multiple lines:

Instead, what if we eliminate the left-hand text and put this just under the Abstract?

I can open a PR if people like this style.

I think we like the lefthand blurb (at least, we deliberated about this and decided to put it there); the link still works and it makes it stand out that this is something special. It's easily lost/ignored under the abstract.

Here's a better way to make it stand out:

I think we settled on the lefthand side blurb fairly firmly, so I will mark this as closed but can reopen if design-oriented folks (@dwsideriusNIST ? @hmayes ?) think otherwise.


test: consistent app hash on v2

Overview
Fixes #3624

Looks good. Probably a good idea to add ICA and IBC messages as well to expand the surface area of the tests

I'm extending the test to include all IBC messages for all verisons

Looks good. Probably a good idea to add ICA and IBC messages as well to expand the surface area of the tests

I'm extending the test to include all IBC messages for all verisons

After looking into adding IBC messages I realised that it would require me to add more test chains, set up relayers, etc. I think it's best if we have a separate test for executing IBC messages and comparing AppHash between versions. Thoughts? @cmwaters @rootulp

Don't we already have tests where we send IBC messages (i.e. ICA and Transfer) can't we just add the app hash test vectors within those tests?

Don't we already have tests where we send IBC messages (i.e. ICA and Transfer) can't we just add the app hash test vectors within those tests?

yeah we could. I'll open an issue for it.


added handling of deserialization with 'kind' property and unit tests

Description
Made CommunicationIdentifierConverter convert based on kind property if it is set.
User Story 3013988: [SDK][Common][AllLangs] Prefer the "kind" property when deserializing the CommunicationIdentifier - follow up
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.


fix(build): add python 3.12 tag to setup.py

PR summary
This PR contains a really small change to setup.py in order to force a new release to be published.  This is being done primarily to test a small config change in our Travis build settings.
PR Checklist
Please make sure that your PR fulfills the following requirements:

[ ] The commit message follows the Angular Commit Message Guidelines.
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

Current vs new behavior

Does this PR introduce a breaking change?

[ ] Yes
[ ] No

Other information

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


Plugin Certifier: Load, manage and/or dynamically generate certificates

This plugin performs two basic tasks -

Load SSL certificates from file storage on demand. The total number of loaded certificates can be configured.
Generates SSL certificates on demand. Generated certificates can be written to file storage for later retrieval.

This has a couple of clang-analyzer errors, see e.g. https://ci.trafficserver.apache.org/clang-analyzer/github/3832/2018-06-15-211301-11710-1/

Yes, @dyrock is working on them. I'm waiting for those fixes before I do another pass.

At some point we should remove the ssl_cert_loader example plugin, this replaces that. Plus, @dyrock needs to squash the commits.

Plus, please squash these commits.


WIP Simplify

Context
This builds on #89
Changes in this PR

substantially simplify how we're using controllers, services and clients. From Slack:

I think there are two main changes here. One is directly importing stuff where it's needed instead of creating a long chain of passing stuff around through method parameters. The other is instantiating controllers/services/clients as and when needed, rather than once and using this single instance everywhere. In some contexts the latter was already happening, e.g. clients through their builders
I'm not 100% sure about the performance implications of the latter - whether (re)instantiation on every request is inefficient. I didn't see much difference running the server locally, but I'm one user/session on a fast machine. It should be possible to retain the former change without the latter - I think we were already creating a single instance of controllers and services and exporting them, so it would just be a case of directly importing those rather than passing them through methods

Release checklist
Release process documentation
As part of our continuous deployment strategy we must ensure that this work is
ready to be released once merged.
Pre-merge

[ ] There are changes required to the Accredited Programmes API for this change to work...

[ ] ... and they been released to production already

Post-merge

[ ] This adds, extends or meaningfully modifies a feature...

[ ] ... and I have written or updated an end-to-end test for the happy path in the Accredited Programmes E2E repo

[ ] This makes new expectations of the API...

[ ] ... and I have notified the API developer(s) of changes to the contract tests (Pact), or the API is already compliant

[ ] Manually approve
release to preprod
[ ] Manually approve
release to prod

Not something we're pursuing right now. We could look into it in future though


Default shell configuration

Of course the recommended shell on IBM i is bash.
Perhaps we need:

a command to allows the user to change their default shell to bash
check the default shell when the user connects to the system, prompt if it's a dumb shell

These checks would happen in IBMi#connect (inside of IBMi.ts)

This looks fun.  I will try to implement this.

@worksofliam Hi,  Let me know if this is what you are expecting:  Please advise.
In the connect method of IBMi.ts

It appears I can use the sendCommand() property to send commands to system.  I can run the command echo $SHELL and that will give me path of users current shell.
If the value is equal to /QOpenSys/pkgs/bin/bash than I know they are using the correct shell.
If not, I send show Alert dialog that lets them press 'Yes'.
If Yes is pressed, then I can send the sql command, CALL QSYS2.SET_PASE_SHELL_INFO('*DEFAULT', '/QOpenSys/pkgs/bin/bash') to set their shell to use bash.

Thanks
Ryan

@beckhamrryyaann that sounds about right! Thanks for looking into this. I am looking forward to seeing your PR.

I about had the pr ready but got to thinking I just can’t assume bash is installed on system So i am working through that.

@beckhamrryyaann Closed by #1134

@ThomasBarberot Is your environment setup as defined in the CCSID docs? https://halcyon-tech.github.io/docs/#/pages/tips/ccsid

Yes, that why I'm surprised.

The system value QCCSID is set to 1147
My user profil is set to CCSID(*SYSVAL)
The system level environment variable PASE_LANG is set to FR_FR
The system level environment variable QIBM_PASE_CCSID is set to 1208
When I change the default QSH to bash, there is an issue, and when I reset it to the default value, all working good.

@ThomasBarberot I don't see how bash could affect the download and upload of members - it's just a PASE program like the default bsh shell program and doesn't change the settings of the PASE environment.
You mention 'the default QSH' - but QSH is QSHELL, an EBCDIC environment, where bash and bsh run in PASE, an ASCII environment. VS Code connects to PASE - and only calls QSHELL for some operations - so VS Code sees the same environment, whatever your shell program is.
I would like to investigate this, but in order to be able to replicate your situation I need the following information:

IBM i version
bash version (output from bash --version in a PASE terminal, e.g. Terminals in Code for IBM i)
System value setting (WRKSYSVAL SYSVAL(*SYSCTL) OUTPUT(*PRINT))
System environment variable (WRKENVVAR LEVEL(*SYS) and output from F16)
Source file CCSID
Correct display of characters (SEU?)
Wrong display of characters (VS Code?)
Settings in VS Code: SQL enabled? source dates enabled?

Thanks.

Hi Christian.
Here are the requested informations :

IBM i version: V7R3
Bash version: 5.1.8(1)-release (powerpc-ibm-os400)
System value setting: see attached file
System environment variable: see attached file
Source file CCSID: 297
Correct display of characters (SEU?): see attached images for SEU
Wrong display of characters (VS Code?): see attached images for VSC
Settings in VS Code: SQL enabled? source dates enabled?: yes and yes and
see attached images for VSC settings

Thanks.
Le jeu. 30 mars 2023 à 18:58, Christian Jorgensen @.***>
a écrit :

@ThomasBarberot https://github.com/ThomasBarberot I don't see how bash
could affect the download and upload of members - it's just a PASE program
like the default bsh shell program and doesn't change the settings of the
PASE environment.
You mention 'the default QSH' - but QSH is QSHELL, an EBCDIC environment,
where bash and bsh run in PASE, an ASCII environment. VS Code connects to
PASE - and only calls QSHELL for some operations - so VS Code sees the same
environment, whatever your shell program is.
I would like to investigate this, but in order to be able to replicate
your situation I need the following information:

IBM i version
bash version (output from bash --version in a PASE terminal, e.g.
Terminals in Code for IBM i)
System value setting (WRKSYSVAL SYSVAL(*SYSCTL) OUTPUT(*PRINT))
System environment variable (WRKENVVAR LEVEL(*SYS) and output from
F16)
Source file CCSID
Correct display of characters (SEU?)
Wrong display of characters (VS Code?)
Settings in VS Code: SQL enabled? source dates enabled?

Thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/halcyon-tech/vscode-ibmi/issues/1074#issuecomment-1490630063,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5QEW7HVNVVHS2ZBAL2DZW3W6W3TXANCNFSM6AAAAAAU7WVXUM
.
You are receiving this because you were mentioned.Message ID:
@.***>

@ThomasBarberot I don't see any attached files or images...?

Hi Christian.
I replied by email with attachments, but they are not registered. I tried to modify the post.
Thanks

@ThomasBarberot Thanks, I got your settings.
First thing to catch my eye is that you've enabled the setting Support EBCDIC streamfiles... this should not be necessary, since your SSH daemon setup already produces UTF-8 streamfiles and this setting adds another layer of conversion by calling iconv during download and upload of source members.
I have never used this setting, and I did a simple experiment to see what would happen:

I created a source file with CCSID 1147 and kept my remaining settings of CCSID 277 (Danish).
I added some lines with accent characters to the source file using SQL in CCSID 1147:

I opened the member in VS Code:

As seen, the characters was transferred correctly, no issues. And my shell is /QOpenSys/pkgs/bin/bash...
I suspect the setting Support EBCDIC streamfiles is the real issue here - and would strongly advice to disable this.

@ThomasBarberot Okay, let's look at the source in EBCDIC:
Please run DSPPFM <lib>/<sourcefile> <member> and press F10 and specify command W13 to show the hex values in the source lines. Check the hex codes for the accented characters - here is my example:

The hex values should correspond to the values in this CCSID 297 table.

It's the same for me :

"C0" for "é"

@ThomasBarberot Okay, next steps:

DSPFD AMSSAMPLE/QRPGLESRC and cut-and-paste the line with CCSID here.
Get the environment variables for the SSH daemon by following these steps:
a. NETSTAT *CNN
b. Press F15 and enter 22 in lower value for Local port range
c. On the job with * in Remote Address and Remote port, enter 8=Display jobs
d. Enter 5=Work with job
e. Enter 22. Display environment variables
f. Dump the displayed values here for all screens.

Hi Chritian.
the CCSID of QRPGLESRC : 297

The environment variables for the job (they are all in CCSID 1147) :

And the 3 longest variables :


Avoid releasing on documentation only changes

Author the user story for this feature
As a Flank developer, I want to only release snapshots when the code changes so I can save CI compute resources.
Is your feature request related to a problem? Please describe.
Merging a pull request that only ever changes readme.md will produce a new flank snapshot. Let's modify the release pipeline to only perform releases on code changes. As Flank is becoming more of a monorepo, we can add intelligence to CI so that builds only happen when they make sense.

After a little bit of research I can see mainly two ways to approach it. But instead of simply just submitting code i would prefer to get some opinions first.

We could introduce a conditional step into the release.yml code and bail out the release process. By leveraging our pull request titles it could be something simple such as:

- name: Check if should release
      run: |
        pattern="(?:\b|')(feat|fix|refactor|perf)(?:\b|')[:]\s"
        title=$(git log --pretty=format:"%s" --abbrev-commit -1)
        if [[ $title =~ $pattern ]]; then
          echo Not releasing on no code change
          exit 1
        fi;

We could write a custom action that scans through the files and actually checks if the files modified are of extension kt or .doc or anything else and skip the release process.

Is there any other solution that I may have missed?
@piotradamczyk5 you are the most familiar with this process. what do you think?

If you look at Bitrise (create an account, use selective builds), they have a glob pattern that defines when builds can be triggered. I think we could build something similar using a GitHub action.
For example, only build if changes are in `test_runner/**

@Sloox you could filter file paths . Please read how to do it in https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpaths
We have some filtering for flank scripts

Also, I think that we should only filter documentation changes for snapshot. Am I right @bootstraponline ?

agreed

Thanks will look and get back to you.


Does not seem to work for "plural "types

This plugin works great for "singular" types.
However, plural types (when there are 2 forms) are not written to the po file.
I have uploaded some screenshots which should make the issue clear.

This is a very much a TODO.
https://github.com/curiosum-dev/kanta_po_writer_plugin/blob/main/lib/extractor.ex#L77-L78

I think #4 fixes this


Add ability to manage alerts

Overview
This branch adds ui to allow logged in users to manage alerts. There is a collapsible alert manager on the homepage where users can:

select the type of alert
see a small preview of the styling
enter a description
view and delete existing alerts

Closes #1010
Demo

Notes
At the time of writing, the Bootstrap 5 changes in #1009 have yet to be merged. This presents a couple caveats:

The alert styles "primary" and "secondary" listed in the dropdown are present in bs5, but not the version of bootstrap that's used by this branch, so alerts with those types won't be styled as of now. Those styles will display properly once that pr comes in.
I have inline styles here that I will replace with their corresponding bs5 classes once that pr gets merged in.

Testing Instructions

Bring the container up to run the new migration
Log in to the site and navigate to the home page

Confirm that the alert management section does not show on the home page until after you've logged in

Click the show button to expand the alert section and click through some of the alert type choices

Confirm that the select box style changes to preview what the alert will look like

Enter an alert description and click Submit

Confirm that the alert gets added to the top of every page, and to the View Existing section of the alert manager

Click the delete button next to your newly added alert in the alert manager

Confirm that the alert disappears from the top

@hancush I added some labels and a ui adjustment, but i imagine this should be good to go since they approved it during our meeting


Add script for installing SolCover

Refer to SolCover documentation for executing: https://github.com/JoinColony/solcover#execution

why not just npm i solcover?

@maraoz It looks like that should be possible soon. It still may be a bit though. @adklempner Are the coverage reports generating what you expect to see? If there are discrepancies between what your tests run and the coverage, open issues would be more than welcome!


Create the view of a PopupWindow using anko

I am trying to create the View for a PopupWindow with anko.
My button handlers execute once when the popup appears, and then the buttons do not respond to taps.
Am I doing something wrong or could this be a bug?
    private fun showAlert() {
        // Get the Activity root view
        val viewGroup = (findViewById<View>(android.R.id.content) as ViewGroup).getChildAt(0) as ViewGroup

        val ui = AnkoContext.create(this)

        val customView = with(ui) {
            verticalLayout {
                backgroundColor = Color.DKGRAY
                padding = dip(10)

                button("One") {
                    alert("Hi there") {
                        yesButton { }
                    }.show()

                }

                button("Two") {
                    longToast("Ooops")
                }

            }
        }

        val popup = PopupWindow(customView,
                ViewGroup.LayoutParams.WRAP_CONTENT,
                ViewGroup.LayoutParams.WRAP_CONTENT)

        popup.showAtLocation(viewGroup, Gravity.TOP, 0, 0)
    }

My bad: I forgot to include onclick inside the button blocks


Throw exception when using rule with invalid name

Closes #358
Closes #361

Codecov Report

Merging #362 (56085c1) into master (d3b4d2c) will increase coverage by 0.06%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #362      +/-   ##
==========================================
+ Coverage   97.58%   97.64%   +0.06%
==========================================
  Files          23       23
  Lines        1986     2037      +51
==========================================
+ Hits         1938     1989      +51
  Misses         48       48

Impacted Files
Coverage Δ

robocop/utils/__init__.py
100.00% <ø> (ø)

robocop/config.py
96.41% <100.00%> (+0.19%)
:arrow_up:

robocop/run.py
96.01% <100.00%> (+0.04%)
:arrow_up:

robocop/utils/utils.py
99.15% <100.00%> (+0.36%)
:arrow_up:

Continue to review full report at Codecov.

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


.minute_to_session_label out-of-bounds error handling

Fixes issue #13.
Raise ValueError if direction is 'previous' and dt is earlier than first calendar minute.

LGTM - thanks!
Could you please add a test (probably at https://github.com/gerrymanoim/exchange_calendars/blob/master/tests/test_exchange_calendar.py#L563 or somewhere else it makes sense) making sure we raise this?

I've overhauled the previous commit to now raise errors consistently when the dt parameter is outside of the calendar's sessions range, be that before the first session or after the last. Currently an indirect IndexError is raised if dt is later than the last session's close.
I've added first_session_open and last_session_close properties.
Test updated.
Also, I've snuck break_starts and break_ends properties in there to provide access to the corresponding schedule columns in the same was as the opens and closes properties. Reasonable? I'd certainly find them useful with something I'm working on.

Awesome work - thanks!


Fix Docker image build

How could I test this?

By comparing https://github.com/FerretDB/FerretDB/runs/7126764945 with https://github.com/FerretDB/FerretDB/runs/7126900458 and optionally pulling and running that Docker image

Oops, missed!


Integrate Bamboo

Create a build project with auth for the team on OS X Bamboo instance
Integrate currently existing tests

:+1:

The first step that would add a ton of value is to update test/integration-test.sh (which is fairly out of date at this point) so that after each check-in and pull-request, it walks through a basic end-to-end flow of installing and using docker-osx-dev:

Start with a fresh OS X box that does not have any of the docker dependencies installed.
Run docker-osx-dev install
Go into a test project
Run docker-osx-dev to sync it
Run a basic docker image and make sure the files are visible in it
Change some of the files on the host OS
Check in the docker image that the updates are synced

If we can get that working, then the next steps would be to add test cases for docker-machine, idempotentcy, and other use cases.

Nice. I'm hoping to get to this later tomorrow. I know there'll be a lot of topics to consider here.

@brikis98 the test project is basically set up on Bamboo, but I haven't had sysadmin support yet to complete it. So I started shaping all tests for it beforehand as you see in #116.
I was also checking out developit/bamboo-status-svg#1 to have some binding from there directly to Github.

@ain: Any luck with this issue?

Hey @brikis98, yes, the Bamboo account is there, but I got to an hiccup on Bamboo + Github integration so it'd badge the results from the build. If you have time to go into it, I'd add your credentials.

Sure, let me know what you've got working, what's left, and I can try to poke around this week.


new project, should I add it?

Are we interested in projects that are barely documented and almost no information can be found about them? For example, I have found a project called "The Digital Sirah Project" (https://kitab-project.org/about/funders#qatar-national-library-digital-sirah-project), a cooparation between KITAB and Qatar NL, but apart from a little description in the website above, there are no traces of it in the whole internet (except from here:  https://eldarion.com/scholarship/). The website of Qatar NL doesn´t mention it either.
Generally, should I add this kind of things, or are they useless for us because the info is too little?

We could reach out to Kevin Jaques, a sīrah specialist who was involved in the project. In fact, based on his faculty bio, it seems that he may still be working on "an open-access digital edition of the entire Ibn Ishaq collection."

Ok, thank you

I will save the project and add him as a contact person. By the way, contacting the projects is also something we should talk about on Monday.
And wow! How did you find this info so quickly? I was looking for so long but I couldn´t find anything about this project, haha!

I think I googled "Digital Sirah Project" with the quotation marks, to get more precise results.
P.S. I just merged a big PR. If you're working on anything right now, you'll probably need to rebase. Sorry if I've messed up your workflow a bit this morning.


Card item with a set width will not be not centered on IOS

Describe the bug
If the renderItem item has a set width that is not the full window width, all the items will not be centered in the carousel. Strangely this only affects IOS not android.
To Reproduce
Steps to reproduce the behavior:

Create a carousel (should be any animation)
Render an item and set a width that is not window width
Open the app on IOS
All the items are not centered

Expected behavior
Items should be centered. Removing the set width, or setting width to window dimension solves the issue.
Versions (please complete the following information):

react: v18.2.0
react-native: v0.70.5
react-native-reanimated: v2.12.0
react-native-reanimated-carousel: v3.3.0
react-native-gesture-handler: v2.8.0

Smartphone (please complete the following information):

Device: [e.g. iPhone14]
OS: [e.g. iOS16.2]

I had a similar issue where my rendered items had a set width and weren't being centered. This occurred on both iOS and Android for me.
Setting the rendered item's style to include alignSelf: 'center' fixed the issue for me.