sudo: unable to resolve host

Required information
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04 (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
UBUNTU_CODENAME=xenial

$ lxc info
apicompat: 0
auth: trusted
environment:
  addresses:
  - <IP_ADDRESS>:8443
  - <IP_ADDRESS>:8443
  - <IP_ADDRESS>:8443
  - <IP_ADDRESS>:8443
  - '[2001:67c:1562:8007::aac:4288]:8443'
  architectures:
  - x86_64
  - i686
  certificate: |
    -----BEGIN CERTIFICATE-----
    MIIFqjCCA5KgAwIBAgIQXpne6Qjwhg8de+RmyV1+mTANBgkqhkiG9w0BAQsFADA6
    MRwwGgYDVQQKExNsaW51eGNvbnRhaW5lcnMub3JnMRowGAYDVQQDDBFyb290QG1h
    d2hyaW4tc2tlbDAeFw0xNjAyMjgwMzEyMzdaFw0yNjAyMjUwMzEyMzdaMDoxHDAa
    BgNVBAoTE2xpbnV4Y29udGFpbmVycy5vcmcxGjAYBgNVBAMMEXJvb3RAbWF3aHJp
    bi1za2VsMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAzv/3uX3JWduq
    wmtbyTABmfJkup6Z5Lh4lKPXgL/H2gQ/mlccORKm1eDZhAGmv9UuQGeMRHEneJqD
    V9c3f7/9cJBwvz2loKlppWj0ohAzTP91L8paeUSfP4X9EAr702Qjyb2ig+xWv5tM
    cJxbdl0zGpjYO1P+xmUdthSidsFrzWQPXptOlcZvak7n0QL5GlkVXdqX+she2Pbs
    ONtyTaBSpF3zEYv6cM9ZeJYL4Hl7LEQ1/p8ojpOyaxO8B1Cn/gIbuDqgzRwmei90
    Aca06YDF4SHVcl8qFajrwkPF3jWW5pgS8sAJlYoq2+ROhl0CnpdBl4AiJrvfFsIs
    RL8dKSuFA6AcLhYooWgMy6UWR8mLbmYHp04ThuBDoRaTt0uGLDlTAfMg7e8Gwpz+
    aEwxSzzQhvJYr4e6TSP1C4zXNqS5mUHfm6RtfEccVFmq6vyqZGELAyREce76J88V
    FMf/V+KYlQYUxo0JH2k+BYMO4Iigar0+8p8o8drqh6Lks5zTP6idsKa0LSWA4rwm
    3+5hjnVJtFa9CVCItJW3r0+nczwtAbjvRojkr7Yb2Kifufhilb+I695qSk+Toug3
    HKOODTqc9sbH+urmfr7jBBexACtWVX/tMptWFnBmcqoN4ptSZutY7CPf+KR//9p0
    8fFRQP+ItmElJHRFO+madGOBMVrC7j8CAwEAAaOBqzCBqDAOBgNVHQ8BAf8EBAMC
    BaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADBzBgNVHREEbDBq
    ggxtYXdocmluLXNrZWyCETE5Mi4xNjguODguMjM0LzI0ghxmZTgwOjozZWE5OmY0
    ZmY6ZmU1Njo0N2RjLzY0ggsxMC4wLjMuMS8yNIIcZmU4MDo6NThkNTpjMmZmOmZl
    ZTQ6NzJiYy82NDANBgkqhkiG9w0BAQsFAAOCAgEAB6aFItuxlZm5+2/IB2eCVAM0
    eQbO6dfvfF2khfiEbWWaKPtkZSYKlDIcoOph35obnNMQjT+y4zlnF/fepvjq8P1R
    yGd+Q+GMcXWVRht3uIMW2ZqwNqOujunyn9+Hl1SYi1dV1g/CH9lJt8I7FKIvyieh
    siZRe5Zp7TdPREkIJveuz8qB3X87WVh9bqvMpoX91Mgrjzd3qATef/tN0HP+b26Y
    XjtRz9rhOkUfJx9b5HsyBLuGOQS979twl9LPKc1WsIrJaavY1JBT7SIwX3W7u7CU
    UWueEQoVvA9pkgeL8NXYYoHOkkrfW3oqExkuA1pqucMt8iRjn88njV57Vk576tjZ
    +bNqLL6R4xoUvnr9VIwq7tMLvodK/E5WvsmP5GrdMru2sa/xd+fS0137oOYqP4Qb
    T296jMcehHg5Gg1ZR1DbTqzWFPKb+CtXU+bqI68Hplq5Lemufsman2C2dthmKwcm
    OumpykWiH9vNKauY52VR8iffppBsH7jup1+yVtIOiT4Whp5LGBtZdYri7GE77qv+
    qtBL7HdeBJxsBadRIfjdeLZlZPlMX7hV+v8Bzxz9fGuPKSnxDdpoPw1XF+zP1YAn
    VeDCRo7oCFV40nVFyb5wCreDoegtSFuQt7/Guv9u/gQSfmGoY1QyjlaHh2pJAAgS
    CPRGObnrdrQMMEqLDaI=
    -----END CERTIFICATE-----
  driver: lxc
  driverversion: 2.0.0.rc10
  kernel: Linux
  kernelarchitecture: x86_64
  kernelversion: 4.4.0-12-generic
  server: lxd
  serverpid: 2354
  serverversion: 2.0.0.rc3
  storage: zfs
  storageversion: "5"
config:
  core.https_address: '[::]'
  storage.zfs_pool_name: lxdpool
public: false

Issue description
When I use sudo in containers launched with LXD, I get an error message sudo: unable to resolve host
Steps to reproduce
$ lxc launch ubuntu-trusty bob
Creating bob
Starting bob
$ lxc exec bob bash
root@bob:~# sudo -i
sudo: unable to resolve host bob

I see these messages all the time in scripts that use sudo in my containers. It happens during Juju bootstrap for example but is in no way a Juju-specific issue, as the above demonstrates.
I've happily ignored this message and everything seems to work fine as far as I can tell. The problem with this message is that it tends to mislead users into thinking something is wrong -- it's a rough edge.
Let me know if anything else will help.

That's because cloud-init doesn't update /etc/hosts by default and since we rely on cloud-init to setup the hostname, you end up with that error.
If you're already feeding cloud-init user data, you can add the "manage_etc_hosts: True" key to it.
@smoser what's the reason for cloud-init not updating /etc/hosts at the same time it does /etc/hostname by default?

Closing this as there is nothing that LXD can do about this. Ubuntu cloud images are using cloud-init for their initial configuration, so if it makes sense to have the hosts line generated, this should be fixed there rather than in LXD.

Hi how are you, my name is Justin. I am new with LXD and I am not quite clear on the recommendation above:
"If you're already feeding cloud-init user data, you can add the "manage_etc_hosts: True" key to it."
I think this may relate to some really strange behavior that I get with LXD, but my issue seems to be slightly different.
I posted about it here but was unsuccessful in getting any responses.

For better or worse, some applications will essentially do hostname -f and then bind to that socket, or advertise that address as their address (bug 871966).  That is why the default behavior in Ubuntu images is to not write an entry for hostname.  To my knowledge, currently in lxd cloud-init would not have enough information to write an entry in /etc/hosts other than a localhost.
As suggested above, cloud-init can be told to a <IP_ADDRESS> entry into /etc/hosts for the hostname via emanage_etc_hosts: True.  That is not the default behavior of cloud-init.  Instead, it is assumed that that the cloud platform that set the hostname will also provide reverse lookup in dns.  The cloud platform is in a much better position than a one-time-initialization program to provide a reverse lookup for dns.
Lastly, This is working as desired on my lxd locally:
$ lxc network show lxdbr0 | sed '/used_by/q'
config:
  ipv4.address: <IP_ADDRESS>/24
  ipv4.nat: "true"
  ipv6.address: fd42:eee5:7c43:3d62::1/64
  ipv6.dhcp.stateful: "true"
name: lxdbr0
type: bridge
used_by:

$ lxc launch ubuntu-daily:trusty t1
$ sleep 10
$ lxc exec t1 /bin/bash

## This is inside container now.
# sudo echo hi
hi
# host t1
t1.lxd has address <IP_ADDRESS>
# grep t1 /etc/hosts || echo not found
not found

# grep -v "^#" /etc/resolv.conf
nameserver <IP_ADDRESS>
search lxd

# host t1 <IP_ADDRESS>
Using domain server:
Name: <IP_ADDRESS>
Address: <IP_ADDRESS>#53
Aliases:

t1.lxd has address <IP_ADDRESS>

Given that.... should this bug be marked fixed?

@smoser well, this was a reply to a closed bug, so not much closing we can do :)
But yes, I also couldn't reproduce it here with recent LXD. It "may" be a problem with older LXDs though where dnsmasq isn't managed by LXD itself. Though even then, dhclient running in the container will create the required DNS entries...
The most obvious case where this wouldn't work is if directly bridged to an existing external network where the DHCP running on that network doesn't also control the DNS.

Hi thank you so much for responding.  @smoser I get the same output. Yet as I am writing this, my container has no internet access, therefore, I cannot install anything on it.  The containers work fine when I first launch them. Over time I get these errors. When I the installed LXD Snap, I used all of the default settings that the installer prompted me with. I did not modify anything.
Here's is the output mentioned above:
$ lxc network show lxdbr0 | sed '/used_by/q'
config:
  ipv4.address: <IP_ADDRESS>/24
  ipv4.nat: "true"
  ipv6.address: fd42:62d7:72bc:88bf::1/64
  ipv6.nat: "true"
name: lxdbr0
type: bridge
used_by:

## already launched an Ubuntu 16.04 container named 'mytest'

$ lxd.lxc exec mytest -- sudo --login --user ubuntu

## inside container now

$ sudo echo hi
hi

$ host mytest
mytest.lxd has address <IP_ADDRESS>
mytest.lxd has IPv6 address fd42:62d7:72bc:88bf:216:3eff:fe91:147c

$ grep mytest /etc/hosts || echo not found
not found

$ grep -v "^#" /etc/resolv.conf
nameserver <IP_ADDRESS>
search lxd

$ host mytest <IP_ADDRESS>
Using domain server:
Name: <IP_ADDRESS>
Address: <IP_ADDRESS>#53
Aliases:

mytest.lxd has address <IP_ADDRESS>
mytest.lxd has IPv6 address fd42:62d7:72bc:88bf:216:3eff:fe91:147c


[$250] Android - Tapping save works only after multiple taps in workspace profile name page

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: V9. 0.69-0
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Y
Issue reported by: Applause Internal Team
Action Performed:

Launch app
Go to workspace settings
Tap profile
Rename name field
Tap save

Expected Result:
On tapping save, new workspace name must be saved.
Actual Result:
Tapping save works only after multiple taps in workspace profile name page.
Workaround:
Unknown
Platforms:

[x] Android: Standalone
[x] Android: HybridApp
[ ] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/95d0d7dc-6ae9-43b0-9baf-8bc5f246da6a

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021863283611435594958
Upwork Job ID:<PHONE_NUMBER>435594958
Last Price Increase: 2024-12-01

Issue OwnerCurrent Issue Owner: @ikevin127

@mountiny Hey, I'm Kiryl from Margelo expert agency and I'd liek to work on this issue 👀

Applause confirmed it is fixed after the CP.

BugZero Checklist:

[ ] [Contributor] Classify the bug:

Bug classification

Source of bug:

[ ] 1a. Result of the original design (eg. a case wasn't considered)
[ ] 1b. Mistake during implementation
[ ] 1c. Backend bug
[ ] 1z. Other:

Where bug was reported:

[ ] 2a. Reported on production (eg. bug slipped through the normal regression and PR testing process on staging)
[ ] 2b. Reported on staging (eg. found during regression or PR testing)
[ ] 2d. Reported on a PR
[ ] 2z. Other:

Who reported the bug:

[ ] 3a. Expensify user
[ ] 3b. Expensify employee
[ ] 3c. Contributor
[ ] 3d. QA
[ ] 3z. Other:

[ ] [Contributor] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to comment:

[ ] [Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion:

[ ] [Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.

Regression Test Proposal Template

[ ] [BugZero Assignee] Create a GH issue for creating/updating the regression test once above steps have been agreed upon.
Link to issue:

Regression Test Proposal
Precondition:

Test:

Do we agree 👍 or 👎

Here's the BZ checklist as a next step @shubham1206agra, thanks

Reminder on the BZ steps above before payment @shubham1206agra


services that aren't hive-matrix-send should send restart notifications to a stream

(then some other service can consume them and push messages to hive-matrix-send as appropriate)

question: can you send messages to a stream with a blocking connection?

actually, use a queue and TTL... service.started?

this is a fanout queue now


Implement SDL-0184 CancelInteraction RPC

Fixes #840
This PR is ready for review.
Risk
This PR makes minor API changes.
Testing Plan
Smoke tests added for the CancelInteraction response and request classes. Test cases added to the screen manager tests.
Summary

Added CancelInteraction request and response classes to the library.
Added cancel method to choice set manager.
Added dismissKeyboard: method to screen manager
Updated the current presentKeyboard: method to return an id that can be passed to the dismissKeyboard: method

Changelog
Enhancements

Added new RPC CancelInteraction to the library
Screen manager now supports canceling/dismissing a choice set and dismissing a presented keyboard.

Tasks Remaining:

[x] Test against sdl_core v.6.0
[x] Set the finalized functionID for CancelInteraction
[x] Update the current presentKeyboard: method to return a cancelID that can be used to dismiss the keyboard
[x] Update the dismissKeyboard:method

CLA

[x] I have signed the CLA

Codecov Report

Merging #1156 into develop will decrease coverage by 2.84%.
The diff coverage is 66.31%.

@@              Coverage Diff              @@
##             develop    #1156      +/-   ##
=============================================
- Coverage      46.81%   43.96%   -2.85%
- Complexity      4079     4259     +180
=============================================
  Files            459      462       +3
  Lines          22496    25416    +2920
  Branches        2558     3286     +728
=============================================
+ Hits           10532    11175     +643
- Misses         11333    13521    +2188
- Partials         631      720      +89

Impacted Files
Coverage Δ
Complexity Δ

...java/com/smartdevicelink/managers/ProxyBridge.java
3.94% <0%> (-0.04%)
2 <0> (ø)

...n/java/com/smartdevicelink/proxy/SdlProxyBase.java
8.95% <0%> (+0.59%)
46 <0> (+19)
:arrow_up:

...tdevicelink/managers/screen/BaseScreenManager.java
67.64% <0%> (-0.51%)
45 <0> (ø)

...com/smartdevicelink/protocol/enums/FunctionID.java
93.96% <100%> (+0.05%)
12 <0> (ø)
:arrow_down:

.../smartdevicelink/proxy/rpc/PerformInteraction.java
100% <100%> (ø)
23 <2> (+2)
:arrow_up:

...main/java/com/smartdevicelink/proxy/rpc/Alert.java
100% <100%> (ø)
22 <3> (+2)
:arrow_up:

...ain/java/com/smartdevicelink/proxy/rpc/Slider.java
100% <100%> (ø)
15 <2> (+2)
:arrow_up:

...m/smartdevicelink/proxy/rpc/ScrollableMessage.java
100% <100%> (ø)
11 <2> (+2)
:arrow_up:

...evicelink/proxy/rpc/CancelInteractionResponse.java
42.85% <42.85%> (ø)
2 <2> (?)

...evicelink/managers/screen/choiceset/ChoiceSet.java
79% <50%> (-0.17%)
25 <1> (+2)

... and 25 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 92d4362...b7039e3. Read the comment docs.


test: Add a pod remove idempotent test

Test if we can remove a pod several times without
generating an error.
Signed-off-by: Samuel Ortiz<EMAIL_ADDRESS>

LGTM. Thanks!


Wrong labeling

In "Leveraging the Managed Identity" xml code snippet is wrongly labeled as json.

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

ID: 8bce949c-a48a-9d33-5627-795a41cb0864
Version Independent ID: 0d51b682-6893-8640-3f5f-ae1b65378d81
Content: Azure Service Fabric - Configure container repository credentials
Content Source: articles/service-fabric/configure-container-repository-credentials.md
Service: service-fabric
GitHub Login: @arya
Microsoft Alias: arya

@junaidk Thanks for the feedback. A PR is raised for fixing this, the changes will go live once PR is approved.


Lower-casing of Slots

Rasa NLU version:
0.13.5
Operating system (windows, osx, ...):
OSX (10.12.6)
Content of model configuration file:
language: "en"

pipeline:
- name: "nlp_spacy"
- name: "tokenizer_spacy"
- name: "intent_entity_featurizer_regex"
- name: "intent_featurizer_spacy"
- name: "ner_crf"
- name: "ner_synonyms"
- name: "intent_featurizer_count_vectors"
- name: "intent_classifier_tensorflow_embedding"

path: "./models/nlu"

data: "./data/nlu.md"

Issue:
Sometimes the values filling the slots are (randomly?) put into all lowercase, even though the slot is clearly defined with First Caps. I don't want to just change everything to lowercase because I use the filled slots to display text on the screen and as indexes in a database, so the case needs to match.
Most of the time the case is maintained, but sometimes it is lowercased. I checked all the entries defining the entity/slots and can't find any inconsistency.
Example from interactive training with one slot (although it happens with other slots as well) :
i want the Indigenous Awareness training
------
Chat history:

	bot did:	action_listen

	user did:	task_complete

	with Training:	Indigenous Awareness

	bot did:	action_task_complete

	bot did:	action_listen

	user said:	i want the Indigenous Awareness training

		 whose intent is:	get_Training

	with Training:	indigenous awareness

we currently have slots: About: None, Account: None, Acronym: None, Benefit: None, Health_Safety: None, Help: None, Networking: None, Training: indigenous awareness

------
The bot wants to [action_get_Training] due to the intent. Is this correct?

	1.	Yes
	2.	No, intent is right but the action is wrong
	3.	The intent is wrong
	0.	Export current conversations as stories and quit

Compare with a case where it works properly (for some reason):
awareness training
------
Chat history:

	bot did:	action_listen

	user did:	get_Training

	with Training:	indigenous awareness

	bot did:	action_get_Training

	bot did:	action_listen

	user said:	awareness training

		 whose intent is:	get_Training

	with Training:	Indigenous Awareness

we currently have slots: About: None, Account: None, Acronym: None, Benefit: None, Health_Safety: None, Help: None, Networking: None, Training: Indigenous Awareness

------
The bot wants to [action_get_Training] due to the intent. Is this correct?

	1.	Yes
	2.	No, intent is right but the action is wrong
	3.	The intent is wrong
	0.	Export current conversations as stories and quit

The domain entities look like this:
entities:
  - Training
  - [etc.]
slots:
  Training:
    type: categorical
    values:
    - Orientation
    - IT Security
    - Indigenous Awareness
  [Etc.]

In the nlu.md training data these slots are defined like this:
## synonym:Indigenous Awareness
- awareness training
- Indigenous Awareness
- Indigenous training
- indiginous training
- indegenous awareness

## intent:get_Training
- What training do I do next?
- What is the [Indigenous Awareness](Training:Indigenous Awareness)
- [Indigenous Awareness](Training:Indigenous Awareness)
- [etc.]

Apologies if I'm missing something obvious, or if this should be a question rather than an issue, but I can't find information about this problem.
Cheers.

Thanks for raising this issue, @Ghostvv  will get back to you about it soon.

Hi, thank you for raising the issue, is it possible for you to share some training data so I can reproduce it?

Hey, @Ghostvv, sorry for not getting back to you sooner. I have attached the nlu.md file (extension changed to .txt for upload). Thanks!
nlu.txt

Thank you for the training data. tokenizer_spacy that you use returns lower case text for ner_crf. Therefore ner_crf returned lowercase extracted entity, but you didn't have indigenous awareness as a synonym for Indigenous Awareness

But 'indigenous awareness' does successfully fill the 'Training' slot (shown in my example above), which is marked as categorical but doesn't use one of the values listed in the domain (which have FirstCap). I can add the lowercase synonym, however I feel like this issue will come up when a user inputs a different lower case spelling that should be close enough to fill the slot, but may come out lowercase. Do you suggest a different tokenizer/pipeline?
Also, I think I might be missing some of the docs about the nlu piplines. I'm trying to understand better step-by-step what is happening, but I'm not really getting that here:
https://rasa.com/docs/nlu/components/
Tokenizer_spacy is there, but doesn't say anything about lowercasing, and I could not easily find that on Spacy either (https://spacy.io/api/tokenizer). The example given does not lowercase (https://spacy.io/usage/spacy-101#annotations-token). Is there documentation I'm missing about the pipelines and components that you can point me to so I can see the clear input/output and method description of each?
Thanks

I'm a bit confused as to why the form listed in the domain/nlu.md 'Indigenous Awareness' only maps to 'indigenous awareness', but other listed synonyms like 'awareness training' maps to the correct 'Indigenous Awareness' (as per the example). Is it just because the NER component never sees the original non-lowercased form?

tokenizer spacy uses spacy doc created bu nlp_spacy, which has config parameter case_sensitive: https://rasa.com/docs/nlu/components/#nlp-spacy

Ok thanks, I'm trying out the case sensitive option.
Is there anything to be said about mapping to a categorical slot value when the exact synonym is not listed in the nlu training data? To me, this appears to be part of why the issue came up in the first place.

sorry, I don't understand your question, setting a slot is independent process from extraction. The issue was due to the fact that case_sensitive: false by default


DRILL-6837: Missing reference for dynamically created Javascript library

A PR for DRILL-6084 broke the auto-complete library required for Edit Query page, with the removal of the static javascript library.
https://github.com/apache/drill/pull/1491/files#diff-2bb3c04f1a9eead1faf57212cce5d2a9
The dynamically loaded script is not defined in the Freemarker template page.
The fix is trivial.
This is the console error:

+1


chore: update palette-mobile version

Description
This PR updates palette-mobile to the latest version after the last fixes. This comes as a follow-up after the previous errors
#nochangelog

Warnings

:warning:

✅ No changelog changes

  Generated by :no_entry_sign: dangerJS against c39b34f98b39a7484c801ccff75cd836912ed690


[FEATURE] parallel tile generation and road network connectivity

Hi, thanks for creating this - it could be a good match to other map tooling I'm developing including a tile archive format and canvas renderer.
One thing I noticed with whipping up a quick example is that the basemap result for motorway network has gaps in it - see attached screenshot. The root cause for the gaps is that OSM ways that connect two other high-importance ways - like highway=motorway, assigned to appear at a lower zoom level like z9 might actually be tagged at a lower level like highway=primary and not be included in z9. This is because OSM tags are based on physical features and not cartographic importance.
The approach I usually take to solve this is to generalize roads via a new tag class outside of the OSM tagging conventions based on connectivity to other ways. This would break the parallel design described in ARCHITECTURE.md because feature generation at the early stage could not proceed independently per-feature. I also don't think it could fit into the advanced joining/grouping in README#Limitations because the late-stage, pre-write processing of features at the tile level would not have access to those missing ways.
Is this mode of processing something you would consider in scope for Planetiler, if it necessitates changing the tile generation strategy? There may be ways to accommodate it into the existing design if candidate ways were saved out similar to boundary relations but the quantity of candidates would be very large.

Thanks for reaching out @bdon! Could you elaborate on exactly how that connectivity check would work?
The line merging algorithm is pretty simple now, it just groups linestrings in each tile with the exact same tags and runs them through the JTS LineMerger. The main issues I've seen are:

short bridge sections interrupt the segment and prevent the merge
roads that split into 2 lanes (or appear to split because the lane endpoints collapse to the same pixel when rounded) confuse the line merger because it stops merging lines at 3-way merges

I spot checked a few of those gaps, and they they mostly seem to be due to those 2 issues - is there a specific spot where you see the motorway/primary/motorway issue causing a gap?
A few ideas I had to improve line merging:

support grouping by a subset of tags, and aggregating the remaining ones so short bridge segments don't cause these gaps
prevent the line merging routine from combining ways that go in separate directions so divided highways don't generate 3-way intersections
make the line merging routine "gap-tolerant" so that it can combine lines with the same tags with endpoints a few pixels apart instead of requiring exactly matching endpoints

On a side note, I was wondering if it might make sense to have a native pmtiles output option for planetiler? How bad is it to convert a 100gb mbtiles file to pmtiles?

Essentially the grouping by a subset of tags would get most of the way there - I mentioned primary > motorway but I think this happens more often for motorway_link that connects motorway at flying/cloverleaf junctions. The side effect of doing grouping by the tag sets is your motorways will become "hairy", since off-ramps are also tagged as motorway_link, so the connectivity check is something like:

if both ends of the motorway_link connect to a motorway and nothing else, promote it to a motorway
if one end of the motorway_link connects to a motorway but the other end connects only to x, demote it to x

the python utility in the pmtiles package should be workable for converting mbtiles to pmtiles, but a native one shouldn't be hard to reproduce in Java, the logic is pretty short: https://github.com/protomaps/PMTiles/blob/master/python/pmtiles/writer.py

Ok thanks for the explanation. I think the first step here is to implement a custom line merge routine to be able to customize any of this stuff since the JTS one is a bit of a black box.
I'll try doing that then add the ability to:

Filter what's being grouped
group by a subset of tags and specify how to combine the remaining ones
optionally prevent line merging from changing the direction of linestrings

Let's see how that looks and if we still need to can try adding smarter support for 3-way merges or "fuzzy" matching on endpoints.
That would also open up the door to that custom connectivity check at tile-write time. I don't think it would need a different overall architecture, just maybe pass through more ways during osm processing then either upgrade them or throw them out at tile write time. Alternatively, it could keep track of what highway classes terminate at certain node ids during osm pass1, then use that to upgrade certain ways during pass 2.

This is somewhat implemented in https://github.com/protomaps/basemaps/issues/19 - I don't think we need to restructure planetiler core to accomplish this in a good-enough way. But for now this is possible consuming the tile post-process APIs. Closing issue!


Github Actions and ARGV

I'm trying to get test-bot up and running for my own tap and it seems to work when GITHUB_ACTIONS environment variable is not set. When it is set, test-bot is automatically appending some options and it looks like they break the formula detection.
Logs from workflow run when GITHUB_ACTIONS is not set:
2019-09-26T00:27:10.6753530Z ==> Tapping homebrew/test-bot
2019-09-26T00:27:10.6955133Z Cloning into '/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-test-bot'...
2019-09-26T00:27:11.3288993Z Tapped 1 command and 1 formula (50 files, 260.6KB).
2019-09-26T00:27:20.0412462Z Homebrew/homebrew-test-bot fb05b68 (Merge pull request #279 from dawidd6/tap)
2019-09-26T00:27:20.0414495Z ARGV: --verbose --root-url=https://dl.bintray.com/dawidd6/bottles-tap
2019-09-26T00:27:20.0420232Z brew tap dawidd6/tap --full
2019-09-26T00:27:20.8428157Z ==> Tapping dawidd6/tap
2019-09-26T00:27:20.8632130Z Cloning into '/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/dawidd6/homebrew-tap'...
2019-09-26T00:27:21.2177880Z Tapped 7 formulae (34 files, 214.6KB).
2019-09-26T00:27:21.6552743Z
2019-09-26T00:27:21.6554703Z ==> brew pull --clean https://github.com/dawidd6/homebrew-tap/pull/31/checks
2019-09-26T00:27:22.7760544Z ==> Fetching patch
2019-09-26T00:27:22.7761538Z Patch: https://github.com/dawidd6/homebrew-tap/pull/31.patch
2019-09-26T00:27:24.8099061Z ==> Applying patch
2019-09-26T00:27:24.8364312Z Applying: neofetch: test
2019-09-26T00:27:24.9047579Z Warning: dawidd6/tap/neofetch has a bottle: do you need to update it with --bottle?
2019-09-26T00:27:24.9252666Z ==> Patch changed:
2019-09-26T00:27:24.9466862Z  Formula/neofetch.rb | 1 +
2019-09-26T00:27:24.9467143Z  1 file changed, 1 insertion(+)
2019-09-26T00:27:25.0428833Z Homebrew/brew 2.1.11-123-ge6e569fd1 (Merge pull request #6489 from dawidd6/create-rust)
2019-09-26T00:27:25.6766291Z Homebrew/linuxbrew-core 9a3e849 (llvm: Fix build for Linuxbrew (#15764))
2019-09-26T00:27:25.6767617Z
2019-09-26T00:27:25.6768341Z Testing tap dawidd6/tap with:
2019-09-26T00:27:25.6768676Z   origin/master   1596045 (workflow: diverge build jobs steps)
2019-09-26T00:27:25.6769026Z   HEAD            8b12975 (neofetch: test)
2019-09-26T00:27:25.6769649Z   diff_start_sha1 1596045
2019-09-26T00:27:25.6769930Z   diff_end_sha1   8b12975
2019-09-26T00:27:25.6770148Z
2019-09-26T00:27:25.6770401Z ==> brew tap linuxbrew/xorg
2019-09-26T00:27:26.0041580Z ==> Tapping linuxbrew/xorg
2019-09-26T00:27:26.0256999Z Cloning into '/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/linuxbrew/homebrew-xorg'...
2019-09-26T00:27:26.7214376Z Tapped 155 formulae (196 files, 1.4MB).
2019-09-26T00:27:27.0742712Z
2019-09-26T00:27:27.0744485Z Formula changes to be tested:
2019-09-26T00:27:27.0745675Z   added formulae    (empty)
2019-09-26T00:27:27.0745875Z   modified formulae dawidd6/tap/neofetch
2019-09-26T00:27:27.0746025Z   deleted formulae  (empty)

One can see that test-bot successfully detected modified formula.

Logs from workflow run when GITHUB_ACTIONS is set:
2019-09-26T00:26:44.4664380Z ==> Tapping homebrew/test-bot
2019-09-26T00:26:44.4933090Z Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-test-bot'...
2019-09-26T00:26:44.8894160Z Tapped 1 command and 1 formula (50 files, 117.6KB).
2019-09-26T00:26:46.1650960Z Homebrew/homebrew-test-bot fb05b68 (Merge pull request #279 from dawidd6/tap)
2019-09-26T00:26:46.1651900Z ARGV: --root-url=https://dl.bintray.com/dawidd6/bottles-tap --verbose --ci-auto --no-pull --ci-pr --cleanup --test-default-formula
2019-09-26T00:26:46.5129270Z
2019-09-26T00:26:46.5130690Z ==> brew untap caskroom/versions
2019-09-26T00:26:47.4368830Z Untapping caskroom/versions...
2019-09-26T00:26:47.4369260Z Untapped 161 casks (208 files, 315.5KB).
2019-09-26T00:26:47.4446680Z
2019-09-26T00:26:47.4449750Z ==> brew untap homebrew/cask
2019-09-26T00:26:49.1238310Z Untapping homebrew/cask...
2019-09-26T00:26:49.1238890Z Untapped 1 command and 3532 casks (3,647 files, 3.9MB).
2019-09-26T00:28:55.2793280Z
2019-09-26T00:28:55.2799380Z ==> git -C Homebrew checkout master -f
2019-09-26T00:28:55.4259830Z Switched to branch 'master'
2019-09-26T00:28:55.4270640Z Your branch is up to date with 'origin/master'.
2019-09-26T00:28:56.3861280Z Homebrew/brew 2.1.11-77-gd40a4173d (Merge pull request #6453 from reitermarkus/brew-ruby)
2019-09-26T00:28:56.3861600Z
2019-09-26T00:28:56.3866720Z ==> git -C homebrew/homebrew-core fetch --depth=1 origin
2019-09-26T00:28:58.1709860Z From https://github.com/Homebrew/homebrew-core
2019-09-26T00:28:58.1710730Z  + 91de426...692c405 master     -> origin/master  (forced update)
2019-09-26T00:28:58.1805230Z
2019-09-26T00:28:58.1806600Z ==> git -C homebrew/homebrew-core reset --hard origin/master
2019-09-26T00:28:58.3597820Z HEAD is now at 692c405 rabbitmq 3.7.18
2019-09-26T00:28:58.4103310Z Homebrew/homebrew-core 692c405 (rabbitmq 3.7.18)
2019-09-26T00:28:58.5086510Z
2019-09-26T00:28:58.5087080Z Testing tap dawidd6/tap with:
2019-09-26T00:28:58.5087250Z   origin/master   1596045 (workflow: diverge build jobs steps)
2019-09-26T00:28:58.5087400Z   HEAD            83cf3be (neofetch: test)
2019-09-26T00:28:58.5087540Z   diff_start_sha1 (undefined)
2019-09-26T00:28:58.5089060Z   diff_end_sha1   82caf247338317b8fa660665a54dc4f2356aed22
2019-09-26T00:28:58.7057350Z
2019-09-26T00:28:58.7057920Z Formula changes to be tested:
2019-09-26T00:28:58.7058070Z   added formulae    (empty)
2019-09-26T00:28:58.7058240Z   modified formulae (empty)
2019-09-26T00:28:58.7058380Z   deleted formulae  (empty)

In the job above, before executing test-bot I had to git pull the pull request head branch, cause without that HEAD == origin/master.

I already spent a great time on this issue. I'm still learning Ruby and sometimes can't understand what is going on in the code.
Can only guess that --no-pull option is messing something up.
Took a look at homebrew-core jenkins and linuxbrew-core azure but still can't figure it out.
OT: fun fact, GITHUB_ACTIONS environment variable is not set in containers, only in VMs the job is run on.

Can only guess that --no-pull option is messing something up.

Are you passing that or do mean that it's being pulled automatically?
https://github.com/Homebrew/homebrew-test-bot/blob/master/.github/workflows/tests.yml might be a good reference; that's correctly detecting the changes and testing them I believe (although there could be bugs there).

I'm passing only --root-url at this point and the rest of ARGVs are appended automatically.
Hmm, as I see, this workflow runs test-bot on macos without options, but since it is a homebrew/homebrew-test-bot repo, the modified_formulae is statically set to testbottest. So, this isn't really helpful.
I would propose appending --no-pull and --test-default-formula options only when repo is homebrew/homebrew-test-bot. Cause I see that on Jenkins the brew pull is actually happening and if you decide to go with Github Actions as a replacement in the future, this could become problematic I guess.

I would propose appending --no-pull and --test-default-formula options only when repo is homebrew/homebrew-test-bot. Cause I see that on Jenkins the brew pull is actually happening and if you decide to go with Github Actions as a replacement in the future, this could become problematic I guess.

You can see it being used on Homebrew/brew, too. --test-default-formula should be passed when it's test-bot or Homebrew/brew because we want to make sure we're testing something.
--no-pull should remain and will eventually become the default because it avoids duplication when the Git checkout is at the correct/expected revision. This isn't the case with our Jenkins setup but is with GitHub Actions.

2019-09-26T00:28:58.5087080Z Testing tap dawidd6/tap with:
2019-09-26T00:28:58.5087250Z   origin/master   1596045 (workflow: diverge build jobs steps)
2019-09-26T00:28:58.5087400Z   HEAD            83cf3be (neofetch: test)
2019-09-26T00:28:58.5087540Z   diff_start_sha1 (undefined)
2019-09-26T00:28:58.5089060Z   diff_end_sha1   82caf247338317b8fa660665a54dc4f2356aed22

This is the bit that's worth doing some debugging on. You may need to figure out why diff_start_sha1 isn't being set correctly and set it.

I did some digging and found out that this patch does wonders:
diff --git a/cmd/brew-test-bot.rb b/cmd/brew-test-bot.rb
index 0b444a3..732ce40 100755
--- a/cmd/brew-test-bot.rb
+++ b/cmd/brew-test-bot.rb
@@ -558,6 +558,10 @@ module Homebrew
           "git", "-C", @tap.path.to_s,
                  "log", "-1", "--format=%h (%s)"
         ).strip
+        if diff_start_sha1.start_with?(diff_end_sha1)
+          diff_start_sha1 = tap_origin_master_revision.split(" ").first
+          diff_end_sha1 = tap_revision.split(" ").first
+        end
       end

       puts <<~EOS

The case here is that origin/master should become diff_start_sha1 and HEAD should be diff_end_sha1. But without this patch it is not happening.
As a matter of fact, I'm still using brew pull --clean .patch before running test-bot but I tested bare git commands like fetch and checkout and it works that way too.
I really can't figure out why replicating linuxbrew-core Azure job is not working on Github Actions.
Would you be willing to merge something like that?

Would you be willing to merge something like that?

Not that patch exactly but something like it: yes. Open a PR and we can debate the code there? Thanks again @dawidd6!


Subscritpion does not seem to be working

Hello,
I have setup a repository with docker compose file to show what's going on. Hopefully it's easier + you have the time to check.
https://github.com/bnkamalesh/kafkacheck
Most of the admin(kadm) functions seem to work as expected, the app is even able to create the topic on Kafka, which would mean there's no connectivity issues. But the subscription doesn't work.

I found the issue by adding a logger with kgo.BasicLogger() and it logged the following error:

kafkacheck-application-1  | [ERROR] join and sync loop errored; group: kafkacheck, err: INVALID_SESSION_TIMEOUT: The session timeout is not within the range allowed by the broker (as configured by group.min.session.timeout.ms and group.max.session.timeout.ms)., consecutive_errors: 34, backoff: 2.5s

Finally, I've been at this for like 2 days. Wouldn't it make sense for Pollfetches to return error since it's not retriable? Because the SessionTimeout configuration says:

SessionTimeout sets how long a member in the group can go between heartbeats, overriding the default 45,000ms. If a member does not heartbeat in this timeout, the broker will remove the member from the group and initiate a rebalance.

I found the issue by adding a logger with kgo.BasicLogger() and it logged the following error:

kafkacheck-application-1 | [ERROR] join and sync loop errored; group: kafkacheck, err: INVALID_SESSION_TIMEOUT: The session timeout is not within the range allowed by the broker (as configured by group.min.session.timeout.ms and group.max.session.timeout.ms)., consecutive_errors: 34, backoff: 2.5s

Finally! I've been at this for like 2 days. Wouldn't it make sense for Pollfetches to return error since it's not retriable? Because the SessionTimeout configuration says:

SessionTimeout sets how long a member in the group can go between heartbeats, overriding the default 45,000ms. If a member does not heartbeat in this timeout, the broker will remove the member from the group and initiate a rebalance.

@bnkamalesh the main problem with trying to return this error through PollXyz is that this error is separate from and independent of the record polling logic. The error might happen once a minute, where you might be polling once a second. Should the code internally repeat the error 60 times, one for every poll, until the error itself resolves?
Instead I took a different approach -- arguably, it's probably worse, and it's definitely less discoverable -- where you can provide a HookGroupManageError to hook into these group rebalancing errors.
I'm not 100% convinced on repeatedly returning an error from Poll until an issue is resolved, but it is a pretty decent way of addressing confusing / problems. I think I'd be a bit more convinced if there's a bit more evidence on this type of API change being needed.

@twmb I agree with not returning unrecoverable error. In this case, no matter how many times you retry it's not possible to recover, right? And it seems to have identified the error type accurately as well (INVALID_SESSION_TIMEOUT), so there's no assumptions going on either. Would it still not make sense to return the error, or would an error type check in pollfetch cause significant performance hit?

I'll start injecting group errors into polling just once in the next release with this PR: https://github.com/twmb/franz-go/pull/387


Height calculated using document rather than body

Pull request regarding issue https://github.com/eviltrout/ember-cloaking/issues/10.
Because of some CSS applied on the body tag, the body height doesn't come out to be correct. If instead same calculations are done with document height, the scrolled function works fine , as changed in the current pull request.

Sounds good thanks!


Test of games to play with starlark

Here's something I'm screwing around with for starlark. What do you guys think? It basically lets you pass a script into the code using the -enricher flag and then will run all the found messages through this script. Script can mutate the messages however it likes. Needs a lot of work but this is the basic idea. Focusing on working via a test now, haven't tried this out in the real world.

OK -- what do you guys think? This supports 2 main ways to add a script in.

Add in a script field for a snmp profile:

      # Synology disk type
      - column:
          name: diskType
          OID: <IP_ADDRESS>.4.1.65<IP_ADDRESS>.4
          script: |

            def main(n):
              if n.foo != "":
                n.XXXMyIndex = n.foo + "this is a test"
              else:
                n.XXXMyIndex = "missing"
              return None

This script will be evaluated only for this given attribute.
Or:
	EnricherSource      string
	EnricherScript      string

Put one of these into the config.yaml file. Then it will be evaluated for each message which goes through ktranslate like any other enrichment. See an example in the test.

I think this OK to add to the enricher. I think something more generic like https://github.com/ehazlett/ktranslate/tree/processors might be something we can look at in the future but this is cool to start with.


Fix Nuget package version in build.cake.

How did I arrive at the changes in this pull request?
First I used
dotnet pack --help

to figure what should have been executed.
Then I manually executed what I thought the dotnet pack command should look like, to verify that it worked:
dotnet pack -o c:\build\mongo-csharp-driver-v2.8.0\artifacts\packages --no-build --include-symbols --configuration Release -p:PackageVersion=2.8.0 c:\build\mongo-csharp-driver-v2.8.0\src\MongoDB.Bson\MongoDB.Bson.csproj

Then I figured out how to tell Cake's DotNetCorePack helper what the missing parameters should be:
NoBuild = true
    => "--no-build"

IncludeSymbols = true
    => "--include-symbols"

MSBuildSettings = new DotNetCoreMSBuildSettings()
                .WithProperty("PackageVersion", gitVersion.SemVer)
    => "--p:PackageVersion=2.8.0"

OK, so seems like there were two regressions.  One that we weren't including symbols, the other that we weren't including the release number.


Release models on HF

Hi @zzh-tech,
Niels here from the open-source team at Hugging Face. I discovered your work through the ECCV orals (congrats!). I indexed your paper at https://huggingface.co/papers/2311.08007 (feel free to claim authorship with your HF account). I work together with AK on improving the visibility of researchers' work on the hub.
I was wondering you'd be up for collaborating on releasing the checkpoints on the 🤗 hub, rather than Google Drive, to improve their discoverability. We can add tags so that people find them when filtering https://huggingface.co/models.
For instance in this case, a "video-frame-interpolation-detection" tag seems useful.
Uploading models
See here for a guide: https://huggingface.co/docs/hub/models-uploading. In case the models are custom PyTorch model, we could probably leverage the PyTorchModelHubMixin class which adds from_pretrained and push_to_hub to each model. Alternatively, one can leverages the hf_hub_download one-liner to download a checkpoint from the hub.
We encourage researchers to push each model checkpoint to a separate model repository, so that things like download stats also work. Moreover, we can then link the checkpoints to the paper page, improving their visibility.
Let me know if you need any help regarding this!
Cheers,
Niels
ML Engineer @ HF 🤗

This is a great idea, please follow up on it.


[Event Request] Table 290 VAT Amount Line - procedure DeductVATAmountLine

Dear ALAppExtensions Team,
We would like to request the following change
procedure DeductVATAmountLine(var VATAmountLineDeduct: Record "VAT Amount Line")
begin
    if FindSet() then
        repeat
            VATAmountLineDeduct := Rec;
            if VATAmountLineDeduct.Find then begin
                "VAT Base" -= VATAmountLineDeduct."VAT Base";
                "VAT Amount" -= VATAmountLineDeduct."VAT Amount";
                "Amount Including VAT" -= VATAmountLineDeduct."Amount Including VAT";
                "Line Amount" -= VATAmountLineDeduct."Line Amount";
                "Inv. Disc. Base Amount" -= VATAmountLineDeduct."Inv. Disc. Base Amount";
                "Invoice Discount Amount" -= VATAmountLineDeduct."Invoice Discount Amount";
                "Calculated VAT Amount" -= VATAmountLineDeduct."Calculated VAT Amount";
                "VAT Difference" -= VATAmountLineDeduct."VAT Difference";
                **//--> change request
                OnBeforeModifyDeductVATAmountLine(Rec,VATAmountLineDeduct)
                //<-- change request**
                Modify;
            end;
        until Next() = 0;
end;

[IntegrationEvent(false, false)]
local procedure OnBeforeModifyDeductVATAmountLine(var VATAmountLine: Record "VAT Amount Line"; VATAmountLineDeduct: Record "VAT Amount Line")
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 45720.


Add deprecation warning for Ubuntu Xenial (16.05) and other EOL distro versions

This adds a deprecation warning for distro versions that reached EOL, and for which we no longer maintain updates.
Note that the list of versions for which we produce warnings is not "complete", and only contains versions that either reached EOL recently, or LTS versions that may still be commonly in use.
With this patch;
Running inside a fedora:32 container:
DEPRECATION WARNING
    This Linux distribution (fedora 32) reached end-of-life and is no longer supported by this script.
    No updates or security fixes will be released for this distribution, and users are recommended
    to upgrade to a currently maintained version of fedora.

Press Ctrl+C now to abort this script, or wait for the installation to continue.
^C

Running inside an ubuntu:xenial container:
DEPRECATION WARNING
    This Linux distribution (ubuntu xenial) reached end-of-life and is no longer supported by this script.
    No updates or security fixes will be released for this distribution, and users are recommended
    to upgrade to a currently maintained version of ubuntu.

Press Ctrl+C now to abort this script, or wait for the installation to continue.
^C

Screenshot:

@StefanScherer @fredericdalleau ptal


Go Templating does not appear to be applied to resulting object

I'm very new to Crossplane and Composition Functions - this is probably the result of a typo or a trivial misunderstanding, but I've double-checked my work and can't see anything wrong with it, so I'm hoping that the very act of asking will help me realize my mistake 🫠
What happened?
Where I've used {{ .desired.composite.resource.spec.<field name> }} in Composition definitions, expecting the field to be plumbed through into the resulting Composite Resource, instead the string <no value> [sic] is inserted.
(Only tested so far on Vault Policies as that is the only Provider I've installed and tested. I can confirm that creating Vault Policies via direct application of a manifest works as expected)
How can we reproduce it?
Full reproduction instructions from scratch are in this repo. Assuming you have a cluster set up with Crossplane, Providers, etc. all set up (and, in particular, with a ProviderConfig named vault-provider-config for the Vault Provider), do the following:
$ kubectl apply -f -<<- EOF
apiVersion: apiextensions.crossplane.io/v1
kind: CompositeResourceDefinition
metadata:
  name: xapplicationvaultpolicies.crossplane-demo.legalzoom.com
spec:
  group: crossplane-demo.legalzoom.com
  names:
    kind: XApplicationVaultPolicy
    plural: xapplicationvaultpolicies
  versions:
    - name: v1alpha1
      served: true
      referenceable: true
      schema:
        openAPIV3Schema:
          type: object
          properties:
            spec:
              type: object
              properties:
                serviceName:
                  type: string
EOF

$ kubectl apply -f - <<- EOF
apiVersion: apiextensions.crossplane.io/v1
kind: Composition
metadata:
  name: vault-policy-example
spec:
  compositeTypeRef:
    apiVersion: crossplane-demo.legalzoom.com/v1alpha1
    kind: XApplicationVaultPolicy
  mode: Pipeline
  pipeline:
    - step: create-policies
      functionRef:
        name: function-go-templating
      input:
        apiVersion: gotemplating.fn.crossplane.io/v1beta1
        kind: GoTemplate
        source: Inline
        inline:
          template: |
            apiVersion: vault.vault.upbound.io/v1alpha1
            kind: Policy
            metadata:
              annotations:
                gotemplating.fn.crossplane.io/composition-resource-name: dev-team-policy
            spec:
              forProvider:
                name: "dev-team-policy-for-{{- .desired.composite.resource.spec.serviceName -}}"
                policy: "path \"secret/{{- .desired.composite.resource.spec.serviceName -}}\" { capabilities = [\"update\"] }"
              providerConfigRef:
                name: vault-provider-config
    - step: automatically-detect-ready-composed-resources
      functionRef:
        name: function-auto-ready
EOF

$ kubectl apply -f - <<- EOF
apiVersion: crossplane-demo.legalzoom.com/v1alpha1
kind: XApplicationVaultPolicy
metadata:
  name: application-vault-policy-for-service-1
spec:
  serviceName: my-service-1
EOF

(I've tried the templating both with and without the leading and trailing dashes - i.e. {{- .desired.[...] -}} and {{ .desired.[...] }} - same outcome both ways)
Expectation - Creation of:

A xapplicationvaultpolicies.crossplane-demo.legalzoom.com named application-vault-policy-for-service-1
A policies.vault.vault.upbound.io named dev-team-policy-for-my-service-1
A Vault Policy named dev-team-policy-for-my-service-1, with policy text path "secret/my-service-1" { capabilities = ["update"] }

Actuality - Resultant Vault Policy is named dev-team-policy-for-<no value>, with policy text path "secret/<no value>" { capabilities = "update"] }
What environment did it happen in?

Function version: v0.3.0
Running on kind local Kubernetes cluster
kubectl version --short:

Client Version: v1.27.3
Kustomize Version: v5.0.1
Server Version: v1.27.3

OS: MacOS 13.6.2
Kernel: Darwin ML-LWW96P4V61 22.6.0 Darwin Kernel Version 22.6.0: Thu Nov  2 07:43:57 PDT 2023; root:xnu-87<IP_ADDRESS>1.17~6/RELEASE_ARM64_T6000 arm64

Huh - I checked the examples, changed my template to use {{ .observed.composite.[…] }} throughout, and now it’s working as expected. So now my question becomes…why? At the time I create the Composite, isn’t the observed state nil (nothing should be observed before it’s created!) and the desired state is what I have declared should be created?

I think this is more of a general Crossplane Functions question rather than a specific question about this function, so I'll take it to the Slack and mark this issue as resolved.


Picframe hangs when mouse is active and selects a menu option

Bug report:
Describe the bug
When clicking on menu option the mouse freezes and menu stays visible. Multiple errors are generated in terminal window. Last picture remains on screen until ctrl-c.
To Reproduce
Perform a completely clean install of Buster, add samba, and finally picframe. Note that this page includes installing pi-heif while Getting Started does not. The first link shows an updated date later then the second so I installed pi-heif.
Check picframe using the default yaml, then another directory containing pictures.
Modify yaml to enable the mouse
Expected behavior
I expect to open the menu by moving the mouse to the menu area and be able to pause or turn off the display.
Screenshots
If applicable, add screenshots to help explain your problem.
What are your OS, Python and picframe versions(please complete the following information):?

Hardware: PI 3b+
OS: Fresh Buster from Imager
Python: Native to fresh Buster install (3.7)
INFO:start.py:starting ['/home/Dan/.local/bin/picframe', '-v']
picframe version:  2022.12.15
Checking required packages......
PIL :  9.4.0
pi3d :  2.49
yaml :  6.0
paho.mqtt :  1.6.1
iptcinfo3 :  2.1.4
numpy :  1.16.2
ninepatch : installed, but no version info
pi_heif :  0.9.3
defusedxml :  0.7.1

`viewer:
  blur_amount: 12                         # default=12,  larger values than 12 will increase processing load quite a bit
  blur_zoom: 1.0                          # default=1.0, must be >= 1.0 which expands the backgorund to just fill the space around the image
  blur_edges: False                       # default=False, use blurred version of image to fill edges - will override FIT = False
  edge_alpha: 0.5                         # default=0.5, background colour at edge. 1.0 would show reflection of image
  fps: 20.0                               # default=20.0
  background: [0.2, 0.2, 0.3, 1.0]        # default=[0.2, 0.2, 0.3, 1.0], RGBA to fill edges when fitting
  blend_type: "blend"                     # default="blend", choices={"blend", "burn", "bump"}, type of blend the shader can do
  font_file: "/home/Dan/picframe_data/data/fonts/NotoSans-Regular.ttf"
  shader: "/home/Dan/picframe_data/data/shaders/blend_new"
  show_text_fm: "%b %d, %Y"               # default "%b %d, %Y", format to show date over the image
  show_text_tm: 20.0                      # default=20.0, time to show text over image with file name
  show_text_sz: 40                        # default=40, text character size
  show_text: "title caption name date folder location"  # default="title caption name date folder location", show text, include combination of words: title, caption name, date, location, folder
  text_justify: "L"                       # text justification L, C or R
  text_bkg_hgt: 0.25                      # default=0.25 (0.0-1.0), percentage of screen height for text background texture
  text_opacity: 1.0                       # default=1.0 (0.0-1.0), alpha value of text overlay
  fit: False                              # default=False, True => scale image so all visible and leave 'gaps'
                                          #                False => crop image so no 'gaps'
  kenburns: False                         # default=False, will set fit->False and blur_edges->False
  display_x: 0                            # offset from left of screen (can be negative)
  display_y: 0                            # offset from top of screen (can be negative)
  display_w: null                         # width of display surface (null->None will use max returned by hardware)
  display_h: null                         # height of display surface
  display_power: 0                        # default=0. choices={0, 1}, 0 will use legacy `vcgencmd` and 1 will use `xset` to blank the display
  use_glx: False                          # default=False. Set to True on linux with xserver running

  mat_images: 0.01                        # default=0.01, True, automatically mat all images. False, don't automatically mat any images. Real value, auto-mat all images with aspect ratio difference > than value
  mat_type: null                          # default=null, A string containing the mat types to choose from when matting images. It can consist of any or
                                          # all of 'float float_polaroid float_color_wrap single_bevel double_bevel double_flat' (null or '' will use all mat types)
  outer_mat_color: null                   # default=null, Color of the outer mat as an RGB list. null will auto-select a reasonable color based on the image.
  inner_mat_color: null                   # default=null, Color of the inner mat as an RGB list. null will auto-select a reasonable color based on the image.
  outer_mat_border: 75                    # default=75, Minimum outer mat border in pixels
  inner_mat_border: 40                    # default=40, Minimum inner mat border in pixels (for styles that use it)
  outer_mat_use_texture: True             # default=True, True uses a texture for the outer mat. False creates a solid-color outer mat.
  inner_mat_use_texture: False            # default=False, True uses a texture for the inner mat. False creates a solid-color inner mat.
  mat_resource_folder: "/home/Dan/picframe_data/data/mat" # Folder containing mat image files

  show_clock: False                       # default=False, True shows clock overlay. False does not show clock overlay
  clock_justify: "R"                      # default="R", clock justification L, C, or R
  clock_text_sz: 120                      # default=120, clock character size
  clock_format: "%I:%M"                   # default="%I:%M", strftime format for clock string
  clock_opacity: 1.0                      # default=1.0 (0.0-1.0), alpha value of clock overlay

  menu_text_sz: 40                        # default=40, menu character size
  menu_autohide_tm: 10.0                  # default=10.0, time in seconds to show menu before auto hiding (0 disables auto hiding)
  geo_suppress_list: []                   # default=None, substrings to remove from the location text

model:
  pic_dir: "/home/Dan/dldnjs-pix"                   # default="/home/Dan/Pictures", root folder for images
  deleted_pictures: "/home/Dan/DeletedPictures"   # move deleted pictures here
  follow_links: False                     # default=False, By default, picframe will not walk down into symbolic links that resolve to directories. Set follow_links to True to visit directories pointed to by symlinks, on systems that support them.
  no_files_img: "/home/Dan/picframe_data/data/no_pictures.jpg" # default="PictureFrame2020img.jpg", image to show if none selected
  subdirectory: ""                        # default="", subdir of pic_dir - can be changed by MQTT"
  recent_n: 7                             # default=7 (days), when shuffling file change date more recent than this number of days play before the rest
  reshuffle_num: 1                        # default=1, times through before reshuffling
  time_delay: 200.0                       # default=200.0, time between consecutive slide starts - can be changed by MQTT
  fade_time: 10.0                         # default=10.0, change time during which slides overlap - can be changed by MQTT"
  shuffle: True                           # default=True, shuffle on reloading image files - can be changed by MQTT"
  sort_cols: 'fname ASC'                  # default='fname ASC' can be any columns in the table with optional ASC or DESC separated by commas
                                          # fname, last_modified, file_id, orientation, exif_datetime, f_number,
                                          # exposure_time, iso, focal_length, make, model, lens, rating,
                                          # latitude, longitude, width, height, title, caption, tags,
                                          # is_portrait, location
  image_attr: [                           # image attributes send by MQTT, Keys are taken from exifread library, "PICFRAME GPS" is special to retrieve GPS lon/lat, "PICFRAME LOCATION" is special to retrieve geo reverse (load_geoloc hast to be True)
    "PICFRAME GPS",
    "PICFRAME LOCATION",
    "EXIF FNumber",
    "EXIF ExposureTime",
    "EXIF ISOSpeedRatings",
    "EXIF FocalLength",
    "EXIF DateTimeOriginal",
    "Image Model",
    "Image Make",
    "IPTC Caption/Abstract",
    "IPTC Object Name",
    "IPTC Keywords"]
  load_geoloc: False                      # get location information from open street map NB if you switch this on (recommended)
  geo_key: "this_needs_to@be_changed"     # then you **MUST** change the geo_key to something unique to you
                                          # i.e. use your email address
  locale: "en_US.UTF-8"                    # "locale -a" shows the installed locales which could used
  key_list: [
    ["tourism","amenity","isolated_dwelling"],
    ["suburb","village"],
    ["city","county"],
    ["region","state","province"],
    ["country"]]
  db_file: "/home/Dan/picframe_data/data/pictureframe.db3" # database used by PictureFrame
  portrait_pairs: False
  log_level: "WARNING"                    # default=WARNING, could beDEBUG, INFO, WARNING, ERROR, CRITICAL
  log_file: ""                            # default="" for debugging set this to the path to a file. NB logging messages will
                                          # appended indefinitely so don't forget this. You will need to tidy it up later

mqtt:
  use_mqtt: False                         # default=False. Set True true, to enable mqtt
  server: "your_mqtt_broker"              # No defaults for server
  port: 8883                              # default=8883 for tls, 1883 else (tls must be "" then !!!!!)
  login: "name"                           # your mqtt user
  password: "your_password"               # password for mqtt user
  tls: "/path/to/your/ca.crt"             # filename including path to your ca.crt. If not used, must be set to "" !!!!
  device_id: "picframe"                   # default="picframe" unique id of device. change if there is more than one PictureFrame
  device_url: ""                          # if use_http==True, set url to picframe config page. Must be a valid url, or "" otherwise home assistant runs in an error.

http:
  use_http: False                         # default=False. Set True to enable http NB THIS SERVER IS FOR LOCAL NETWORK AND SHOULD NOT BE EXPOSED TO EXTERNAL ACCESS
  path: "/home/Dan/picframe_data/html"            # path to where html files are located
  port: 9000                              # port used to serve pages by http server < 1024 requires root which is *bad* idea
  use_ssl: False
  keyfile: "path/to/key.pem"              # private-key
  certfile: "path/to/cert.pem"            # server certificate

peripherals:
  input_type: mouse                        # default=null, valid options: {null, "keyboard", "touch", "mouse"}
  buttons:
    pause:                                # pause/unpause the show
      enable: True                        # default=True
      label: "Pause"                      # default="Pause"
      shortcut: " "                       # default=" "
    display_off:                          # turn off the display (when off, any input from selected peripheral will turn it back on)
      enable: True                        # default=True
      label: "Display off"                # default="Display off"
      shortcut: "o"                       # default="o"
    location:                             # shows or hides location information
      enable: False                       # default=False
      label: "Location"                   # default="Location"
      shortcut: "l"                       # default="l"
    exit:                                 # exit PictureFrame
      enable: False                       # default=False
      label: "Exit"                       # default="Exit"
      shortcut: "e"                       # default="e"
    power_down:                           # power down the device, uses sudo
      enable: False                       # default=False
      label: "Power down"                 # default="Power down"
      shortcut: "p"                       # default="p"`

INFO:start.py:starting ['/home/Dan/.local/bin/picframe', '/home/Dan/picframe_data/config/configuration.yaml']
INFO:model.Model:Open config file: /home/Dan/picframe_data/config/configuration.yaml:
Traceback (most recent call last):
  File "/home/Dan/.local/bin/picframe", line 8, in <module>
    sys.exit(main())
  File "/home/Dan/.local/lib/python3.7/site-packages/picframe/start.py", line 159, in main
    c.loop()
  File "/home/Dan/.local/lib/python3.7/site-packages/picframe/controller.py", line 326, in loop
    self.__interface_peripherals.check_input()
  File "/home/Dan/.local/lib/python3.7/site-packages/picframe/interface_peripherals.py", line 89, in check_input
    self.__handle_mouse_input()
  File "/home/Dan/.local/lib/python3.7/site-packages/picframe/interface_peripherals.py", line 288, in __handle_mouse_input
    self.__handle_click()
  File "/home/Dan/.local/lib/python3.7/site-packages/picframe/interface_peripherals.py", line 314, in __handle_click
    self.__gui.check(*self.__pointer_position)
  File "/home/Dan/.local/lib/python3.7/site-packages/pi3d/util/Gui.py", line 60, in check
    if w.visible and w.check(x, y):
  File "/home/Dan/.local/lib/python3.7/site-packages/pi3d/util/Gui.py", line 151, in check
    self._click(x, y)
  File "/home/Dan/.local/lib/python3.7/site-packages/pi3d/util/Gui.py", line 296, in _click
    super(MenuItem, self)._click(args)
  File "/home/Dan/.local/lib/python3.7/site-packages/pi3d/util/Gui.py", line 165, in _click
    self.callback(args)
  File "/home/Dan/.local/lib/python3.7/site-packages/picframe/interface_peripherals.py", line 345, in callback
    self.action()
  File "/home/Dan/.local/lib/python3.7/site-packages/picframe/interface_peripherals.py", line 362, in action
    self.ip.controller.paused = not self.ip.controller.paused
  File "/home/Dan/.local/lib/python3.7/site-packages/picframe/controller.py", line 72, in paused
    self.publish_state()
TypeError: <lambda>() missing 2 required positional arguments: 'x' and 'y'
^CYou pressed Ctrl-c!

Additional context
Add any other context about the problem here.

The error can be cured by changing the argument in line 314 of interface_peripherals.py from *self.__pointer_position to *self.__mouse_position. This eliminates the error traceback and allows the mouse to continue to be moved. Moving out of and back into the menu area exposes and hides the menu as expected. However, clicking on 'pause' does not pause the slideshow. It does however, trigger the logging in __handle_click.
It seems the special case of touch input having pi3D issues and the shared code between touch and mouse events in interface_peripherals may be interfering with detection of a menu pick by pointer location.

This issue was resolved in release 2024.02.19


Improve the notifications performance

Do comparison for the log locally, we retain all the logs except the duplication of pipeline calls.
Testing pipeline: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1503103&view=results

What does the current timings look like when running with these changes?

What does the current timings look like when running with these changes?

https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1503103&view=results

https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1505949&view=logs&j=aa003b32-1783-533e-8a1c-2d021e8f9507


Add a new project Drum Kit Online App

Project Title
Drum Kit Online
Project Description
Free online drum game where you can play drum beats, solos along to your favorite music, by clicking on the screen or with your PC keyboard. The way this website would work that we’ve got a number of keys on the webpage that represents different drums in a typical drum set and when you click on any of those buttons then you’ll get the corresponding sound of the drum. And in addition you can also use the keys on the keyboard to have a sound effect.

Stack:

[x] Html
[x] CSS
[x] JavaScript

The project is currently live at - https://srishti2128.github.io/Drum-Kit
GitHub Repo for the Project - https://github.com/Srishti2128/Drum-Kit
Kindly assign me this task @khushi-purwar so I can start working on it and make a pull request as soon as possible. I am a GSSOC'22 participant as a contributor.

I am a GSSOC'22 participant, I want to work on this issue.

I already made same kind of project , plz assign it to me

please merge my pr #68

The issue needs to be assigned first by the project admin and only after that the PR can be made as said in GSSOC guidelines. Since the issue hasn't been assigned yet, please assign it to me @khushi-purwar

@Srishti2128 you can work on it

@Kushal-2002 and @Anish1411 you cannot work on this issue, as issue is open by @Srishti2128 so issue will be assigned on the basis of first come first serve. You can raise any other issue

@Anish1411 you cannot create PR until the issue is not assigned to you.

Thanks for the assignment !!

I have made the Pull Request #111 . Kindly review and merge it.
Thank You !!


Monit: program stuck on "Initializing"

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[x] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[x] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Describe the bug
When you create a monit service of type custom the status page does not display the status right away, even if timeout is set low.
To Reproduce
Steps to reproduce the behavior:

Go to Services > Monit > Settings
Create a service of type custom
Select advanced options
Set the timeout field to a low number, like 5
Set as path a program that can run fast and not fail, like /bin/echo 1
Save and apply
Go to the monit status page, notice that this test will show as initializing, even after you wait for several minutes, like so:

Program 'myprogram'
  status                       Initializing
  monitoring status            Initializing
  monitoring mode              active
  on reboot                    start
  data collected               Thu, 10 Aug 2023 02:22:48

Expected behavior
The status show within the specified timeout.
Describe alternatives you considered
N/A.
Screenshots
N/A.
Relevant log files
N/A.
Additional context
The problem is consistent, all check program tests show the same behavior.
Other services of different types show status right away, when Monit is started.
There are no logs showing this progressing, or that seem to explain the delay.
This is the snippet from /usr/local/etc/monitrc with relevant parts included:
set httpd unixsocket /var/run/monit.sock
    allow localhost

set daemon 360 with start delay 300

set logfile syslog facility log_daemon

set mailserver <REDACTED>

set alert <REDACTED>

check program myprogram with path "/bin/echo 1" timeout 5 seconds
   if status != 0 then alert

Environment
Software version used and hardware type if relevant, e.g.:
OPNsense 23.7.1_3-amd64
FreeBSD 13.2-RELEASE-p2
OpenSSL 1.1.1v 1 Aug 2023
Intel(R) Celeron(R) CPU J1900 @ 1.99GHz (4 cores, 4 threads)

Did you wait 5 minutes after starting to recheck the status?

Yes, it then shows the correct status.

Then you have to reduce start delay :)
Close then?

Start delay only applies to custom/program tests? I thought it applied to all of them.
And the UI says it only applies on OpnSense boot, is it Monit start or boot? If it is Monit start it would be a good idea to change the help text in the UI.

I have checked in the terminal with monit status that the web ui only shows what is already defined by Monit. So, the discussion about showing the initializing message is not to be had here, but at the Monit repo.
Just to add more information: lowering the start delay to 2 minutes did not make the initializing message to go away in 2 minutes.
It seems that the first check por program is at the first daemon run, which, in my case, is 6 minutes. Those are not checked when Monit starts.
Also, there is no start delay whatsoever when restarting the service. All services are checked immediately. It would be nice to confirm this behavior, because if this is the case, then either the start delay is useless, or it really only applies to a reboot (I have not checked that).
I'll close the issue, but maybe these insights demand some exploration.
Thanks for the help.

More insight from the Monit manual, that confirms that the behavior for program is different:

Program checks are asynchronous. Meaning that Monit will not wait for the program to exit, but instead, Monit will start the program in the background and immediately continue checking the next service entry in monitrc. At the next cycle, Monit will check if the program has finished and if so, collect the program's exit status. If the status indicate a failure, Monit will raise an alert message containing the program's error (stderr) output, if any. If the program has not exited after the first cycle, Monit will wait another cycle and so on. If the program is still running after 5 minutes, Monit will kill it and generate a program timeout event. It is possible to override the default timeout (see the syntax below).

There is an issue opened at the Monit repo, and they plan to fix it, but they said they would fix it 2 years ago.
https://bitbucket.org/tildeslash/monit/issues/1019/check-program-status-shows-initializing

More insight regarding startup delay: yes, it only applies after a reboot.
See closed issue: https://bitbucket.org/tildeslash/monit/issues/829/monit-startup-delay-on-boot


Add Vibora to benchmarks.

Hi ! I would like to add Vibora to the benchmarks list. Are you open to a pull request ? :)

+1


luci-app-xfrpc: add subdomain option

Signed-off-by: Dengfeng Liu<EMAIL_ADDRESS>

Merged, thanks!

@jow-  thanks!


Time Defaults To Previous Hour When Minutes Is Not Selected

How to reproduce:

Select a day on the calender.
Select a hour
Select a minute
Repeat the first two steps, but in the second step choose a different hour
Don't select minute and just hit ok.

Expected Results:

The hour value should have been updated to the new hour value.

Actual Outcome:

The hours value stayed the same as the previous input.

Admittedly, this may be an upstream bug somewhere in the timepicker component.

I think I found the source of the bug. At https://github.com/darrenfang/vuetify-datetime-picker/blob/master/src/components/DatetimePicker.vue#L142 it specifically ignores the selection of the hours and only changes the value upon also selecting the minutes


[test_rom] remove clkmgr reenables

The hardware has been updated to reenable/reset clocks/hints on a reset,
so the test ROM no longer needs this functionality (it does not exist in
the ROM either).
This fixes #11081.
Signed-off-by: Timothy Trippel<EMAIL_ADDRESS>

i do remember doing this in the HW...but ...are we completely positive it works..? I don't recall if it was verified. @matutem ?

The clkmgr_off_peri should test this out I believe, right @matutem ?

and it looks like the test passes with the updates:

Yes, this was causing the clkmgr_off_peri to fail because the UART would come out disabled after reset, so all is working okay now if the rom doesn't explicitly turn the clocks back on,


Add support for special escaped enum cases

This will allow us to parse default for etc cases

Should we also do the same for any variable, parameter name, tuple element etc.?

We should but I wasn't sure how exactly we need to handle it, we need to think about whether we need to store both names or just unwrapped


charge-control: Adding sensor-like interface for battery charge controller ICs

Upstreaming to allow Vipul to review/comment/modify

@vrahane


Can create an annotation even if the dataset or annotationStore doesn't exist

Creating annotation store

Querying for datasets (awesome-dataset doesn't exist)

But the annotation stores do exist:

I can reproduce this issue.

I can reproduce this issue.


Fire button cancels downloads

Task/Issue URL: https://app.asana.com/0/1202552961248957/1202579465189688/f
Description
This PR ensures the fire button cancels the ongoing downloads.
Incidentally it also:

Renamed the FileDownloadManager to UrlFileDownloadCallManager and made it private to the downloads-impl module
Ensured that when ongoing downloads are cancelled, the file is also removed from the downloads folder

Steps to test this PR
Test Fire button

[ ] install from this branch
[ ] start downloading file(s) from http://ipv4.download.thinkbroadband.com
[ ] click on the fire button
[ ] verify the in progress download notification(s) disappear
[ ] verify the files in overlow menu -> downloads are no longer there

Test cancel download

[ ] start downloading file(s) from http://ipv4.download.thinkbroadband.com
[ ] cancel the download (either from notification or overflow menu -> downloads screen)
[ ] verify the file is cancel and gone from Downloads folder

Current dependencies on/for this PR:

develop

PR #2039

PR #2056

PR #2058   👈

This comment was auto-generated by Graphite.


Added -ldl to hdf5 [BUILD-511]

See https://swift-nav.atlassian.net/jira/software/projects/BUILD/boards/227?selectedIssue=BUILD-511
Tested on orion-engine's CI pipeline

@wwieclaw I think we can close this one right?


Is there plans for using managed identity with Argo server SSO

Summary
I noticed that currently there's only client-secret solution for Argo Server SSO. Is there plans for enabling managed identity in Argo Server SSO?
Use Cases
We are currently deprecating client secrets and we noticed that one client secret we are using is for Argo Server SSO.

Message from the maintainers:
Love this feature request? Give it a 👍. We prioritise the proposals with the most 👍.

Can you elaborate on what you mean by "managed identity"? That's not a standardized term.
Azure appears to have a managed identities feature that you might be referring to?


GenSpring: Need user edit process

MySQL builds are generating basic pages fro this but more to do plus needs to work for SQLite.

Add handler for type password fields
columns that need treated like passwords, not shown, have second check field on edit screen and encrypted.
Account.passwords=password

in genSpringVersion 0.3.0


apmint: Unlink socket in Detach() operation

We missed to unlink the unix socket if the Detach() operation is called for a process.

While APM agents MUST create the socket to establish the connection between the profiling and APM agent, responsibility is not well defined in cases of shutdown/close situations. Unlink() is used here to remove references from the ebpf profiling agent on this socket. As long as the APM agent, that created the socket, binds to the socket, the socket will be available and just the reference from the ebpf profiling agent will be removed from this socket.

I'm not sure what you are referring to here. This is a connection-less DGRAM socket. On the agent side, the socket's lifetime is the lifetime of the profiler itself:
https://github.com/open-telemetry/opentelemetry-ebpf-profiler/blob/84cce0a2aff60bced9fc9d1543a6393837f8d63d/interpreter/apmint/socket.go#L26-L29
There shouldn't be any reference to the socket that can or needs to be closed. When the profiler exits, the OS automatically frees the socket.
With your patch, I'm assuming that restarting the profiler would prevent the APM process from being picked up after restart.

Thanks for the points. I might have been confused by the naming.

Just for my understanding:

The profiling agent creates an unbounded/connection-less UNIX-domain socket, which will be closed on agent termination.
The agent uses sendto() which creates the named pipe (FIFO) in the file system, if it doesn't exist. In case that there are no APM agents (or whoever is responsible for unlinking that file), this named pipe will not be removed automatically on agent termination. Or what if the were APM agents, but stopped right before the call of sendto()?

Florian might be right and have a (smallish) cleanup issue. Please correct me if I am wrong.

I don't think that sendto ever creates a socket. If the APM agent happens to go away between stat and sendto, the latter will simply fail:
$ echo hi | socat - UNIX-SENDTO:./mysocket
2024/12/09 17:41:16 socat[149533] E sendto(5, 0x55a79f481000, 3, 0, AF=1 "./mysocket", 12): No such file or directory

I don't think that sendto ever creates a socket. If the APM agent happens to go away between stat and sendto, the latter will simply fail:
$ echo hi | socat - UNIX-SENDTO:./mysocket
2024/12/09 17:41:16 socat[149533] E sendto(5, 0x55a79f481000, 3, 0, AF=1 "./mysocket", 12): No such file or directory

Thanks for testing. Somehow I ended up on the FreeBSD man page - and it not 100% clear when the socket file is created. The Linux man page indicates that the socket is created with bind().
Looks like we are fine then.


CQRS settings are now validated in one place

Will wait for @net-free to check and fix integration tests.


refactoring: remove redundant PlatformAdapter interface

What type of PR is this?
/kind cleanup
What does does this PR do / why we need it:
Remove seemingly redundant PlatformAdapter interface
Which issue(s) this PR fixes:
N/A
How to test changes / Special notes to the reviewer:
Behavior shouldn't be impacted.

@metacosm please open an issue and discuss in the public slack channel before opening PRs if possible 🙂

I wanted to check the tests actually before proposing this as an actual change, hence the draft status… 😉

I wanted to check the tests actually before proposing this as an actual change, hence the draft status… 😉

Test are not automatically executed on Draft PRs ;-) You need to manually trigger them
/test all

/retest

I would prefer to use the interface as that enforces a layer of abstraction and someday allows someone to mock it for unit tests

I would prefer to use the interface as that enforces a layer of abstraction and someday allows someone to mock it for unit tests

Can you please explain? There's already such an interface: ComponentAdapter.

/retest

/approve
/lgtm
looks good and is a small change - just refactors an interface

/retest


PR - Fixed The Activites After Auth

First thing, PLEASE READ THIS: ReactPlay Code Review Checklist

Description
After auth play was not getting liked because in nhost intializating it requires subdomain and region.
Fixes # (issue)
Type of change

[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Hi @priyankarpal
How can I see live preview of this PR

Hi @priyankarpal How can I see live preview of this PR

now you can check. We(maintainers) have to accept the deployment after you can see the deployed site.

Looks Good 🎉

Is feature working after auth?

Looks Good 🎉

Is feature working after auth?

yes

@all-contributors please add @chhakuli123 for code


What is the Correct Use of Set-AzJitNetworkAccessPolicy to Set Policy for Multiple VMs?

Following these steps to set JIT VM access via PowerShell has the expected result for VMNAME:
$JitPolicy = (@{ id="/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Compute/virtualMachines/VMNAME"
ports=(@{
     number=22;
     protocol="*";
     allowedSourceAddressPrefix=@("*");
     maxRequestAccessDuration="PT3H"},
     @{
     number=3389;
     protocol="*";
     allowedSourceAddressPrefix=@("*");
     maxRequestAccessDuration="PT3H"})})
$JitPolicyArr=@($JitPolicy)
Set-AzJitNetworkAccessPolicy -Kind "Basic" -Location "LOCATION" -Name "default" -ResourceGroupName "RESOURCEGROUP" -VirtualMachine $JitPolicyArr

Calling Get-AzJitNetworkAccessPolicy returns
Id                : /subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Security/locations/[location]/jitNetworkAccessPolicies/VMNAME
Name              : default
Kind              : Basic
VirtualMachines   : {/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Compute/virtualMachines/VMNAME}
Requests          : {}
ProvisioningState : Succeeded

However, following the same steps a second time for VMNAMEB overwrites the first policy for VMNAME:
$JitPolicy = (@{ id="/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Compute/virtualMachines/VMNAMEB"
ports=(@{
     number=22;
     protocol="*";
     allowedSourceAddressPrefix=@("*");
     maxRequestAccessDuration="PT3H"},
     @{
     number=3389;
     protocol="*";
     allowedSourceAddressPrefix=@("*");
     maxRequestAccessDuration="PT3H"})})
$JitPolicyArr=@($JitPolicy)
Set-AzJitNetworkAccessPolicy -Kind "Basic" -Location "LOCATION" -Name "default" -ResourceGroupName "RESOURCEGROUP" -VirtualMachine $JitPolicyArr

Calling Get-AzJitNetworkAccessPolicy returns:
Id                : /subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Security/locations/[location]/jitNetworkAccessPolicies/VMNAMEB
Name              : default
Kind              : Basic
VirtualMachines   : {/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Compute/virtualMachines/VMNAMEB}
Requests          : {}
ProvisioningState : Succeeded

Even worse, it leaves the NSG rule for VMNAME even though the policy is gone.
What PowerShell will result in setting the JIT policies for both VMs?

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

ID: 25f0758b-8274-d2b5-4702-2c7ca6b0b14a
Version Independent ID: d1215107-abf9-fefd-a63b-b20ec3f7f744
Content: Just-in-time virtual machine access in Azure Security Center
Content Source: articles/security-center/security-center-just-in-time.md
Service: security-center
GitHub Login: @monhaber
Microsoft Alias: v-mohabe

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

It looks as if setting the -Name parameter sets the JIT policies for both VMs, but it doesn't appear to be documented anywhere if this is compatible with how Azure Security Center behaves.
Following the steps and setting -Name VMNAME appears to work:
$JitPolicy = (@{ id="/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Compute/virtualMachines/VMNAME"
ports=(@{
     number=22;
     protocol="*";
     allowedSourceAddressPrefix=@("*");
     maxRequestAccessDuration="PT3H"},
     @{
     number=3389;
     protocol="*";
     allowedSourceAddressPrefix=@("*");
     maxRequestAccessDuration="PT3H"})})
$JitPolicyArr=@($JitPolicy)
Set-AzJitNetworkAccessPolicy -Kind "Basic" -Location "LOCATION" -Name VMNAME -ResourceGroupName "RESOURCEGROUP" -VirtualMachine $JitPolicyArr

Calling Get-AzJitNetworkAccessPolicy returns
Id                : /subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Security/locations/[location]/jitNetworkAccessPolicies/VMNAME
Name              : VMNAME
Kind              : Basic
VirtualMachines   : {/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Compute/virtualMachines/VMNAME}
Requests          : {}
ProvisioningState : Succeeded

Following the same steps a second time for VMNAMEB and setting -Name VMNAMEB also appears to work
$JitPolicy = (@{ id="/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Compute/virtualMachines/VMNAMEB"
ports=(@{
     number=22;
     protocol="*";
     allowedSourceAddressPrefix=@("*");
     maxRequestAccessDuration="PT3H"},
     @{
     number=3389;
     protocol="*";
     allowedSourceAddressPrefix=@("*");
     maxRequestAccessDuration="PT3H"})})
$JitPolicyArr=@($JitPolicy)
Set-AzJitNetworkAccessPolicy -Kind "Basic" -Location "LOCATION" -Name VMNAMEB -ResourceGroupName "RESOURCEGROUP" -VirtualMachine $JitPolicyArr

Calling Get-AzJitNetworkAccessPolicy now returns:
Id                : /subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Security/locations/[location]/jitNetworkAccessPolicies/VMNAME
Name              : VMNAME
Kind              : Basic
VirtualMachines   : {/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Compute/virtualMachines/VMNAME}
Requests          : {}
ProvisioningState : Succeeded

Id                : /subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Security/locations/[location]/jitNetworkAccessPolicies/VMNAMEB
Name              : VMNAMEB
Kind              : Basic
VirtualMachines   : {/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Compute/virtualMachines/VMNAMEB}
Requests          : {}
ProvisioningState : Succeeded

@mjcarrabine The PR for the fix has been created and it will be merged soon. Thanks again for pointing this out, I am closing the issue based on this update, please let us know if there is something else that we can help you with.

Thank you @SaurabhSharma-MSFT.
Any idea when we can expect to documentation to be updated?

@SaurabhSharma-MSFT The most recent commit to this page does not seem to have addressed my issue.
Separately, I updated my suggestion on 1 August because it does not solve the problem either.
So, my original question still stands: What PowerShell will result in setting the JIT policies for both VMs?

Since my 1 August attempt at a solution didn't work, this is the best I could come up with.
Instead of changing the -Name parameter, this function retrieves the existing policy, removes any existing policies for the VM we are adding a policy for, adds the new policy, and submits the full updated policy to Set-AzJitNetworkAccessPolicy. It would be great if there were a better way.
Given that JIT Network Access seems to be one of Azure's top security recommendations, I am amazed that I can't find anywhere in the documentation to automate enabling JIT Network Access on VMs if you have more than 1 machine per resource group.
Function Set-IRMJITNetworkAccessPolicy {
	Param (
		[String]$ResourceGroupName,
		[String]$Location,
		[String]$Name = "default",

		[Parameter(Position = 0, Mandatory = $True, HelpMessage = 'Specify the VM Name')]
		[String]$VirtualMachineName,

		[Parameter(Position = 1, Mandatory = $True, HelpMessage = 'Specify remote access port, must be a number between 1 and 65535.')]
		[ValidateRange(1, 65535)]
		[Int]$Port,

		[Parameter(Position = 2, HelpMessage = 'Source IP Address Prefix. (IP Address, or CIDR block) Default = Your IP')]
		[String]$AddressPrefix,

		[Parameter(Position = 3, HelpMessage = 'Specify time range in hours, valid range: 1-24 hours')]
		[ValidateRange(1, 24)]
		[Int]$Time
	)

	$VMInfo = Get-AzVM -ResourceGroup $ResourceGroupName -Name $VirtualMachineName

    $NewJitPolicy = (@{
            id    = "$($VMInfo.Id)"
            ports = (@{
                    number                     = $Port;
                    protocol                   = "*";
                    allowedSourceAddressPrefix = @("$AddressPrefix");
                    maxRequestAccessDuration   = "PT$($time)H"
                })
        })

	Write-Host "Get Existing JIT Policy. You can Ignore the error if not found."
	$ExistingJITPolicy = (Get-AzJitNetworkAccessPolicy -ResourceGroupName $ResourceGroupName -Location $Location -Name $Name).VirtualMachines
	$UpdatedJITPolicy = $ExistingJITPolicy.Where{$_.id -ne "$($VMInfo.Id)"} # Exclude existing policy for $VirtualMachineName
	$UpdatedJITPolicy.Add($NewJitPolicy)

    #! Enable Access to the VM including management Port, and Time Range in Hours
    Write-Host "Enabling Just in Time VM Access Policy for ($VirtualMachineName) on port number $Port for maximum $time hours..."
    Set-AzJitNetworkAccessPolicy -VirtualMachine $UpdatedJITPolicy -ResourceGroupName $ResourceGroupName -Location $Location -Name $Name -Kind "Basic" | Out-Null
}

Just wanted to second the above. I'm looking at jit enablement and falling over these gotchas


unstable_batchedUpdates undefined, replaces batchUpdate function

Ran into this issue when working through the react-treasurehunt example on Windows.
injectBatchingStrategy in Relay's GraphQLStoreChangeEmitter.js was for some reason being called with an undefined parameter, causing no updates to occur.
I might be linked to this issue here: facebook/relay#127, but I'm just beginning with Relay/Webpack and have no idea.
I fixed it in my own solution by checking if the function is defined before replacing it.
injectBatchingStrategy: function injectBatchingStrategy(batchStrategy) {
	if(typeof batchStrategy != 'undefined' )
	{
		batchUpdate = batchStrategy;
	}
},

Ah, my particular issue with Relay should be fixed in commit facebook/relay@2d82240

And fixed for good in facebook/relay@0c9725d5fe2156d194f8209f61d2c0870c507795! We'll get a new release out today.


Add more in app notifications

[x] Somebody holds a bag for longer than 7 days
[ ] A new bulky item is added priority
[ ] There is a significant route change: somebody within 2 before or 2 after has been changed
[ ] Somebody else set you to a bag

@tobifaf If your interested?
Start off with finishing off A new bulky item is added, create a PR for that, then we call look at the others in this list

sure thing!

Awesome! for code references/example find the flow for Somebody holds a bag for longer than 7 days

@lil5 What exactly do you mean with that flow? I could only find:
https://github.com/the-clothing-loop/website/blob/60fbd78fe2fea9f4119c82f172cd726b2581edb0/app/src/pages/BagsList.tsx#L341C23-L341C23

@tobifaf https://github.com/the-clothing-loop/website/blob/main/server/internal/controllers/cron.go see the hourly cron

as discussed and tested, the "A new bulky item is added priority" is already working

Somebody else set you to a bag is fixed here: https://github.com/the-clothing-loop/website/pull/584

@lil5 can you have a look at this proposal for making sure users are not getting alot of the same notifications? https://github.com/the-clothing-loop/website/commit/bef9e99c9dca33c06ce023c824182cb9713f9de8

@tobifaf good idea, there are no in memory hashmap packages (think redis but living in the go runtime), we could use for a more global approach?

@lil5, concurrent-map seems a nice and simple solution. Do you prefer to have this as sort of a more generic "key/value in-application" db?

@tobifaf Before coding could you please create a mermaid document explaining what/how you want it to work.

sure thing!

@lil5 can you have a look at #658 ? This is my proposal for the debounced notification system.


Create Conda Release and push to bokeh channel

Released this morning, can be installed with:
conda install -c bokeh datashader. Closing.


selectrum doesn't work with org-agenda-refile

ISSUE
I have the following org-mode configuration settings in my init.el (tried to put together a minimally reproducible example):
(custom-set-variables
 '(org-tag-persistent-alist
   '(("TARGET" . ?t)))
 '(org-tags-exclude-from-inheritance (quote ("TARGET")))
 '(org-refile-targets
   '((nil . (:level . 1))
     (nil . (:tag . "TARGET"))))
 '(org-refile-use-outline-path t)
 '(org-goto-interface 'outline-path-completion)
 ;; prefer in-steps that ido for refile completion
 ;; '(org-completion-use-ido t)
 '(org-outline-path-complete-in-steps t))

I am able to reproduce the problem with the following content in an org file:

* TOPLEVEL
** LEVEL ONE TARGET                                                 :TARGET:
** LEVEL ONE NONTARGET
*** LEVEL TWO TARGET                                               :TARGET:

* INBOX

** stuff to be refiled

Trying to refile "stuff to be refiled" item results in only the top-level items being offered, and no way to navigate into the :TARGET: nodes in any way.

When disabling selectrum and only using "bare" Emacs settings (even without IDO or IVY) I am given the expected multi-step choices:

BTW, I have raised similar issues against IVY.
Regarding IDO, it works fine in the sense that it lists all valid paths as options to select from, but personally I prefer not to enable the org-completion-use-ido option, and use the in-step completion instead. In that case IDO still helps with the completion of only the next step from the current position, which would be my ideal behaviour, instead of showing the possibilities for complete paths.
ENVIRONMENT
OS
Debian 11
Emacs
GNU Emacs 27.1

I've looked at my old issue filed with ivy, and they seem to be referring to this workaround to disable the org-outline-path-complete-in-steps option.
I've tried it with selectrum, and  indeed this reverts back to showing possible completions for complete paths.

This is less than my ideal in-step org interface, but could be an acceptable workaround if no better solution is possible.


async: remove useless + 'a in TAITs.

These aren't needed, they're already implied by the type having 'a as a generic param.

r? @therealprof
(rust-highfive has picked a reviewer for you, use r? to override)


DataBufferLimitException at querying pokemon mew

Querying Mew results in a DataBufferLimitException.
Caused by: org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer : 550000
It's set here: https://github.com/SirSkaro/pokeapi-reactor/blob/master/src/main/java/skaro/pokeapi/PokeApiReactorBaseConfiguration.java#L39
Is there a legal way to modify this limit, or do I have to recompile the source my self?

I ran into that same problem when querying /pokemon/mew during development and upped the buffer to 550k from the default size. But I guess Mew has even more data now. I really should have made that buffer limit an externalized configuration.
If you like you can create a pull request to set the max buffer size in PokeApiConfigurationProperties (via a .properties/.yaml file) with a default value that handles the /pokemon/mew resource. Otherwise I probably won't get around to this until some time in May.

Created a package  for version 1.0.6 that includes your PR. Just need to update your dependency and you're good to go! Thanks again for contributing!


Allow clients to be created against alternate hosts.

With the launch of some of the Microsoft Cognitive Services in China, this
nodejs client library has been updated to allow users to specify alternate
host names.  For a Chinese, you might create a client thus:
var face = new oxford.Client(YOUR_CN_FACE_KEY,
'https://api.cognitive.azure.cn').face;
face.detect(...)
Note that you will need to get a API key from azure.cn for accessing
Cognitive Services in China.

Also, quite obviously, I'll add you as a contributor. I'm sorry that you had to wait forever for my approval, that really should never be the case ;-) If you want to shoot me your npm username, I can even allow you to publish the whole beast!

No worries, if something's urgent, I'll be sure to let you know.