Query Results Window Not Formatting Fields that Contain Multiple Lines

The Query Results Window in DBeaver is not formatting the fields that contains multiple lines.  A ¶ character is displayed instead of having the next part of the text displayed on a different line.
Have tried going to "Preferences > Database > Result Sets > Binaries" in DBeaver and changing the "String encoding" from the default UTF-8 value.
The Query Results Window in DBeaver displays the ¶ character instead of going to the next line of text regardless of the DB connection type (PostgreSQL or Oracle).
Example:

DBeaver Version 4.2.1
PostgreSQL Version:  9.4.7

Here the text for the log_message field is displayed on one line with ¶ where it should go to the next line.

log_message
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Sep 10, 2017 1:57:36 AM - User Secondary Institution Role [create/update, 1......, STUDENT]¶Institution Role'STUDENT' applied to '1......' successfully.¶1......|STUDENT ¶Field mapping successful.¶

This is how the log_message field properly is displayed when connecting to the Postgres DB via the psql client and querying the respective table:
                                         log_message
---------------------------------------------------------------------------------------------
 Sep 10, 2017 1:57:36 AM - User Secondary Institution Role [create/update, 1......, STUDENT]+
 Institution Role'STUDENT' applied to '1......' successfully.                               +
 1......|STUDENT                                                                            +
 Field mapping successful.                                                                  +

Yes, DBeaver converts all string values into single line representation.
However if you copy the value it will be copied with appropriate line feed.
If you need to see the value in source formatting you can open "Value viewer" panel (in result bottom toolbar).
Having line feeds right in grid representation usually isn't wanted (and also complicated in implementation). I can mark this a feature request if you think that this is a really helpful feature.

Thank you for the feedback.  Yes, please mark this as a feature request.

One thing that is bothering me (if I'm not mistaken and it really relates to this issue) is that when I copy the one-line representation of a multiline value, I cannot paste it back to the same field afterwards! So it's a multiline text, I see it in one line in dbeaver, then I copy it, but I won't be able to paste it back to the same field or another field which accepts text.


fwrite(): Argument #1 ($stream) must be of type resource, null given

Code to Reproduce
        $client = Client::account('price');
        $client->connect();
        $client->getConnection()->enableDebug();
        $inbox = $client->getFolder('INBOX');
        $message = $inbox->messages()->getMessage($uid);
        $message->setFlag('Seen');
        $message->move($folder);

Exception
>> TAG2 LIST "" "*"
<< * LIST (\HasNoChildren \Unmarked) "|" "&BD0ENQ- &BD4EPwRABDUENAQ1BDsENQQ9-"
<< * LIST (\HasNoChildren \Unmarked \Drafts) "|" Drafts
<< * LIST (\HasNoChildren \Unmarked \NoInferiors) "|" INBOX
<< * LIST (\HasNoChildren \Unmarked) "|" Outbox
<< * LIST (\HasNoChildren \Unmarked \Sent) "|" Sent
<< * LIST (\HasNoChildren \Unmarked \Junk) "|" Spam
<< * LIST (\HasNoChildren \Unmarked \Trash) "|" Trash
<< * LIST (\HasNoChildren \Unmarked) "|" test
<< TAG2 OK LIST Completed.
>> TAG3 SELECT "INBOX"
<< * FLAGS (\Answered \Seen \Draft \Deleted $Forwarded)
<< * 456 EXISTS
<< * 0 RECENT
<< * OK [UNSEEN 169]
<< * OK [PERMANENTFLAGS (\Answered \Seen \Draft \Flagged \Deleted $Forwarded \*)] Limited
<< * OK [UIDNEXT 470] Ok
<< * OK [UIDVALIDITY<PHONE_NUMBER>] Ok
<< TAG3 OK [READ-WRITE] SELECT Completed.
>> TAG4 UID FETCH 1:* (UID)
<< * 1 FETCH (UID 1)
*****
<< * 456 FETCH (UID 469)
<< TAG4 OK UID FETCH Completed.
>> TAG5 UID FETCH 469 (FLAGS)
<< * 456 FETCH (UID 469 FLAGS (encrypted system_hamon))
<< TAG5 OK UID FETCH Completed.
>> TAG6 UID FETCH 469 (RFC822.HEADER)
<< * 456 FETCH (UID 469 RFC822.HEADER {3505}
<< Received: from postback14j.mail.yandex.net (postback14j.mail.yandex.net [2a02:6b8:c04:242:0:640:b4e8:b14])
<<      by y6pztjrigrteiejr.iva.yp-c.yandex.net with LMTP id y3S1k74mII-fiIYZ2p4
<<      for<EMAIL_ADDRESS>Mon, 29 Aug 2022 20:14:47 +0300
<< Received: from myt5-ea56983ea3f5.qloud-c.yandex.net (myt5-ea56983ea3f5.qloud-c.yandex.net [IPv6:2a02:6b8:c12:1119:0:640:ea56:983e])
<<      by postback14j.mail.yandex.net (Yandex) with ESMTP id 5CD6C26B44B7
<<      for<EMAIL_ADDRESS>Mon, 29 Aug 2022 20:14:47 +0300 (MSK)
<< Received: from mail-yw1-x1130.google.com (mail-yw1-x1130.google.com [2607:f8b0:4864:20::1130])
<<      by myt5-ea56983ea3f5.qloud-c.yandex.net (mxfront/Yandex) with ESMTPS id MES6tAm3NP-EkdSTiRJ;
<<      Mon, 29 Aug 2022 20:14:46 +0300
<<      (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
<<      (Client certificate not present)
<< X-Yandex-Internal: 1
<< X-Yandex-Fwd: 1
<< Authentication-Results: myt5-ea56983ea3f5.qloud-c.yandex.net; spf=pass (myt5-ea56983ea3f5.qloud-c.yandex.net: domain of gmail.com designates 2607:f8b0:4864:20::1130 as permitted sender, rule=[ip6:2607:f8b0:4000::/36]) smtp.mail=m
<EMAIL_ADDRESS>dkim=pass<EMAIL_ADDRESS><< X-Yandex-Spam: 1
<< X-Yandex-Uid-Status: 1<PHONE_NUMBER>622826
<< Received: by mail-yw1-x1130.google.com with SMTP id 00721157ae682-340f82c77baso96872567b3.1
<<         for<EMAIL_ADDRESS>Mon, 29 Aug 2022 10:14:46 -0700 (PDT)
<< DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
<<         d=gmail.com; s=20210112;
<<         h=to:subject:message-id:date:from:mime-version:from:to:cc;
<<         bh=cx1Z2WoQwEjZzXqS09OiLq5Xe4Td/caO4gtX+RAQS30=;
<<         b=VeWMSOxuhVeMY2jO9Ed4IVScdZKoyOHqK4hwLpqazy3SAlmC8huY57LDkWUJgN/qXl
<<          rBgEb7OcCnGCoaDo6GsCd/MNAx2H2RH4GnQFKiNbEW8raUWX3woVlt9x1J6Hog4YyOiB
<<          Jjrh6Oh0wRJsbOl3qSw4HsL1gofphnEG4iorgi9WHoBHvEnwqb4JKNvXoVKlyoTjD0vi
<<          8d4wBncPiHXwlJkuGZGoFi2ryutm+5hOHconILNjHtui+o+tuAnH6F3p/6nI1cYy8c9U
<<          CeBxs8AnlWgtlIhbE2MWJyYjNh+Wn/bqVbERS9MPDKu/rW0C8XSB68ZbSENfSVeVhfhe
<<          BBCQ==
<< X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
<<         d=1e100.net; s=20210112;
<<         h=to:subject:message-id:date:from:mime-version:x-gm-message-state
<<          :from:to:cc;
<<         bh=cx1Z2WoQwEjZzXqS09OiLq5Xe4Td/caO4gtX+RAQS30=;
<<         b=UhrCZCL14h2s23LLfnC8jB9otNPmFJL8nRKcbHDYolfSpfJ6tIxjwXNOphpryPSbk/
<<          otjJQETKvx1s8KIP/w86Wsx+qGFYI4ZRgv29OR81xaIADHNXbnSVdI1EYomIf3eR3dVP
<<          VNA5DoKrkg6r/SwQ3qHrF13ioHftWcU49PAtA1Kxe7Qdzx6A2rsrEmOx8QsmMp8Wko7f
<<          Vp3B28DIPEDD07cEAz7fuZ/VXcmNmrqa8V+SfwaQO3iiZSvW1QPxaED63aNDw7Z/DpRZ
<<          1qUYsssij4jz4j0tWPd+piH6ZoJ925fQuNqd+RVe5xRmT1hauUH6eXPs0V2lDaJ/vMXl
<<          le9A==
<< X-Gm-Message-State: ACgBeo0Wn94yqjLn1xQma/fqB7MCbsQTvoKuA2yBO2se+DIkiTJ1ZEE7
<<      /eJ0pqSKqBBwRVVjAQTco+auOooMZkdCt9OUsMNzXH0C
<< X-Google-Smtp-Source: AA6agR4nBBM7zbLzJ9bxb6wFTUFDcfdJANTugo3Ke22NAxpd7vxrx7tgXh7A9ogAePgKHOwIJhEoQtz8nFyhKO90eS4=
<< X-Received: by 2002:a25:4dc2:0:b0:696:32b3:3c33 with SMTP id
<<  a185-20020a254dc2000000b0069632b33c33mr9609612ybb.166.1661793285242; Mon, 29
<<  Aug 2022 10:14:45 -0700 (PDT)
<< MIME-Version: 1.0
<< From: MihaKot<EMAIL_ADDRESS><< Date: Mon, 29 Aug 2022 20:14:10 +0300
<< Message-ID<EMAIL_ADDRESS><< Subject: sdfasldjfa;sldfgasdhf[08y
<< To<EMAIL_ADDRESS><< Content-Type: multipart/alternative; boundary="0000000000007506a205e7646692"
<< Return-Path<EMAIL_ADDRESS><< X-Yandex-Forward: 4b6c49c59b97a0a335651d7ca3ce4a6b
<<
<< )
<< TAG6 OK UID FETCH Completed.
>> TAG7 UID FETCH 469 (RFC822.TEXT)
<< * 456 FETCH (UID 469 RFC822.TEXT {1288}
<< --0000000000007506a205e7646692
<< Content-Type: text/plain; charset="UTF-8"
<< Content-Transfer-Encoding: base64
<<
<< a2puO2FzZGggcGFzZGZnYWZkZ2FzZGZhc2RmDQoNCi0tIA0KUC5TLiDQodC+0YXRgNCw0L3Rj9C5
<< 0YLQtSDQv9C10YDQtdC/0LjRgdC60YMg0LIg0YLQtdC70LUg0L/QuNGB0YzQvNCwLg0KX19fX19f
<< X19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCkJlc3QgcmVnYXJkcywgS29uc3RhbnRpbiBA
<< TWloYUtvdEAgQWtzYXJpbi4NClBob25lOiArNyA5MjEgNzQgNjYgODE4DQpTa3lwZTogbWloYWtv
<< dA0KRS1tYWlsOiBtaWhha290QGdtYWlsLmNvbQ0K
<< --0000000000007506a205e7646692
<< Content-Type: text/html; charset="UTF-8"
<< Content-Transfer-Encoding: quoted-printable
<<
........
<< --0000000000007506a205e7646692--
<<  FLAGS (\Seen encrypted system_hamon))
<< TAG7 OK UID FETCH Completed.
>> TAG8 UID STORE 471:471 -FLAGS.SILENT (\Seen)
<< TAG8 OK UID STORE Completed.
>> TAG9 UID FETCH 471 (FLAGS)
<< * 457 FETCH (UID 471 FLAGS (encrypted system_hamon))
<< TAG9 OK UID FETCH Completed.
>> TAG10 UID STORE 471:471 +FLAGS.SILENT (\Seen)
<< TAG10 OK UID STORE Completed.
>> TAG11 UID FETCH 471 (FLAGS)
<< * 457 FETCH (UID 471 FLAGS (\Seen encrypted system_hamon))
<< TAG11 OK UID FETCH Completed.
>> TAG12 SELECT "не определен"
<< TAG12 BAD [CLIENTBUG] SELECT Folder encoding error. sc=1XPIMkULF0U1_291733_5-9b0bc92fe44a
>> TAG13 EXAMINE "не определен"
<< TAG13 BAD [CLIENTBUG] EXAMINE Folder encoding error. sc=1XPIMkULF0U1_291733_5-9b0bc92fe44a

   TypeError

  fwrite(): Argument #1 ($stream) must be of type resource, null given

  at W:\home\jeeparts\vendor\webklex\php-imap\src\Connection\Protocols\ImapProtocol.php:330
    326▕      */
    327▕     public function write(string $data) {
    328▕         if ($this->debug) echo ">> ".$data ."\n";
    329▕
  ➜ 330▕         if (fwrite($this->stream, $data . "\r\n") === false) {
    331▕             throw new RuntimeException('failed to write - connection closed?');
    332▕         }
    333▕     }
    334▕

  1   W:\home\jeeparts\vendor\webklex\php-imap\src\Connection\Protocols\ImapProtocol.php:330
      fwrite()

  2   W:\home\jeeparts\vendor\webklex\php-imap\src\Connection\Protocols\ImapProtocol.php:318
      Webklex\PHPIMAP\Connection\Protocols\ImapProtocol::write()
>> TAG14 LOGOUT
<< * BYE IMAP4rev1 Server logging out
<< TAG14 OK LOGOUT Completed.

Tried to move to test folder, same error
Version 4.0.0
php 8.1
p.s.
hm. interesting.
Letters have moved to the test folder, but it still gives an error.
But it does not move to the "не определено" folder.

Hi @mihakot ,
many thanks for your report. Please update to v5.1 and give it another try.
If you are currently using an older version below v5.0, please read the breaking changes leading up to v5.1 before upgrading.
Best regards,


Lightning bolt

Due to a bug, currently Line AOE spells are only defined to hit one person, need to redo that AOE code.

Seems to be fixed without sacrificing performance


Forcing user to watch Youtube video.

I'm not having an issue but annoyance.
Why are you forcing the user to watch a Youtube video for 'Getting Started'. No readme file in the .zip file or any info on the video. Just forcing user to whatch the video..

Our website also has a getting started guide which covers most of the same points.
https://blishhud.com/docs/user/getting-started
Further, our GitHub issues are only for technical items, so I will be closing this issue.


Homepage optimisation + footer

🛠 Fixes Issue

closes #203
👨💻 Changes proposed

created the footer section
added missing image icon in hero section
link back to top btn
optimised little style issues

✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers
issues may arise later, however still merge I will raise another PR that will fix it if need be.

📷 Screenshots

@ingressive4good good to merge


Ignore all modules in fixtures

Rather than specifying each module individually, which is silly

Merged, thanks for the contribution!

we should have this modulesync_config!


Proposal: custom observable operator for inflating relationships

I've been thinking about how to handle sort order ( #88 ) and nested observables. It is pretty straightforward to create a new operator and subclass Observable to have that operator. So, what if we had
Model.asObservable() => PlumpObservable<ModelData>
class PlumpObservable extends Observable {
  inflateRelationship(relName: string) => PlumpObservable<(ModelData & {meta: any})[]>;
}

So then we have a hook into PlumpObservable (all calls to Model.asObservable return our modified Observable, and all chained calls like .flatMap and whatever continue to return the PlumpObservable type, if you override Observable.lift in the PlumpObservable class, according to the linked documentation.
This operator would, when acting on an Observable<ModelData>:

subscribe to the Observable
take the ModelData.relationships[relName] and convert it into an array of Models
do an Observable.combineLatest on each of those Model.asObservables
of course manage internal subscription state to handle unsubscribes when the array changes

So the resultant observable would be Observable<ModelData[]> that would fire an update whenever either the array changed (add / delete values) or the child ModelData changed (name change in a profile on a participants list).
Then, when encountering the typical "I need the names of the editors, in alphabetical order" situtation on a document, we could do:
const editorsSortedByName =
  doc
  .asObservable('relationships.participants')
  // the base ModelData for the document
  .inflateRelationship('relationships.participants')
  // an observable of arrays of ModelData<Profile> types
  .map(profilesData => profilesData.filter(i => i.meta.perm >= 3))
  .map(editors => editors.sort(
    (a, b) => a.attributes.short_text.localCompare(b.attributes.short_text)
  );
// NOTE: null protection omitted for clarity here.

I'm trying to figure out the minimal tool that gives us large boiler-plate reduction for most cases, and rather than muck around with a DSL on the string argument to asObservable(), it feels like just adding some sugar as an operator is better.

@mrpinsky what do you think about this? Would it handle some / most / all of our use cases? I think it's pretty straightforward, but I don't want to spend time working on it if it isn't the right approach.

@ericeslinger This seems similar to an approach I was considering on an ad hoc basis. It seems to cover our two main use cases of sorting and filtering an Observable array of Observables. The main thing that prevented me from pursuing it in the past was the complexity of the combineLatest step. Since Observable.combineLatest only works on 2 observables at a time, we would need to do something like
Array.reduce((acc, curr) => acc.combineLatest(curr, (list, data) => list.concat(data)))
which I was wary of because I didn't (and still don't) know whether that would make managing subscriptions on the individual Observables difficult. If that is a manageable issue, I say go for it.

I'm pretty sure I can use combinelatest on an array, if I use spread operators (like Observable.combineLatest(...arr).map((...arr) => arr[1]) sort of thing. But that's just a hypothesis based on reading the documentation, rather than really digging in. If it seems like a reasonable thing to have working though, I'll play with it soon.

woops, here's the hard part. I was fiddling with this because I needed to change some more of the API surface on plump (so the login system can get access to plump-store-rest's socket.io instance when necessary) and was going to put this in too.
when I'm doing the inflate, I need to do plump.find() on all the children, but in that particular closure I don't actually have a plump handy; I just have the ModelData that is coming up the observable stream.
I think I can hack it in to the observable interface (basically stick a (public plump: Plump) argument into the PlumpObservable constructor, since I control when the constructor is being called at all times anyway. Feels a bit hacky, but it's not the end of the world.
Mostly noting here so I remember why I did this when I see this code in a year.


Introduce native support for raw ECDSA keys in JsonWebKeySet.GetSigningKeys()

https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/issues/62 was closed, but AFAICT, raw ECDSA keys are still not supported in the latest bits:
https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/dev/src/Microsoft.IdentityModel.Tokens/JsonWebKeySet.cs#L103
Wilson should target .NET Standard 1.6 and use ECDsa.Create(ECParameters) to create new ECDSA keys from EC-based JWKs.
/cc @brentschmaltz @polita

@aarondandy @PinpointTownes I agree we need a 1.6 target.
We will see if we can fit this into our next release.

@brentschmaltz oh, you guys are still alive? :trollface:

@PinpointTownes yes sir.

We will get this into the June release

@PinpointTownes we need to push this to August 5.2.4 release.

Please also improve the error messaging for unsupported protocols.  JwtSecurityTokenHandler currently reports

Microsoft.IdentityModel.Tokens.SecurityTokenSignatureKeyNotFoundException: 'IDX10501: Signature validation failed. Unable to match 'kid...

It took many agonizing hours to track the issue down to JsonWebKeySet, confirming my suspicion that ECDSA is, in fact, not supported.


'brew {outdated,upgrade}' and 'brew {outdated,upgrade} --cask' doesn't find any package to update, but direct upgrade of package works

brew doctor output
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected dylibs:
  /usr/local/lib/libctxfuse.2.dylib

Verification

[X] My "brew doctor output" above says Your system is ready to brew. and am still able to reproduce my issue.
[X] I ran brew update twice and am still able to reproduce my issue.
[X] This issue's title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.

brew config output
HOMEBREW_VERSION: 4.1.17
ORIGIN: https://github.com/Homebrew/brew
HEAD: 35746e0a6ba6c3c5cfe56d99f79d9ec9f52ee15f
Last commit: 3 days ago
Core tap JSON: 25 Oct 08:14 UTC
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 8
Homebrew Ruby: 2.6.10 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: octa-core 64-bit icelake
Clang: 15.0.0 build 1500
Git: 2.42.0 => /usr/local/bin/git
Curl: 8.1.2 => /usr/bin/curl
macOS: 14.0-x86_64
CLT: <IP_ADDRESS>.1.1694021235
Xcode: N/A

What were you trying to do (and why)?
List outdated packages:
brew outdated
brew outdated --cask
brew upgrade

What happened (include all command output)?
No outdated packages found, the output is empty.
What did you expect to happen?
visual-studio-code to be updated, since brew knows there is a newer version available (via brew info) and will upgrade when asked to upgrade the package on its own.
Note that the old visual-studio-code got installed on an older version of Mac OS, and then Mac OS got upgraded, don't know if that matters.
Also the 'brew doctor' output doesn't say 'ready to brew', but the dylib is expected to be there and is not related to Homebrew, it does say the warning can be ignored, and I don't think it is related to Homebrew's inability to detect version upgrades.
Step-by-step reproduction instructions (by running brew commands)
% brew outdated
% brew outdated --cask
% brew upgrade
% brew upgrade --cask
% brew info visual-studio-code
==> visual-studio-code: 1.83.1 (auto_updates)
https://code.visualstudio.com/
/usr/local/Caskroom/visual-studio-code/1.77.3 (132B)
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/v/visual-studio-code.rb
==> Names
Microsoft Visual Studio Code
VS Code
==> Description
Open-source code editor
==> Artifacts
Visual Studio Code.app (App)
/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code (Binary)
==> Analytics
install: 28,134 (30 days), 81,265 (90 days), 184,445 (365 days)

% brew upgrade visual-studio-code
==> Upgrading 1 outdated package:
visual-studio-code 1.77.3 -> 1.83.1
==> Upgrading visual-studio-code
==> Downloading https://update.code.visualstudio.com/1.83.1/darwin/stable

https://docs.brew.sh/FAQ#why-arent-some-apps-included-during-brew-upgrade
--greedy will make it show

If I start 'visual-studio-code' it won't update itself though, is that a bug in that package?

Maybe 'brew outdated --cask' and 'brew update --cask' should default to '--greedy'? (or show a warning that --cask is deprecated and --greedy should be used instead?)Otherwise what is the meaning of '--cask' on those commands?

If I start 'visual-studio-code' it won't update itself though, is that a bug in that package?

It will and does for me. If it doesn't: report it to Visual Studio Code themselves, not Homebrew.

Maybe 'brew outdated --cask' and 'brew update --cask' should default to '--greedy'?

No, they should not. It's a waste of resources.

Otherwise what is the meaning of '--cask' on those commands?

Upgrade casks, not formulae.


zpa_application_segment tries to set ports on BYPASS

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Affected Resource(s)

zpa_application_segment

Terraform Configuration Files

resource "zpa_application_segment" "this" {
  name              = "NinjaRMM Agent"
  description       = "NinjaRMM Agent"
  enabled           = true
  health_reporting  = "ON_ACCESS"
  bypass_type       = "BYPASS"
  is_cname_enabled  = true
  tcp_port_ranges   = [ "80", "443" ]
  domain_names      = [ "agent-eu-central.ninjarmm.com" ]
  segment_group_id  = zpa_segment_group.this.id

  server_groups {
      id = [ zpa_server_group.this[locals.app_connector_group].id ]
  }
}

Expected Behavior
zpa_application_segment should ignore the set ports, if the policy is BYPASS.
Actual Behavior
It tries to update the ports on each run.
Steps to Reproduce

terraform apply

@thoro Your configuration is incorrect.
Please refer to our documentation in the official Terraform registry here
Problem 1: You are configuring an unsupported value in the attribute bypass_type. The supported values as per the documentation are: ALWAYS, ON_NET and NEVER
Problem 2: tcp_port_ranges,  udp_port_ranges or tcp_port_range and udp_port_rage can only be configured when bypass_type is set to ON_NET and NEVER. ALWAYS is not supported. We will add a plan stage validation in upcoming releases.
Please refer to the official ZPA documentation regarding Bypass settings
resource "zpa_application_segment" "this" {
  name              = "NinjaRMM Agent"
  description       = "NinjaRMM Agent"
  enabled           = true
  health_reporting  = "ON_ACCESS"
  bypass_type       = "ALWAYS"
  is_cname_enabled  = true
  domain_names      = [ "agent-eu-central.ninjarmm.com" ]
  segment_group_id  = zpa_segment_group.this.id

  server_groups {
      id = [ zpa_server_group.this[locals.app_connector_group].id ]
  }
}

@willguibr Sorry you are correct, ALWAYS is the correct value, I somehow messed up when making the post.

yes, this is exactly what I wanted to suggest with this issue - just either disallow setting is completely, or just ignore the set values

Since you are already planning to do this, I think the issue can be closed.


Add icon for waka canoe wilderness diesmbark station

The title says it.
Tooltip could include wilderness level.

To clarify, you wish for an icon to be added where the canoe stops in the wilderness? Is the location consistent and do you always arrive at the same wilderness level?


updated gulpfile so it recurses in image directory.

The current gulpfile does not recurse into the file directory at all so if you have
images\svg\svg.svg

It will just be excluded from the final build
adding the
**/*

tells it to look for all the folders and files recursively.
Not sure if this is the best way to do it I've also seen
return gulp.src('./images/**/*', {base:'./'})

as documented here
http://www.levihackwith.com/how-to-make-gulp-copy-a-directory-and-its-contents/

Merging, thanks.


make deleteSegments the only public API to work with

this should fix the inconsistent ordering issue in #8092.
but It still deletes entries from property store first then deletes the actual segment files.

Codecov Report

Merging #8104 (6e8fc36) into master (71e28a2) will decrease coverage by 50.58%.
The diff coverage is 100.00%.

@@              Coverage Diff              @@
##             master    #8104       +/-   ##
=============================================
- Coverage     64.71%   14.13%   -50.59%
+ Complexity     4306       81     -4225
=============================================
  Files          1572     1572
  Lines         82006    82002        -4
  Branches      12330    12330
=============================================
- Hits          53071    11590    -41481
- Misses        25166    69544    +44378
+ Partials       3769      868     -2901

Flag
Coverage Δ

unittests1
?

unittests2
14.13% <100.00%> (-0.03%)
:arrow_down:

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

Impacted Files
Coverage Δ

.../controller/helix/core/SegmentDeletionManager.java
68.93% <ø> (-1.52%)
:arrow_down:

...ntroller/helix/core/PinotHelixResourceManager.java
61.73% <100.00%> (-0.11%)
:arrow_down:

...ain/java/org/apache/pinot/core/data/table/Key.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../java/org/apache/pinot/spi/utils/BooleanUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../java/org/apache/pinot/core/data/table/Record.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../java/org/apache/pinot/core/util/GroupByUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/config/table/FSTType.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/data/MetricFieldSpec.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...va/org/apache/pinot/spi/utils/BigDecimalUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...java/org/apache/pinot/common/tier/TierFactory.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 1081 more

Continue to review full report at Codecov.

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

closing this one for now. as we need a sync delete. going back to the drawing board for a better design


XOPPY Tools to disappear?

I propose to remove this menu section, PickFile and XoppyPlot are useless now.
I propose to place xraylib_widget in the XOPPY Optics

I already removed the package from the add-on (it is just invisible)
Xraylib widget is not working properly. I put it back into "optics", please check it deeply


Automatically redirect pull requests search with "is:pr" to issues

Description
If you search on the pull requests page and delete the "is:pr" from the search, it doesn't include issues. But if you do the same on the issues page and remove "is:issue", it does include pull requests. For example:

Includes issues and PRs: https://github.com/refined-github/refined-github/issues?q=search+
Includes only PRs: https://github.com/refined-github/refined-github/pulls?q=search

I think this is probably some bug in GitHub, but it seems to be something that would be quite simple for refined GitHub to fix with a simple redirect.
Screenshot
No response
Example URL
https://github.com/refined-github/refined-github/pulls?q=search

This is something I thought about too because I encounter it often enough.
I suppose our solution would something like be:

on submit, if there's no is:pr or if there is is:issue, change the action attribute to /issues

I found the location.href is changed to /issues when changing form's action's path.


validation loss does not decrease

Hello,
I have been trying to finetune the donut model on my custom dataset. However, I have encountered an issue where the validation loss does not decrease after a few training epochs.
Here are the details of my dataset:
Total number of images in the training set: 12032
Total number of images in the validation set: 1290
Here are the config details that I have used for training;
config = { "max_epochs":30,
"val_check_interval":1.0,
"check_val_every_n_epoch":1,
"gradient_clip_val":1.0,
"num_training_samples_per_epoch": 12032,
"lr":3e-5,
"train_batch_sizes": [1],
"val_batch_sizes": [1],
# "seed":2022,
"num_nodes": 1,
"warmup_steps": 36096,
"result_path": "./result",
"verbose": False,
}
Here is the training log :
Epoch 21: 99%
13160/13320 [51:42<00:37, 4.24it/s, loss=0.0146, v_num=0]
Epoch : 0 | Train loss :  0.13534872224594618 | Validation loss :  0.06959894845040267
Epoch : 1 | Train loss :  0.06630147620920149 | Validation loss :  0.06210419170951011
Epoch : 2 | Train loss :  0.05352105059947349 | Validation loss :  0.07186826165058287
Epoch : 3 | Train loss :  0.04720975606560736 | Validation loss :  0.06583545940979477
Epoch : 4 | Train loss :  0.04027246460695355 | Validation loss :  0.07237467494971456
Epoch : 5 | Train loss :  0.03656758802423008 | Validation loss :  0.06615438500516262
Epoch : 6 | Train loss :  0.03334385565814249 | Validation loss :  0.0690448615986076
Epoch : 7 | Train loss :  0.030216083118764458 | Validation loss :  0.06872327175676446
Epoch : 8 | Train loss :  0.028938407997482745 | Validation loss :  0.06971958731054592
Epoch : 9 | Train loss :  0.02591740866504401 | Validation loss :  0.07369288451116424
Epoch : 10 | Train loss :  0.023537077281242467 | Validation loss :  0.09032832324105358
Epoch : 11 | Train loss :  0.023199086009602708 | Validation loss :  0.08460190268222034
Epoch : 12 | Train loss :  0.02142925070562108 | Validation loss :  0.08330771044260839
Epoch : 13 | Train loss :  0.023064635992034854 | Validation loss :  0.08292237208095442
Epoch : 14 | Train loss :  0.019547534460417258 | Validation loss :  0.0834848547896493
Epoch : 15 | Train loss :  0.018710007107520535 | Validation loss :  0.08551564997306298
Epoch : 16 | Train loss :  0.01841766658555733 | Validation loss :  0.08025501600490885
Epoch : 17 | Train loss :  0.017241064160256097 | Validation loss :  0.10344411130643169
Epoch : 18 | Train loss :  0.015813576313222295 | Validation loss :  0.10317703346507855
Epoch : 19 | Train loss :  0.015648367624887447 | Validation loss :  0.09659983590732446
Epoch : 20 | Train loss :  0.01492729377679406 | Validation loss :  0.09451819387128098
The validation loss appears to fluctuate without showing a consistent decreasing trend. I would appreciate any insights or suggestions on how to address this issue and potentially improve the validation loss convergence.
Thank you for your assistance.

The train_batch_sizes maybe too small to get global optima. Try more  warmup_steps.

Hello @Mann1904! could you please tell me how did you access the information about the loss at each epoch ? I'm not getting any of that


add support for multi param and multi header

adds support for multiple parameter for requests
adds support for multiple headers in request and response
adds tests

I incorporated the additions from https://github.com/apex/gateway/pull/16 but added tests as well as added support for headers coming from responses.


Rwhite5279 and portraits ii

Moar poetry!

This one has a few extra files mixed in we don't want to edit.

Ah, probably those json files in the root directory. Sorry. This should do it.


Publish FF Architecture Diagrams

Harness Developer Pull Request
Publish FF Architecture Diagrams
What Type of PR is This?

[ ] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screenshot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65dc3cc536b2bf89ebbe571c--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65dc3d884e315f8107af151a--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65dc3df7aeab2e80f90846f9--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65dc3eb624fc2a7ced409819--harness-developer.netlify.app


Create Login Window

As a developer I would like to create the initial structure of the Login Window. i.e. LoginWindow.java which will extend a JFrame class.  This shall be able to accept a username and password, and then close after the 'submit' button is clicked.
No action is yet necessary once the user clicks submit.  The scope is to initialize the LoginWindow class with necessary fields and buttons, and close after submit.  The application should then by default open the MainWindow.
Definition of Done

A LoginWindow is shown first during App execution
A user can enter the username/password and click submit (no verification)
The MainWindow opens, LoginWindow closes

Left from Java Implementation - invalid.


Add transport type support for redis/rabbitmq

Allows the selection of either Redis or RabbitMQ as the backend for
Sensu.
Fixes #556
Taken the code from #405 and merged in to a single commit

I'm going to come back and look at this later; there are issues with updating the $_transport_type


add support output to markdown

Thank you for your suggestion!
I had actually considered this before but it slipped my mind.
For code blocks, we're planning to use triple backticks. There's a question of whether to escape backticks within the code itself, but I'll examine different patterns to determine the best approach.
I appreciate you bringing this up!

Hi, @gengjiawen
I'm pleased to inform you that we've implemented the Markdown output support you suggested. This feature is now available in version 0.1.38 of Repopack, which has just been released!
https://github.com/yamadashy/repopack/releases/tag/v0.1.38
Thank you again for your valuable input. If you have a chance to try out the new Markdown output, we'd love to hear your thoughts!

thx for the feature . But I notice two bugs.

output file extension still is txt
no source type around ```

Thank you for your feedback and for pointing out these issues!
I'm pleased to inform you that both of these bugs have been addressed in my latest release, version 0.1.40:
https://github.com/yamadashy/repopack/releases/tag/v0.1.40

The output file extension now changes based on the selected style (e.g., .md for Markdown, .xml for XML).
I've added language identifiers to code blocks in Markdown output for better syntax highlighting.


PCA based color transform (PCAColorTransform)

Image data augmentation using Principal Components Analysis of pixel values. Unit Tested. Updated README.

@sagarwaghmare69 Thank you my friend!


Final Auth concept without roles for Company

Code is definitely more complex now, but it looks much cleaner!
All seems to be working well & I understand the general concept. I will definitely understand it better when implementing Sites & the rest of entities. :)

Okay, thanks for your feedback!

@LucasBrazi06 So should I start on Sites? :)

@LucasBrazi06 So should I start on Sites? :)

Yes :-)
Let me know if you need any help!


Network stats update

Not an issue, but I think adding the below to the networks stats page would be cool to see:

Tokens emitted last epoch for all subDAOs and helium DAO. Kudos if you can even break that down even further into what buckets those are being distributed from (I.e. amount of MOBILE rewarded for POC, data, etc).

Max supply of HNT and DNTs. As more than 1,643 HNT is burned in one epoch, this will lower the overall max supply, and I think it’s interesting to see this happen in real time.

I second that, particularly the max supply estimates. Would also be useful to (be able) to communicate  up to date max supplies (or at least upper thresholds) to sites like Coinmarketcap and Coingecko so that they can show correct max supplies numbers and correct fully diluted market caps to their users.
Max supplies shrinking over time applies to IOT and MOBILE, too - as there are burns whenever subDAO tokens are redeemed for HNT at the treasuries.

Noted. Adding to my to-do list.

@heatedlime and @Siegfried-B PR is up. Not sure if you automatically got notifications from the above activity.

Looks great!


Use bullets in list of validation errors

Follow-up for: https://github.com/openshift/assisted-service/pull/351

@andybraren , I do not like standard Patternfly's formatting without additional text.

The indentation works better with extra text on top of the list:

wdyt?

I was reminded about the magical Flex layout and List component. 🙂
This should work for us:

Success alert description. This should tell the user more information about the alert.

In fermentum leo eu lectus mollis, quis dictum mi aliquet.

Morbi eu nulla lobortis, lobortis est in, fringilla felis.

Aliquam nec felis in sapien venenatis viverra fermentum nec lectus.

@andybraren Thank you for passing the reminder of Flex :-)
This is the result:

Nits

@mareklibra I think the first bullet should also begin with uppercase ("No").
@andybraren Are you sure the first bullet is in proper English? I'm missing some punctuation...
@andybraren @mareklibra Didn't we decided to change "vips" to "virtual IPs" to be more coherent?
A general comment: AFAIK, the best practice for error or warning messages is: <Error\warning message><Reason for the error\warning> I'm missing this structure in bullets 1,3 & 4.
We have two places where I can see that the cluster is not ready to be installed (the notification & the warning in the action bar. Do we need both?

@mareklibra I think the first bullet should also begin with uppercase ("No").
@andybraren Are you sure the first bullet is in proper English? I'm missing some punctuation...
@andybraren @mareklibra Didn't we decided to change "vips" to "virtual IPs" to be more coherent?

@nirfarkas I believe (most of) these are addressed here: https://github.com/openshift/assisted-service/pull/351
In addition, I can automatically convert the errors coming from backed to sentences (means to capitalize the first letter and add a dot at the end if missing) but this would require deeper analysis what text is coming to avoid issues in corner cases.

A general comment: AFAIK, the best practice for error or warning messages is: <Error\warning message><Reason for the error\warning> I'm missing this structure in bullets 1,3 & 4.

These are validation errors. I think it makes no sense to add word error at every line. Please feel free to suggest rephrasing of the text above the bullets. Otherwise, the messages themselves should be tweaked within https://github.com/openshift/assisted-service

We have two places where I can see that the cluster is not ready to be installed (the notification & the warning in the action bar. Do we need both?

I am not sure I understand the issue. The alert on the screenshot is rendered in a response to clicking on the The cluster is not ready to be installed link in the toolbar.

I think it makes no sense to add word error at every line.
I didn't mean to have the word "Error" or "Warning" in every bullet. I meant that we need to provide some hint for the user where he can solve the issues he's having. For example "API virtual IP is undefined, you can provide it in the networking section".

I meant that we need to provide some hint for the user where he can solve the issues he's having. For example "API virtual IP is undefined, you can provide it in the networking section".

It makes totally sense. Please file an issue when you find it is missing somewhere. In the particular case of VIPs, the fields are already red with additional information.

I think/hope I fixed 1, 2, and 3 in that PR. Feel free to leave comments there @nirfarkas! 🙂
4. The tricky thing about adding "you can provide it in the networking section" to some of these messages is that they're also visible to CLI users interacting directly with the API. At the moment within OCM we won't have many/any of those, but when the installer is available on-prem for geekier users we likely will. As Marek said, the typical red validation styling for empty fields should be pretty prominent on the page; especially once we move to a step-based wizard and only a few fields are shown at a time.
If we think we need to enhance certain messages with GUI-specific help text, would we have a maintainable way of doing that @mareklibra?
5. The current behavior where that link acts like a button is indeed a little odd. I think it'd be worth exploring other ways of showing the current overall cluster status once we move to a wizard-based flow.
That reminds me... in the very early days we had a mockup that showed some kind of status or "achieved capability level" in the sidebar of the wizard, seen here. Maybe something worth thinking about again!

If we think we need to enhance certain messages with GUI-specific help text, would we have a maintainable way of doing that @mareklibra?

Majority of such messages can be found in https://github.com/mareklibra/facet-lib/blob/master/src/components/ui/formik/validationSchemas.ts , or just git grep :-)
I can extract the text to constants stored in a single file but so far this was not needed and would not bring much value. Anyway, it is an option.


RaySession fails to detect JACK when using pipewire jack compatibility

Describe the bug
raysession is unable to see the jack audio server if using pipewire with jack compatibility. according to the developer of raysession it should just work https://github.com/Houston4444/RaySession/issues/230#issuecomment-2157622383
Steps To Reproduce
Steps to reproduce the behavior:

enable services.pipewire.jack.enable
install and run raysession.  it will say "JACK is not started !" in the top right
install and run mpv  with jack support (pkgs.mpv-unwrapped.override { jackaudioSupport = true; }) and run with mpv --ao=jack and make it play anything with audio. it will work, unlike raysession

Expected behavior
raysession should just detect pipewire posing as jack and work, just like mpv
Additional context
I suspect raysession isn't picking up the LD_PRELOAD trick that redirects everything to pipewire. however, even when I manually run it with pw-jack it still doesn't work. even if I manually run ray-daemon with pw-jack and then raysession with pw-jack it still doesn't work
my current workaround is to enable services.jack.jackd.enable to run a full fat jack server and disabling services.pipewire.jack.enable , but that's not pure pipewire anymore
Notify maintainers
@orivej
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
- system: `"x86_64-linux"`
 - host os: `Linux 6.6.34, NixOS, 24.11 (Vicuna), 24.11.20240618.c00d587`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.23.0pre20240526_7de033d6`
 - nixpkgs: `/nix/store/pfqbxdicyksnqda6h5xv285sx7vamwzd-source`

Add a :+1: reaction to issues you find important.

I believe I'm having this same issue


Super serious issue.

People are not smashing that like button hard enough.

they just dont
its because they are afraid of breaking it, so they timidly press it.


Remove some broken code from collection.get

This section of code seems broken for a couple of reasons:

Objects.keys doesn't appear to take a second parameter.
The format of the resulting requestObject.qs property looks like it
might be a little off: it looks like the intention here was maybe
something more like requestObject.qs = query;

If these assertions are correct, then I think requestObject.qs will
always be { q: '' } at the end of this code block. This doesn't seem
very useful, hence this proposed change to remove it.

For reference, I was looking at this section of code while learning about how it works. My original goal was/is to try to implement and propose/contribute a solution to be able to getBy label selector (issue #2).
I notice that there isn't a status check on PRs to run the tests. I also don't know how to run them locally (neither using the info from the README.md nor the test script from the package.json). Any help here would be greatly appreciated!

@huangqg There has not been much activity on this repo for about 1.5 months. It would be great to see some progress on these pull requests. Would you be willing to grant someone else write access? If not perhaps we should start a new repo.


Worked and Changed Seeds, Fixed Migration Issues, All Working

Please edit your description with the motivation for this work and brief summary of the changes (which migration issue). Even for bug fixes we should communicate why it was worth doing.


quay.io/coreos/etcd:v2.0.12 docker image launch failed on Fedora 22, docker 1.6.0

It just crashes when I launch it in Fedora 22 x86_64.

[root@xxx]# docker images
REPOSITORY                      TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
quay.io/coreos/etcd             v2.0.12             7f7c57dd55fc        8 days ago          12.83 MB
gcr.io/google_containers/etcd   2.0.9               b6b9a86dc06a        11 weeks ago        12.82 MB
quay.io/coreos/etcd             v2.0.9              a24d15817279        11 weeks ago        12.8 MB
[root@xxx]#

[root@xxx]# docker history quay.io/coreos/etcd:v2.0.12
IMAGE               CREATED             CREATED BY                                      SIZE
7f7c57dd55fc        8 days ago          /bin/sh -c #(nop) ENTRYPOINT [/etcd]            0 B
e217c18bed2f        8 days ago          /bin/sh -c #(nop) EXPOSE map[4001/tcp:{} 7001   0 B
2ae64aa8466e        8 days ago          /bin/sh -c #(nop) ADD file:94fab2949e5fe6b87d   6.186 MB
6739c545b291        8 days ago          /bin/sh -c #(nop) ADD file:b85894357101fc409e   6.646 MB
6b8fdec062a8        8 days ago                                                          0 B
[root@xxx]#

[root@xxx]# docker run -it --name=test  quay.io/coreos/etcd:v2.0.12  /bin/bash
Timestamp: 2015-06-26 01:14:34.192254727 +0800 CST
Code: System error

Message: [/usr/bin/tar -cf /var/lib/docker/tmp/54a6f634e9dba4fadffbc1dd9c1330cad2fb91d79c2647bdf7354fe3c1f7f279243135438/_tmp.tar -C /var/lib/docker/devicemapper/mnt/54a6f634e9dba4fadffbc1dd9c1330cad2fb91d79c2647bdf7354fe3c1f7f279/rootfs/tmp .] failed: /usr/bin/tar: /var/lib/docker/devicemapper/mnt/54a6f634e9dba4fadffbc1dd9c1330cad2fb91d79c2647bdf7354fe3c1f7f279/rootfs/tmp: Cannot open: No such file or directory
/usr/bin/tar: Error is not recoverable: exiting now
: exit status 2

Frames:
---
0: setupRootfs
Package: github.com/docker/libcontainer
File: rootfs_linux.go@30
---
1: Init
Package: github.com/docker/libcontainer.(*linuxStandardInit)
File: standard_init_linux.go@52
---
2: StartInitialization
Package: github.com/docker/libcontainer.(*LinuxFactory)
File: factory_linux.go@223FATA[0001] Error response from daemon: : exit status 2
[root@xxx]#

Here you can get log from it

[root@xxx]# docker ps -a
CONTAINER ID        IMAGE                                 COMMAND             CREATED             STATUS              PORTS               NAMES
54a6f634e9db        quay.io/coreos/etcd:v2.0.12           "/etcd /bin/bash"   34 seconds ago                                              test

[root@xxx]# docker logs test
Timestamp: 2015-06-26 01:14:34.192254727 +0800 CST
Code: System error

Message: [/usr/bin/tar -cf /var/lib/docker/tmp/54a6f634e9dba4fadffbc1dd9c1330cad2fb91d79c2647bdf7354fe3c1f7f279243135438/_tmp.tar -C /var/lib/docker/devicemapper/mnt/54a6f634e9dba4fadffbc1dd9c1330cad2fb91d79c2647bdf7354fe3c1f7f279/rootfs/tmp .] failed: /usr/bin/tar: /var/lib/docker/devicemapper/mnt/54a6f634e9dba4fadffbc1dd9c1330cad2fb91d79c2647bdf7354fe3c1f7f279/rootfs/tmp: Cannot open: No such file or directory
/usr/bin/tar: Error is not recoverable: exiting now
: exit status 2

Frames:
---
0: setupRootfs
Package: github.com/docker/libcontainer
File: rootfs_linux.go@30
---
1: Init
Package: github.com/docker/libcontainer.(*linuxStandardInit)
File: standard_init_linux.go@52
---
2: StartInitialization
Package: github.com/docker/libcontainer.(*LinuxFactory)
File: factory_linux.go@223
[root@xxx]#

And docker inspect result
[{
    "AppArmorProfile": "",
    "Args": [
        "/bin/bash"
    ],
    "Config": {
        "AttachStderr": true,
        "AttachStdin": true,
        "AttachStdout": true,
        "Cmd": [
            "/bin/bash"
        ],
        "CpuShares": 0,
        "Cpuset": "",
        "Domainname": "",
        "Entrypoint": [
            "/etcd"
        ],
        "Env": [
            "HOME=/",
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
        ],
        "ExposedPorts": {
            "2379/tcp": {},
            "2380/tcp": {},
            "4001/tcp": {},
            "7001/tcp": {}
        },
        "Hostname": "54a6f634e9db",
        "Image": "quay.io/coreos/etcd:v2.0.12",
        "Labels": {},
        "MacAddress": "",
        "Memory": 0,
        "MemorySwap": 0,
        "NetworkDisabled": false,
        "OnBuild": null,
        "OpenStdin": true,
        "PortSpecs": null,
        "StdinOnce": true,
        "Tty": true,
        "User": "",
        "Volumes": null,
        "WorkingDir": ""
    },
    "Created": "2015-06-25T17:14:33.845930891Z",
    "Driver": "devicemapper",
    "ExecDriver": "native-0.2",
    "ExecIDs": null,
    "HostConfig": {
        "Binds": null,
        "CapAdd": null,
        "CapDrop": null,
        "CgroupParent": "",
        "ContainerIDFile": "",
        "CpuShares": 0,
        "CpusetCpus": "",
        "Devices": [],
        "Dns": null,
        "DnsSearch": null,
        "ExtraHosts": null,
        "IpcMode": "",
        "Links": null,
        "LogConfig": {
            "Config": null,
            "Type": "json-file"
        },
        "LxcConf": [],
        "Memory": 0,
        "MemorySwap": 0,
        "MountRun": true,
        "NetworkMode": "bridge",
        "PidMode": "",
        "PortBindings": {},
        "Privileged": false,
        "PublishAllPorts": false,
        "ReadonlyRootfs": false,
        "RestartPolicy": {
            "MaximumRetryCount": 0,
            "Name": "no"
        },
        "SecurityOpt": null,
        "Ulimits": null,
        "VolumesFrom": null
    },
    "HostnamePath": "/var/lib/docker/containers/54a6f634e9dba4fadffbc1dd9c1330cad2fb91d79c2647bdf7354fe3c1f7f279/hostname",
    "HostsPath": "/var/lib/docker/containers/54a6f634e9dba4fadffbc1dd9c1330cad2fb91d79c2647bdf7354fe3c1f7f279/hosts",
    "Id": "54a6f634e9dba4fadffbc1dd9c1330cad2fb91d79c2647bdf7354fe3c1f7f279",
    "Image": "7f7c57dd55fca4ad32f2596d79e07295e096a02ac042e47cc2fe0a34e544a12a",
    "LogPath": "/var/lib/docker/containers/54a6f634e9dba4fadffbc1dd9c1330cad2fb91d79c2647bdf7354fe3c1f7f279/54a6f634e9dba4fadffbc1dd9c1330cad2fb91d79c2647bdf7354fe3c1f7f279-json.log",
    "MountLabel": "",
    "Name": "/test",
    "NetworkSettings": {
        "Bridge": "",
        "Gateway": "",
        "GlobalIPv6Address": "",
        "GlobalIPv6PrefixLen": 0,
        "IPAddress": "",
        "IPPrefixLen": 0,
        "IPv6Gateway": "",
        "LinkLocalIPv6Address": "",
        "LinkLocalIPv6PrefixLen": 0,
        "MacAddress": "",
        "PortMapping": null,
        "Ports": null
    },
    "Path": "/etcd",
    "ProcessLabel": "",
    "ResolvConfPath": "/var/lib/docker/containers/54a6f634e9dba4fadffbc1dd9c1330cad2fb91d79c2647bdf7354fe3c1f7f279/resolv.conf",
    "RestartCount": 0,
    "State": {
        "Dead": false,
        "Error": "[8] System error: [/usr/bin/tar -cf /var/lib/docker/tmp/54a6f634e9dba4fadffbc1dd9c1330cad2fb91d79c2647bdf7354fe3c1f7f279243135438/_tmp.tar -C /var/lib/docker/devicemapper/mnt/54a6f634e9dba4fadffbc1dd9c1330cad2fb91d79c2647bdf7354fe3c1f7f279/rootfs/tmp .] failed: /usr/bin/tar: /var/lib/docker/devicemapper/mnt/54a6f634e9dba4fadffbc1dd9c1330cad2fb91d79c2647bdf7354fe3c1f7f279/rootfs/tmp: Cannot open: No such file or directory\n/usr/bin/tar: Error is not recoverable: exiting now\n: exit status 2",
        "ExitCode": -1,
        "FinishedAt": "0001-01-01T00:00:00Z",
        "OOMKilled": false,
        "Paused": false,
        "Pid": 0,
        "Restarting": false,
        "Running": false,
        "StartedAt": "0001-01-01T00:00:00Z"
    },
    "Volumes": {},
    "VolumesRW": {},
    "VolumesRelabel": {}
}
]

Here is the test environment

[root@xxx]# docker version
Client version: 1.6.0
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): 9d26a07/1.6.0
OS/Arch (client): linux/amd64
Server version: 1.6.0
Server API version: 1.18
Go version (server): go1.4.2
Git commit (server): 9d26a07/1.6.0
OS/Arch (server): linux/amd64
[root@xxx]#

[root@xxx]# uname -a
Linux tivx93 4.0.4-301.fc22.x86_64 #1 SMP Thu May 21 13:10:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[root@xxx]# cat /etc/issue
Fedora release 22 (Twenty Two)
Kernel \r on an \m (\l)

[root@xxx]#

Could you try to download the binary here(https://github.com/coreos/etcd/releases/tag/v2.0.12) and run it directly? So we could know whether it is the binary problem or a docker problem.
I just started it on ubuntu 14.04 using docker run -p 4001:4001 -v /usr/share/ca-certificates/:/etc/ssl/certs quay.io/coreos/etcd:v2.0.12.

@dove-young I am closing this due to low activity. Can you please try what @yichengq suggested? If you still have the same problem, feel free to reopen the issue. Thanks!

I guess the root cause is same with:
https://bugzilla.redhat.com/show_bug.cgi?id=1213258
Although I also hit same issue with docker v1.6.0 (included in Fedora), I could fix it with v.1.6.2.
I hope this information will help you.


Refactor basic/intmath tests into a single file

These six tests were duplicating almost all of their code in separate files. This brings them into a single file with templated routines to perform the tests.
This change also makes use of more C++ features and utilities from the harness library to make the code cleaner. Hopefully these changes are not too controversial (the code still isn't perfect, but it's a lot better IMO).
I switched the data types to unsigned integers, which addresses a signed integer overflow issue.
This also fixes the verification in the vector variants, which were previously not verifying the full dataset.

Where was the undefined behaviour happening?

The input arrays were generated with random integers in the range [0,2^32). These arrays were then added or multiplied together, which sometimes generated signed integer overflow. This was caught by -fsanitize=signed-integer-overflow.

What coverage do these tests buy us compared to integer_ops? There seems to be a lot of overlap. Also these tests only cover a subset of the types and vector sizes.

My understanding was that these tests (and many others in the basic suite) just act as smoke tests to check that the OpenCL implementation is not completely broken. I don't expect that they cover anything that isn't covered in integer_ops, just like the image tests in basic don't (or shouldn't) cover anything that isn't covered in images/*. I wouldn't object to just removing these tests from basic though, if that's your preference.

Thanks for clarifying!

My understanding was that these tests (and many others in the basic suite) just act as smoke tests to check that the OpenCL implementation is not completely broken

That might have been the initial spirit but it's not true in practice. I think we'd be better served by a smoke mode on the full tests than by duplicated tests that do similar things. integer_ops has such a mode (all the quick variants). I don't know how good those are but I think this is where we should go.
In cases where basic does provide additional coverage we probably should move the tests in question to the dedicated suite.

I don't expect that they cover anything that isn't covered in integer_ops,

I think the only difference is that these tests have coverage for multiply-accumulate but those in integer_ops don't.

just like the image tests in basic don't (or shouldn't) cover anything that isn't covered in images/*.

That's a nice counter example :). image tests in basic do cover things that are not covered by the dedicated suites.

I wouldn't object to just removing these tests from basic though, if that's your preference.

I think over time we should aim to remove duplicated tests and make tests that exercise a given area more easily discoverable/auditable and relateable to a given section of the specification where possible.
Given the uncertainty around coverage and the likely need to clean up more of integer_ops to get a clearer picture, I suggest we get this change in as it's a great step forward and create an issue to look into deleting/folding these into integer_ops.
How does that sound?

That all sounds good to me. I agree that there's lots of stuff in basic that would be better placed in existing or new dedicated suites.

I've refactored things further to address the review comments and generally make things more concise. PTAL.

@jrprice Please create an issue to cover looking at folding this into integer_ops.


Use <IP_ADDRESS> instead of localhost for hosts, it could resolve to ::1

This should stop issues like https://github.com/sensu/sensu/issues/1209

Thanks!


MDTab: AttributeError

Description of the Bug
getting AttributeError: 'NoneType' object has no attribute 'tab_label'
Code and Logs
code: kitchen_sink example
log
   File "main.py", line 124, in <module>
     KitchenSinkApp().run()
   File "/usr/local/lib/python3.7/dist-packages/kivy/app.py", line 950, in run
     runTouchApp()
   File "/usr/local/lib/python3.7/dist-packages/kivy/base.py", line 582, in runTouchApp
     EventLoop.mainloop()
   File "/usr/local/lib/python3.7/dist-packages/kivy/base.py", line 347, in mainloop
     self.idle()
   File "/usr/local/lib/python3.7/dist-packages/kivy/base.py", line 399, in idle
     Clock.tick_draw()
   File "/usr/local/lib/python3.7/dist-packages/kivy/clock.py", line 783, in tick_draw
     self._process_events_before_frame()
   File "kivy/_clock.pyx", line 658, in kivy._clock.CyClockBase._process_events_before_frame
   File "kivy/_clock.pyx", line 701, in kivy._clock.CyClockBase._process_events_before_frame
   File "kivy/_clock.pyx", line 697, in kivy._clock.CyClockBase._process_events_before_frame
   File "kivy/_clock.pyx", line 218, in kivy._clock.ClockEvent.tick
   File "/usr/local/lib/python3.7/dist-packages/kivy/uix/boxlayout.py", line 323, in do_layout
     c.size = (w, h)
   File "kivy/properties.pyx", line 498, in kivy.properties.Property.__set__
   File "kivy/properties.pyx", line 1372, in kivy.properties.ReferenceListProperty.set
   File "kivy/properties.pyx", line 600, in kivy.properties.Property.dispatch
   File "kivy/_event.pyx", line 1248, in kivy._event.EventObservers.dispatch
   File "kivy/_event.pyx", line 1154, in kivy._event.EventObservers._dispatch
   File "/usr/local/lib/python3.7/dist-packages/kivymd/uix/tab.py", line 1230, in on_size
     self._update_indicator(self.carousel.current_slide.tab_label)
 AttributeError: 'NoneType' object has no attribute 'tab_label'

Versions

OS: Debian 10.7.0
Python: v3.7.3
Kivy: v2.0.0
KivyMD: master

I'm getting this error when executing my app on android. How can I fix it?
I'm using https://github.com/kivymd/KivyMD/archive/master.zip in my buildozer.spec file, so it should take the last version, shouldn't?


Command line usage in a jupyter notebook

Command line usage should recognize, when its run in a jupyter notebook and show the webpage in the output of the cell. In binder, the proxy needs to be configured.
Originally posted by @stephanzwicknagl in https://github.com/potassco/viasp/issues/16#issuecomment-1837329476

It's not possible to use the CLI in a jupyter notebook and also have the viasp visualization in the cell output.
Instead, one can use the viasp python API in notebooks. The viasp endpoint was created as an equivalent to the command line. In Binder, viasp endpoint can not be used, due to issues with infer_jupyter_proxy_config() having to be run in a separate cell.
For examples of how to use the viasp python API for visualizations in Binder, see the example notebook. Further Binder integration is currently not planned


Facing issue in IOS.

Hey @dooboolab  I am facing issue

Cannot read property 'getAvailableItems' of undefined in Ios
It's working fine in Android. Every setup is done correctly for IOS.

@coldfins try to connect the module manually. :D

+1 same issue at the moment, checking out the manual connection option now

@JJMoon & @andrideng thanks for your suggestions. iOS link was broken fixed it by manually linking.  :D

Can confirm, manual linking worked fine - of note, I had to also remove the line from the podfile as per the ejected expo app suggestion (although mine is not an ejected app)


Starter kit enablement

@dolph how much of these files are auto-generated? and what steps did you do to generate them?

I'm trying to merge the least complexity possible to help debug bx dev deploy (which is failing without a specific error), so this merge is basically the result of skit init and bx dev enable.


Ask some questions

Hi I am trying to use lustre-csi. Does it support snapshot and capacity expansion functions?

If Lustre is based on ZFS, it can support snapshots, capacity expansion and other functions. Can CSI also consider implementing these functions?


More fixing extra whitespace surrounding docstrings

This fixes some formatting typos in some docstrings.
This is a followup to #9689. There are four cases found as follows
> ruff check --select=D210  qiskit tools test
qiskit/qasm/qasmlexer.py:127:9: D210 [*] No whitespaces allowed surrounding docstring text
qiskit/quantum_info/operators/symplectic/stabilizer_table.py:1030:9: D210 [*] No whitespaces allowed surrounding docstring text
test/python/result/test_result.py:130:9: D210 [*] No whitespaces allowed surrounding docstring text
test/python/visualization/test_circuit_text_drawer.py:13:1: D210 [*] No whitespaces allowed surrounding docstring text

These cases are compounded by other quirks or typos in the docstrings. Both the extra whitespace and quirks are fixed manually here.

Summary
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.001%) to 85.341%

Files with Coverage Reduction
New Missed Lines
%

qiskit/transpiler/passes/synthesis/unitary_synthesis.py
1
94.93%

Totals

Change from base Build<PHONE_NUMBER>:
-0.001%

Covered Lines:
67529

Relevant Lines:
79128

💛  - Coveralls


Full support form arm64 architecture?

I'm working, for the first time, on a Macbook with M2Pro chip.
I need to use linux/arm64 images and I know that last release hasn't the arm64 version for MariaDB.
Could someone tell me which is the last release with full support of arm64 architecture?
I've read here (https://github.com/wodby/docker4drupal/issues/526#issuecomment-1537117431) that the last version of MariaDB with arm64 is MARIADB_TAG=10.4-3.13.21
Thanks!

This works for me (have M1), it may not be the solution you need, but it works. Without it, docker complains about architecture for mariadb service.
 mariadb:
    image: wodby/mariadb:$MARIADB_TAG
    container_name: "${PROJECT_NAME}_mariadb"
    stop_grace_period: 30s
    platform: linux/amd64
    environment:

Note: platform key under mariadb service.

This "trick" doesn't work on my m2pro.
If I add that line I obtain this error:
sergej@MBP-di-Sergej dog.local % docker-compose pull
[+] Pulling 3/4
 ✔ php Skipped - Image is already being pulled by crond                                                                                0.0s
 ⠋ mariadb Pulling                                                                                2.0s
 ✔ nginx Pulled                                                                                1.4s
 ✔ crond Pulled                                                                                1.5s
no matching manifest for intel/amd64 in the manifest list entries
sergej@MBP-di-Sergej dog.local %

And if I remove the "platform" line, the message is:
no matching manifest for linux/arm64/v8 in the manifest list entries
Without line it's ok, but I don't understand why it doesn't find entries for "intel/amd64".
On .env file I'm using MARIADB_TAG=10.11-3.26.3

linux/arm64 variants returned for MariaDB starting 3.28.0


fix(yandex-metrika): fix paths sent to Metrika when router.base is not /

When Nuxt is hosted on the path other than /, yandex-metrika plugin sends wrong routes' paths with the hit method.
This PR fixes it by reading base option from router configuration and adding it to the beginning of the paths.
@IlyaSemenov, I see you've got some work in progress with this package, so please review it.

Thanks. Yeah, that improve surely makes sense. It will be conflicting with my changes though so whichever is not merged first will need to be updated (not a big deal in either case).
I'd use const instead of let in your code. let is for variables that are supposed to be reassigned.

Thanks, @IlyaSemenov
I agree about const. The ready variable confused me somehow. Will fix it now.


[api-docs] Fix formatting of recent changelog fields (#6162)

A new commit was made into the api-docs repo: https://github.com/discord/discord-api-docs/commit/bbf135de1d3816d99b19ccc83bec30d25ee0a764
No details given.
This is a bot created issue.

No code changes required.


Added docker files and script to build static client library and Python bindings on Linux

Motivation
To generate a statically linked libpulsar.so for Linux, we need to have all the dependencies compiled with -fPIC. That's not typically the case for dependencies coming from yum/apt-get.
Adding Docker images and script to generate statically linked C++ client library and Python bindings for Linux.

retest this please

retest this please


Refactor test API and include serial/multiserial tests

Build status:

Linux
Windows

Build status:

Linux
Windows

Build status:

Linux
Windows

Build status:

Linux
Windows


getting values from raster cubes for vector geometries

Fantastic work what you've done so far! There are two related use cases I have in mind where vector cubes shine, both related to the extraction of information from raster data cubes:

extracting the values of raster data cubes at a set of point locations
aggregating raster data cube values over a set of polygon geometries (or line geometries, but that is a less common use case)

The input is

a raster datacube with n >= 2 dimensions, two of which are x & y (or long & lat)
a set of m geometries
in case of lines/polygons: an aggregation function (mean, max, sum, etc possibly with parameters e.g. indicating what to do with missing values)

The output is a vector data cube with n-1 dimensions, where the raster dimensions x & y are replaced by a single vector dimension holding the m geometries.
This was illustrated here which again points to a blog by @rabernat, but there aggregation took place over a single geometry after which the dimension was dropped and a single time series remained. When we do this for a set of geometries a vector datacube results. The aggregation method used there ("conservative region aggregation") is nice to have but not primary priority IMO.
We will need this to properly implement the openEO process aggregate_spatial in xarray-based openEO backends. @m-mohr @LukeWeidenwalker

Thanks a lot for these suggestions!
I have the PR for the first case (values for points) in #36. See how it should work in the docs rendered from that PR -https://xvec--36.org.readthedocs.build/en/36/sampling.html. Is that what you had in mind?
For the latter case, I am aware of the implementations of zonal stats in rasterstats, geocube and xarray-spatial. From what I remember when I dealt with this some time ago, the latter two first create a single DataArray as a rasterised vector layer which causes some trouble when the cell size of the source grid is large compared to the size of geometries. Some just don't make it to the raster version of the GeoDataFrame. But they're much faster :). But it doesn't work for overlapping polys at all.
I think that wrapping rasterstats could be the best shot here, that should give us the closest result to what openEO docs describe. But I may be missing some new option.

Nice! For the sake of reproducibility I would not use random numbers without setting a seed. Also, if I'd copy your example to R, I'd need all 16 digits, not those 5 or so printed, so maybe writing out 10 points (or generating with fixed seed, then rounding to 5 digits) is more useful. Can we also see the array values (z, u, v) that result from the sampling? Is the eraint_uvz dataset somewhere readable as a NetCDF or so?

Good point, I have changed the points generation from random to evenly spaced within bounds, that should be easily reproducible in R.
The dataset lives here https://github.com/pydata/xarray-data as a NetCDF. I don't want to print the resulting z, u, v arrays in the documentation but if you want it to check my result against stars, it is below (using the updated points).
>>> sampled_da.z.values
array([[[109808.00940762,<PHONE_NUMBER>7136,<PHONE_NUMBER>4102,
<PHONE_NUMBER>3005,<PHONE_NUMBER>527 ,<PHONE_NUMBER>1361,
<PHONE_NUMBER>7616,<PHONE_NUMBER>7312,<PHONE_NUMBER>6812,
<PHONE_NUMBER>3606],
        [ 50368.73796008,  50530.89054203,  53692.86588995,
          57192.9466215 ,  57491.37637337,  57505.17659311,
          55828.44989471,  52747.55083776,  50327.33730086,
          49723.57768724],
        [ 12371.55793353,  11503.86911738,  13330.67320546,
          14657.21932796,  14829.72207471,  14767.62108588,
          14824.54699231,  14688.26982238,  13266.84718916,
          12714.83839956]],

       [[103537.53456327,<PHONE_NUMBER>6841,<PHONE_NUMBER>84  ,
<PHONE_NUMBER>3783,<PHONE_NUMBER>0848,<PHONE_NUMBER>4276,
<PHONE_NUMBER>4637,<PHONE_NUMBER>5321,<PHONE_NUMBER>5488,
<PHONE_NUMBER>3803],
        [ 47974.3998352 ,  48655.78568486,  52814.82690899,
          56378.73365684,  57548.3022798 ,  57550.02730727,
          57589.70293902,  56025.103026  ,  54800.33352408,
          53382.3609458 ],
        [ 11776.42345724,  10629.28019136,  13304.79779344,
          14810.74677257,  15048.80056308,  14790.04644296,
          13999.98386285,  14041.38452207,  13910.28243454,
          13485.92567753]]])

>>> sampled_da.u.values
array([[[-5.39432071e-01,  7.84308525e+00,  3.04381371e+01,
          2.63742675e+01,  5.21824071e+00,  8.12459943e+00,
          5.03753176e+01,  1.88127022e+01,  1.44532156e+00,
          1.28176025e+00],
        [-1.23456765e+00,  4.49951455e+00,  2.28749990e+01,
          7.64020631e+00, -5.45256230e+00, -2.75065521e+00,
          1.96871261e+01,  1.06566544e+01,  1.39976462e-01,
          1.93757821e+00],
        [ 1.35095926e+00,  1.21885205e+00,  1.42502852e+01,
         -1.46890069e+00, -5.04680442e+00, -4.56241130e+00,
          1.28962377e+00,  3.43793872e+00,  1.19526148e+00,
          3.22719626e+00]],

       [[-1.29747585e+00,  1.66879778e+01,  2.28749990e+01,
          3.62492818e+01,  1.12181100e+01, -1.57805156e+01,
          1.49250271e+00,  1.37816191e+01,  9.18774797e+00,
          3.93233458e-02],
        [-2.39050578e+00,  1.04993839e+01,  1.24055023e+01,
          1.53433151e+01, -1.85106799e+00, -5.82843878e+00,
          1.61674640e+00,  5.99987506e+00,  6.51572228e+00,
         -3.60143708e-01],
        [ 3.48511987e+00,  5.79699612e+00,  7.64020631e+00,
          1.58529230e+00, -6.10995296e+00,  2.81200215e+00,
          1.32112937e-01,  6.40096632e-01,  1.46891213e+00,
         -1.71419116e-01]]])

>>> sampled_da.v.values
array([[[-0.37502003,  0.89072514,  2.42978335,  0.78130436,
         -5.26550769,  8.09386159, -0.79693509, -8.56246567,
          6.28101252, -0.02334451],
        [ 2.51579095,  0.15631581,  1.03120422,  1.82820797,
         -0.46867275,  0.32833101, -0.90635586, -6.92210962,
          3.58610774, -1.062603  ],
        [ 3.3749113 ,  0.32833101,  0.43727397, -0.76539897,
          1.32793044, -2.82814789,  1.49230052, -1.12519742,
          0.37515737, -0.50020887]],

       [[-1.85960676, -3.27347613, -0.34396173, -1.12519742,
         -3.00780821, -0.47679569,  0.15631581,  1.3126402 ,
         -2.15633297, -1.08601618],
        [ 1.92186069, -2.87497425, -0.48444081, -1.54711248,
          0.08607627, -0.53891229, -5.34387017, -0.36737491,
         -1.14048766,  0.16396093],
        [ 3.42173766, -1.71864986, -0.72669555, -2.24998569,
          1.80479479,  1.35134362, -5.26550769, -0.53891229,
          0.49222326,  0.50799132]]])

I think that wrapping rasterstats could be the best shot here, that should give us the closest result to what openEO docs describe.

Just a follow-up note - rasterstats is able to work with a single array at a time, which means that if we want to aggregate multiple at the same time (like R, G, B), we would need a loop that would duplicate a lot of work including rasterization. So it may in the end be the best to roll out our own aggregation on top of rasterio's rasterize.

It's encouraging in any case that we get the same values:
library(stars)
# Loading required package: abind
# Loading required package: sf
# Linking to GEOS 3.11.1, GDAL 3.6.2, PROJ 9.1.1; sf_use_s2() is TRUE
c("POINT (-180 -90)", "POINT (-140.083 -70)", "POINT (-100.167 -50)",
       "POINT (-60.25 -30)", "POINT (-20.333 -10)", "POINT (19.583 10)",
       "POINT (59.5 30)", "POINT (99.417 50)", "POINT (139.333 70)",
       "POINT (179.25 90)") |> st_as_sfc(crs = 'OCG:CRS84') -> sfc
r = read_mdim("/tmp/eraint_uvz.nc")
# Warning messages:
# 1: Could not parse expression: ‘`m`**2 `s`**-2’. Returning as a single symbolic unit()
# 2: Could not parse expression: ‘`m` `s`**-1’. Returning as a single symbolic unit()
# 3: Could not parse expression: ‘`m` `s`**-1’. Returning as a single symbolic unit()
e = st_extract(r, sfc)
e$z
# , , 1

#           [,1]     [,2]     [,3]
#  [1,] 109808.0 50368.74 12371.56
#  [2,] 110936.2 50530.89 11503.87
#  [3,] 114934.8 53692.87 13330.67
#  [4,] 120956.9 57192.95 14657.22
#  [5,] 121479.5 57491.38 14829.72
#  [6,] 121696.9 57505.18 14767.62
#  [7,] 117581.0 55828.45 14824.55
#  [8,] 110710.2 52747.55 14688.27
#  [9,] 107525.8 50327.34 13266.85
# [10,] 106839.2 49723.58 12714.84

# , , 2

#           [,1]     [,2]     [,3]
#  [1,] 103537.5 47974.40 11776.42
#  [2,] 105918.1 48655.79 10629.28
#  [3,] 112255.8 52814.83 13304.80
#  [4,] 118288.2 56378.73 14810.75
#  [5,] 121571.0 57548.30 15048.80
#  [6,] 121874.6 57550.03 14790.05
#  [7,] 123275.3 57589.70 13999.98
#  [8,] 118666.0 56025.10 14041.38
#  [9,] 116587.4 54800.33 13910.28
# [10,] 114827.8 53382.36 13485.93

(the warnings indicate that units are wrongly encode: should have been written without the ** in them - integers are always powers)

But it doesn't work for overlapping polys at all.

Another major flaw of the simple features standard: most of the time we work with polygon coverages, i.e. no overlapping polygons, but we have no way of defining this, or benefiting from it (GEOS now can, I believe for union, but our SF data formats won't tell us they're coverages)

Just a follow-up note - rasterstats is able to work with a single array at a time, which means that if we want to aggregate multiple at the same time (like R, G, B), we would need a loop that would duplicate a lot of work including rasterization.

If you label the polygons 1:n (eh, 0:(n-1)) and rasterize that, then you can use that layer as grouping index for all data cube layers, no need to repeat that.

Just a follow-up note - rasterstats is able to work with a single array at a time, which means that if we want to aggregate multiple at the same time (like R, G, B), we would need a loop that would duplicate a lot of work including rasterization.

If you label the polygons 1:n (eh, 0:(n-1)) and rasterize that, then you can use that layer as grouping index for all data cube layers, no need to repeat that.

Yup, that is what geocube is doing and it is quite efficient and good enough in many cases. But I had a case when this was not feasible as some polygons were too small compared to cells and did not cover any cell centroid. You still want to extract the data from those though (using all touching cells as an opt-in method). Is this what you use in stars?

There are several paths in stars, the simple, pixel=point approach, or converting pixels to square polygons (st_interpolate_aw for area-weighted polygon-polygon interpolation), or using exactextractr, which comes with an R package and is blazingly fast.

I think I'll give it a bit of time to think this through. We can maybe touch this in person when we meet.
For a reference:

exactextract PR adding some Python bindings
PySAL's Tobler package for areal interpolation
One way of approaching this could be a loop over rioxarray's clip which masks Dataset/DataArray with a polygon - the result is ideal input for aggregation.

xESMF and xagg were the two options mentioned in @rabernat's blog.

I'm not following every detail here, but it's great to see all of this progress! 🚀
One potential suggestion would be to consider leveraging Xarray's groupby feature somehow. It's quite powerful. For more advanced and scalable grouping there is also the flox package. A two-step approach would

Turn the vector geometries into categorical arrays somehow. (I'm fuzzy on whether this is always possible.)
Hand things off to groupby / flox.

One nice thing about that is that the user can specify the aggregation operation, e.g.
ds.groupby("region").mean("region")
ds.groupby('region").max("region")
# etc

(I'm fuzzy on whether this is always possible.)

Thanks - yes, this is indeed possible if the polygons don't overlap, so every pixel can be assigned to a single geometry. But that is the most common use case, IMO.

With the help of @masawdah, we now have a decent zonal_stats functionality for aggregation over a set of polygons or linestrings. There are two implementations, one based on rasterio.features.rasterize that creates a categorical array followed by group-by (which is quite fast and a default) and another that iterates over individual geometries and uses rasterio.features.geometry_mask with standard aggregation. The latter is way slower even though it is running in parallel but should support use cases with overlapping geometries, those where small polygons are dropped during rasterisation, or when you may have memory issues (I think that is the main reason @masawdah implemented it originally).
All of them support standard aggregations available in xarray (including passing kwargs to stuff like quantile), custom aggregations via any callable accepted by reduce, or a list of these (with #56).
Once exactextract's Python bindings are releases (they already exist!), I'd like to expose that for weighted aggregation. Or we can do it via geopandas if someone wants to make a PR :). But I suppose that those options based on GDAL we have will cover majority of use cases.
I will add some proper documentation of these in coming days and cut 0.2.0. @masawdah could you check if the current implementation works for openEO needs before we do the release?

awesome!!

With the help of @masawdah, we now have a decent zonal_stats functionality for aggregation over a set of polygons or linestrings. There are two implementations, one based on rasterio.features.rasterize that creates a categorical array followed by group-by (which is quite fast and a default) and another that iterates over individual geometries and uses rasterio.features.geometry_mask with standard aggregation. The latter is way slower even though it is running in parallel but should support use cases with overlapping geometries, those where small polygons are dropped during rasterisation, or when you may have memory issues (I think that is the main reason @masawdah implemented it originally).
All of them support standard aggregations available in xarray (including passing kwargs to stuff like quantile), custom aggregations via any callable accepted by reduce, or a list of these (with #56).
Once exactextract's Python bindings are releases (they already exist!), I'd like to expose that for weighted aggregation. Or we can do it via geopandas if someone wants to make a PR :). But I suppose that those options based on GDAL we have will cover majority of use cases.
I will add some proper documentation of these in coming days and cut 0.2.0. @masawdah could you check if the current implementation works for openEO needs before we do the release?

@martinfleis I did a test with the current implementation and it worked as expected for openEO.  Looking forward to use it in the new release :)

@masawdah That is great to hear! I'll try to cut 0.2.0 before leaving for holidays!


Animation: review of character animation in Godot

Following on the 2d skinning tutorial #22, explain the current limitations of the new animation system for complex characters. Use blender for comparison

Bezier no time snapping, handles can only use one mode which limits flexibility, no constraints on free tangents, no convenient way to zoom and reframe the view, only one curve at a time
Rigging: no constraints or ability to lock properties, to prevent moving some bones inadvertently
Dope sheet: lacking ability to key all tracks at once to create clean keyframes, for posing and good control of your animation. A keyframe that represents the entire time step would be useful to quickly change the timing of the animation (or the ability to select all keys in a time range, blender has both tools)
No autokey makes it so if you inadvertently move in time, you can lose all your posing work.
Can't seem to partly hide the bones or use color modulation with the Skeleton2D, although it's a CanvasItem, can't have controllers without custom gdscript

On the other hand, we can now key all existing tracks with Ctrl Ins. But you have to know about the option as it's hidden in the toolbar: Animation -> Insert Key (Existing Tracks)

recorded, did some rough edits, sending to the editor


Inverted point on 2-point pass/fail grading scale

Description
When using the 2-point pass/fail grading scale with the following settings:

Points earned for getting a card wrong: -1
Points earned for getting a card right: 2

The system behaves incorrectly:

I earn 2 points when I fail a card.
I lose 1 point when I pass a card.

Expected Behavior

When a card is marked wrong, -1 point should be earned.
When a card is marked right, 2 points should be earned.

Actual Behavior

+2 points are awarded when a card is marked wrong.
-1 point is deducted when a card is marked right.

Steps to Reproduce

Set up the 2-way grading system with:

Points for wrong: -1
Points for right: 2

Attempt a card and fail it.
Attempt a card and pass it.
Observe the points awarded/deducted.

Environment

Version: 2.1
OS: Windows
Browser: Firefox

I'm sorry to bother you with another issue

This should be fixed in 2.1.1.


[release-1.14] Fix VM DNS in tests

Manual cherrypick required.
#42450 failed to apply on top of branch "release-1.14":
Applying: Fix VM DNS in tests
Using index info to reconstruct a base tree...
A	pkg/test/framework/components/echo/kube/templates/vm_deployment.yaml
Falling back to patching base and 3-way merge...
CONFLICT (modify/delete): pkg/test/framework/components/echo/kube/templates/vm_deployment.yaml deleted in HEAD and modified in Fix VM DNS in tests. Version Fix VM DNS in tests of pkg/test/framework/components/echo/kube/templates/vm_deployment.yaml left in tree.
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Fix VM DNS in tests
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

needs newer go version to cleanly backport. 1.14 is EOL anyways, I forgot.


Fixed Golden Cookie percentage calculation to cdf #921

Changes the Golden Cookie probability percentage to a cumulative percentage, yielding the cumulative distribution as described by @CptHampton here
resolves #921

Initially, I made the changes directly to the CookieMonster.js file, which I now realize wasn't the best approach. I also mistakenly pushed the entire repository, including generated files, which was not ideal.
I've since reset the branch, applied the changes only to the relevant src/ files, and have pushed the updated commit. The changes should now align with the expected workflow. Please review the updated pull request.

Sorry just saw your message. Could you also run the build?

Do you want this to be available on the normal version? Then we also need to run build.

Did my last commit run the intended function?

Yes it did.
I had a look at the code: shouldn't this be a toggle able feature? It seems like a breaking change that might not be appreciated by all users. Should we make this a setting to switch between the two calculations?

I understand what u mean, but it would effectively switch between showing "<0%" nearly all the time and the proposed implementation (Probability that GC has spawned until now).
In the end, I am indifferent to both solutions.
Maybe someone else can implement the switch, or if I should do it some pointers to relevant code snippets would be appreciated as i never really did UI


Refactor: Archive Security Window

The archive security window is minimally functional - it does what is required. But after coming back to it it doesn't make much sense from the users perspective.
It should show the current settings and then give the user a Wizard of dialogs to go through if they want to change the settings:

Pick new inventory security model
Pick file security model
Provide password
Go
Detect files that need to be re-encrypted

Change security wizard:

Window 1

combobox. cancel/next buttons

Window 2

security parameters for window 1
cancel/next buttons


Feature request: basic dark mode

A basic dark mode. One targetting follow system settings would be cool.

It should also theme to Marerial You.

The theme of it should also be adherent to its the configuration of the operating-system that invoked it.


If there is any query change over an analysis node, style | legend | infowindows panel should react to that change

Related ticket: https://github.com/CartoDB/cartodb/issues/11819.
So, I've just discovered thanks to @rochoa @dgaubert that when a widget is filtered (category or histogram), the query of the referenced node changes. That means, in our application, we should fetch the data (query, geometry and rows) and render again the panel where the user is.
So, we have taken into account that possibility and those three views will listen to query changes and render again when the fetches have finished.
STR

Follow the steps described in https://github.com/CartoDB/cartodb/issues/11819 for each type of panel (legends | infowindows | style).

Acceptance passed.
I selected / unselected categories of a widget and checked that style / popup / legend panels didn't freeze.
One minor issue spotted while doing this acceptance, but it's not been created by this PR. More info at https://github.com/CartoDB/cartodb/issues/11825


Export secrets

Is it possible to add an option to export the secrets? This would be useful if you want to change the OTP App or your smart phone, ...

As of v0.2.1 you can access the QR Code for each entry via the eye icon when editing the entry. Using that you can migrate to another device or other apps.
Is there a specific export format or something you were looking for?

Ah ok that's cool. But I looked for an option to export the tokens in a simple text file or something like that...

This is a must-have IMO. Something like exporting a GPG-encrypted file (so that the exported OTP tokens are safe) that contains a single line for each account would probably suffice. The only user of this will probably be onetimepad -- so you'd just need to be able to both import and export it.

@cyphar - any strong encryption would require the use of PKI which isn't conducive to open source projects where the code is all public. Not sure what the best solution is overall.
In the end, I'm thinking something simple like just putting the secret under the QR Code image when you view the QR for a given account (via the edit mode eye button). This way it's not stored anywhere outside of the app, there's no actual import/export beyond the information itself being visible on your screen and so on. Also, if you really wanted to you could write the secrets down (they're not long or difficult to transpose).
I think that gives the best of all worlds while being trivial to implement.
Of course, I'm always willing to wade through any pull-requests for those that can code up a better solution! :)

any strong encryption would require the use of PKI which isn't conducive to open source projects where the code is all public. Not sure what the best solution is overall.

That's not what I mean when I say encrypted. I'm saying that when a user makes a backup, they provide a passphrase that is used to generate an encryption key (so you need to decrypt it to import it).

This way it's not stored anywhere outside of the app, there's no actual import/export beyond the information itself being visible on your screen and so on.

The problem with that is that it means that I cannot backup my 2FA secrets (so I could be locked out of an account if they don't offer a way of using an alternative 2FA setup). I've been screwed before with Google Authenticator and the fact that you can only get one copy of your secrets -- which is the main reason that I'm using Authy right now.

In my case, the scenario is if you lose your phone(which has encrypted fs). I do already periodic backups of  the "passphrase-encrypted"  keychain wallet on the smartphone to a file that I save on my personal laptop, just to avoid being locked out some critical services.
Doing the same from this app would be great if you have many 2FA secrets setup (20+)

@cyphar, @Malo87 - acknowledged, making this a priority

:+1:
I think, that encrypting all entries with a GPG public key and then allowing to "share" (e.g. with Nextcloud, or even mail) is perfect, but may require too many prerequisites.
But have a look to Andreas's https://github.com/bitcoin-wallet/bitcoin-wallet . This Bitcoin wallet has a module for (AES-) encrypting the wallet, which then can be "shared" (sent) to other Apps like Nextcloud or mail.
I suggest to copy the "Wallet sichern" code from https://github.com/bitcoin-wallet/bitcoin-wallet to your onetimepad code and resurrect as "OneTimePad sichern".

To be honest I wouldn't add pgp encryption to onetimepad. This was overkill. I'd simply add a share function for the secrets and export plaintext in a simple text format. The user can then share it to OpenKeychain and encrypt it itself.

@sedrubal as a starting point: okay

https://github.com/kckrinke/onetimepad/blob/master/app/src/main/java/com/onest8/onetimepad/MainActivity.java#L462

See pr https://github.com/kckrinke/onetimepad/pull/15 for a fix when showing the QR code (which is not working in the present version because the base32 encoding was missing).

@Wikinaut - while I did approve and merge the PR, I'm wondering why the QR codes worked for me previously. Could it have been just sheer luck? I used it twice, two different accounts and all codes lined up fine.

@kckrinke I displayed codes and used another smartphone with my beloved ZXing Barcode scanner to scan them. I found immediately that all my entered accounts gave rubbish (non-base32) strings in the ?secret= part.
Perhaps you have stored (previously, with an older app version) codes in your database not binary, but already base32-encoded ??? Pls. double-checked.
I checked by doing a fresh "git clone" of your code, and entering codes manually in the Android Studio emulator. Adding the base32 fix worked fine, as verified by "scanning" the emulator-generated QR codes with the ZXing Barcode Scanner (I did not yet update my running App in the Smartphone. For this step, I wanted to make sure to have all secrets obtained from all my TOTP-enabled services.)

@kckrinke It seems to be imoportant to know how you (or Bierbaumer) wanted the secrets to be stored, binary or already base32 encoded ?

With my fix it would be easy to "print" the secret on screen, as requested by  @sedrubal .

@kckrinke I double-checked: current master version works. Pls. can you confirm ?
I also suggest, as a quick fix, to simply show the full url string, or only the base32-secret, just below the generated QR code. Can you code this ?
For me, it will take some "minutes" longer.

@Wikinaut - I'm totally calling my test cases faulty and won't be using them anymore for testing in general (contrived/faked localhost services). Kicking myself for not testing better and just assuming all was well. I know how angry I get when something else wrecks my 2FA situation and so I'd loathe to be the a part of someone else's 2FA troubles.
Regarding the internal format "desired" -- I don't think there was ever a desired approach.
Perhaps a quick history note regarding the origins of this project is in order.
I don't communicate with upstream and only forked this project because I needed something ASAP that I could "fix" for my immediate needs at the time. CopperheadOS had a bug in one update which killed the keychain access and thus crippled my existing 2FA (I'm blaming AOSP). So naturally I found a simple open source project to hack into shape for my specific purposes. The key was to not use anything from google/android and instead store the data in some safe-ish maner internally, completely disconnected from any Google APIs. After a few hours of hackery, I was able to 2FA again. In fact, I didn't even commit that code at all! Just the initial fork work was pushed to github (I was overseas when all this happened). Then someone decided that they'd submit the project to f-droid facepalm all of a sudden I'm getting bug reports and feature requests for things that were working for me... that's when I found out the app was on f-droid and so I pushed my changes to github, prepped for a release, tagged master and let f-droid do whatever it is that f-droid does.
I'm thrilled that others are using this project (which I didn't even intend on using long-term) - but now with the attention this seems to be getting, I don't have much of a choice and will maintain it.
With all of that said, I'd like to state that I'm perfectly happy to entertain any and all ideas / changes / proposals for this project. Nothing is set in stone and if things makes sense, I'm happy to roll forward. As far as apps and UI goes, it's still pretty ugly and clunky. Lots of room for improvement!

ah, so do you confirm my observation ?

@Wikinaut - already adding the code in below the QR image and putting the label as the title of the dialog. Should be done shortly.

Regarding the format stored - I rigged it to take whatever was presently required at the time (bytes) but I'm sure it can be made better.

it's okay, I think

Where we are discussing: the label texts like "Issuer - label:username" in the OneTimePad view should not be cropped if they are too long: a smaller font size is needed, and less padding/margins in the right column of the table.
But I know, this is fine-tuning, difficult and requires time.

@Wikinaut - please open new issues for unrelated bugs :)

@sedrubal  https://github.com/kckrinke/onetimepad/commit/55aef4e6fc20586e9ec5783e645ba0d843e524ea shows the secret above the QR code and is at least a partial solution of your reported issue.
@kckrinke Confirmed, works.

Thanks, this is a quite smart solution. But I thought of dumping the secrets to a file (in order to backup the secrets) and importing them into the app on another phone/system...

@sedrubal "dumping secrets to a file to enable a way to backup..." Yes, of course, your original proposal it not forgotten. I suggest a solution similar to the Bitcoin Wallet Backup/Restore, as written above in https://github.com/kckrinke/onetimepad/issues/5#issuecomment-272937275 . When I have time...

@kckrinke sorry to ask again, but the need to have an export and import function (with AES encrypted file) is present. Can you find time to write such a module ?

@Wikinaut - I'm trying to do a number of larger changes on this project (including this feature) but have been unable to find the time as of yet. Haven't forgotten!

:+1:

Any news here about this thread?

@kckrinke any news ?

Sorry folks, will revisit this week and have at least some sort of backup / export method implemented.

@Wikinaut, @trmendes - the devel branch has been updated with a semi-functioning import/export system. I say semi because it's not a very good UI/UX experience. See the README.md file for details.
If you folks could please test this on an emulator and/or any other non-critical device and provide feedback, I would greatly appreciate it. I won't be releasing this feature until we've got people confirmed to be happy with this basic implementation.

@kckrinke I'm gonna check it as soon as possible. Thanks for your work :D

@kckrinke App crashes after import.

@Wikinaut can you provide adb logcat output while running a debug build and triggering the crash? It's very difficult for me to reproduce errors without having the device + os in question

@kckrinke pls. can you briefly explain the steps (how to export, import....). The version which does not work for me is 839a58b7b922202b5c4108c7be49165daef5a8a5