Allow /opt/splunkforwarder/var/run/splunk splunkd.pid to run as splunk

Affected Puppet, Ruby, OS and module versions/distributions

Puppet:
Ruby:
Distribution:
Module version:

How to reproduce (e.g Puppet code you use)
What are you seeing
I set the user under class ::splunk::forwarder to splunk but still the spunkd.pid runs as root, the customer wants this running as splunk, I made a file resource that recurse /opt/splunkforwarder to run as group and owner root, but the change happens every run with a bunch of others /opt/splunkforwarder/var/libsplunk  and /opt/splunkforwarder/var/run/*
Manually the customer set chown /opt/forwarder/* to run as splunk then restarted the service and this worked
What behaviour did you expect instead
Output log
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/etc/apps/learned/local/props.conf]/owner: owner changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/etc/apps/learned/local/props.conf]/group: group changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/etc/apps/learned/local/sourcetypes.conf]/owner: owner changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/etc/apps/learned/local/sourcetypes.conf]/group: group changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/etc/apps/learned/metadata/local.meta]/owner: owner changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/etc/apps/learned/metadata/local.meta]/group: group changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/etc/passwd]/owner: owner changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/etc/passwd]/group: group changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/var/lib/splunk/fishbucket/4069420869]/owner: owner changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/var/lib/splunk/fishbucket/4069420869]/group: group changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/var/lib/splunk/fishbucket/rawdata/1322324208]/owner: owner changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/var/lib/splunk/fishbucket/rawdata/1322324208]/group: group changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/var/lib/splunk/fishbucket/rawdata/1322324208.old]/owner: owner changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/var/lib/splunk/fishbucket/rawdata/1322324208.old]/group: group changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/var/lib/splunk/fishbucket/rawdata/2342085248]/owner: owner changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/var/lib/splunk/fishbucket/rawdata/2342085248]/group: group changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/var/lib/splunk/fishbucket/rawdata/2342085248.old]/owner: owner changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/var/lib/splunk/fishbucket/rawdata/2342085248.old]/group: group changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/var/run/splunk/conf-mutator.pid]/owner: owner changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/var/run/splunk/conf-mutator.pid]/group: group changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/var/run/splunk/splunkd.pid]/owner: owner changed 'root' to 'splunk'
Notice: /Stage[main]/Profile::Linux_splunk/File[/opt/splunkforwarder/var/run/splunk/splunkd.pid]/group: group changed 'root' to 'splunk'
Notice: Applied catalog in 2.94 seconds
On every run
Any additional information you'd like to impart
My profile
#Linux profile to install Linux Splunk
class profile::linux_splunk {
$artifactory_host = hiera('artifactory_host')
$splunkadmsrv     = hiera('splunk::deploysrv')
$splunkdir        = hiera('splunk::dir')
$winsplunkport    = hiera('splunk::port')
if $facts['apache_version'] {
$client_name = 'fspptuxapch'

acl { '/app/httpd/log/':

    action     => set,

    permission => [

    'group:splunk:r-x',

    'default:group:splunk:r-x',

    ],

    provider   => posixacl,

    recursive  => true,

    require    => Package['splunkforwarder'],

  }

}
else { $client_name = 'fspptux'

}

splunkforwarder_deploymentclient { 'deployment-client-disabled':

section => 'deployment-client',

setting => 'disabled',

value   => '0',

}
splunkforwarder_deploymentclient { 'deployment-client-client-name':
section => 'deployment-client',

setting => 'clientName',

value   => $client_name,

}
splunkforwarder_deploymentclient { 'deployment-server':
section => 'target-broker:deploymentServer',

setting => 'targetUri',

value   => Blank:8089',

}
class { '::splunk::params':
  version      => '6.5.2',

  build        => '67571ef4b87d',

  src_root     => "http://${artifactory_host}/artifactory/application-release-local/gov/usda/fs/busops/cio/FS_Splunk",

  server       => 'blank..com',

  splunkd_port => '8089',

}
class { '::splunk::forwarder':
splunk_user  => 'splunk',

}
file {'/opt/splunkforwarder/etc/splunk-launch.conf':
ensure  => present,

owner   => 'root',

group   => 'splunk',

recurse => false,

require => Package['splunkforwarder'],

}
file {'/opt/splunkforwarder/':
ensure  => present,

owner   => 'splunk',

group   => 'splunk',

recurse => true,

ignore   => '/opt/splunkforwarder/etc/splunk-launch.conf',

before  => File['/opt/splunkforwarder/etc/splunk-launch.conf'],

require => Package['splunkforwarder'],
}

file {'/var/log':
ensure  => present,

owner   => 'root',

group   => 'root',

mode    => "2755",

}
acl { '/var/log':
  action     => set,

  permission => [

  'group:splunk:r-x',

  'default:group:splunk:r-x',

  ],

  provider   => posixacl,

  recursive  => true,

  require    => Package['splunkforwarder'],

}

include ::splunk::forwarder

}

If I manually use this command after puppet installs splunk
/opt/splunkforwarder/bin/splunk enable boot-start -user splunk --accept-license --answer-yes --no-prompt
It works, and splunk is running as splunk

In the end , when I deleted all of splunk from the server , I did not delete the /etc/init.d/splunk start up script. So I deleted all of splunk, including the start up script , I rebooted the test server and let puppet run the splunk install again. Everything worked as expected and splunk was running as splunk, this worked on two test servers thus far. They want to test on more nodes but if all is successful i will close this issue.

I am still waiting for my other test servers to confirm I can close this. I will close it prematurely, because I do believe the methods I have done do work and that there was no issue to begin with. If I have issues in the next week or two I will re-open it, thank you everyone

Sounds good to me if you want to close this out
Sent via the Samsung GALAXY S® 5, an AT&T 4G LTE smartphone
-------- Original message --------
From: Ryan Vandelinder<EMAIL_ADDRESS>Date: 10/15/17 11:05 (GMT-06:00)
To: voxpupuli/puppet-splunk<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: Re: [voxpupuli/puppet-splunk] Allow /opt/splunkforwarder/var/run/splunk splunkd.pid to run as splunk (#154)
I am still waiting for my other test servers to confirm I can close this. I will close it prematurely, because I do believe the methods I have done do work and that there was no issue to begin with. If I have issues in the next week or two I will re-open it, thank you everyone
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/voxpupuli/puppet-splunk/issues/154#issuecomment-336721677, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AF75jtDmxCkPYpno9gSX9rtf38wvzNylks5ssi1YgaJpZM4P0p4A.


feat: support multi-arch images in deprecated-base-image-check task

resolves #1072
KFLUXBUGS-1316

@lcarva @MartinBasti @ralphbean Could you PTAL?

/approved

@zregvart FYI

/ok-to-test

/ok-to-test


Improve doc error messages

I'm doing a doc insert on a document and I can see that it fails but I have no idea why. The actual reason is that it already exists but there's no indication of that.
> doc insert testy {"test":"test"} --expiry 10
───┬───────────┬─────────┬────────
 # │ processed │ success │ failed
───┼───────────┼─────────┼────────
 0 │         1 │       0 │      1
───┴───────────┴─────────┴────────

We have now added an extra column called fail_reasons which is a bit clunky - you can't investigate the reason after the fact, you need to be running with | get fail_reasons in the first place to see the reasons but it's something.


Allow version-tagged filepath in tests

Go 1.11 will introduce support for versioned modules. When downloading module dependencies, go get will add a version tag to the directory where the package is checked out (e.g., github.com/pkg/errors@v0.8.0).
It is also recommended as a best practice to run go test all before release, which will run tests for the package being released and all dependencies to check compatibility. Currently this fails because the tests are not happy to be checked out in a version-tagged directory.
$ cat go.mod
module github.com/thsnr/gomod

require github.com/pkg/errors v0.0.0-00000000000000-816c9085562cd7ee03e7f8188a1cfd942858cded

$ go1.11rc1 test all
?   	github.com/thsnr/gomod	[no test files]
...
--- FAIL: TestFrameFormat (0.00s)
    format_test.go:379: test 2: line 2: fmt.Sprintf("%+s", err):
         got<EMAIL_ADDRESS>        want: "github.com/pkg/errors.init\n\t.+/github.com/pkg/errors/stack_test.go"
    format_test.go:379: test 12: line 2: fmt.Sprintf("%+v", err):
         got: "github.com/pkg/errors.init\n\t/home/tiit/go/pkg/mod/github.com/pkg/errors@v0.0.0-00000000000000-816c9085562cd7ee03e7f8188a1cfd942858cded/stack_test.go:9"
        want: "github.com/pkg/errors.init\n\t.+/github.com/pkg/errors/stack_test.go:9"
...

This pull request simply changes the tests to allow a version tag. I purposefully left the version regular expression vague (@v[^/]+) to keep it short – these tests should not concern themselves with correctness of the tag – and inlined it to avoid changing any line numbers.

Thanks for your PR. I want to think about why this is breaking in the first
place before I apply this fix. I'm sure its correct, but I wonder if it's
papering over a broader problem with assuming the prefix is stable.
On 17 August 2018 at 20:18, Tiit Pikma<EMAIL_ADDRESS>wrote:

Go 1.11 will introduce support for versioned modules
https://github.com/golang/go/wiki/Modules. When downloading module
dependencies, go get will add a version tag to the directory where the
package is checked out (e.g., github.com/pkg/errors@v0.8.0).
It is also recommended as a best practice to run go test all before
release, which will run tests for the package being released and all
dependencies to check compatibility. Currently this fails because the tests
are not happy to be checked out in a version-tagged directory.
$ cat go.mod
module github.com/thsnr/gomod
require github.com/pkg/errors v0.0.0-00000000000000-816c9085562cd7ee03e7f8188a1cfd942858cded
$ go1.11rc1 test all
?   	github.com/thsnr/gomod	[no test files]
...
--- FAIL: TestFrameFormat (0.00s)
format_test.go:379: test 2: line 2: fmt.Sprintf("%+s", err):
got<EMAIL_ADDRESS><EMAIL_ADDRESS>want: "github.com/pkg/errors.init\n\t.+/github.com/pkg/errors/stack_test.go http://github.com/pkg/errors.init\n\t.+/github.com/pkg/errors/stack_test.go"
format_test.go:379: test 12: line 2: fmt.Sprintf("%+v", err):
got: "github.com/pkg/errors.init\n\t/home/tiit/go/pkg/mod/github.com/pkg/errors@v0.0.0-00000000000000-816c9085562cd7ee03e7f8188a1cfd942858cded/stack_test.go:9 http://github.com/pkg/errors.init\n\t/home/tiit/go/pkg/mod/github.com/pkg/errors@v0.0.0-00000000000000-816c9085562cd7ee03e7f8188a1cfd942858cded/stack_test.go:9"
want: "github.com/pkg/errors.init\n\t.+/github.com/pkg/errors/stack_test.go:9 http://github.com/pkg/errors.init\n\t.+/github.com/pkg/errors/stack_test.go:9"
...
This pull request simply changes the tests to allow a version tag. I
purposefully left the version regular expression vague (@v[^/]+) to keep
it short – these tests should not concern themselves with correctness of
the tag – and inlined it to avoid changing any line numbers.
You can view, comment on, or merge this pull request online at:
https://github.com/pkg/errors/pull/165
Commit Summary

Allow version-tagged filepath in tests

File Changes

M format_test.go
https://github.com/pkg/errors/pull/165/files#diff-0 (56)
M stack_test.go
https://github.com/pkg/errors/pull/165/files#diff-1 (24)

Patch Links:

https://github.com/pkg/errors/pull/165.patch
https://github.com/pkg/errors/pull/165.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pkg/errors/pull/165, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAcA970b6TO410Yxo4OH2lyCGOar2YIks5uRph_gaJpZM4WBUvD
.

FWIW, I was just playing with adding module support to github.com/go-stack/stack and encountered the same problem with the tests in that package. In particular, if I work in module mode outside GOPATH with go1.11rc1 then the logic to trim the compile time GOPATH from source file paths no longer works because there is no compile time GOPATH any more. That breaks the %+s and %+v format tests.
I don't have a great solution yet.

Ah yes, I forgot to mention that this problem only occurs when operating in "module-aware mode" as opposed to "GOPATH mode".
@davecheney I do not think I fully understand the GOPATH trimming problem. While yes, github.com/go-stack/stack does trim the GOPATH from filenames before printing, I see no such behavior here in github.com/pkg/errors (although promised in https://github.com/pkg/errors/blob/master/stack.go#L49).
I even ran a small test-case:
package main

import (
        "fmt"

        "github.com/pkg/errors"
)

type stackTracer interface {
        StackTrace() errors.StackTrace
}

func main() {
        err := errors.New("stack")
        fmt.Printf("%+s\n\n", err.(stackTracer).StackTrace()[0])
        fmt.Printf("%+v\n", errors.New("stack"))
}

Result in "module-aware mode":
main.main
        /tmp/gomod/main.go

stack
main.main
        /tmp/gomod/main.go:16
runtime.main
        /home/tiit/sdk/go1.11rc1/src/runtime/proc.go:201
runtime.goexit
        /home/tiit/sdk/go1.11rc1/src/runtime/asm_amd64.s:1333

Result in "GOPATH mode":
main.main
        /tmp/gopath/src/github.com/thsnr/stack/main.go

stack
main.main
        /tmp/gopath/src/github.com/thsnr/stack/main.go:16
runtime.main
        /home/tiit/sdk/go1.11rc1/src/runtime/proc.go:201
runtime.goexit
        /home/tiit/sdk/go1.11rc1/src/runtime/asm_amd64.s:1333

(Output when using Go 1.10 was same as GOPATH mode, just with a different GOROOT.)
No GOPATH trimming is happening, it simply uses the output of Func.FileLine.
If I could understand the situation better, I would be happy to open a new issue.

@thsnr sorry I forgot to close the pull request. I am doing so now.
Please lets continue this question on an issue. We don't do design and bug traige in pull requests. Thank you.


do not require address b/c there's parcels without addresses.

There's some properties that do not have an address but an address is a required field (this field's id is id="id_lot_1_address") for submission; thanks to kyle for pointing this out during testing.
example parcels: 003-01-011

on the other hand, this field IS NOT required (Kyle said was able to submit without it submitting

so we just need to remove the required line - https://github.com/opencleveland/large-lots/blob/ebcb55e32b04991202f58cc60766ec9f21a938fa/templates/apply.html#L220


Cursor option only working with data-attr

I can only get cursor option working when using the data-attr.

Experiencing the same issue
It looks like the cursor is actually present though. Can barely see a very narrow cursor on Firefox and IE11, but nothing on chrome


EvilGinx2 - Adding HOSTNAME for (Custom) Phishlet NOT WORKING

PLEASE READ THE POSTING GUIDELINES AND ANSWER THE QUESTION BEFORE POSTING, OTHERWISE ISSUE WILL BE CLOSED AND MARKED AS INVALID

I hereby declare the following issue is a [tool specific question/bug report] and it is NOT a help request about creating a phishlet.
I am fully aware that this is not a customer support portal, I can't demand answers and I'm aware I am using a free tool.
I am not going to use Evilginx to hax my girlfriend's account or use it for any other illegal purpose.
I am not trying to set up a domain on FreeNOM (also read the sentence above again).
I am not a robot.

Please type in "I CONFIRM" below if you confirm the sentences above or otherwise make some funny remark:
I CONFIRM
Thanks!

Hello,
I have sent you an email regarding the problem with a screenshot proof
I have created my own phishlet
The moment  I want to set up a hostname (using the readme file) it comes back with an error
it then asks that i use  in this format for it to be taken in by Evilginx2, HOWEVER, once I enable the phishlet I receive, (acme: Error 400 - urn:acme:error:malformed - Error creating new authz :: Invalid character in DNS name).
This problem is coming from when you try to set up a hostname for the phishlets where Evilginx2 does not take into consideration the domain name unless it is written in this way
please check my email which I have sent you or let me know if you would like me to  post the screenshot here for you to check it out
Thank you for taking the time to read this
Ps: Also I have a problem getting into the -developer mode when I start Evilginx2, if you can check this out also will be great
Once again thank you for taking the time to read this

UNRELATED. id like insight on how you created your phishlet. i created mine but it doesnt show up on the phishlets list. any suggestions?

UNRELATED. id like insight on how you created your phishlet. i created mine but it doesnt show up on the phishlets list. any suggestions?

hello,
Please send me an email for us to conversate ;)

I CONFIRM

PLEASE READ THE POSTING GUIDELINES AND ANSWER THE QUESTION BEFORE POSTING, OTHERWISE ISSUE WILL BE CLOSED AND MARKED AS INVALID

I hereby declare the following issue is a [tool specific question/bug report] and it is NOT a help request about creating a phishlet.
I am fully aware that this is not a customer support portal, I can't demand answers and I'm aware I am using a free tool.
I am not going to use Evilginx to hax my girlfriend's account or use it for any other illegal purpose.
I am not trying to set up a domain on FreeNOM (also read the sentence above again).
I am not a robot.

Please type in "I CONFIRM" below if you confirm the sentences above or otherwise make some funny remark:
I CONFIRM
Thanks!

I CONFIRM


chore: do not merge releases/v1.2.2

KO locale is ready -- I can have it added if you're willing to wait ~30min.


Ignore channels from the input list

When you use -a list.txt is there any way to ignore all the channels from downloading?
Example list
https://www.youtube.com/
https://www.youtube.com/c/dummyname
https://www.youtube.com/@dummyname
https://www.youtube.com/user/dummyname
https://www.youtube.com/channel/UCaabbcc
https://www.youtube.com/playlist?list=PLxyz
https://www.youtube.com/watch?v=12345678901
https://www.youtube.com/watch?v=abc12345678
https://www.youtube.com/watch?v= ...
https://www.youtube.com/watch?v=xyz12345678

I like to ignore these from downloading
https://www.youtube.com/
https://www.youtube.com/c/dummyname
https://www.youtube.com/@dummyname
https://www.youtube.com/user/dummyname
https://www.youtube.com/channel/UCaabbcc

Thanks

This use-case sounds strange. Plainly you could edit your original batch list to make a temporary list without the unwanted items, so I suppose you have some case where there are multiple batch lists and/or unwanted item sets. Some more background could help.
You could use a script-based solution, either with a shell script appropriate to your OS shell environment, or using a Python script to invoke yt-dl as a module. For instance, grep (Windows: findstr) could filter out unwanted items according to a regular expression.
You could also use --match-filter ... to exclude videos according to certain criteria, but that only affects the download phase: the extraction phase still has to be executed to establish the values to be matched/excluded.

Closed here too.


Rights summary incorrect for catalog snapshots

A catalog snapshot is essentially read-only but reports true for table rights like "owner", "update", and "insert" when introspected by a catalog owner.
It should be returning false for mutation rights.
@jrchudy  @RFSH

A fix has been pushed to both master and py3 branches.


RuleScreen Accept Event

General Troubleshooting

[X] I have checked for similar issues on the Issue-tracker.
[X] I have updated to the latest JDA version
[X] I have checked the branches or the maintainers' PRs for upcoming features.

Feature Request
A new event that is triggered when a user clicks accept on the rule screen...
Example Use-Case
@Override
public void onMemberAcceptRules(AcceptRulesEvent event){
    Member m = event.getMember();

}

This already exists via the GuildMemberUpdatePendingEvent.


Support loading other scenarios in serve mode

Took a shot at implementing my feature request here for myself.
Feedback very welcome and I'm in no real rush to get this merged, I can add documentation as well if the approach is validated.

Cool!
What's the dev experience like here, if you change the environment var will the server autoreload?
In our app this is what our scenarios/default.js looks like:
import createAcceptanceTesting from './create-acceptance-testing';
import createEmberConcurrency from './create-ember-concurrency';
import createContextualComponents from './create-contextual-components';
import createEmberMapPodcast from './create-ember-map-podcast';
import createMirage from './create-mirage';
import createRefactorings from './create-refactorings';
import createBookshelves from './create-bookshelves';
import createNotes from './create-notes';
import userStates from './user-states';

// Choose one
const state =
  // 'anonymous'
  // 'unsubscribed'
  'subscribed'
;

export default function(server) {
  window.server = server;

  createAcceptanceTesting(server);
  createEmberConcurrency(server);
  createContextualComponents(server);
  createMirage(server);
  createEmberMapPodcast(server);

  createRefactorings(server);

  createBookshelves(server);

  createNotes(server);

  server.createList('plan', 3);
  server.create('plan', { price: 290000, interval: 'yearly' });

  userStates[state](server);
}

So we just change that state variable on line 12 if we want different "scenarios".
Originally my thought was the scenarios should be a first-class thing in Mirage but now I guess I'm not as convinced, since folks can just use functions/modules to split up their seeds logic. If we have to change a variable anyway and rebuild the app to see a new scenario, I don't see much difference in what we're doing above and something like an ENV variable (as in your PR). But I still might be persuaded, if only to have "one way" of separating these things.
However I am interested in any possible APIs we could use to "switch" scenarios without having to rebuild... so if we had multiple scenario files, how could we signal to Mirage to load different ones? Something like a query param (but that has issues), or even localStorage... localStorage.mirage.scenario = 2, then reload the browser. That way you could load a new scenario without rebuilding the app.
Not sure – what do you think? What are some of your pain points that are hard to solve with JS modules/imports/functions?

Thanks Sam, the example you've posted helps a lot and I see how that approach basically checks all the boxes.
I was also thinking of scenarios as first class citizens. Especially in the context of another feature I'm very interested in, sharing mirage factories, serializers, and scenarios from addons.
I'll move forward on our side with your suggestions above and see if I run into anything.
Thanks again!

Closing for now, let me know how the above goes 👍
Happy to revisit this feature!


Cannot read property '_ips' of undefined

From @stvnjacobs

click any Linode
click the "Networking" tab
click "IP Transfer"
bundle.js:1 TypeError: Cannot read property '_ips' of undefined x 1
click Refresh button in modal window
click "Linodes" in the header
bundle.js:1 TypeError: Cannot read property '_ips' of undefined x 2
Both times, it is logged as n Info level log in the dev tools. Just thought that was interesting, as my other "oh noes!" were logged at the Error level.
v0.9.4

I'm having trouble replicating this. May be something about the Linodes or Customer. Checking into those options.


Preferences fixes and improvements

Use the correct sharedPref (seamlessDownloadEnabled) for downloading/installing updates in background, and connect toggling on auto-downlod to on with auto-update settings.
Also includes some refactoring of shared preferences for consistency (private set, public get)

In the future, change strings to "Unattended App Installs" for better accuracy of what it does

In the future, change strings and functions to "Unattended App Installs" for better accuracy of what it does
This PR is meant to test the functionality of unattended app installs connected to the settings preference

See #59

This has been implemented, tho still need improvement to strings.


Performance of single package reporting

This relates to https://github.com/backstage/backstage/pull/21963. I took some performance analysis of knip and here you can see the hotspots that are taking time.
Command used: node --prof ./node_modules/knip/bin/knip.js --directory packages/app --no-exit-code --no-progress --include dependencies,unlisted --reporter markdown
Processed output: processed.txt
Maybe there's something to improve in performance based on this?

Thanks for posting this. Is this about v4?  Please try v4 canary and see what diff that makes.

Ah, it's v3. I can check the v4 as well!

V4 report here: processed2.txt (markdown reporter was not usable in v4 yet)
V4 time: 7.66s user 1.54s system 99% cpu 9.214 total
V3 time: 7.86s user 1.69s system 123% cpu 7.724 total
Not so much difference in execution time between the versions though there are some improvements for V4 visible. Randomly the time is longer for both but that's normal, it's around 7-8 seconds for this one package usually with both versions.
Seems like most of the time both v3 and v4 is going to read the files in SourceFileManager::getSourceFile so not sure if there's much to do about it.

Yes, no surprises here. Performance is generally much better when linting a monorepo as a whole (as opposed to per workspace separately). Also see https://knip.dev/blog/slim-down-to-speed-up for some additional background.

Alright thanks, any chance to get the markdown reporter also included in the canary? I think backstage could start using the canary version then because at the moment only the dependency checks are enabled from knip.

Sure, I'll cherry-pick those commits into canary & publish today!

Published: https://github.com/webpro/knip/releases/tag/4.0.0-canary.8


Fallback to composer global Pint if local isn't found (configurable)

Discussed in https://github.com/open-southeners/vscode-laravel-pint/discussions/14

Originally posted by jasonvarga July  5, 2022
Would you be open to falling back to the global pint command if it's not in the local composer.json?
We have a package that we'd like to use Pint on, but composer requiring it would force the minimum PHP version to 8.0, which we don't want to do yet. In our case, using the global pint command works fine.

I create this for track a feature release (which is currently at the time of writing this releasing as a prerelease) and will let users fallback to a global Pint command

This is already live on pre-release (since v1.0.0)!


Microsoft C++ Build Tools error on requirements install

Running pip3 install -r requirements.txt yields the following error for several packages:
running build_ext
      building 'yarl._quoting_c' extension
      error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/

Can the installation documentation be updated to clarify which of the Build Tools components are actually required? This would be exceptionally helpful for those of us with managed servers that are not able to readily tinker with the server OS.

After doing some poking around I've found that the Build Tools aren't required and that this error bubbles up only be using Python 3.12.0. I'm able to run pip3 install -r requirements.txt and see all requirements being installed successfully using Python 3.11.6.


Change format of 'profile_params' parameter

Starting from v4.2, profile_params will be defined differently as follows
profile_params
{
     "weightings":
     {
          "fitness":
          {
                "difficulty_level": 1,
                "maximum_gradient": 9
          },
          "green":
          {
                "factor": 0.8
          },
         "quiet":
          {
                "factor": 1.0
          }
     },
     "restrictions":
     {
         "width": 3,
         "length": 6,
         "height": 3
     }
}

@Rungee  please take a look over the options example in branch 4.2 when you have time, Thanks <3


[DB] open a study with several series in a view

From this issue https://github.com/Inria-Asclepios/medInria-public/issues/255
Allow to drop a study in a view, or right-click->View on a study to open the series list in a view.
:m:

You should also change the text in the container :
Drag'n drop series /studies from the left panel ...

PR updated, thx :)


Add Union to code_model

@flodiebold I am conflicted about two possible implementation approaches:

we can add a separate struct Union to code model
we can add fn is_union(&self) to existing Struct

This PR goes with the former approach, because it seems like Unions are sufficiently different in semantics to warrant a separate types. Which is in contrast to Syntax Tree, where both structs and unions share the same node kind, because their syntax is the same.
What would be the right thing to do here?

I agree with taking the former approach. We'll probably be able to reduce the resulting boilerplate by introducing traits...

I agree with taking the former approach. We'll probably be able to reduce the resulting boilerplate by introducing traits...

Yeah, I bet code model could be significantly streamlined...
bors r+

bors r+


Vendor subdirectory is missing

The vendor/ subdirectory containing dependencies as submodules wasn't copied over in the initial commit. As a result, building fails because the CRCpp dependency isn't included.

Fixed in #4.


[Feature Request] Support Babel 7

Would be great to have support for the newly released Babel 7.
The new release switches package IDs from babel-* to @babel/*, so this does require a code change to support.
Useful resources for this are here:

https://babeljs.io/blog/2018/08/27/7.0.0
https://babeljs.io/docs/en/next/v7-migration

@JeffreyWay is this something you'll be looking to do?
Thanks

+1 for this.
Been using jigsaw.tighten.co static site generator and mix is used to compile assets.
However, I'm unable to use the Functions feature from Netlify as it requires babel v7 and the build keeps failing.

1 for this.

+1

cannot use jspdf-customfonts to add cyrillic font cos package requires babel7

@JeffreyWay this issue can be closed now as it is fixed by PR #1807

@dotnetCarpenter Fantastic work! Thanks a ton 😄


cant get the pretrained model

cant open the url to get the pretrained teacher model checkpoints, can you offer another way??

an alternative folder link:
https://office365stanford-my.sharepoint.com/:u:/g/personal/haitongl_stanford_edu/ESqCguWIU1JHoMJJyu8eDIABcp9UX5VzPp1VQvhzNjllGw?e=xOephw

the link works fine, thanks


testsync for values 1 0 and 1 1

testsync not working for these values. recheck sempahores.

Done!! Just had to add waitingProcesses list


ServerSelectorStrategy to filter servers with missing required lookups

Description
This PR is an extension to provide a solution for https://github.com/apache/druid/issues/10294 where an issue is discussed that queries with lookups may sometimes fail unnecessarily due to the lookup only being available on some historicals. There is a small related change that would be required in core Druid, which is describe in a separate PR https://github.com/apache/druid/pull/10428
Servers are selected to query for particular segments in CachingClusteredClient using a ServerSelectorStrategy. This extension proposes a new FilteringServerSelectorStrategy that filters the servers provided by the TierSelectorStrategy and then applies another ServerSelectorStrategy (such as the existing random or connection count strategies). A new component, LookupStatusView is added to poll the nodeStatus endpoint on the coordinator for lookup status.
This PR has:

[X] been self-reviewed.
[X] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[X] been tested in a test Druid cluster.

Key changed/added classes in this PR

FilteringServerSelectorStrategy
LookupFilterServerSelectorModule
DelegateServerSelectorStrategy
LookupAwareFilterStrategy
LookupStatusView
ServerFilterStrategy

after running the extension on a cluster where the datasource was around 13,000 segments. The random server selector averaged 8.33 ms across several hundred queries while the lookup aware selector average around 13.87 ms. The overall query execution time was on the order of several seconds, so the initial results show there is negligible performance impact from adding this selector.

reopening to restart travis-ci


ValueError when merging 2 Dataframes on index

On Dask 2023.5.1 we get a ValueError when merging 2 dataframes on their index. In this specific example the error is triggered when doing an outer join. This can be solved by doing reset_index followed by set_index but this is rather absurd and causes a lot of overhead. So something is wrong with the indices when merging. The exact same code works on our previous Dask version being 2022.5.1.
Another example can be found in this post: https://stackoverflow.com/questions/76534474/dask-valueerror-on-merging-two-dataframes-on-shared-index
#Dask cluster created above
import dask.dataframe as dd
import random
import pandas as pd
from dask import delayed

def create_part(cols):
    return pd.DataFrame(
        data={
            col: [random.randint(0,10) for _ in range(20)] for col in cols
        },
    )

df1 = dd.from_delayed(delayed(create_part)(["id","number_reads"])).persist()
df2 = dd.from_delayed(delayed(create_part)([ "id","number_views"])).persist()
df1 = df1.groupby("id").sum()
df2 = df2.groupby("id").sum()
df1.merge(df2, left_index=True, right_index=True,how="outer").compute()

Results in following error:
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[149], line 16
     14 df1 = df1.groupby("id").sum()
     15 df2 = df2.groupby("id").sum()
---> 16 df1.merge(df2, left_index=True, right_index=True,how="outer").compute()

File /opt/conda/lib/python3.10/site-packages/dask/base.py:310, in DaskMethodsMixin.compute(self, **kwargs)
    286 def compute(self, **kwargs):
    287     """Compute this dask collection
    288
    289     This turns a lazy Dask collection into its in-memory equivalent.
   (...)
    308     dask.compute
    309     """
--> 310     (result,) = compute(self, traverse=False, **kwargs)
    311     return result

File /opt/conda/lib/python3.10/site-packages/dask/base.py:595, in compute(traverse, optimize_graph, scheduler, get, *args, **kwargs)
    592     keys.append(x.__dask_keys__())
    593     postcomputes.append(x.__dask_postcompute__())
--> 595 results = schedule(dsk, keys, **kwargs)
    596 return repack([f(r, *a) for r, (f, a) in zip(results, postcomputes)])

File /opt/conda/lib/python3.10/site-packages/distributed/client.py:3227, in Client.get(self, dsk, keys, workers, allow_other_workers, resources, sync, asynchronous, direct, retries, priority, fifo_timeout, actors, **kwargs)
   3225         should_rejoin = False
   3226 try:
-> 3227     results = self.gather(packed, asynchronous=asynchronous, direct=direct)
   3228 finally:
   3229     for f in futures.values():

File /opt/conda/lib/python3.10/site-packages/distributed/client.py:2361, in Client.gather(self, futures, errors, direct, asynchronous)
   2359 else:
   2360     local_worker = None
-> 2361 return self.sync(
   2362     self._gather,
   2363     futures,
   2364     errors=errors,
   2365     direct=direct,
   2366     local_worker=local_worker,
   2367     asynchronous=asynchronous,
   2368 )

File /opt/conda/lib/python3.10/site-packages/distributed/utils.py:351, in SyncMethodMixin.sync(self, func, asynchronous, callback_timeout, *args, **kwargs)
    349     return future
    350 else:
--> 351     return sync(
    352         self.loop, func, *args, callback_timeout=callback_timeout, **kwargs
    353     )

File /opt/conda/lib/python3.10/site-packages/distributed/utils.py:418, in sync(loop, func, callback_timeout, *args, **kwargs)
    416 if error:
    417     typ, exc, tb = error
--> 418     raise exc.with_traceback(tb)
    419 else:
    420     return result

File /opt/conda/lib/python3.10/site-packages/distributed/utils.py:391, in sync.<locals>.f()
    389         future = wait_for(future, callback_timeout)
    390     future = asyncio.ensure_future(future)
--> 391     result = yield future
    392 except Exception:
    393     error = sys.exc_info()

File /opt/conda/lib/python3.10/site-packages/tornado/gen.py:767, in Runner.run(self)
    765 try:
    766     try:
--> 767         value = future.result()
    768     except Exception as e:
    769         # Save the exception for later. It's important that
    770         # gen.throw() not be called inside this try/except block
    771         # because that makes sys.exc_info behave unexpectedly.
    772         exc: Optional[Exception] = e

File /opt/conda/lib/python3.10/site-packages/distributed/client.py:2224, in Client._gather(self, futures, errors, direct, local_worker)
   2222         exc = CancelledError(key)
   2223     else:
-> 2224         raise exception.with_traceback(traceback)
   2225     raise exc
   2226 if errors == "skip":

File /opt/conda/lib/python3.10/site-packages/dask/optimization.py:992, in __call__()
    990 if not len(args) == len(self.inkeys):
    991     raise ValueError("Expected %d args, got %d" % (len(self.inkeys), len(args)))
--> 992 return core.get(self.dsk, self.outkey, dict(zip(self.inkeys, args)))

File /opt/conda/lib/python3.10/site-packages/dask/core.py:151, in get()
    149 for key in toposort(dsk):
    150     task = dsk[key]
--> 151     result = _execute_task(task, cache)
    152     cache[key] = result
    153 result = _execute_task(out, cache)

File /opt/conda/lib/python3.10/site-packages/dask/core.py:121, in _execute_task()
    117     func, args = arg[0], arg[1:]
    118     # Note: Don't assign the subtask results to a variable. numpy detects
    119     # temporaries by their reference count and can execute certain
    120     # operations in-place.
--> 121     return func(*(_execute_task(a, cache) for a in args))
    122 elif not ishashable(arg):
    123     return arg

File /opt/conda/lib/python3.10/site-packages/dask/core.py:121, in <genexpr>()
    117     func, args = arg[0], arg[1:]
    118     # Note: Don't assign the subtask results to a variable. numpy detects
    119     # temporaries by their reference count and can execute certain
    120     # operations in-place.
--> 121     return func(*(_execute_task(a, cache) for a in args))
    122 elif not ishashable(arg):
    123     return arg

File /opt/conda/lib/python3.10/site-packages/dask/core.py:121, in _execute_task()
    117     func, args = arg[0], arg[1:]
    118     # Note: Don't assign the subtask results to a variable. numpy detects
    119     # temporaries by their reference count and can execute certain
    120     # operations in-place.
--> 121     return func(*(_execute_task(a, cache) for a in args))
    122 elif not ishashable(arg):
    123     return arg

File /opt/conda/lib/python3.10/site-packages/dask/utils.py:73, in apply()
     42 """Apply a function given its positional and keyword arguments.
     43
     44 Equivalent to ``func(*args, **kwargs)``
   (...)
     70 >>> dsk = {'task-name': task}  # adds the task to a low level Dask task graph
     71 """
     72 if kwargs:
---> 73     return func(*args, **kwargs)
     74 else:
     75     return func(*args)

File /opt/conda/lib/python3.10/site-packages/dask/dataframe/core.py:7089, in apply_and_enforce()
   7087 func = kwargs.pop("_func")
   7088 meta = kwargs.pop("_meta")
-> 7089 df = func(*args, **kwargs)
   7090 if is_dataframe_like(df) or is_series_like(df) or is_index_like(df):
   7091     if not len(df):

File /opt/conda/lib/python3.10/site-packages/dask/dataframe/shuffle.py:778, in partitioning_index()
    761 def partitioning_index(df, npartitions):
    762     """
    763     Computes a deterministic index mapping each record to a partition.
    764
   (...)
    776         An array of int64 values mapping each record to a partition.
    777     """
--> 778     return hash_object_dispatch(df, index=False) % int(npartitions)

File /opt/conda/lib/python3.10/site-packages/dask/utils.py:642, in __call__()
    638 """
    639 Call the corresponding method based on type of argument.
    640 """
    641 meth = self.dispatch(type(arg))
--> 642 return meth(arg, *args, **kwargs)

File /opt/conda/lib/python3.10/site-packages/dask/dataframe/backends.py:486, in hash_object_pandas()
    482 @hash_object_dispatch.register((pd.DataFrame, pd.Series, pd.Index))
    483 def hash_object_pandas(
    484     obj, index=True, encoding="utf8", hash_key=None, categorize=True
    485 ):
--> 486     return pd.util.hash_pandas_object(
    487         obj, index=index, encoding=encoding, hash_key=hash_key, categorize=categorize
    488     )

File /opt/conda/lib/python3.10/site-packages/pandas/core/util/hashing.py:171, in hash_pandas_object()
    168         hashes = (x for x in _hashes)
    169     h = combine_hash_arrays(hashes, num_items)
--> 171     ser = Series(h, index=obj.index, dtype="uint64", copy=False)
    172 else:
    173     raise TypeError(f"Unexpected type for hashing {type(obj)}")

File /opt/conda/lib/python3.10/site-packages/pandas/core/series.py:500, in __init__()
    498     index = default_index(len(data))
    499 elif is_list_like(data):
--> 500     com.require_length_match(data, index)
    502 # create/copy the manager
    503 if isinstance(data, (SingleBlockManager, SingleArrayManager)):

File /opt/conda/lib/python3.10/site-packages/pandas/core/common.py:576, in require_length_match()
    572 """
    573 Check the length of data matches the length of the index.
    574 """
    575 if len(data) != len(index):
--> 576     raise ValueError(
    577         "Length of values "
    578         f"({len(data)}) "
    579         "does not match length of index "
    580         f"({len(index)})"
    581     )

ValueError: Length of values (0) does not match length of index (8)

Solved by doing:
df1.reset_index().set_index("id").merge(df2.reset_index().set_index("id"), left_index=True, right_index=True,how="outer").compute()

Environment:

Dask version: 2023.5.1
Python version: 3.10
Operating System: Linux
Install method (conda, pip, source): conda

Okay thank you, this indeed works. Awaiting the release this Friday so will test it again then!

Fixed in 2023.9.0

We are still running into this on 2024.2.0 when merging 2 dataframes with different amounts of partitions on their shared index.


Custom text objects overwrite the default ones

Hello, thank you for this awesome plugin!
I wanted to point out a bug for the custom text objects feature: adding custom text objects will overwrite the default ones. This is apparently because vim.tbl_extend on line 73 does not concatenate arrays, but merges tables, so adding n custom text objects replaces the first n default text objects.

Wow, no one has reported this for two months. Thanks!


Sc-3594: Dashboard overview components

The following components are included in this PR:

NeedsAttention Component
NetworkStatus Component
StatCard Component
StatusCard Component
DetailsCard Component

Codecov Report

Merging #396 (123550d) into main (29a2bfe) will decrease coverage by 8.36%.
The diff coverage is n/a.

:exclamation: Current head 123550d differs from pull request most recent head bb521bc. Consider uploading reports for the commit bb521bc to get more accurate results

@@            Coverage Diff             @@
##             main     #396      +/-   ##
==========================================
- Coverage   46.05%   37.68%   -8.37%
==========================================
  Files         228      151      -77
  Lines       11185     2367    -8818
  Branches      606      606
==========================================
- Hits         5151      892    -4259
+ Misses       5101     1302    -3799
+ Partials      933      173     -760

Impacted Files
Coverage Δ

directory/pkg/utils/gzip.go

directory/pkg/gds/client/profile.go

directory/pkg/gds/store/leveldb/iterator.go

directory/pkg/gds/mock.go

directory/pkg/gds/secrets/token.go

directory/pkg/utils/logger/level.go

directory/pkg/gds/admin/v2/client.go

directory/pkg/bff/api/v1/errors.go

directory/pkg/gds/store/index/container.go

directory/pkg/trtl/interceptor.go

... and 67 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 29a2bfe...bb521bc. Read the comment docs.


Fixed Tile Providers

[x] Revert problematic MapBox changes
[ ] Ensure all available tiles are rendered on the map.

@gino-m I'm having some trouble with this. Maybe you can steer me in the right direction?
I'm getting tons of SQL corruption errors whenever we attempt to render tiles. Something's going wrong, but I'm not sure what yet. It could be any of these issues:

Tiles are marked as Downloaded too early resulting in incomplete data
MapBoxOfflineTileProviders need to be closed in order not to leak resources--I'm currently not doing this since I'm not sure where exactly we'd do it? On map/fragment destruction?
There's some underlying issue with the source data? (least likely).

Anyway, I'm bashing my head against this one, so let me know if you have any ideas!

Hey Scott!
Did you basically revert back the MapBoxTileProvider to its original state? I'd recommend starting there.
Re destroying TileProviders, not sure you need to do that, I believe they get removed when the Map is destroyed.
Lastly, we should keep in mind that Tile is a misnomer in our model; really their MapBox tile sources; each Tile represents an mbtiles file, which contains many tiles (cmiww).
Please lmk if you're using the default MapBoxTileProvider and we can go from there!
Gino

Also, are you working with an an area we know has completed imagery? Some files may have been corrupt in the current test data source.

Hey Scott!
Did you basically revert back the MapBoxTileProvider to its original state [exactly]?

Yep. Should be equivalent to the original source right now except for the try/catches I added for the corruption errors (the original just crashes outright on a DB corruption).

Re destroying TileProviders, not sure you need to do that, I believe they get removed when the Map is destroyed.

That's correct--what I meant was, according to the MapBoxOfflineTileProvider we need to explicitly close the underlying SQLite DB:
/**
     * Closes the provider, cleaning up any background resources.
     *
     * <p>
     * You must call {@link #close()} when you are finished using an instance of
     * this provider. Failing to do so may leak resources, such as the backing
     * SQLiteDatabase.
     * </p>
     */
    @Override
    public void close() {
        if (this.mDatabase != null) {
            this.mDatabase.close();
            this.mDatabase = null;
        }
    }

Lastly, we should keep in mind that Tile is a misnomer in our model; really their MapBox tile sources; each Tile represents an mbtiles file, which contains many tiles (cmiww).

 I've been trying to use names like mbtiles--maybe we should rename the Tile entity to something like TileSet or some such

Also, are you working with an an area we know has completed imagery? Some files may have been corrupt in the current test data source.

I'm not sure about the integrity of the data source, unfortunately—but I can say with confidence this is the first time that I've encountered these corruption errors with this source, and we'd had this working in the past.

@gino-m It's ready for a look now. I still run into some DB corruptions, and some mbtiles files that are downloaded are only 16kb in size, which is suspicious, but afaict everything should be correct

@gino-m ready for another look whenever


chore!: remove BlobsByNamespace

Description
we are only using this in two tests in the app, and it could end up being incorrect in the future since it doesn't account for the version in the namespace in the less method
if we still want this, then I think it'd be easier to maintain in the app

e2e-test looks like a required check but it's failing here. ete-test was skipped for the last PR that merged to main here. But it did run on the PR that bumped to cometbft v0.34.28 here.


Add tests on all CFM classes

What does this PR do?
This PR adds tests on all CFM classes. It adds a new tests folder and test_conditional_flow_matcher.py file.
First, I ensure that each main class function sample_location_and_conditional_flow runs properly (on different tensor sizes) and then I compare their outputs with my own computed outputs.
Before submitting

[x] Did you make sure title is self-explanatory and the description concisely explains the PR?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you list all the breaking changes introduced by this pull request?
[x] Did you test your PR locally with pytest command?
[x] Did you run pre-commit hooks with pre-commit run -a command?

Did you have fun?
Make sure you had fun coding 🙃

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (21cd0c8) 34.23% compared to head (4a4032e) 34.23%.
Report is 1 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #74   +/-   ##
=======================================
  Coverage   34.23%   34.23%
=======================================
  Files          55       55
  Lines        6268     6268
=======================================
  Hits         2146     2146
  Misses       4122     4122

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

Codecov check not passing but still happy as we have changed what is being checked. Looks good to merge by me.


Ark restores should work regardless of the length of the Restore name

Create a restore from a backup with a long name defaults to a Restore name that's even longer:
Backup: k8s-dev-auth-namespace-backup-schedule-20181026050059
Restore: k8s-dev-auth-namespace-backup-schedule-20181026050059-20181026153607
ark restore describe k8s-dev-auth-namespace-backup-schedule-20181026050059-20181026153607
...
Phase: Completed
...
Errors:
...
  Namespaces:
    auth:  error restoring /tmp/046287764/resources/secrets/namespaces/auth/default-token-kg2bm.json: Secret "default-token-kg2bm" is invalid: metadata.labels: Invalid value: "k8s-dev-auth-namespace-backup-schedule-20181026050059-20181026153607": must be no more than 63 characters

Ark restore applies labels to restored objects which includes the name of the restore the object is created from.  Kubernetes label values must be less than 63 characters, and will be rejected if they are longer.
We ran into similar issues in Gimbal for replicating Services -- That solution is documented here: https://github.com/heptio/gimbal/blob/master/docs/discovery-naming-conventions.md#handling-discovered-names-that-are-longer-than-63-characters which might be of interest.

I am trying to fix this. I suspect that ctx.restore.Name and ctx.restore.Spec.backupName are the two componenets that you @rosskukulinski are talking about above, right?

@nzoueidi to summarize this issue - Kubernetes object names have a maximum length of 253 characters.  When Velero executes a restore, it adds a label, velero.io/restore-name, to each restored object, whose value is the name of the restore.  However, label values have a maximum length of 63 characters.
We need to come up with a way to ensure that the label values have at most 63 characters, while still being able to represent objects with names of length up to 253 characters.
A couple ways we could do this:

When a restore is created, add a ShortName label to it, and use some kind of hash to populate this label with a unique name that's <= 63 characters.  Use this value when labeling resources.
label restored objects with the restore's UID rather than its name
don't allow restores to be created with names > 63 characters (i.e. have them fail validation)

Also note that there are likely additional places where this same issue is possible - we use object names as label value in multiple places. It would be best to address all of these, and in a consistent way.
A few references:
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/

I hope I can push my PR by the end of this week.

I'd recommend proposing an approach in a comment here before doing all of the coding!

Yep, sorry for the delay. This is my approach, please correct me if I am mistaken.

Whenever the restore is created, I use its UID automatically rather then its name.
If somehow, the UID combined by the timestap of the restore is >= 31, then we could use a ShortName (the same first point that you mentioned above).
However, the name is stored and we can use it if the criteria was/is met (the name of the restore given by Velero + timestamp is <= 63) otherwise, we apply the same two points above.

@skriss wdyt?

Reading through this again, I think an approach similar to the one used in Gimbal (https://github.com/heptio/gimbal/blob/master/docs/discovery-naming-conventions.md#handling-discovered-names-that-are-longer-than-63-characters) makes sense. This would look something like:

if the length of the backup/restore name is <= 63 characters, use it as the value of the label
if it's > 63 characters, take the SHA256 hash of the name. the value of the label will be the first 57 characters of the backup/restore name plus the first six characters of the SHA256 hash.

@nzoueidi - Let's start by doing that for all labels that are applied in this function: https://github.com/heptio/velero/blob/master/pkg/restore/restore.go#L993

Anshul is actively working on this issue.


fix(sec): Updating libraries suggested by dependabot, using one branc…

…h for all changes to save time
📲 What
Updating libraries suggested by dependabot
🤔 Why
Why it's needed, background context.
🛠 How
More in-depth discussion of the change or implementation.
👀 Evidence
Screenshots / external resources / links / etc.
Link to documentation updated with changes impacted in the PR
🕵 How to test
Notes for QA
✅ Acceptance criteria Checklist

[ ] Code peer reviewed?
[ ] Documentation has been updated to reflect the changes?
[ ] Passing all automated tests, including a successful deployment?
[ ] Passing any exploratory testing?
[ ] Rebased/merged with latest changes from development and re-tested?
[ ] Meeting the Coding Standards?

LGTM, thanks!


Bing Streetside shows white box

Recently Bing Streetside has been showing a white box when you click on one of the blue dots. The following error is in the console (the second error only appeared when I ticked the high resolution box). If I click on the "view on bing maps" then I can see it on bing.com without any problems.

I'm having the same problem. Noticed that it affects mainly new (2019-2021) pictures and doesn't affect old ones (2014-2015).

@DujaOSM I'm using Chrome so...

I'm getting this error in the console:

Which looks like it's referring to this line of code: https://github.com/openstreetmap/iD/blob/e66edcbc997a33963b108153da6d0f88d8a11573/modules/services/streetside.js#L285

Which looks like it's referring to this line of code:

Thanks for pinpointing the error. This is the callback for a request to https://dev.virtualearth.net/mapcontrol/HumanScaleServices/GetBubbles.ashx . All the items in data look like this:
{
  "data": {
    "face": "01",
    "url": "https://t.ssl.ak.tiles.virtualearth.net/tiles/hs1003022022233211010.jpg?g=6338&n=z",
    "x": 0,
    "y": 0
  },
  "status": "error"
}

Each of these image URLs returns HTTP 200 with an empty response body.

There's been changes made in RapiD by @bhousel to apparently fix this issue: https://github.com/facebook/RapiD/commit/602cb771761f3e40dda0709b0b73dee515a61407 - can the same be done for iD?

I've applied the workaround used in RapiD… It's not a good solution, because we should actually replace the undocumented API calls with Bing streetview's v8 API (see https://github.com/openstreetmap/iD/issues/8747#issuecomment-945669204). But it seems to do the job for now.

406c1a0690377de93715765c8628d470d4bab90c works, but it does no good without a release (#9729). Over the past several months, I’ve had to show scores of new mappers how to work around this bug (or switch to Rapid) just to be able to contribute productively in an urban area where Mapillary and KartaView have insufficient side-facing coverage.


Set up CI with Azure Pipelines

Successful run out of a demo org: https://dev.azure.com/shawkinsl/keyper-ci-poc/_build/results?buildId=26&view=logs

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

Thanks for this, it's appreciated. I actually have a local branch of my own with this change already. The delay is actually in getting authentication set correctly for this so that we can ensure that everything is correctly set up and safe. I'm hoping it will be done in the next week or two.

No problem! I'm totally fine with closing this PR as "for reference only" if necessary.

I ended up using this to test the CI setup. It's looking good. I've just got some permissions stuff to deal with on our end and we'll be good to go! Thanks! :)


Keep whitespace in code highlighting

Refs #2041.
Description
Please include a summary of the change and which issue is fixed. Please also
include relevant motivation and context.
Fixes # (issue)
Checklist:

[ ] I have added the relevant tests for this change.
[ ] I have added an item to the Pending section of docs/changes.rst.

Hmm, it seems pygments doesn't apply white-space:pre on .w elements either... so something else seems to be going on.

Closing this in favor of #2043 unless we decide that approach is no good.


Multiple file selection in nana::filebox

Am I merely overlooking this feature/option?
I often utilize a file dialog's ability to open multiple (but not necessarily all) files from a given folder (e.g. using the Shift/Ctrl keys in MSWin).
Feature request:
nana::filebox with option to select single file or multiple files (selected files or entire folder) when is_open_mode == true. I believe the implementation in MSW is: IFileOpenDialog.
Perhaps a member function (::files()?) could return a vector of file paths?

Talking about nana's implementation for Windows,
nana::filebox::show() does not use COM based IFileOpenDialog yet.
nana::folderbox::show() uses it though.
nana::filebox::show() still uses outdated GetOpenFileName.
https://github.com/cnjinhao/nana/blob/dbd8a4a6910aa3b81b77989a2d1866fdb26e4f6f/source/gui/filebox.cpp#L1165

Yeah, I ended up with this for testing. It uses ATL's smart-pointers & seems to work fine, but the MinGW & OSX snippets that Nana would need are beyond me.
Header:
#include <exception>
#include <vector>
#include <string>

namespace ms
{
    struct UtilizeCOM
    {
        UtilizeCOM()
        {
            // From MSDN: "it is a good idea to set the COINIT_DISABLE_OLE1DDE flag in the dwCoInit
            //  parameter. Setting this flag avoids some overhead associated with Object Linking and
            //  Embedding (OLE) 1.0, an obsolete technology"
            if (FAILED(::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE)))
                throw std::runtime_error("Couldn't initialize Windows' (OLE-less) COM");
        }
        ~UtilizeCOM() { ::CoUninitialize(); }
        UtilizeCOM(const UtilizeCOM&)			= delete;
        UtilizeCOM& operator=(const UtilizeCOM&)	= delete;
    };

    //  e.g.: FileFilter filter{ L"JPEG Files", L"*.jpeg; *.jpg" };
    struct FileFilter {
        // Friendly (short) descriptor of the filter
        std::wstring descriptor;
        // Semi-colon delimited extensions (including wildcards [see example above])
        std::wstring extensions;
    };

    std::wstring PopupOpenFile(
        const std::vector<FileFilter>& file_filters = {});
    std::vector<std::wstring> PopupOpenFiles(
        const std::vector<FileFilter>& file_filters = {});
    std::wstring PopupSaveFile(
        const std::vector<FileFilter>& file_filters = {},
        const std::wstring& default_file_extension = {});
}

Implementation:
#include "ms.h"

#define WIN32_LEAN_AND_MEAN	// Exclude rarely-used stuff from Windows headers
#define NOMINMAX		// Exclude Windows' horrid preemptor of std::min/max
#include <Windows.h>		// lots of stuff
#include <atlbase.h>		// CComPtr

#include <vector>
using std::vector;
#include <string>
using std::wstring;
#include <exception>
using std::exception;

vector<wstring> local_PopupOpenFiles(bool allowMulti_, const vector<ms::FileFilter>& filters_)
{
    // Create the dialog object
    CComPtr<IFileOpenDialog> dlg;
    if (FAILED(dlg.CoCreateInstance(__uuidof(FileOpenDialog))))
        throw exception("Couldn't create file open dialog");

    // Set some options
    DWORD options;
    if (FAILED(dlg->GetOptions(&options)))
        throw exception("Couldn't retrieve default options");
    if (allowMulti_)
        options |= FOS_ALLOWMULTISELECT;
    if (FAILED(dlg->SetOptions(options)))
        throw exception("Couldn't set additional options");

    // Set file type options to display
    if (!filters_.empty())
    {
        vector<COMDLG_FILTERSPEC> filters;
        for (const auto& filter : filters_)
            filters.push_back({ filter.descriptor.c_str(), filter.extensions.c_str() });
        if (FAILED(dlg->SetFileTypes(static_cast<unsigned int>(filters.size()), filters.data())))
    	throw exception("Couldn't set file filter types");
    }

    // Display the dialog & wait for user to signal completion
    switch (dlg->Show(nullptr))
    {
        case S_OK: break;
        case HRESULT_FROM_WIN32(ERROR_CANCELLED): return {};
        default: throw exception("Couldn't display modal dialog");
    }

    // Populate wstring vector with user's selection(s)
    CComPtr<IShellItemArray> filePaths;
    if (FAILED(dlg->GetResults(&filePaths)))
        throw exception("Couldn't fetch dialog results");
    DWORD count;
    if (FAILED(filePaths->GetCount(&count)))
        throw exception("Couldn't count results");
    vector<wstring> filenames;
    for (DWORD i = 0; i < count; ++i)
    {
        CComPtr<IShellItem> filePath;
        if (FAILED(filePaths->GetItemAt(i, &filePath)))
    	throw exception("Couldn't get file selection");
        CComHeapPtr<wchar_t> wsFilePath;
        if (FAILED(filePath->GetDisplayName(SIGDN_FILESYSPATH, &wsFilePath)))
    	throw exception("Couldn't get name of selection");
        filenames.push_back({ wsFilePath.m_pData });
    }
    return filenames;
}

wstring ms::PopupOpenFile(const vector<ms::FileFilter>& filters_ /*= {}*/)
{
    auto result{ local_PopupOpenFiles(false, filters_) };
    // Handle if user pressed cancel
    if (result.empty()) return {};
    // Check for unexpected behavior
    if (result.size() > 1)
    	throw exception("Encountered unexpected issue upon single file selection");
    return result.front();
}

vector<wstring> ms::PopupOpenFiles(const vector<ms::FileFilter>& filters_ /*= {}*/)
{
    return result{ local_PopupOpenFiles(true, filters_) };
}

wstring ms::PopupChooseSaveFile(const vector<ms::FileFilter>& filters_, const wstring& defaultExt_)
{ … }

Yeah, I ended up with this for testing. It uses ATL's smart-pointers & seems to work fine, but the MinGW & OSX snippets that Nana would need are beyond me.

Thank you for the code. It looks very handy.
I use Windows Runtime C++ Template Library (WRL) instead of ATL lately.
https://github.com/Microsoft/DirectXTK/wiki/ComPtr
Nana has own filebox implementation so expanding it would be ideal to support multi-platforms.
https://github.com/cnjinhao/nana/blob/dbd8a4a6910aa3b81b77989a2d1866fdb26e4f6f/source/gui/filebox.cpp#L45
But doing so is not trivial...

No sweat; and, thanks, I'll give WRL a look.
I do realize Nana has its own filebox implementation. I was merely offering my work-around as a potential jumping-off point for adding multiselect functionality to filebox (and, perhaps, getting rid of GetOpenFileName()).
As mentioned previously, I would have no clue about MinGW or OSX.

I created PR #349 to address this issue. In the PR, I added below 2 methods for the feature.
		const ::std::vector<::std::string>& files() const;
		void allow_multi_select(bool allow);

nana::filebox::files method returns full file paths of selected files.
nana::filebox::allow_multi_select method activates/deactivates the feature.
I hope the interface change will suffice.


How do you handle testing?

Sorry if I've missed something, but is there a method you have to allow tests to run on the transpiled C to ensure it's working? (and presumably that it gives the same results as the python code, unless you've got some way of being 100% sure that is guaranteed due to your language restrictions)

Hey @nmstoker I must have forgotten to reply to you, sorry for the loose response. For the moment I test locally and check on Travis CI installation, build and that examples and tests run successfully. I should implement some more systematic tests ASAP, i.g., based on dumping  numerical values at "checkpoints" to log files both with --cgen=True and --cgen=False and comparing the results.

Many thanks for the update!


[Bug] Inefficient query

the variable partial is only used for its length so we can instead use .count()
ref: https://github.com/hXtreme/HCP-Project/blob/bb81a693c9b22ea91cde52f3d1e1e8c13bf99762/app/search/SearchQuery.py#L69

Fixed by 1296d90b0413a1ed95378a77cad398a1f360ba5e


Option for setting character limit

Since google translate have characters limit may be its good idea to add support for it so that it fails and do not send a request if the input is over outstanding character limit
It is not responsibility of the lib to support daily limit but to match against whatever value is provided in a call.

How would you imagine this would work?
AFAIK, there is no way to query Google for the outstanding character limit.
Keeping track of the number of characters translated in the last X hours in the library also wouldn't be very reliable (if the server restarts the count would go back to 0, and it wouldn't be possible to keep track of character count if you use the library on multiple servers).

No I am talking about very simple character limit.
so translate(jso, {maxCharCount: 100000});

Hm, I don't quite see the use case for wanting to limit the max input length on the library level.  This might be better handled in the application code.

good point.


SW-3977 Admin UI to create minimal site

For testing observations in the mobile app, we want to be able to create the
smallest possible planting site, with one permanent cluster and one temporary
plot. Previously, this was impossible to do in the admin UI because the required
precision of the boundary lines was greater than the precision of the map.
Add a button to place a minimal-size planting site on the map. The user can move
it around on the map and change where the temporary plot is located relative to
the permanent cluster.
This requires adding some logic to the planting site creation code to account for
the fact that the map UI does coordinate transformations differently than the
server does, meaning that the site boundary submitted by the client will always
be off by a tiny amount from the server's point of view.

Current dependencies on/for this PR:

main

PR #1317   👈

This comment was auto-generated by Graphite.


Multilabel classification and detection

I have multiple labels for a single object,example: image1,x1,y1,x2,y2,label1,label2,..,
this code will work this scenario if it works where I need to modify the code.
Any suggestions?
Thank you.

i think the format should be   image1,x1,y1,x2,y2,label1   image1,x1,y1,x2,y2,label2(csv format)

i dont think this code can work on multi-class after i read through the code...
the classification net use sigmoid as the output layer
also the focal loss uses the formula for binary classifications...
you need to implement your own network

i have exactly the same situation like you.
here is what i did:
split the labeling into different files, for your case you need to be
file 1:
image1,x1,y1,x2,y2,label1
file 2:
image1,x1,y1,x2,y2,label2
then you train on each different files, then you load the weight one by one and generate your prediction.

Recently I solved this problem I changed the data loader function and Added some extra classification model. i.e. (I want three labels for single bounding box so I created 3 classifiers in the model)

@Sandeep418  hello ,  i recently run the multi_labels classification  ,but i don't know how to solve it ,  could you please provide the  code of classifier?  thank you!


Adds lightbox support for images

Solution based on:
https://hugocodex.org/add-ons/lightbox/
I thought for a moment, it's hugo official, sadly it's just community.
Automatically converts links to images to lightbox, if they contain an image link. Images without link will not be affected
PR could be scoped smaller if we want to drop video support.
More comments on the individual files.

Removed videos from scope


Request for steps to optimize original OWL-Vit to nanoowl

By optimising OWL-Vit to nanoowl, it makes it possible to do live detections, however the optimisations makes it hard for us to finetune the model on our domain specific dataset. Would you consider adding a section which teaches users how to use compatible OWL-Vit models from the original repo and optimise such that it can run faster which enables live detections?
Such a tutorial or guide will be much appreciated!!

Have you found a way to fine tune Nanoowl model for custom dataset?


Added some null pointer checks for provider alg

CLA: trivial
Previously, if the implemention of an algorithms was NULL, we were getting a segmentation fault. I added some checks to fail fetching algorithms if the implementation is NULL.

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

Is this acceptable for CLA: trivial? It's quite a lot of changes, which implies some work done to find them. A single one would be fine, so are 13?

@tom-cosgrove-arm it is a single word, copied 12 times 😂

Yes, and if there was just one PR with a one word change, I'm sure there would be no issue with CLA: trivial, but by the time it got to the fourth or fifth from the same person I suspect a CLA might be requested 😊   Let's see what the OpenSSL folks say - the bar for CLA: trivial is high:

A submission is trivial if it is considered trivial under copyright law. Since we are not lawyers, we place the bar for trivial contributions very high. For example: corrections of grammatical or typographical errors (including misspelled function names in manual pages), simple whitespace changes and in some cases one-line bugfixes might be accepted as trivial without requiring a CLA.

Yeah, @afshinpir please consider submitting a CLA. I do not think we can accept this with CLA: trivial as is.

Also this looks like something that should have tests.

This PR has the label 'hold: cla required' and is stale: it has not been updated in 30 days. Note that this PR may be automatically closed in the future if no CLA is provided.  For CLA help see https://www.openssl.org/policies/cla.html


[Bug] 嵌套查询使用 LATERAL VIEW 生成的属性做为条件判断不生效

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
1.1.2-rc02
What's Wrong?
在使用  LATERAL VIEW 相关方法时候，外层嵌套的查询，要是使用  LATERAL VIEW  生成的属性做为条件判断，是不生效的。其他属性作为条件判断是可以的

What You Expected?
Fix it
How to Reproduce?
No response
Anything Else?
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

My doris version:1.1.1
I have the same problem.


{caffe,cntk,mxnet,sdrangel,video2midi,waifu2x-converter-cpp}: opencv3 -> opencv4

opencv4WithoutCuda: init at opencv4.version
opencv3WithoutCuda: remove
gmic-qt: remove apparently unused opencv3 dependency
caffeWithCuda: mark broken
Description of changes
Removing all non-Python/Haskell uses of opencv3.
Results of nixpkgs-review on x86_64-Linux:
17 packages marked as broken and skipped:
caffeWithCuda caffeWithCuda.bin cntk python310Packages.caffe python310Packages.caffe.bin python310Packages.caffeWithCuda python310Packages.caffeWithCuda.bin python310Packages.cntk python310Packages.cntk.dist python310Packages.insightface python310Packages.insightface.dist python311Packages.caffeWithCuda python311Packages.caffeWithCuda.bin python311Packages.cntk python311Packages.cntk.dist python311Packages.insightface python311Packages.insightface.dist

17 packages built:
caffe caffe.bin gimp-with-plugins gimpPlugins.gmic gmic-qt mxnet opencv4WithoutCuda opencv4WithoutCuda.package_tests python310Packages.mxnet python310Packages.mxnet.dist python311Packages.caffe python311Packages.caffe.bin python311Packages.mxnet python311Packages.mxnet.dist sdrangel video2midi waifu2x-converter-cpp

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/2689


Managing Certs documentation

Based on the Managing Certs workgroup.

Question - when ready to open up certs to a community call?
Working outline and status:

Certs - what are they and their purpose / requirement in Fabric - joshh - drafted
Certs relationships to CA-created identities and their public and private keys
Cert mgmt. authorized user roles - for network/channel certs, org certs, user/app certs.
Two types of Certs - MSP and TLS - and the dual-headed CA (one does both, TLS first)
Certs Lifecycle e2e - Includes Issue, Renew, Revoke, and link to how to do them.
Chris’ reference table with certs types and locations etc. - chrise - drafted
Best Practices. Don’t let them expire, etc.
Troubleshooting
Help, support & references - including glossary / definitions of enrollment, registration, issue, renew, etc.

Status 1/31 -

Need the certs table
Need steps / how-to for the managing certs scenarios - see candidates under section 5 here - https://docs.google.com/document/d/1X6khMyedn0lGXeKDwbYjO-9fm_nXdf1CbVIncxYE4go/edit

Several commits and reviews have happened, should be close to good to go -- https://github.com/hyperledger/fabric/pull/3307
Next will create a new issue - managing revoked and expired certs.

@jkneubuh to review
@c-elder

Managing Certs doc has been merged.
We can open a new issue to handle next extensions such as managing expired certs.


[BUG] Issue in Search bar

Description
There is a problem in opening and closing of search bar in desktop, that is the search bar overlaps the register and support button when the search bar is opened
Before solving
https://github.com/user-attachments/assets/1dee14ff-38e4-447b-87dd-8138d09f337a
After solving
https://github.com/user-attachments/assets/873d8250-c82c-45a8-afc4-28977418183c
I have figured out the issue, please assign this task to me so that , i can make a pull request
Please @soham0005 assign me this with labels "GSSOC-Ext", "hacktoberfest-accepted".

hello sir how can you close the issue , without assigning me . I just
showed the completion of my work, but I didn't made the pull request . and
you didn't even labeled the issue as hacktoberfest or gssoc-ext . i want an
explaination
On Mon, 7 Oct 2024 at 21:01, Soham Adhyapak @.***>
wrote:

Closed #80 https://github.com/soham0005/ElectroKart/issues/80 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/soham0005/ElectroKart/issues/80#event-14542860295,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BDCUILO4VKXJIFUTSFMUTMLZ2KSMRAVCNFSM6AAAAABPPXGW46VHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJUGU2DEOBWGAZDSNI
.
You are receiving this because you authored the thread.Message ID:
@.***>

@Durga-prasad-1, the issue has been resolved by our team and it will be reflected on the hosted website soon


Address gradle warnings

Address the Gradle build warnings about implicit dependencies in the sourcesJar packages.

This set of warnings has been resolved with the ModelInfo break-out.


Add support for battery status indicator in accessories (in percentage)

It will be good to show full battery status in % not only a warning using LowBattery switch.

this is already support with "Battery Service"
here is the characteristic for %
https://github.com/hap-java/HAP-Java/blob/master/src/main/java/io/github/hapjava/characteristics/impl/battery/BatteryLevelCharacteristic.java

hm... can you tell me how to use in in openhab homekit binding?did't now where to submit this issue :(

you can submit this kind request directly at openhab addon
https://github.com/openhab/openhab-addons
but support for battery service is already implemented and will be available in the next openhab release 3.3, in around 2-3 weeks

check the documentation for latest snapshot
https://next.openhab.org/addons/integrations/homekit/
the battery service is already there

ok! but i thought it will be implemented at the accessorie level : TemperatureSensor.BatteryLevel and home app will show it in accessory details or maybe you ment xxx .BatteryLowStatus which i already implemented. The case is i have battery powered temperature sensors, with TemperatureSensor.BatteryLow which is working fine, but i want to have detailed information about % of battery in TemperatureSensor details. (i saw on screens from homeapp that this is possible

oh! should i use multiple tags on one accessory to achieve this ?


😱 GPU memory leak for 2D compressible models

Kinda scary, not even sure where this could be coming from.
192^3
Memory at iteration  0: 1685 MiB
Memory at iteration  1: 1695 MiB
Memory at iteration 10: 1695 MiB

400x1x400
Memory at iteration  0: 519 MiB
Memory at iteration  1: 779 MiB
Memory at iteration  2: 1057 MiB
Memory at iteration  3: 1585 MiB
Memory at iteration  4: 2113 MiB
Memory at iteration  5: 2641 MiB
...

400x2x400
Memory at iteration  0: 519 MiB
Memory at iteration  1: 523 MiB
Memory at iteration  2: 525 MiB
Memory at iteration  3: 527 MiB
Memory at iteration 10: 527 MiB

Seen on both Tartarus and Satori. Although perhaps intermittent as 400x2x400 leaked memory on Tartarus but not on Satori...


Missing must_use tags

I got several errors like
error: this method could have a `#[must_use]` attribute
    --> src/curr.rs:7865:5
     |
7865 |     pub fn iter(&self) -> Iter<'_, PeerStats> {
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add the attribute: `#[must_use] pub fn iter(&self) -> Iter<'_, PeerStats>`
     |
     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#must_use_candidate

when generating from the XDR fields. The error always occurs on pub fn iter.

I encountered this on 1.59.0. Doesn't seem to happen on 1.61.0.


ZEPPELIN-1861 Support custom interpreter.sh script to run interpreter

What is this PR for?
Supporting custom interpreter.sh for an individual interpreter. Some interpreters doesn't need current complicated interpreter.sh and want to use custom RemoteInterpreterServer class to launch their interpreters.
What type of PR is it?
[Feature]
Todos

[x] - Add new way to be able to run custom interpreter.sh

What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-1861

How should this be tested?
Users can add
"runner": {
      "linux": "interpreter.sh",
      "win": "interpreter.cmd"
    }

in their interpreter-setting.json. This path is relative from ${INTERPRETER_DIR}/${INTERPRETER_NAME}
Screenshots (if appropriate)
N/A
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

I have tested md for this new way but I didn't add that code because I didn't think it's good to add that example.

interesting. should we have documentation for this?

I made a PR for editing those values in GUI. @felixcheung I think it would be better to make a new PR to describe interpreter-setting.json fully.

Flaky test. Will merge it if there're no more discussion.


Upgraded 'svgicons2svgfont' version to fix errors when using Node

Hi,
just a really simple PR that fixes an error I encountered when using iconfont-webpack-plugin with Node 10, where it always threw the following error:
(node:11196) UnhandledPromiseRejectionWarning: TypeError: Cannot create property 'message' on string 'Checksum error in glyf'
    at iconfont-webpack-plugin/lib/loader.js:34:19
    at process._tickCallback (internal/process/next_tick.js:68:7)

The Checksum error in glyf was fixed in nfroidure/svg-pathdata#33 which in turn was upgraded in svgicons2svgfont version 9.0.3.
Cheers,
Benjamin

Thanks! 👍


Python SDK under construct the transaction in "3.Your First Transaction" page missing PaymentTxn import

https://developer.algorand.org/docs/build-apps/hello_world/
the python SDK example for "construct the transaction" section did not import PaymentTxn from algosdk.future.transaction so PaymentTxn was undefined.
Changes I made:

added an import of PaymentTxn from algosdk.future.transaction on the docs/build-apps/hello_world.md file at line 236.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Chris Kim seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Support block due limit on transactions

It would be nice to have support to due time in transaction created on neon-js! This issue was discussed here (https://github.com/neo-project/neo/issues/371), and would prevent transactions to "stay forever" on relay nodes if network is overloaded. For now, I'm just registering the idea, but I can help to implement it, on future free times :)

Completely agree, timeouts are a standard across other mediums, don't see why they shouldn't be included in this fashion also.

It would be nice to have support to due time in transaction created on neon-js! This issue was discussed here (neo-project/neo#371), and would prevent transactions to "stay forever" on relay nodes if network is overloaded. For now, I'm just registering the idea, but I can help to implement it, on future free times :)

Completely agree, timeouts are a standard across other mediums, don't see why they shouldn't be included in this fashion also.

Congestion issues probably largely solved by mempool changes since this issue was opened.  But leaving as discussion to raise awareness of the value of the idea in general.


Workaround for Bootstrap 3 Touchspin plugin

While working in a project I stumbled upon a bug with Touchspin plugin when user Repeater. I think the bug is in the Touchspin plugin though.
The bug is that Touchspin will already change and style the repeated instances and I don't know why it happens. You can see in the screenshots that it is in fact duplicating the DOM elements and not working at all.
As the Touchspin plugin does not have a way to destroy and recreate the input, I present this workaround.
The issue happens when you have a Repeater with starter fields. It will work fine if the first item is hidden.
To workaround this particular issue, use the ready() function. Even though the documentation says it is for reindexing purposes, I discovered you can actually run any code as the Repeater was just initialized.
There is a side effect though, but minimal. The input with Touchspin applied will flash in a non-cached page, but the ones made by the Add button will work just fine.
Here is the code:
var formulario = $('.repeater').repeater({
        show: function () {
             $(".touchspin").TouchSpin({
        buttondown_class: "btn blue",
        buttonup_class: "btn blue",
        initval: 1,
        min: 1,
        step: 1
    });
            $(this).slideDown();
        },
        isFirstItemUndeletable: true,
        ready: function() {
            $(".touchspin").TouchSpin({
                buttondown_class: "btn blue",
                buttonup_class: "btn blue",
                initval: 1,
                min: 1,
                step: 1
            });
        }
    });

Initial state

Before workaround

After workaround

I have an issue when adding the form (via repeater) the buttons touchspin-up and touchspin-down are not working. Does it work for you ?
The code you've mentioned has no effect for me.
Thank you !

I have an issue when adding the form (via repeater) the buttons touchspin-up and touchspin-down are not working. Does it work for you ?
The code you've mentioned has no effect for me.
Thank you !

Hello! It has been a long time I didn't work on the project mentioned in the issue so I didn't do any further tests. Anyway, the code just makes sure to initialize Touchspin outside the main loop for repeater, because I needed to have the first input visible already.
Is that how you setuped your solution as well? Maybe it is another issue altogether. But you can show screenshots and the code you are using, and we can try to debug it.

I've managed to get it to work. It took a day to see that I need to have initEmpty true in order to make it work : )
Anyways, thank you very much for your willingness !
Hope you are good and enjoying yourself !


To create and deploy functions

Hey,
Nice introduction. Could you explain how to deploy to Azure?
We have this convenient 1 click "Publish" button that spoils us on Web Apps. And I can't find an easy way to deploy a function from VS on the Mac.
thanks, bye

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

ID: 4caaf0cc-3cea-375a-1160-6540db5557f1
Version Independent ID: cfd2fe36-1325-9ff0-bc18-af563bb920e4
Content: Introduction to Azure Functions - Visual Studio for Mac
Content Source: mac/azure-functions.md
Service: unspecified
Product: visual-studio-mac
GitHub Login: @asb3993
Microsoft Alias: amburns

Hey, thanks Amy.
I created a fresh new "Azure Functions" project, but when I try to deploy, always get the msg "Error deploying app instance".
It manage to create an "App service plan" and a dedicated "Storage account" to my azure though.
Any idea what could go wrong? where I could see more log ?
bye

@paulceli Once you managed to manually create the app and deploy to it, did it work as expected for you?

Not on first try.
Like I said, I had to accept to change to beta version in a Visual Studio Pop-up.
Then project deployed but it wasn't working at first.
I also had to change the app setting FUNCTIONS_EXTENSION_VERSION value from "~1" to "beta" as mentioned here : https://stackoverflow.com/questions/48952452/azure-function-implemented-locally-wont-work-in-the-cloud
Didn't have time to test a lot but the default "hello" function works.

@paulceli Thanks for your feedback, I really appreciate it. That definitely sounds like a bit of an obtuse workflow so I'll make sure to add this information to the guide. I've also spoken to the engineering team, particularly about the app setting issue and have been assured that they're fixing it.

Wow... Spent a whole day looking for why I can't publish functions from Mac, and then I finally see this little comment thread. Hope publishing makes it to public soon.

@sm1th The functionality is still in preview, which you can access through the Alpha or Beta channel. Feel free to try it out and provide feedback on developer community.

@asb3993 I've done that, thanks.

The docs have been updated for the VSMac 7.6 release. There are a couple of outstanding issues that will be fixed in an upcoming service release, but I've documented the workarounds for those.


Add LibCS library

Short-term goals:

Provide a place for shared code between chef-server-ctl, the
reconfigure cookbooks and partybus.

Centrally manage the ruby dependencies for those projects.

Longer-term goal:

Move chef-server-ctl, partybus, and the reconfigure cookbooks into
this new gem and manage them like normal ruby projects.

Signed-off-by: Steven Danna<EMAIL_ADDRESS>

Still a work in progress, but feel free to offer opinions :D

:+1: I'd like to have that 🎉

I think that moving a lot around in the build would be a bad idea at this time until the habitat chef server stuff takes final form.  I will revisit this once that work has settled and we can find something that hopefully facilitates both setups.


Add warning if digital carrier exceeds Nyquist frequency in pulse -> signal conversion

Summary
Closes #241
A warning is added to the pulse -> signal converter if the digital carrier frequency (resulting from SetFrequency and ShiftFrequency instructions) exceeds the Nyquist frequency set by the sample size dt.
Details and comments
The warning is suppressed if the conversion is called within JAX tracing, as in this case the boolean function np.abs(frequency_shift) > 0.5 / dt cannot be evaluated.
A test has been added, and @nkanazawa1989 I've verified that the warning is raised in your example that motivated this PR.

Thanks @DanPuzzuoli this is really helpful improvement. I was thinking shift and set frequency were directly applied to the analog carrier, and had trouble with interpretation of weird simulation results. I think I am not only person suffering this problem :)

The warning is suppressed if the conversion is called within JAX tracing, as in this case the boolean function np.abs(frequency_shift) > 0.5 / dt cannot be evaluated.

This means the warning is also raised at run time even with the JAX backend? Then this PR looks good to me.

The error will not be raised ever if the converter is called within a traced function. For now this probably won't impact any users; it will still be raised when using the DynamicsBackend using JAX as you are in your notebook.
As an aside: This is an unfortunate element of  the way JAX works - you can't have warnings/errors that depend on the value of variables that are being traced. Branching logic that depends on the value of a variable will cause an error during tracing, and once compiled, the original code is no longer executed anyway, so no warnings can be raised there.


fix type annotations to not require Self: 'this

Hi @WanderLanz,
Just a heads-up, lender will stop compiling after a recent soundness fix to the rust compiler in rust-lang/rust#104098. This was found by this crater run. The error message can be found here and you can try to build lender with that change by installing the toolchain first:
$ rustup-toolchain-install-master 6c5ba887f1fae50b77a36ca00e3d7164c1434657
$ cargo +6c5ba887f1fae50b77a36ca00e3d7164c1434657 build

A minimal example of what has changed in that PR is that the rust compiler used to incorrectly accept the following code:
trait Lending<'lend, _Witness = &'lend Self> {
    type Lend: 'lend;
}

struct Adapter<G>(G); // e.g. IntersperseWith

impl<'this, G> Lending<'this> for Adapter<G> {
    type Lend = (); // Lend does not depend on G
}

fn next<'this, G>() {
    let _: <Adapter<G> as Lending<'this>>::Lend;
    //~^ ERROR `G` may not live long enough
    // The full type is `<Adapter<G> as Lending<'this, &'this Adapter<G>>>::Lend`
    // The default type `&'this Adapter<G>` should require `T: 'this`
}

This can be fixed by adding a where clause G: 'this as suggested by the error message. Alternatively we can change the type annotation <Adapter<G> as Lending<'this>>::Lend to not require additional lifetime constraints. This is what I've done in this PR because it has the advantage of not breaking the public interface (although the other approach is only a theoretical breaking change. I would be surprised if it breaks real dependent code).

I'm really confused. The commit seem to have nothing to do with the post. Am I missing something?

Looks good, thank you for the heads up on future WF changes.
I'm not expecting vigna to have upstream tools to check, but if you do, please feel free to merge. Otherwise, I will merge/fix once I'm able to.

I tried to run crater on AWS, but documentation is 4yo and the build process dies on a too old version of CMake. I think it is something fairly easy to fix for someone using the toolchain normally, but after a couple of hours of trial and error I stopped.
I mean, I can check that this compiles now if that's sufficient for merge.

I'm not sure why you want to run crater yourself. The change I made here is definitely not a breaking change to downstream users and, if you want to test how lender builds against the proposed rustc change, you only need to use rustup-toolchain-install-master locally as described above.

Ah ok. I tried to read online how to get that command and I arrived to crater. I'll check again.

Ok. Command installed. I verified that the new nightly will stop compiling Lender. The proposed PR fixes this problem. All test pass.

Awesome, thanks for the work.