Revoke access to Github Organisation if users doesn't have a linked MoJ email address

We have an issue with audit and management of Github accounts. To address this we have set a policy that all users of the MoJ Github organisation should link an MoJ email account - https://github.com/orgs/ministryofjustice/teams/no-verified-domain-email/discussions/2
This story is to remove everyone without @digital.justice.gov.uk, @justice.gov.uk, or @cica.gov.uk from our GitHub org, and make them all outside collaborators, but manage outside collaborators using Terraform.
Transferred from Cloud Platform - https://github.com/ministryofjustice/cloud-platform/issues/1798

IIRC, the reason this is blocked is because the GitHub API does not make it possible to confirm whether users in the org. have a MoJ email address or not. I believe you can tell in some cases, if the user has chosen to make that part of their profile visible (public?) but you can't reliably tell in every case.
I think this information is available to org. admins via the web interface, and Steve Marshall wrote some code to scrape the UI to get this information, but that's probably not a reliable way to manage this for the medium/long term.
The best approach is probably to keep nagging github until they extend their API - we're definitely not the only organisation that needs this feature - but that could take a while.

I did a bit of digging on this - you can access external SAML identity email address relationships through the GitHub GraphQL API using a query that utilises externalIdentities:
query {
  organization(login:"ministryofjustice") {
    samlIdentityProvider {
      externalIdentities(first: 100) {
        edges {
          cursor
          node {
            samlIdentity {
              nameId
            }
            user {
              login
            }
          }
        }
      }
    }
  }
}

This returns JSON in this shape:
{
  "organization": {
    "samlIdentityProvider": {
      "externalIdentities": {
        "edges": [
          {
            "cursor": "[redcated]",
            "node": {
              "samlIdentity": {
                "nameId": "${saml_identity_email}"
              },
              "user": {
                "login": "${github_username}"
              }
            }
          }
...

You could get users without a SAML-connected identity by comparing it with the GraphQL query for all members within an organisation - but then, converting them to GitHub collaborators is the harder bit 👍🏼 😄

Worth a spike to see if we can get the data out using this.

We have insufficient licences to do that.

When a user does a the push event, there email is added as a webhook
${{github.event.pusher.email}}
See: https://developer.github.com/webhooks/event-payloads/#push

Also possible to find someone email address using the Github API url below and applying the persons Github handle. It will return alot of text data but a search for email will eventually display the persons assigned email address
https://api.github.com/users/XXXXXXXX/events/public
https://api.github.com/users/NickWalt01/events/public

@NickWalt01 I looked into this previously, and you can set any author email - e.g. mine is<EMAIL_ADDRESS>(https://api.github.com/users/jakemulley/events/public).

Github has API can query for data
https://docs.github.com/en/rest
https://docs.github.com/en/rest/reference/orgs
https://docs.github.com/en/rest/reference/users
https://docs.github.com/en/rest/reference/search#search-users
https://docs.github.com/en/rest/reference/collaborators

@jakemulley Ok thanks, I see what you mean, can exclude that option then

Related reading material:
https://docs.github.com/en/organizations/managing-membership-in-your-organization/removing-a-member-from-your-organization
https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/removing-an-outside-collaborator-from-an-organization-repository
https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/converting-an-organization-member-to-an-outside-collaborator
https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/best-practices-for-leaving-your-company
https://docs.github.com/en/organizations/organizing-members-into-teams/removing-organization-members-from-a-team
https://docs.github.com/en/organizations/managing-membership-in-your-organization/exporting-member-information-for-your-organization
https://docs.github.com/en/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization

https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/viewing-people-with-access-to-your-repository
https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/managing-an-individuals-access-to-an-organization-repository
https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository
https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization|
https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/removing-an-outside-collaborator-from-an-organization-repository
https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/converting-an-organization-member-to-an-outside-collaborator
https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/converting-an-outside-collaborator-to-an-organization-member
https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/reinstating-a-former-outside-collaborators-access-to-your-organization

simple GraphQL API call using curl
curl -H "Authorization: bearer ADD-PAT-HERE" -X POST -d "
{
"query": "query { viewer { login }}"
}
" https://api.github.com/graphql

Create a PAT for GraphQL using these settings

Allow the GH tool access to the repo to build and test out GraphQL queries:  https://docs.github.com/en/graphql/overview/explorer
The tool will need a PAT with the about settings enabled, it will connected the tool with the PAT automatically.
The tool with be listed in the user's GH settings as a connected tool if the user needs to revoke the tools access.

Owner permission is needed by the user to run the queries that require admin:org setting

Relevant GraphQL items:
User:
User has an interactionAbility object: https://docs.github.com/en/graphql/reference/objects#repositoryinteractionability
This has a limit object: https://docs.github.com/en/graphql/reference/enums#repositoryinteractionlimit this can be either NO_LIMIT, EXISTING_USERS, CONTRIBUTORS_ONLY or COLLABORATORS_ONLY
Repo:
Repo has a collaborators object: https://docs.github.com/en/graphql/reference/objects#repositorycollaboratorconnection
Inside it is an edges (RepositoryCollaboratorEdge) object: https://docs.github.com/en/graphql/reference/objects#repositorycollaboratoredge
For the collaborators object can filter users using these enum options ALL, DIRECT and OUTSIDE : https://docs.github.com/en/graphql/reference/enums#collaboratoraffiliation
The edges will list all the repo users and their details.
Organisation:
The organisation object has the membersWithRole object: https://docs.github.com/en/graphql/reference/objects#organizationmemberconnection
In that object is an edge object which contains a node object which lists all the organisation users and their details.
There is a mutation to remove a collaborator:
https://docs.github.com/en/graphql/reference/mutations#removeoutsidecollaborator
https://docs.github.com/en/graphql/reference/input-objects#removeoutsidecollaboratorinput
mutation MyMutation {
__typename
removeOutsideCollaborator(input: {userId: "", organizationId: ""})
}

Will need to use the REST API to make changes to a user:
Create an organization invitation
https://docs.github.com/en/rest/reference/orgs#create-an-organization-invitation
Remove an organization member
https://docs.github.com/en/rest/reference/orgs#remove-an-organization-member
Set organization membership for a user
https://docs.github.com/en/rest/reference/orgs#set-organization-membership-for-a-user
Remove organization membership for a user
https://docs.github.com/en/rest/reference/orgs#remove-organization-membership-for-a-user
Convert an organization member to outside collaborator
https://docs.github.com/en/rest/reference/orgs#remove-organization-membership-for-a-user
Remove outside collaborator from an organization
https://docs.github.com/en/rest/reference/orgs#remove-outside-collaborator-from-an-organization
List repository collaborators
https://docs.github.com/en/rest/reference/collaborators#list-repository-collaborators
Add a repository collaborator
https://docs.github.com/en/rest/reference/collaborators#add-a-repository-collaborator
Remove a repository collaborator
https://docs.github.com/en/rest/reference/collaborators#remove-a-repository-collaborator

See
https://github.com/ministryofjustice/github-collaborators/blob/main/scripts/approved-email-domain-check.py
and
https://github.com/ministryofjustice/github-collaborators/blob/main/.github/workflows/approved-email-check.yml
The checks done on the CI affect this repo and team:
https://github.com/orgs/ministryofjustice/teams/no-verified-domain-email
https://github.com/ministryofjustice/no-verified-domain-email-repo


Run daemon at start-up

Is your feature request related to a problem? Please describe.
Increase peer participation and hyperdrive availability.
Describe the solution you'd like
Start the daemon on start-up and let it run indefinitely without starting Beaker.
Pause the daemon in any of these conditions:

Beaker isn’t running and the device is powered from battery.
Beaker isn’t running and the device’s is on a metered network connection.

(There are APIs for both of these on Linux, macOS, and Windows.)
Describe alternatives you've considered
The status-quo.
Secondary: Updates
Auto-updates should probably be moved out into this background daemon.

I can take a crack at this if it would be helpful. Basically add a setting that if enabled would launch the PM2 with noPM2DaemonMode set to false, and if disabled, kill the running hyperdrive-daemon and restart it with noPM2DaemonMode set to true? We can display a confirmation window, as this would need to be a "restart beaker to on change" type request.
The pausing on battery and metered service is a neat idea, but I think it would need to be implemented in the hyperdrive-daemon first, as it would need to operate when beaker is closed, and would effect all other clients using the daemon.

@matthewauld +1 for you to hit this but it actually would require a different approach - you need to start beaker, not something else.
It looks like for windows and mac we can use a builtin API (https://www.electronjs.org/docs/api/app#appsetloginitemsettingssettings-macos-windows). For linux we may need to use https://www.npmjs.com/package/auto-launch

Ah, OK - so you want beaker to keep the daemon running - sounds good. I can take a look.

Yeah it's somewhat confusing but Beaker actively manages hyperdrive-daemon and ties its lifecycle together. When you close Beaker to the tray, Beaker stays running.

So, just so I know I am on the right track with this: I would need to expose the
setBeakerAtStartup(bool) function  (or whatever I call it) through the browser object in browser.js, so that when the user toggles the setting the change is made, right?
And I am guessing also we would check to ensure that autostart is set correctly at each startup?

@matthewauld that sounds right, since it's more than just a setting in the internal settings db, putting a method on the browser internal RPC should be the way to go

@pfrazee sorry this has taken so long - got sidetracked this week.
I have it working on linux and will test on mac a little later today. I don't have a windows box
Currently it only checks to ensure "launch on startup" is set correctly when you actually change the setting, but they could get out of sync, say, if a user removes beaker from the startup list in the OS. To fix that I was just going to write some code that ensured they were in sync every time beaker starts up  - I just don't know where the best place to put "run on program start" stuff is  - should it be in main.js, browser.js setup function, or somewhere else?
I can package that up as a pull request and then figure out the metered connection and battery options.

@matthewauld No need to apologize! Contributions are gifts, not obligations
I think you've got a handle on things. Just make the call on where to put that code and I'll review the PR. No big deal to make changes (and I'm happy to make changes on things like that rather than punt back to you)


Issues with restoring to the previous state after updates and power outages.

Hi, do you have any thoughts on how to make an ESP32 (flashed with ESPHome) retain its state after a restart? Currently, with each update or power outage, I have to set the brightness and color from the beginning. If this is a straightforward question and I should know the answer, please point me in the direction where I can find it. Below, I'm providing YAML with code for ESPHome, which I am using.
yldl01yl:
substitutions:
  name: yldl01yl

esphome:
  name: ${name}

esp32:
  board: esp32doit-devkit-v1
  framework:
    type: esp-idf
    sdkconfig_options:
      CONFIG_FREERTOS_UNICORE: y
    advanced:
      ignore_efuse_mac_crc: true

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  fast_connect: true
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "yldl01yl Fallback Hotspot"
    password: "************"

ota:

logger:
  level: DEBUG

api:

output:
  - platform: ledc
    pin: GPIO19
    id: output_warm
    power_supply: power
    min_power: 0.13
    max_power: 0.77
    frequency: 1220Hz
    zero_means_zero: true
  - platform: ledc
    pin: GPIO21
    id: output_cold
    power_supply: power
    frequency: 1220Hz
    zero_means_zero: true
    min_power: 0.13
    max_power: 0.76

  - platform: ledc
    pin: GPIO23
    id: output_nightlight
    power_supply: power

  - platform: ledc
    pin: GPIO33
    id: output_red
    power_supply: power
  - platform: ledc
    pin: GPIO26
    id: output_green
    power_supply: power
  - platform: ledc
    pin: GPIO27
    id: output_blue
    power_supply: power

power_supply:
  - id: power
    pin: GPIO22
    enable_time: 0s
    keep_on_time: 0s

light:
  - platform: monochromatic
    name: "${name} night light"
    id: night_light
    output: output_nightlight
    gamma_correct: 0
    on_turn_on:
      - light.turn_off: ceiling_light
  - platform: cwww
    name: "${name} ceiling light"
    id: ceiling_light
    cold_white: output_cold
    warm_white: output_warm
    cold_white_color_temperature: 6500 K
    warm_white_color_temperature: 2700 K
    constant_brightness: true
    gamma_correct: 0
    on_turn_on:
      - light.turn_off: night_light
  - platform: rgb
    name: "${name} ambient light"
    red: output_red
    green: output_green
    blue: output_blue
    gamma_correct: 0

ylxd013-b:
substitutions:
  name: ylxd013-b

esphome:
  name: ${name}

esp32:
  board: esp32doit-devkit-v1
  framework:
    type: esp-idf
    sdkconfig_options:
      CONFIG_FREERTOS_UNICORE: y
    advanced:
      ignore_efuse_mac_crc: true

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  fast_connect: true
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "ylxd013-b Fallback Hotspot"
    password: "*************"

ota:

logger:
  level: DEBUG

api:

output:
  - platform: ledc
    pin: GPIO19
    id: output_warm
    power_supply: power
#   min_power: 0.13
    max_power: 0.50
  - platform: ledc
    pin: GPIO21
    id: output_cold
    power_supply: power
#   min_power: 0.13
    max_power: 0.96

  - platform: ledc
    pin: GPIO23
    id: output_nightlight
    power_supply: power

  - platform: ledc
    pin: GPIO33
    id: output_red
    power_supply: power
  - platform: ledc
    pin: GPIO26
    id: output_green
    power_supply: power
  - platform: ledc
    pin: GPIO27
    id: output_blue
    power_supply: power

power_supply:
  - id: power
    pin: GPIO22
    enable_time: 0s
    keep_on_time: 0s

light:
  - platform: monochromatic
    name: "${name} night light"
    id: night_light
    output: output_nightlight
    gamma_correct: 0
    on_turn_on:
      - light.turn_off: ceiling_light
  - platform: cwww
    name: "${name} ceiling light"
    id: ceiling_light
    cold_white: output_cold
    warm_white: output_warm
    cold_white_color_temperature: 6500 K
    warm_white_color_temperature: 2700 K
    constant_brightness: true
    gamma_correct: 0
    on_turn_on:
      - light.turn_off: night_light
  - platform: rgb
    name: "${name} ambient light"
    red: output_red
    green: output_green
    blue: output_blue
    gamma_correct: 0

You are looking for a feature which is missing in ESPHome as far as I know. At the moment only the state (on/off) of a light entity can be restored easily. This doesn't include the brightness and color/colortemp.

I've extended all my automations by the expected default (colortemp + brightness):
  action:
    - service: light.turn_on
      entity_id: light.nursery
      data:
        brightness_pct: 100
        color_temp: 370

In this case the previous state of the light doesnt matter anymore. Sometimes I've a input_number per room to be able to pick up some easily configurable defaults:
  action:
    - service: light.turn_on
      entity_id: light.nursery_nightlight
      data_template:
        brightness_pct: "{{ states('input_number.nursery_light_brightness_double_click')|int(1) }}"
        color_temp: 370

# ...

    - service: light.turn_on
      entity_id: light.nursery
      data_template:
        brightness_pct: "{{ states('input_number.nursery_light_brightness_single_click')|int(100) }}"
        color_temp: 370

This is another workaround to manipulate some settings on boot to avoid unloved states:
# https://github.com/syssi/philipslight
esphome:
  name: "${hostname}"
  platform: ESP8266
  board: esp_wroom_02
  board_flash_mode: dout
  includes:
    - common/custom_components/xiaomi_light.h
  on_boot:
    then:
      - light.turn_on:
          id: bulb
          brightness: "$brightness_on_boot"
          color_temperature: 333mireds

Please don't copy&paste the complete code block. The on_boot section is the relevant part for you!

It's some idea, thanks. I'll probably go with the second option.


Support async-std as an executor

Checklist

[x] I have read the Contributor Guide
[x] I have read and agree to the Code of Conduct
[x] I have added a description of my changes and why I'd like them included in the section below

Description of Changes
This PR adds support for the async-std executor.
It also fixed the feature exclusivity check to include all combinations of executor features.
I'm using poll-promise in combination with async-std in my egui-y GUI for magic-wormhole. One of my dependencies brings in async-std, so to avoid bloating my app with another executor I decided to also use async-std.

async-io pulls in two different versions of windows-sys though, which is a bit sad. This should be fixable with a PR to async-io. We can also add an exception to deny.toml in the meantime.
 error[duplicate]: found 2 duplicate entries for crate 'windows-sys'
   ┌─ /github/workspace/Cargo.lock:59:1
   │
59 │ ╭ windows-sys 0.42.0 registry+https://github.com/rust-lang/crates.io-index
60 │ │ windows-sys 0.45.0 registry+https://github.com/rust-lang/crates.io-index
   │ ╰────────────────────────────────────────────────────────────────────────^ lock entries
   │
   = windows-sys v0.42.0
     ├── async-io v1.12.0
     │   ├── async-global-executor v2.3.1
     │   │   └── async-std v1.12.0
     │   │       └── poll-promise v0.2.0
     │   ├── async-net v1.7.0
     │   │   ├── (dev) poll-promise v0.2.0 (*)
     │   │   └── smol v1.3.0
     │   │       └── poll-promise v0.2.0 (*)
     │   ├── async-process v1.6.0
     │   │   └── smol v1.3.0 (*)
     │   ├── async-std v1.12.0 (*)
     │   └── smol v1.3.0 (*)
     └── async-process v1.6.0 (*)
   = windows-sys v0.45.0
     └── polling v2.6.0
         └── async-io v1.12.0
             ├── async-global-executor v2.3.1
             │   └── async-std v1.12.0
             │       └── poll-promise v0.2.0
             ├── async-net v1.7.0
             │   ├── (dev) poll-promise v0.2.0 (*)
             │   └── smol v1.3.0
             │       └── poll-promise v0.2.0 (*)
             ├── async-process v1.6.0
             │   └── smol v1.3.0 (*)
             ├── async-std v1.12.0 (*)
             └── smol v1.3.0 (*)

async-io no longer depends on windows-sys directly in their latest version (not yet released).
I have added an exception to deny.toml.


Prefix letter(s) to container name

Prefic with name of container and to avoid Excel errors

'Low' effort is required.

Subsumed by #340


add mute_time_intervals properties to alertmanager

I added mute_time_interval properties to alertmanager.
Mute time interval is a config option of alertmanager for muting alerts in specify times. It can be configured in alertmanager 0.21 or later.
https://prometheus.io/docs/alerting/latest/configuration/#mute_time_interval

@mdan16 thank you. Will try to have a look at it tomorrow and provide feedback here.

I have found that https://github.com/bosh-prometheus/prometheus-boshrelease/pull/429 includes same changes with this PR.
So I'll close it to avoid unnecessary conflicts.


Fix windows build

Windows build passed, so I'm merging.

Thanks, @SeanTAllen!

you're welcome @jemc


Add _netdev option to all mounts

This ensures unmounting happens before the network stack is torn down during node shutdown, preventing situations where DRBD would lose quorum before systemd had the chance to unmount all CSI controlled mounts.

Note to self: requires mounting /run/mount from the host.


feat([MatMenu) support horizontal (xPosition) overlap detection

Closes #8400

This is a patch and not tested because the dev environment is throwing errors...

@crisbeto that's probably because [overlapTrigger] should be able to describe x or y or both.
Currently false means both and that's the only option.
In the following scenario it is the intent:

It is not doable with the current setup, for that to work a workaround is required.
Wrapping the button in a div with position: relative, adding a span at the end and absoluting it to right 0... then setting the trigger on it and manually toggling that trigger based on button clicks which means a method for (click) in the component host...

Maybe it should be overlapTriggerX overlapTriggerY ...

@shlomiassaf Did you manage to get the menu to show like in your screenshot?
I am trying to make a similar menu now.

Since it looks like this PR has stalled out and is pretty out of date, I am going to close out the PR.  Feel free to open up a new PR if you are still looking to get this feature in.

@langan, yes.
You need to add an element to the container of the menu item.

The container must be set to have position: relative
That element is set to position: absolute, top: 0, right: 0

The element has no content, it's empty (i used empty span), it's purpose is to be the host for the trigger.
You use the original trigger host (e.g. button) to trigger the element...

    <button mat-icon-button
            (mousedown)="trigger._handleMousedown($event)"
            (keydown)="trigger._handleKeydown($event)"
            (click)="trigger._handleClick($event)">
        <mat-icon>more_vert</mat-icon>
    </button>

.menu-item-container {
  position: relative;
}

.menu-placholder {
  position: absolute;
  top: 0;
  right: 0;
}

Notes:
I'm using the button events directly and pass them to the trigger's original handlers. It might seems odd because there is an api for that, trigger.toggleMenu() but it will cause issues with focus because you can "tell" toggleMenu if to auto-focus or not... because of that it will focus on a menu item inside (sub menus)
This is why mousedown is passed, as it flags the action not to auto focus.
See full example here:
https://stackblitz.com/edit/angular-jwihkn?file=app%2Fmenu-overview-example.html


can't build

func iterateEnum<T: Hashable>(: T.Type) -> AnyGenerator {
var i = 0
return AnyGenerator {
let next = withUnsafePointer(&i) { UnsafePointer($0).memory }
let currentI = i
i = i + 1
return next.hashValue == currentI ? next : nil
}
}
argument passed to call that takes no arguments?
result values in '?:'espression have mismatching type 'T' and ''

Are you using Xcode 7.3? If yes, you should be able to build. If you are using Xcode 7.2, then please upgrade Xcode, or git checkout 2.0 back to older version.  Or download the source code from https://github.com/JakeLin/IBAnimatable/releases/tag/2.0
Please let me know if you have any questions.

Thank you.I solved this.


protectData add schema and zipFile in onStatusUpdate payload

expose schema and zipFile as soon as they are available through onStatusUpdate

currently not needed


Showing history passwords incorrectly

From support tab: I have an account where I change the password in Keepass regularly. The history has at least half a dozen prior passwords. When I try to use it from CKP I see all half dozen of them in the matching results list. They all look the same with the same username and website. So far, I've always guessed that the lowest one on the list is correct. Last is latest?

Reproduced.  This happens on v1 databases only


Replaced deprecated global Twig functions

Updated the UploaderExtension so it's supports Twig 3.0.
Also had to add Twig to the composer requirement because it was not there yet.

Is anything blocking the merge of this PR? I am ready to help.

The tests are failing, I've to check this first. I don't know if it's related to this changes.

@Holicz I've looked into the tests. They're failing because of Symfony > 4.1, see also #364.

@KoenvanWijnen can you rebase your PR with the actual master? It possibly fixes the tests. :-)

@KoenvanWijnen can you rebase your PR with the actual master? It possibly fixes the tests. :-)

All done

Looks good! 🎉

Thank you!


{AKS} fix componentbyrelease in v20240402preview

This checklist is used to make sure that common guidelines for a pull request are followed.
Related command

az aks get-upgrades -g <> -n <>
az aks nodepool get-upgrades -g <> --cluster-name <> -n <>
General Guidelines

[x] Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
[x] Have you run python scripts/ci/test_index.py -q locally? (pip install wheel==0.30.0 required)
[x] My extension version conforms to the Extension version schema

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

AKS


Internal ID mapping in case of custom idAccessor

Hi and thanks for a great tree component, really awesome!
I've noticed one thing, when in case of custom idAccessor (e.g. uid instead of id), internal logic is still relying on "id" in some places. For example drag and drop reorder/move works through useSimpleTree and there goes direct mapping through id, without check for idAccessor property.
Best regards,
Alexander Yanchuk

You are correct. That is a gap that needs closing. useSimpleTree should accept the accessor arguments. The useSimpleTree hook is not really documented as public API, but several people have found it and found this limitation. I'd welcome a PR if you're up for it. It shouldn't be too difficult.

Thanks, schedule is a bit tight now, but I'll try


new|command_read: accept metric name with * globbing

This change is

Tests seem to be broken too


Update New-CsHostedVoicemailPolicy.md

-tenant attribute is not required for SFBO. SFBO is enabled for Cloud voicemail instead of Exchange UM

Docs Build status updates of commit ee61b1e:
:clock10: Full build: the average full build time is 18 min(s) 1 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit ee61b1e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/New-CsHostedVoicemailPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

The -Tenant parameter is not present in sfb 2019, if we agree in leaving the article as the last version it should be ok to remove it.

If the parameter exists in previous versions of SfB Server, it should remain and the appropriate version(s) removed from the applicable to for the description switch.

I tried in 2015 with the latest updates and it´s there.
I also think that we should leave the parameter there, maybe remove 2019 from Applicable section, and think a note about EXO UM retirement could be a good idea.

@hirenshah1 Please implement the required changes and Merge. Thanks

@hirenshah1 Please implement the required changes and Merge. Thanks


Documentation/Comments tidyup

Continuation of https://github.com/Laravel-Backpack/CRUD/pull/3571

A new inspection was created.

The inspection completed: No new issues

Excellent! Thanks @olipayne - keep 'em coming 😀🙏


cleanup(rest): move code to matching .cc file

The AsStatus() functions were declared in rest_response.h, but
defined in rest_response.cc.  That seems unnecessarily confusing. The
test were also a bit inconsistent.
I also refactored a function that clang-tidy claims has high
complexity to make it less so.

This change is

The AsStatus() functions were declared in rest_response.h, but defined in rest_response.cc. That seems unnecessarily confusing.

s/defined in rest_response.cc/defined in curl_rest_response.cc/


ci: test with 3.11 in all OSes

Codecov Report
Base: 49.78% // Head: 50.63% // Increases project coverage by +0.84% :tada:

Coverage data is based on head (52a9d9f) compared to base (dc8fda8).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #52      +/-   ##
==========================================
+ Coverage   49.78%   50.63%   +0.84%
==========================================
  Files           2        2
  Lines         237      237
  Branches       28       36       +8
==========================================
+ Hits          118      120       +2
+ Misses        118      116       -2
  Partials        1        1

Impacted Files
Coverage Δ

tests/test_user_id.py
100.00% <0.00%> (+6.66%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


WIP: allow to edit commit message in $EDITOR

resolves #14

@leonardoanalista check this out

I just looked at the module editor source code https://github.com/substack/node-editor/blob/master/index.js
It tries in this order: opts.editor or process.env.EDITOR. Finally it defaults to vim or notepad depending on the platform.
It is all good! thanks

Ok. I will try to finish it today.

no rush. Cheers
Leo

Current coverage is 100.00%

Merging #19 into master will not affect coverage as of 58a0858

@@            master     #19   diff @@
======================================
  Files            2       2
  Stmts          193     222    +29
  Branches         0       0
  Methods          0       0
======================================
+ Hit            193     222    +29
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of 58a0858

Powered by Codecov. Updated on successful CI builds.

Wait, do not merge. I forgot to update README

Oh. Not this one PR but #20
Both ready now.
If both OK for you, just merge #20 because it includes commit from #19. Both would be marked as merged

it looks good! I found the wasCalled in the jasmine-node source code. API is a bit diff.
You should be able to merge PR's now. Let me know if you can't.

I can.


CLI: restore from dump.sql to new db fails depending on the data in the dump.sql it seems.

What version of Genji are you using?

tip

Does this issue reproduce with the latest release?
yes
What did you do?
repro:
print:

dep:
	git clone https://github.com/genjidb/genji

build:
	# puts CLI to gopath
	cd genji/cmd/genji && go build -o $(GOPATH)/bin/genji .
run:
	genji -h

DB_PATH=$(PWD)/data/my.db
DUMB_PATH=$(PWD)/data/my.sql
RESTORE_DB_PATH=$(PWD)/data/my_restore.db
DB_ENGINE=badger
#DB_ENGINE=bolt

data-delete:
	rm -rf ./data
	rm -rf *.db
	rm -rf data_*

run-json-insert: data-delete
	# insert
	genji insert -a -e $(DB_ENGINE) --db $(DB_PATH) '{"a": 1}' '{"a": 2}'

	# dump
	# to std out
	genji dump -e $(DB_ENGINE) $(DB_PATH)
	# to file
	genji dump -e $(DB_ENGINE) -f $(DUMB_PATH) $(DB_PATH)

	# restore
	genji restore -e $(DB_ENGINE) $(DUMB_PATH) $(RESTORE_DB_PATH)

run-curl-insert: data-delete

	# insert
	curl https://api.github.com/repos/genjidb/genji/issues | genji insert -a -e $(DB_ENGINE) --db $(DB_PATH)

	# dump
	# to std out
	genji dump -e $(DB_ENGINE) $(DB_PATH)
	# to file
	genji dump -e $(DB_ENGINE) -f $(DUMB_PATH) $(DB_PATH)

	# restore
	genji restore -e $(DB_ENGINE) $(DUMB_PATH) $(RESTORE_DB_PATH)

run-std-insert: data-delete

	# insert
	echo '[{"a": 1},{"a": 2}]' | genji insert -a -e $(DB_ENGINE) --db $(DB_PATH)

	# to std out
	genji dump -e $(DB_ENGINE) $(DB_PATH)
	# to file
	genji dump -e $(DB_ENGINE) -f $(DUMB_PATH) $(DB_PATH)

	genji restore -e $(DB_ENGINE) $(DUMB_PATH) $(RESTORE_DB_PATH)

What did you expect to see?
restore from dump.sql to new db should work.
What did you see instead?
make run-std-insert works fine
make make run-curl-insert fails with
error: found \r, expected } at line 1, char 2441

What Go version and environment are you using?
go version go1.16.6 darwin/amd64
go env Output
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/apple/Library/Caches/go-build"
GOENV="/Users/apple/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/apple/workspace/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/apple/workspace/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/opt/go/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/opt/go/libexec/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.16.6"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/apple/workspace/go/src/github.com/gedw99/notes/db/genji/genjidb__genji/genji/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/wp/ff6sz9qs6g71jnm12nj2kbyw0000gp/T/go-build1815681598=/tmp/go-build -gno-record-gcc-switches -fno-common"

Fixed by #439


Implement Round Logic for Data Extraction

[x] QR code extraction stops and re-starts based on round increment
[ ] Starting time is updated with the new round or Partial Time implemented
[x] Card extraction stops and re-starts based on round increment
[x] Refactor Influx Point: Measurement should be "game", Tag should be "Player" and "Card", and Field should be "Thinking Time".
[x] QR code list to be cleared when no QR code is detected
[x] Card list to be cleared when no detection in the table

We found out that putting 2 or more card simultaneously in the table, messes up the detection
Cards in the table, should be played in specific sides of the frame due to different color and reaction to refraction and lightning condition and they will be difficult to detect


Add option for forcing record creation

Per request by @mikesmayer
Is there anyway to force creation of a record?

I'm using a friendship/reverse-friendship model to create two way associations between objects. When sprig creates a seed record that is in a state of blocked, the system throws the expected message preventing the creation of the reverse-friendship that should also be marked blocked.

In my former seed file, I used an ! exclamation point to force the creation of the two friendships like so:

Peerpartnership.request(seed_consultantaccount, person8).block!

@ltk I understand that Sprig might have risen from a need on a social networking-like project, is it possible to find out how the team dealt with forcing the creation of records? Presumably the system involved rules that included blocking, etc

Permissions in that project relied on state within records, not really with preventing the creation of records, so we've never encountered this need. But my recommendation for dealing with unconventional circumstances is to use Sprig to insert your records as close to their final intended state, and then manipulate them following the call to Sprig in your seed file. This is one advantage of Sprig hijacking the db:seed Rake task. You still have a Ruby file where you can do whatever you need.
db/seeds/development.rb
sprig [Staffer]

Staffer.find_by_name('Evil').block!

thanks! good work around


Add foojay-resolver-convention plugin

See https://github.com/gradle/foojay-toolchains.  With this plugin, if relevant toolchains are not present on the local machine (e.g., for JDK 8 or JDK 21), Gradle will automatically download an appropriate distribution and place it in the local Gradle cache.  This plugin is officially supported by Gradle, so I think it's safe to add.  Without this plugin, new contributors may run into issues running basic commands like ./gradlew compileJava since it requires multiple JDKs to be installed in order to succeed.

quick question due to my unfamiliarity with these: would it mess with user's local java installations or is it project-specific and will be put in gradle's cache folder or somewhere?

quick question due to my unfamiliarity with these: would it mess with user's local java installations or is it project-specific and will be put in gradle's cache folder or somewhere?

It will not mess with any local installations; the downloaded toolchain is placed in the Gradle cache.  Also, if Gradle's toolchain auto-detection finds a local installation of the right version of the JDK, nothing gets downloaded.


Update Readme

The project is somewhat out of date and would have to be refactored to use the latest gulp. Therefore the readme should include what you'll need to run this project as a standalone:

node v 10 or below
gulp v 3.9 or below

What if we refactor it to not require gulp?
For scss to css files: https://github.com/sass/node-sass
For prefixing: https://www.npmjs.com/package/autoprefixer
This may help reduce some overhead.
Is there any other need for sticking with gulp?

Only requirement of gulp is that it's already in the project, I'm totally down with switching to those two packages. What we'd have to do, though, is make scripts for each use case that gulp has right now.
I'd also like to make the plyEssentials task be the actual "ply" package to strip it down to necessities only.
Do you want to take ownership of this one?


Which python version?

Which which which?

3.8.1
I pushed my https://github.com/technologiestiftung/dwd-radolan-tree-harvester/blob/master/pyvenv.cfg (i should have probably added this to the .gitignore?!

Yes. I guess so. I'll try to build an image based on debian with a ready made python version. No need for a venv


Better logging of connector

Remove sequelize
More structured
Adds provider: "notion|slack" everywhere

(merging for deploy, post-merge review welcome)


translate filter fails on reload of the page.

translate filter fails when we refresh the page.
I have used translate filter in my templates, however i have used One-Way Databinding
eg. {{ :: TEXT_TO_TRANSLATE | translate }}
With this set up in my html, i try to refresh the page. When the page loads; translate filter fails to replace the text.
I went on to your source code and noticed that translate filter uses the service $translate.instant(); method.
now the method documentation of instant says that:

Returns a translation instantly from the internal state of loaded translation. All rules regarding the current language, the preferred language of even fallback languages will be used except any promise handling. If a language was not found, an asynchronous loading  will be invoked in the background.

So looks like with One-Way data-binding async loading is of no use.
Also my en_us.json file is pretty big, may be it takes time to load.
I tried with Two-Way data-binding and it works, however this is not the right way for huge applications!.
My Question is:
How to use translate filter in such scenario? i.e. with One-Way data-binding ?
I appreciate your help.
Your environment

version of angular-translate : 2.15.1
version of angular: 1.6
which browser and its version: Chrome 57

Steps to reproduce
Since my question is not code specific hence I have given the exact details.
Expected behaviour
translate filter should translate properly on page refresh.
Actual behaviour
translate filter fails and displays the keywords of the translation

You cannot use one-way binding in combination with an asynchronous loader -- both are incompatible features limited due the fact an AngularJS filter is a pure function without any possible deferred execution context (no "wait for load").
Option 1: Use no one-way binding (read: no binding which cannot be updated).
Option 2: Use not an asynchronous loading setup which means all translations have to be available in the config phase.

Thanks a lot for quick response.

I came up with a solution for One-Way Data-binding:
'use strict';
angular.module('MY_APP_MODULE').filter('i18n', function ($filter) {
  function _i18n(input) {
    var val = $filter('translate')(input);
    if(input === val){
      return;
    }else{
      return val;
    }
  }
  _i18n.$stateful = true;
  return _i18n;
});

One-Way template data-binding is complete when the value bound is not undefined

Well, ok.
But beware default translations will not work, as well as translationId==translationText situations. Maybe in your situation a proper solution, but not in general.


is it necessary to preserve IOS icon in the manifest.json?

This is a question.
I try to use different icon for ios and android like below:
{
  ios: true,
  icons: [
    {
      src: path.resolve('public/android-icon.png'),
      sizes: [144, 196, 256, 512],
      destination: 'android'
    },
    {
      src: path.resolve('public/ios-icon.png'),
      sizes: [144, 196, 256, 512],
      ios: true,
      destination: 'ios'
    }
  ]
}

The plugin works well, insert app-touch-icon into html, while still preserve related icon in the manifest.json, I wonder that, if this will cause browser pick the wrong icon? or, use different icon is just bad idea?

Unfortunatelly, I don't have an Apple device to test it... No one's complaining about it yet, so I think everything's fine.
Can someone test it, please?

I think right now on iOS Safari, the entries at manifest.json will simply be ignored as iOS Safari does not support it yet: http://caniuse.com/#feat=web-app-manifest


Bonus chest

The bonus chest arrow disappears almost instantly and sometimes doesn't appear at all despite getting the sound and text notification. Tried the suggestions listed on the wiki of deleting the clue plugins never had the artefact plugin downloaded. I uninstalled and reinstalled the plugin several times, tried disabling and reenabling the bonus chest feature, nothing has worked.

well, a player told me to turn off Kourend Library plugin I tried that and it worked.

Same issue and same fix worked, didn't have this problem before the update today

I was having the same issue and turning off the Kourend Library plugin did fix it.

I'll take a look at the library plugin and see what might be causing a conflict.
The bonus chest arrow is a vanilla thing, which I use as a detection point for highlighting the box. I'll see if there is something I can do to make it persist.
Thanks for the info guys!

Okay I think I've identified where the issue could have occurred.
There was a line added in this commit to the Kourend Library plugin.
Every time the updatePlayerBooks() function was called, they added a called to updateBooksPanel(); which was every time the inventory was updated. (e.g. getting treasure when thieving would update the inventory)
This would in turn call the client.clearHintArrow(); if the book hint arrow was disabled in config OR there wasn't a customer book registered, you know as there wouldn't be given you aren't anywhere near the library.
The commit breaking that was This one conveniently about 2 weeks ago but was swiftly fixed and should no longer be causing a problem.
I'm going to look into other aspects to detect the bonus chest, other than the hint arrow, given any other plugin could have a bug clearing the hint arrow when it shouldn't.


C++ compilation error while trying to include "internal/constant_time.h"

Openssl version: openssl-3.0.8
When i try to add "internal/constant_time.h" in my c++ application, i get the following errors:
openssl/include/internal/constant_time.h:334:14: error: expected unqualified-id before 'xor' token
     uint32_t xor = *a ^ *b;
              ^~~
openssl/include/internal/constant_time.h:336:5: error: expected primary-expression before 'xor' token
     xor &= mask;
     ^~~

This is because xor is a reserved keyword in C++ and we cant include this file from any C++ application. I tried to encapsulate it within extern C block but still same issue.

This is not a bug. This file is internal include that is not supposed to be used from any external application.

Compiling with -Dxor=foobar on the command might "fix" this one.


Change address preset in France

This issue is double :

in France, all administratives boundaries (between cities, departement, region, etc) are already mapped. So it is not needed (and even unwanted) to have city (and postal code) for every OSM element. So as iD is (I think) one of the most used osm editor, especially for beginners, it should not encourage to add those unwanted tags. It is really unwanted and not just useless because a few cities merge every year. The french community change the boundary of the merged cities every time it is needed, but won't check city name / postcode of every element. So it will lead to a deterioration of the data quality. Plus, having information in double could lead to poor data quality, just because of mistake /mispelling.

it is not wanted to have street and address number for POI in France (see discussion on same subject on the StreetComplete git here). So, is it possible to have contact:housenumber=* and contact:street=* as a preset for POI instead of what's now ?
Thanks

Out of curiosity, are addr:housenumber nodes in France kept separate from amenity=letter_box nodes and the post:housenumber tagging scheme?

Out of curiosity, are addr:housenumber nodes in France kept separate from amenity=letter_box nodes and the post:housenumber tagging scheme?

Of the 579 amenity=letter_box in France, only 2 have an addr:housenumber tag. But 364 have post:housenumber.

@letypequividelespoubelles Could you link to documentation showing the French standards for address mapping? We want to support local mapping patterns when appropriate, but these seem rather nonstandard for OSM. Addresses are useful even when admin boundaries are mapped since:

The address's city may not always line up with the location's city
It's much easier for data consumers to display addresses based on tags instead of querying boundaries

The linked StreetComplete issue seems more about buildings vs. POI addresses and I don't think has clear consensus.

@1ec5 amenity=letter_box are used when letter boxes are grouped nodes. We use post:housenumber in this case.
@quincylvania

It's much easier for data consumers to display addresses based on tags instead of querying boundaries

Yes, but this is not the usage in France. We have an official national address database and we don't want to duplicate any addresses.
It is painful for the french communities to remove addr: tags on each POIs added by beginners.

The linked StreetComplete issue seems more about buildings vs. POI addresses

This issue is about addresses (on buildings).
We prefer adresses on nodes, but SC "forced" contributors to add it on polygons for buildings.

I don't think has clear consensus.

It's a big challenge to clean the wiki, especially for addresses. That's why the french wiki is not yet clear.

For the first part of the issue, I don't think it is a matter of french standards, but a more global unwanted data redundancy problem in the database.
Remember the is_in=* tag ? This is/was useful when the municipality boundaries are/were largely missing. When they are present, they do not add any information and become useless so we removed them years ago in large part.
An address (or POI) consumer that is not currently using the boundary relation is in serious troubles if they use OSM data directly. Pushing this logic to some extreme (to test it) would mean we have to add addr:country on each address to be sure some (lazy) data consumer are ok ?
A few exceptions may exist, where the cityname or postal code of the postal address does not match the one you can get solely from the boundaries, but should exceptions become the tagging rule ? I don't think so.
For the second part of the issue, offering to enter address details on a lot of objects generates a lot of duplicates in the database.
When an existing addr:* node exists, used to define the address location, a nearby POI node with the same tag creates confusion. Which one is defining the address location ? When we recreate addresses databases from OSM data (like our BANO, open national address database), we try to deal with that by looking at the node with the smallest number of tags, but this is really a hack.
In an ideal editor, when a nearby addr:* tag already exists, it could be proposed to add on POIs the corresponding contact:* to create a link (avoiding a complex relation based solution), without creating duplicated confusing data.
Here also, it is not a french thing but more global data redundancy (thus quality) issue ;)

A few exceptions may exist, where the cityname or postal code of the postal address does not match the one you can get solely from the boundaries, but should exceptions become the tagging rule ? I don't think so.

Without commenting on the situation in France, I don’t think it’s prudent to generalize that situation to the whole world in all its diversity of addressing schemes. The exception you’re describing is exceedingly common in some countries, so it would be more productive to determine whether an exception is needed for France than to aim for global database consistency.

United States as a counterexample
For example, in the United States, the city part of the address is derived from the local post office’s name(s) rather than a strict boundary test. addr:city may reflect a home or business owner’s preference for a vanity city over the postal service’s preferred city. (Most suburbs’ names are only vanity cities.) To be sure, mappers do sometimes omit the city and state from these addresses, which would force geocoders to consider boundaries as a fallback mechanism, but this isn’t the norm.

By the way, another consideration is user behavior: many users are in the habit of entering a full address, just like when sending a letter or ordering something from an online retailer. If iD presents only the house number and street fields, I think we can expect more cases where an inexperienced mapper stuffs the full address in addr:street, no matter how that field is labeled. At least that was what motivated me to add the U.S. addr:state field in #2402 and the various Vietnamese place name fields in #2252.

I don’t think it’s prudent to generalize that situation to the whole world in all its diversity of addressing schemes

French contributors don't want to generalise this scheme 😃
Probably other countries use it ?(especially in Europe).

so it would be more productive to determine whether we need an exception for France or more flexibility from country to country

👍

A few exceptions may exist, where the cityname or postal code of the postal address does not match the one you can get solely from the boundaries, but should exceptions become the tagging rule ? I don't think so.

More over, like for the name* we get from Wikipedia, iD could present the postal code and commune as read only but editable when using the "low level" editor part (the raw attribute/value table).
@1ec5 did you miss "in France" in the title?

@1ec5 did you miss "in France" in the title?

No, I was specifically responding to https://github.com/openstreetmap/iD/issues/8332#issuecomment-770971483, which spoke of a “more global unwanted data redundancy problem in the database”. Apologies if I read too much into that comment.

More over, like for the name* we get from Wikipedia, iD could present the postal code and commune as read only but editable when using the "low level" editor part (the raw attribute/value table).

This would mitigate the UX concern I had in https://github.com/openstreetmap/iD/issues/8332#issuecomment-771563532. But I think it would require iD to perform a Nominatim query much more frequently than it does now. If I’m not mistaken, the dropdown’s suggested values are only based on addr:city and addr:postcode values in already downloaded OSM data.


refactor: validator state management refactor

Motivation
After the latest refactors regarding Genserver removal, the state management of validators became more complex than it needed, before it made sense because of everyone beign and independen Genserver, but now most of the state could be shared by a ValidatorSet, this PR deals with that.
Description
This PR introduces a new ValidatorSet module that manage Validators and Duties. It process both new_head notifications as well as ticks throughout the slot lifecycle and select just the validators that need to be involved in every step of the process. The logic is maintained as it were previously implemented, this PR aims to reduce complexity, duplication and enhance clarity but it doesn't go in depth in the current logic, it tries to reuse current functions when available and simplify the ones that are intuitive to do so.

ValidatorSet creation
Moving the process of new_heads and ticks from Validators to ValidatorSet
Simplified the Validator state as much as possible
Move Duties to work on a per-epoch-basis, i.e. every duty is calculated once per epoch
ValidatorSet selects only the validators with a duty to accomplish in every slot third, and just them do their work.

Note: The long commit history is because this branch started out of validator-manager-genserver-removal (#1224) before merging it to main.
Resolves #1255
NEXT STEPS:

Subnet Info checks (we are not joining anymore to subnets at the duties calculation but everything continue working, this needs to be investigated further)

Here is a quick run in kurtosis showing more than one epoch running in Kurtosis with other 64 validators in another clients:

The latest commit fixes an issue regarding the start of the node with no Validators that I spotted while testing the maybe_prefetch_committees addition.


Request TLS certificate for tailnet domain alias.

Proposed Changes
Request TLS certificate from tailscale. HTTPS must be enabled for the tailnet.
https://tailscale.com/kb/1153/enabling-https/
Related Issues
https://github.com/hassio-addons/addon-tailscale/issues/62

tailscale cert has to be run periodically to keep certs fresh. I can either run a background script from the post script, or start a cron daemon and use that. Any suggestions here?

Yep that's what it does. The cert process runs once every 24 hours to fetch a new cert. The SSL folder is mapped rw. There is an option to enable the addon and a mandatory one for the tailnet domain name.

The PR is failing because of the target name :-/

The PR is failing because of the target name :-/

Its not.

Yes automation seems to expect a label but the PR is currently unlabeled. I don't have permission to label it either.

Yup, that is not a issue

@frenck so how do we proceed?

By having patience

@frenck is this failure unexpected? I don't understand the error message.

is this failure unexpected?

Yes

I don't understand the error message.

OK... not sure what to do about that 🤷 It complains a label is missing, so that needs to be added by someone with permissions to do that.

I meant after you added the label, the amd64 build failed at a docker buildx step. I was wondering if i had to fix something but that doesn't appear to be the case.

Not staled!

I'm waiting too!

@frenck I know it is not on us to accelerate the process, but could you have a look again at this PR? AFAIK, it has been sitting now for 3 months and all the changes you requested have been implemented. This feature would be a real game changer for the addon.
Thank you so much!

I am abroad for a couple of weeks, so can't do anything now. Marked it to look at when I get back.

(Not stale)

(Still not stale)

@frenck did you have any time to look at this? I'm starting to feel that it's taking so long because it directly competes with hassio's paid offering.
If you're not interested in this change, I'm more than happy to maintain a more up to date fork.

(Not stale)

@frenck this change is eagerly awaited by me and quite a few others it would seem. Any chance it gets merged soon?
If you don't want this in change please let us know. It's pretty inconsiderate to just leave us hanging.

Anecdotally, I'm also awaiting this change as I've moved over every homelab-hosted service to tailscale HTTPS a few months ago, save for Home Assistant, because of this PR's timeline, currently I'm still using cloudflare and a port-forward instead.

For what it's worth, I've stopped using homeassistant entirely because of the petty handling of this change. I will keep this PR open until they decide to do something about it.

Until it is merged I forked the repo, updated it to Tailscale v1.34.2, and bumped the add-on base image also to v13.0.1.
And I merged this PR and made some modifications and bugfixes:

the Configuration option is cert_domain (not domain_alias), it is much more logical, it is analog to the tailscale cert <domain> command
it creates the /ssl/tailscale directory before fetching the cert
uses --statedir=/data instead of --state=/data/tailscaled.state, see https://github.com/tailscale/tailscale-qpkg/pull/64
fetch certificate on start and only within 1 week before expiration
modified the daemon finish script to the usual script, I know new add-ons have better, it can be bumped later with other scripts

See: https://github.com/lmagyar/homeassistant-addon-tailscale
Disclaimer: I'm just a tinkerer, and "it works on my machine..." (tested on armv7)
I will create some new PR-s soon.

Hi
My domain is from the beginning and doesnt comply with your regex filter...
I use only letters and dashes for ex, and the regex fails...
Francisco Bischoff
Laszlo Magyar @.***> escreveu no dia sábado, 7/01/2023
à(s) 21:38:

Until it is merged I forked the repo, updated it to Tailscale v1.34.2, and
bumped the add-on base image also to v13.0.1.
And I merged this PR and made some modifications and bugfixes:

the Configuration option is cert_domain (not domain_alias), it is
much more logical, it is analog to the tailscale cert  command
it creates the /ssl/tailscale directory before fetching the cert
uses --statedir=/data instead of --state=/data/tailscaled.state, see
tailscale/tailscale-qpkg#64
https://github.com/tailscale/tailscale-qpkg/pull/64
fetch certificate on start and only within 1 week before expiration
modified the daemon finish script to the usual script, I know new
add-ons have better, it can be bumped later with other scripts

See: https://github.com/lmagyar/homeassistant-addon-tailscale
Disclaimer: I'm just a tinkerer, and "it works on my machine..." (tested
on armv7)
I will create some new PR-s soon.
—
Reply to this email directly, view it on GitHub
https://github.com/hassio-addons/addon-tailscale/pull/89#issuecomment-1374621028,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHQMEFVSQFBZQC3KHB4LA3WRHO37ANCNFSM5S7YDDBQ
.
You are receiving this because you commented.Message ID:
@.***>

Hi My domain is from the beginning and doesnt comply with your regex filter...
I use only letters and dashes for ex, and the regex fails...

Could you please send what is in your config? cert_domain: ?????
Maybe you entered the machine name also, like cert_domain: abcd.tail1234.ts.net, instead of only cert_domain: tail1234.ts.net

I found that what you ask is the main domain: xyz.ts.net
I was trying the device subdomain: myha.xyz.ts.net
it works as it was :)
sorry

I'm still hoping this progresses. Not stale.

I think #137 is a better solution, because that doesn't require any configuration and also provides a built-in proxy by tailscaled.

@lmagyar that does look better!
I'm not holding my breath waiting for either one to get merged though. The response from Nabu Casa is pretty clear now.

By having patience

@frenck this patient enough for you, or should we continue waiting forever?
Honestly this single issue has really turned me off of homeassistant. I'm a big believer in the spirit behind open source and Nabu Casa has shown absolutely none of that here. The community should really question their commitment to all of the projects they control.


[BUG] cannot like the post from public account

Try Instagrapi SaaS with a free trial https://hikerapi.com/p/5GBWznd3
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Provide a piece of code to reproduce the problem.
Traceback
Show your full traceback so that it is clear where exactly the error occurred.
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. Ubuntu 21.04]
Python version [e.g. 3.8.3]
instagrapi version [e.g. 1.9.3, not "latest"]
moveipy version if used
imagemagick version if used

Additional context
Add any other context about the problem here.

im using "cl.user_following(cl.user_id) " but i cann not like the post of the account which i already follows and they are public to what can i do ? plese help me

Same issue here


Title page is non-compliant

According to the specification the title page must

List the names of your committee members. Your thesis supervisor should be listed first, followed by a comma and the phrase “Thesis Supervisor.”

Currently we render it as:

Thesis Supervisor: Professor Advisor

Closed cause we ditched the old cls file and rewrote from scratch


(Bug) TPCDS query 71 returns wrong results for all connectors / accelerators

Update Oct 16th. The result is correct, difference seen in the snapshot v.s. source is due to different sequence of ordering null values


Incompatibility with stackblitz

Hi
Moving the report from https://github.com/unjs/h3/issues/337 to here to track and share with the stackblitz team since it is closer to the source.
Basically, this package is broken on Stackblitz.com due to crypto incompatibilities with subtle.importKey not being supported (there might be more issues once this is fixed)
Reproduction: https://stackblitz.com/edit/stackblitz-starters-coskra
(you can use node h3.mjs, node crypto.mjs and node iron-webcrypto.mjs for reproductions)

I don't think it will work properly even after that. Almost whole webcrypto implementation is non-standard on stackblitz -- https://stackblitz.com/edit/node-opczp3?file=index.js,with-polyfill.js,out.log
Also, even the polyfill doesn't work properly for all cases (missing node APIs?). But should work with the default options 👀

Hi @brc-dd. FYI, stackblitz team almost prepared the missing crypto utils to get iron-webcrypto working out of the box 🚀

Original example seems to work fine now 🚀


Fix docs on --sig-proxy to match current behaviour

Signals are proxied to the container process whether or not
the tty is used
Signed-off-by: Daniel J Walsh<EMAIL_ADDRESS>

Fixes https://github.com/projectatomic/libpod/issues/983

LGTM


Does Nancy server support high concurrency ？

The difference between Nancy and nginx？
when nancy does't use socketasynceventargs, how can it support high concurrency?

i'm study the knowledge of high concurrency

For the first point, Nancy is a framework, whereas nginx is a web server - you use Nancy to build web apps, which need a web server to run them.

thanks


STM32L496G discovery kit - st-flash write does not work - flash loader run error

[X] Programmer/board type: Stlink/v2-1 onboard
[X] Programmer firmware version: V2J28M18
[X] Operating system: Linux 4.13.0-1-amd64 #1 SMP Debian 4.13.10-1 (2017-10-30) x86_64 GNU/Linux
[X] Stlink tools version and/or git commit hash: v1.4.0-13-g1969148
[X] Stlink command line tool name: st-flash
[X] Target chip (and optional board): STM32L496G discovery kit

I cannot use st-flash to write an image on linux. By now, I use Windows to do this. I can see these information in the STM32 ST-LINK Utility when I click on "Connect to the target." button:
11:29:41 : ST-LINK SN : 0674FF555352845187081728
11:29:41 : ST-LINK Firmware version : V2J28M18
11:29:41 : Connected via SWD.
11:29:41 : SWD Frequency = 4,0 MHz.
11:29:41 : Connection mode : Connect Under Reset.
11:29:41 : Debug in Low Power mode enabled.
11:29:41 : Device ID:0x461
11:29:41 : Device flash Size : 1MBytes
11:29:41 : Device family :STM32L49x

It works pretty well on Windows (Windows 7 Pro) but I need to hold on the reset button when I plug the board to the USB port of my laptop. If I do not, the ST-LINK program does not work well. I do not know why I need to do this but I saw on Internet few month ago a guy talk about this hint and since I use this trick. A colleague with the same board and a different laptop (with Windows XP) can use it without this trick. Pretty weird. Perhaps, this behavior can explain why I cannot use st-flash on linux ?
~/wksp/dev $ st-flash --format ihex write output/images/STM32L4_mr4k.hex
st-flash 1.4.0-13-g1969148
2017-11-28T11:20:35 INFO common.c: Loading device parameters....
2017-11-28T11:20:35 INFO common.c: Device connected is: L496x/L4A6x device, id 0x20006461
2017-11-28T11:20:35 INFO common.c: SRAM size: 0x40000 bytes (256 KiB), Flash: 0x100000 bytes (1024 KiB) in pages of 2048 bytes
2017-11-28T11:20:35 INFO common.c: Attempting to write 82704 (0x14310) bytes to stm32 address: 134217728 (0x8000000)
Flash page at addr: 0x08014000 erasedEraseFlash - Page:0x28 Size:0x800
2017-11-28T11:20:36 INFO common.c: Finished erasing 41 pages of 2048 (0x800) bytes
2017-11-28T11:20:36 INFO common.c: Starting Flash write for F2/F4/L4
2017-11-28T11:20:36 INFO flash_loader.c: Successfully loaded flash loader in sram
size: 32768
2017-11-28T11:20:39 ERROR flash_loader.c: flash loader run error
2017-11-28T11:20:39 ERROR common.c: stlink_flash_loader_run(0x8000000) failed! == -1
stlink_fwrite_flash() == -1

If I use the option --debug, there are extra information. I put the output in an attached file: write_debug_out.txt
After trying to write an image with st-flash, If I plug the board on my Windows laptop and try to start the board with ST-LINK_CLI.exe, nothing happen:
C:\Users\admin\Desktop\fw>ST-LINK_CLI.exe -Rst -Run
STM32 ST-LINK CLI v<IP_ADDRESS>
STM32 ST-LINK Command Line Interface

ST-LINK SN : 0674FF555352845187081728
ST-LINK Firmware version : V2J28M18
Connected via SWD.
SWD Frequency = 4000K.
Target voltage = 3.3 V.
Connection mode : Normal.
Device ID:0x461
Device flash Size : 1024 Kbytes
Device family :STM32L49x
MCU Reset.

run application to exit

Failed to run application!
The core is kept under Reset!

I hope the information will be enough to help me.
Thank you,
Anthony V.

Please verify if the problem still exists in Release v1.6.0.

@homer242: Please verify if the problem still exists in Release v1.5.0.

Hi,
I will try this version next monday and let you know the result.
Regards,
Le ven. 20 mars 2020 à 12:52, Nightwalker-87<EMAIL_ADDRESS>a
écrit :

@homer242 https://github.com/homer242: Please verify if the problem
still exists in Release v1.5.0.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/texane/stlink/issues/657#issuecomment-601661513, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAADB7UVRPCP45EGDY22MH3RINKJJANCNFSM4EFUE46A
.

I have just tested with the version 1.5.1 available in debian buster. I was able to flash my board:
st-flash write /home/avd/wksp/dev/output/images/img.bin 0x8000000 st-flash 1.5.1 2020-03-23T16:13:24 INFO common.c: Loading device parameters.... 2020-03-23T16:13:24 INFO common.c: Device connected is: L496x/L4A6x device, id 0x20006461 2020-03-23T16:13:24 INFO common.c: SRAM size: 0x40000 bytes (256 KiB), Flash: 0x100000 bytes (1024 KiB) in pages of 2048 bytes 2020-03-23T16:13:24 INFO common.c: Attempting to write 481512 (0x758e8) bytes to stm32 address: 134217728 (0x8000000) Flash page at addr: 0x08075800 erasedEraseFlash - Page:0xeb Size:0x800  2020-03-23T16:13:30 INFO common.c: Finished erasing 236 pages of 2048 (0x800) bytes 2020-03-23T16:13:30 INFO common.c: Starting Flash write for F2/F4/L4 2020-03-23T16:13:30 INFO flash_loader.c: Successfully loaded flash loader in sram size: 32768 size: 32768 size: 32768 size: 32768 size: 32768 size: 32768 size: 32768 size: 32768 size: 32768 size: 32768 size: 32768 size: 32768 size: 32768 size: 32768 size: 22760 2020-03-23T16:13:41 INFO common.c: Starting verification of write complete 2020-03-23T16:13:45 INFO common.c: Flash written and verified! jolly good!
Thanks for all the work done !

@homer242: Thx. Release v1.5.0 did not work?

Edit: ... but it is in wrong chronological order. Very confusing to me.

I do not know whether it works with the version 1.5.0 or not.
I forget lot of things about the issue context. Apparently, the flash operation did not work with the version v1.4.0-13-g1969148 and my board based on STM32L4 microchip. Indeed, the PR #615 says I make a fix for STM32L496xx/4A6xx devices and it was before I opened this issue. It is a little bit disturbing.
I think the story is I did a mistake with the title of this issue and saying there was a problem with the "STM32L496G discovery kit". I did first try with the discovery board. And stlink worked well after my fix (PR #615 ). Next, I might have tried with an another board based on STM32L4 microchip, it did not work and this is why I opened this issue. Actually, it was rather a problem with the board I think.

I see. So if you say it may have been a hardware related problem, which is no longer reproducible, I'd suggest to link this to the mentioned PR without changing the title. The latter would not help any further as the circumstances are too old to remember precisely. To sum it up: You did a PR for v1.5.0 which adds support for the mentioned board and later used tried with v1.4.0 and reported this. (for whatever reason, I don't question that :-D ). However it was solved already by then. So it is fixed in v1.5.0, where this now solved issue belongs. That's all I needed to know.
Thank you for helping to get this sussed out. :+1

Related to #352.


TCD-2393 Added Network Traffic Capture to navigation pane

Description
Added Network Traffic Capture article to navigation pane.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation fix (typos, incorrect content, missing content, etc.)

Checklist

[ ] I have read the contributing document.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Consulted with Paloma, incorrect merge. Closing the pull request.


Schema Testing

How can I test an Schema? or Which is the best approach to Test an Schema?
Thanks.

If you are using this with Meteor you can use meteor shell then use check(yourObject, Schema.yourSchema) to see if the object is valid.

Also, you could follow this article, https://guide.meteor.com/collections.html#schemas which might work better now (if you are using Meteor).

Thank You.

You can also see the *.tests.js files in this repo to see how to test them with mocha + expect.


Analyze Microsoft.UI.Xaml.Application class and properties for accuracy

Pages to analyze:

Application: https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.application
Application.Current: https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.application.current
Application.DebugSettings: https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.application.debugsettings
Application.FocusVisualKind: https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.application.focusvisualkind
Application.HighContrastAdjustment: https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.application.highcontrastadjustment
Application.RequestedTheme: https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.application.requestedtheme
Application.Resources: https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.application.resources

What to look for:

Statements/code that were appropriate for UWP/WinUI 2, but are no longer accurate for WinUI 3/Windows App SDK
Unnecessary/invalid links to UWP docs
Unnecessary/invalid links to WinUI 2 docs
References to UWP or WinUI 2
Mentions of Windows 8/8.1, whether they may need to be removed or just updated to be relevant for Win 10/11
Mentions of Windows Phone
Windows 10 is specified but it feels like Windows 11 is also applicable. (The text should either just specify "Windows" or "Windows 10 build xxxx and later" instead)

Closing issue from MVP Summit activity.


[WIP] istio-discovery: format negative duration for keepaliveMaxServerConnectionAge

Attempt to fix https://github.com/istio/istio/issues/27257
This PR gracefully converts negative duration to positive so that installation succeeds without crash.
Installing Istio with keepaliveMaxServerConnectionAge negative duration fails.
$ istioctl install --set values.pilot.keepaliveMaxServerConnectionAge="-30m"

$ kubectl logs -l app=istiod -n istio-system
google.golang.org/grpc/internal/transport.NewServerTransport(...)
        google.golang.org/grpc@v1.33.1/internal/transport/transport.go:537
google.golang.org/grpc.(*Server).newHTTP2Transport(0xc001396fc0, 0x32a2760, 0xc0011a7240, 0x320b9c0, 0xc0026ea840, 0x320b9c0, 0xc0026ea840)
        google.golang.org/grpc@v1.33.1/server.go:837 +0x18b
google.golang.org/grpc.(*Server).handleRawConn(0xc001396fc0, 0x32a3f00, 0xc0024bea28)
        google.golang.org/grpc@v1.33.1/server.go:804 +0x47e
google.golang.org/grpc.(*Server).Serve.func3(0xc001396fc0, 0x32a3f00, 0xc0024bea28)
        google.golang.org/grpc@v1.33.1/server.go:774 +0x3f
created by google.golang.org/grpc.(*Server).Serve
        google.golang.org/grpc@v1.33.1/server.go:773 +0x81e

@shamsher31: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
9be3108339947c274ca710719f89d310481807b5
link
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@shamsher31: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
9be3108339947c274ca710719f89d310481807b5
link
/test gencheck_istio

lint_istio
9be3108339947c274ca710719f89d310481807b5
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@shamsher31: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
9be3108339947c274ca710719f89d310481807b5
link
/test gencheck_istio

lint_istio
9be3108339947c274ca710719f89d310481807b5
link
/test lint_istio

unit-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn How to make sure that newly created template functions compiled correctly?
$ make gen
Error: parse error at (istio-discovery/templates/deployment.yaml:91): function "formatNegativeDuration" not defined
Makefile.core.mk:358: recipe for target 'gen-kustomize' failed
make[1]: *** [gen-kustomize] Error 1
make: *** [Makefile:46: gen] Error 2

@shamsher31: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
9be3108339947c274ca710719f89d310481807b5
link
/test gencheck_istio

lint_istio
9be3108339947c274ca710719f89d310481807b5
link
/test lint_istio

unit-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test unit-tests_istio

integ-distroless-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-distroless-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@shamsher31: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
9be3108339947c274ca710719f89d310481807b5
link
/test gencheck_istio

lint_istio
9be3108339947c274ca710719f89d310481807b5
link
/test lint_istio

unit-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test unit-tests_istio

integ-distroless-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-distroless-k8s-tests_istio

integ-pilot-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-pilot-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@shamsher31: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
9be3108339947c274ca710719f89d310481807b5
link
/test gencheck_istio

lint_istio
9be3108339947c274ca710719f89d310481807b5
link
/test lint_istio

unit-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test unit-tests_istio

integ-distroless-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-distroless-k8s-tests_istio

integ-pilot-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-pilot-k8s-tests_istio

integ-ipv6-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-ipv6-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@shamsher31: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
9be3108339947c274ca710719f89d310481807b5
link
/test gencheck_istio

lint_istio
9be3108339947c274ca710719f89d310481807b5
link
/test lint_istio

unit-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test unit-tests_istio

integ-distroless-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-distroless-k8s-tests_istio

integ-pilot-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-pilot-k8s-tests_istio

integ-ipv6-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-ipv6-k8s-tests_istio

integ-security-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-security-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@shamsher31: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
9be3108339947c274ca710719f89d310481807b5
link
/test gencheck_istio

lint_istio
9be3108339947c274ca710719f89d310481807b5
link
/test lint_istio

unit-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test unit-tests_istio

integ-distroless-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-distroless-k8s-tests_istio

integ-pilot-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-pilot-k8s-tests_istio

integ-ipv6-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-ipv6-k8s-tests_istio

integ-security-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-security-k8s-tests_istio

integ-telemetry-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-telemetry-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@shamsher31: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
9be3108339947c274ca710719f89d310481807b5
link
/test gencheck_istio

lint_istio
9be3108339947c274ca710719f89d310481807b5
link
/test lint_istio

unit-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test unit-tests_istio

integ-distroless-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-distroless-k8s-tests_istio

integ-pilot-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-pilot-k8s-tests_istio

integ-ipv6-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-ipv6-k8s-tests_istio

integ-security-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-security-k8s-tests_istio

integ-telemetry-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-telemetry-k8s-tests_istio

integ-multicluster-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-multicluster-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@shamsher31: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
9be3108339947c274ca710719f89d310481807b5
link
/test gencheck_istio

lint_istio
9be3108339947c274ca710719f89d310481807b5
link
/test lint_istio

unit-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test unit-tests_istio

integ-distroless-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-distroless-k8s-tests_istio

integ-pilot-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-pilot-k8s-tests_istio

integ-ipv6-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-ipv6-k8s-tests_istio

integ-security-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-security-k8s-tests_istio

integ-telemetry-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-telemetry-k8s-tests_istio

integ-multicluster-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-multicluster-k8s-tests_istio

integ-operator-controller-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-operator-controller-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

I'm not really familiar with the pilot codebase, but I will give it a try tomorrow.

@shamsher31: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
9be3108339947c274ca710719f89d310481807b5
link
/test gencheck_istio

integ-distroless-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-distroless-k8s-tests_istio

integ-pilot-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-pilot-k8s-tests_istio

integ-ipv6-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-ipv6-k8s-tests_istio

integ-security-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-security-k8s-tests_istio

integ-telemetry-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-telemetry-k8s-tests_istio

integ-multicluster-k8s-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-multicluster-k8s-tests_istio

integ-operator-controller-tests_istio
9be3108339947c274ca710719f89d310481807b5
link
/test integ-operator-controller-tests_istio

lint_istio
f5ce8673ebc611666218c7c139a08802cc35fccb
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

it should be processed in the pilot code

$ pilot-discovery discovery --keepaliveMaxServerConnectionAge="-30m"
...
2020-10-30T06:44:10.278504Z     info    FLAG: --keepaliveInterval="30s"
2020-10-30T06:44:10.278507Z     info    FLAG: --keepaliveMaxServerConnectionAge="-30m0s"
2020-10-30T06:44:10.278510Z     info    FLAG: --keepaliveTimeout="10s"
...

Error: failed to create discovery service: invalid duration: -30m0s: --keepaliveMaxServerConnectionAge only accepts postive duration eg: 30m
2020-10-30T06:44:10.297091Z     error   failed to create discovery service: invalid duration: -30m0s: --keepaliveMaxServerConnectionAge only accepts postive duration eg: 30m

@howardjohn I'm still not able to get errors in istiod logs.

@shamsher31: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-k8s-tests_istio
5d466d84d66661fca2ce0ec774698acde966d477
link
/test integ-pilot-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@shamsher31: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-k8s-tests_istio
5d466d84d66661fca2ce0ec774698acde966d477
link
/test integ-pilot-k8s-tests_istio

integ-multicluster-k8s-tests_istio
5d466d84d66661fca2ce0ec774698acde966d477
link
/test integ-multicluster-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


ci(deps): bump mage-tools

Removes the need for checking in mgmake_gen.go.

Codecov Report

Merging #208 (3b43428) into master (762bfd8) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 3b43428 differs from pull request most recent head 5d82cfd. Consider uploading reports for the commit 5d82cfd to get more accurate results

@@           Coverage Diff           @@
##           master     #208   +/-   ##
=======================================
  Coverage   44.66%   44.66%
=======================================
  Files          21       21
  Lines        4267     4267
=======================================
  Hits         1906     1906
  Misses       2249     2249
  Partials      112      112


Add Digital Ocean VM Option

Create a new Droplet should be doable with one authenticated curl call.
Eg curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer b7d03a6947b217efb6f3ec3bd3504582" -d '{"name":"example.com","region":"nyc3","size":"s-1vcpu-1gb","image":"ubuntu-16-04-x64","ssh_keys":[107149],"backups":false,"ipv6":true,"user_data":null,"private_networking":null,"volumes": null,"tags":["web"]}' "https://api.digitalocean.com/v2/droplets"
Or using terraform.
And then simply applying ansible script

In order to align with what we already have we should develop a new terraform module similar to these https://github.com/w3f/polkadot-secure-validator/tree/master/terraform. It should define these variables https://github.com/w3f/polkadot-secure-validator/blob/master/terraform/aws/variables.tf (adapted to digital ocean case).


Add data and updated images

Addresses https://github.com/greenelab/xswap-manuscript/issues/64

One other thought is that Figure 1 and 3 might benefit from similar treatment. They were not identified in https://github.com/greenelab/xswap-manuscript/issues/64, but might save us time to do them now assuming it will be needed in future.

Comments addressed:

[X] Added descriptive names to data files
[X] Moved figure data files to the data/figure directory
[X] Added updated notebooks from latest run
[X] Added updated figures 1 and 3

Unaddressed:

[ ] Larger files should be included. Total size of data/task1 is 13 GB, data/task3 3.8 GB, data/feature-degree is 1.8 GB. Will need to upload these elsewhere e.g. Zenodo


fix: removed extra line between the sections

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #XXXXX

Hey @DamYash
Thank you for opening this pull request.
This is a standard message notifying you that we've reviewed your pull request and have decided not to merge it. We would welcome future pull requests from you.
Thank you and happy coding.

Thanks @ieahleen for the feedback.


die - exit Fixer

feature request, I would like to have a fixer to changes all exit calls to die (and prop. v.v. for other people ;) )

isn't die alias for exit ?

It is (they have the same token id), it is a language construct to it is not picked up by the AliasFunctionsFixer.

then I would simply convert alias to non-alias (not v.v.) in AliasFunctionsFixer.

:+1:

:-1: because it is not a function.

Other opions? I like a diff. name (i.e. dedicated fixer) because (as @gharlan stated) it is not a function.

I think that @gharlan refuse to incorporate it into alias_functions. Create a new fixer then ;)

New fixer it is :)
btw. I would like to add configuration options to normalize the default usage;
exit("");
exit('');
exit(0);
exit();
exit;

I'm closing this as I use a diff. system for keeping tracking on stuff I want to do one day when I've time. Please don't reopen, I like to have a small list of issues on GH to manage. Thanks!


look into message announcement framework

How can we send announcements to app users

closed in favor of #695


Open types should use additional data for non-existent properties

Identity doesn't have TenantId and InvitationParticipantInfo doesn't have LanguageId and Region in the following example:
var transferTarget = new InvitationParticipantInfo
{
    EndpointType = EndpointType.Default,
    Identity = new IdentitySet
    {
        User = new Identity
        {
            Id = "550fae72-d251-43ec-868c-373732c2704f",
            TenantId = "72f988bf-86f1-41af-91ab-2d7cd011db47",
            DisplayName = "Heidi Steen"
        }
    },
    LanguageId = "languageId-value",
    Region = "region-value",
    ReplacesCallId = "replacesCallId-value"
};

Both are open types and we should add these properties into AdditionalData.
https://docs.microsoft.com/en-us/graph/api/call-transfer?view=graph-rest-beta&tabs=csharp#request
AB#6989

The main fix lies in addressing https://github.com/microsoftgraph/microsoft-graph-docs/issues/12184


t2-cli for IntelEdison

To continue the discussion from https://github.com/tessel/project/issues/123
The first idea might be to have:
t2 list

show additional IntelEdison devices.
Device information might be defined in a new directory boards/intel-edison.js

@mulderp here you can find a good starting point what you have to do for the IntelEdisons firmware!
Let me know your steps you go when you can see IntelEdison by using t2 list :smile_cat: - love your intend !!!

Thanks. My first steps are exploring mdns
var mdns = require('mdns')
  , ad = mdns.createAdvertisement(mdns.tcp('http'), 4321)
  ;
ad.start();

Actually, the Intel Edison and Galileo boards seem to use something called Connman to setup connectivity.

@Student007 that command dns-sd seems to work:
root@galileo:~/mdns# dns-sd -R galileo '_tessel._tcp' 'local' 22
Registering Service galileo._tessel._tcp.local port 22
DATE: ---Sat 02 Jan 2016---
17:08:10.553  ...STARTING...
17:08:11.292  Got a reply for service galileo._tessel._tcp.local.: Name now registered and active

Btw, uci does not work:
root@galileo:~/mdns# uci
-sh: uci: command not found

Hm.. now how to ping that mdns service?
t2 gives:
pm:mdns pmu$ t2 list
INFO Searching for nearby Tessels...
dgram.js:461
    throw new Error('Not running'); // error message from dgram_legacy.js
    ^

Error: Not running
    at Socket._healthCheck (dgram.js:461:11)
    at Socket.address (dgram.js:371:8)
    at SendWrap.callback (/Users/pmu/.nvm/versions/node/v4.0.0/lib/node_modules/t2-cli/node_modules/mdns-js/lib/networking.js:178:52)
    at SendWrap.afterSend [as oncomplete] (dgram.js:347:8)

And that Node mnds lib gives no pong back either:
var mdns = require('mdns');

var browser = mdns.createBrowser(mdns.tcp('http'));

browser.on('serviceUp', function(service) {
  console.log("service up: ", service);
});
browser.on('serviceDown', function(service) {
  console.log("service down: ", service);
});

browser.start();

Btw, uci does not work:

That is to be expected - uci is an OpenWRT utility. I don't think you'll need it in any case.
I'm not sure why t2 list is throwing an error for you. Perhaps one of the underlying OSX or Linux mDNS services is not running.
Your second example won't find it because of this line:
var browser = mdns.createBrowser(mdns.tcp('http'));

You need to be browsing for the tessel type since that's how you're advertising on your Edison: dns-sd -R galileo '_tessel._tcp' 'local' 22:
var browser = mdns.createBrowser(mdns.tcp('tessel'));

Or if that doesn't work, this is what we do in the t2-cli:
self.browser = mdns.createBrowser('_tessel._tcp');

On OSX, I often just use a command line utility to debug whether any Tessels are advertising:
dns-sd -B _tessel._tcp .

I hope that helps!

Thanks for the info. Indeed, it helped me understand better how mDNS works, but on the Poky Linux image I have some troubles. Opened a support ticket with Intel: https://communities.intel.com/message/363704#363704

About

I'm not sure why t2 list is throwing an error for you. Perhaps one of the underlying OSX or Linux mDNS > services is not running.

Not sure, was also seen here https://github.com/tessel/t2-cli/issues/343 - but has less prio for me now.

@mulderp are you working within a vagrant image (virtual machine I mean)?

@mulderp yeah, I had seen it a few times but never got to the root of it. Are you on OSX?
To rule out weird network infrastructure problems, you might want to see if you can advertise with your host machine and pick it up in another terminal window:
# Advertise in one window
dns-sd -R $(whoami) '_tessel._tcp' 'local' 22

# Detect in another window
dns-sd -B _tessel._tcp .

Thanks, nice trick. Yes, that works. I have the feeling that the problem might be this connman tool, that overwrites files in /etc/ on my device. Or, it is the router that does not act properly as bridge between WLAN and ETH0.
Anycase, there is also the option to retry this on an Raspberry Pi or Beaglebone if I have time.

@mulderp yeah sounds like something funky happening on the Edison. Unfortunately, I'm not very familiar with the platform so hopefully someone on the forums can chime in.

@mulderp

Anycase, there is also the option to retry this on an Raspberry Pi or Beaglebone if I have time.

would love to hear about your results :+1:  !!!

Ok, with another subnet on the Router <IP_ADDRESS> and an Edison, mdns is working. Now, I need to start extending the browser command from t2-cli.

@mulderp cool !! thought you stopped working because of this. Go forward its great what you are doing :+1:
Easiest way is you fork the t2-cli (as all contributors should do) and work in a branch. Maybe it fits and we could merge it !

:clap: Nice job @mulderp!

Some note that the Redbear Duo comes with an Arduino sketch that supports mdns:
https://github.com/redbear/STM32-Arduino/blob/master/arduino/libraries/RedBear_Duo/examples/01.Basics/Duo_WebServer/Duo_WebServer.ino#L42-L44
Might try later to discover the device with t2-cli

@mulderp are you still working on this issue? If not, I'm going to go ahead and close it because it's not a priority at the moment.

no, since I am working with other boards currently, lack of mdns on Edison seems less important