[Question] Failed to start containers with hostPath volumes

Manifests are from the kube-prometheus repository.
The relevant part of the manifest is
apiVersion: apps/v1
kind: DaemonSet
metadata:
  labels:
    app.kubernetes.io/name: node-exporter
    app.kubernetes.io/version: v1.0.1
  name: node-exporter
  namespace: monitoring
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: node-exporter
  template:
    metadata:
      labels:
        app.kubernetes.io/name: node-exporter
        app.kubernetes.io/version: v1.0.1
    spec:
      containers:
      - args:
        - --web.listen-address=<IP_ADDRESS>:9100
        - --path.procfs=/host/proc
        - --path.sysfs=/host/sys
        - --path.rootfs=/host/root
        - --no-collector.wifi
        - --no-collector.hwmon
        - --collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/pods/.+)($|/)
        image: quay.io/prometheus/node-exporter:v1.0.1
        name: node-exporter
        resources:
          limits:
            cpu: 250m
            memory: 180Mi
          requests:
            cpu: 102m
            memory: 180Mi
        volumeMounts:
        - mountPath: /host/proc
          mountPropagation: HostToContainer
          name: proc
          readOnly: true
        - mountPath: /host/sys
          mountPropagation: HostToContainer
          name: sys
          readOnly: true
        - mountPath: /host/root
          mountPropagation: HostToContainer
          name: root
          readOnly: true
      - args:
        - --logtostderr
        - --secure-listen-address=[$(IP)]:9100
        - --tls-cipher-suites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
        - --upstream=http://<IP_ADDRESS>:9100/
        env:
        - name: IP
          valueFrom:
            fieldRef:
              fieldPath: status.podIP
        image: quay.io/brancz/kube-rbac-proxy:v0.8.0
        name: kube-rbac-proxy
        ports:
        - containerPort: 9100
          hostPort: 9100
          name: https
        resources:
          limits:
            cpu: 20m
            memory: 40Mi
          requests:
            cpu: 10m
            memory: 20Mi
        securityContext:
          runAsGroup: 65532
          runAsNonRoot: true
          runAsUser: 65532
      hostNetwork: true
      hostPID: true
      nodeSelector:
        kubernetes.io/os: linux
      securityContext:
        runAsNonRoot: true
        runAsUser: 65534
      serviceAccountName: node-exporter
      tolerations:
      - operator: Exists
      volumes:
      - hostPath:
          path: /proc
        name: proc
      - hostPath:
          path: /sys
        name: sys
      - hostPath:
          path: /
        name: root
  updateStrategy:
    rollingUpdate:
      maxUnavailable: 10%
    type: RollingUpdate

Pods failed to start with the following error messages:
Events:
  Type     Reason     Age               From                          Message
  ----     ------     ----              ----                          -------
  Normal   Scheduled  <unknown>                                       Successfully assigned monitoring/node-exporter-rg47v to k3d-default-agent-1
  Warning  Failed     16s               kubelet, k3d-default-agent-1  Error: failed to generate container "26f5953bf43f9334f1b273d4b8105dda96564b46f8309de9d611d984e4b7e159" spec: failed to generate spec: path "/proc" is mounted on "/proc" but it is not a shared or slave mount
  Normal   Pulled     16s               kubelet, k3d-default-agent-1  Container image "quay.io/brancz/kube-rbac-proxy:v0.8.0" already present on machine
  Normal   Created    16s               kubelet, k3d-default-agent-1  Created container kube-rbac-proxy
  Normal   Started    16s               kubelet, k3d-default-agent-1  Started container kube-rbac-proxy
  Warning  Failed     15s               kubelet, k3d-default-agent-1  Error: failed to generate container "796a02b08e65f3083548d343006b25402b12c3b6cb767016670f72fb4c5c3783" spec: failed to generate spec: path "/proc" is mounted on "/proc" but it is not a shared or slave mount
  Warning  Failed     14s               kubelet, k3d-default-agent-1  Error: failed to generate container "be93094158f1bc8a0253108393265d70b7d15e22f91ffe584e52e0d4494cb2d1" spec: failed to generate spec: path "/proc" is mounted on "/proc" but it is not a shared or slave mount
  Normal   Pulled     1s (x4 over 16s)  kubelet, k3d-default-agent-1  Container image "quay.io/prometheus/node-exporter:v1.0.1" already present on machine
  Warning  Failed     1s                kubelet, k3d-default-agent-1  Error: failed to generate container "48fe719f50ce895ef6f71eab15c053781c3363dba70933ce843910fb16bc3ac9" spec: failed to generate spec: path "/proc" is mounted on "/proc" but it is not a shared or slave mount

Running K8s v1.19.4-k3s1 with K3d version v4.0.0-alpha.1.

After commented out "mountPropagation: HostToContainer" in the manifest,
the containers started successfully.

Hi @RainFlying , thanks for opening this issue and sorry for the late reply.
This seems to be an issue similar to this one: https://github.com/rancher/k3d/issues/363
I don't think there's a viable "fix" for this on k3d side and if your workaround works, that's good :+1:
This comment on the linked issue may help you as well: https://github.com/rancher/k3d/issues/363#issuecomment-748519965
If you think there's more we can do on k3d side, feel free to reopen the issue (or start a discussion using the new GitHub Discussions feature on the repo) :+1:

Hi @RainFlying , thanks for opening this issue and sorry for the late reply.
This seems to be an issue similar to this one: https://github.com/rancher/k3d/issues/363
I don't think there's a viable "fix" for this on k3d side and if your workaround works, that's good :+1:
This comment on the linked issue may help you as well: https://github.com/rancher/k3d/issues/363#issuecomment-748519965
If you think there's more we can do on k3d side, feel free to reopen the issue (or start a discussion using the new GitHub Discussions feature on the repo) :+1:


Related record not showing up on magnification

Is there an existing issue for this?

[X] I have searched the existing issues

Version of Corteza
No response
Current Behavior
Related information only shows if you press filter or sort
Expected Behavior
Related information shows without users needing to interact further with the page
Steps To Reproduce
See attached video
Environment and versions
`2023.3.0-dev.1`

Anything else?
Maybe related to https://github.com/cortezaproject/corteza/issues/635
Funding Attempt _ CRM _ Low Code.webm

Apprently this is not only on modification. I'm showing a list of "cousin records" (records that share a parent with the current record), and the list is not showing on page load of a standard record page.
See here
Lead _ CRM _ Low Code.webm

This was fixed in 2023.3.0-dev.2


WIP: attempt to fix intermittent failure - disallow filter.lfs.process

Signed-off-by: Andrew Thornton<EMAIL_ADDRESS>

damn this one doesn't fix the problem.


docs: ✏ Add comment for claims namespace

I had a PR merged in for this earlier, but looks like it got clobbered in a merge conflict.
https://github.com/PolymathNetwork/polymesh-sdk/pull/661/commits/2074e278af58bba7cd4f405cd0191a463e9aaf38

:tada: This PR is included in version 13.0.0-alpha.17 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 14.0.0-alpha.1 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 14.0.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 14.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


feat: drop preproprose no timelock

Test run
Integration tests
Dev-contracts mock
Dao module
Task

@sotnikov-s I'm afraid we can not afford syncing this pr with #322 as it has not been finished, it's huge and barely pushed forward. So I'd suggest this PR to merge first


Adding an option to install datalad-osf via datalad-installer

Hello! I am still trying to wrap my head around this datalad, git-annex, and datalad-osf business :). But, given how simple it has been to install all the above with datalad-installer 👏 , I reckon it would be nice to allow installing datalad-osf as well. So, I am curious if are there any caveats.
PS: This is not a request but just a note of appreciation. :)

how are you using datalad/git-annex?  datalad-osf is just pip install datalad-osf away, so in principle could be added . Eg. if you use conda-env  or miniconda -- add --spec datalad-osf

honestly, I was installing those two differently in different environments, pip install sometimes, brew install, module load (on slurm), apt-get  (on runners) etc. Really all kinds :). It was only today I found out how clean it was to install everything with datalad-installer.


mynewt-newt: 1.3.0 -> 1.7.0, use buildGoModule

Motivation for this change
Update mynewt-newt to 1.7.0. Switch from legacy buildGoPackage to buildGoModule
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Looks like 1.7.0 has a bug which prevents newt upgrade working with mcuboot (Unreleased workaround/fix is here https://github.com/apache/mynewt-newt/commit/7d4ef3fe65a9a83cc58e7bd973654ad235cc68bc). Not sure if we should patch it or just wait for a release...

@Thra11 Does 1.7.0 work well with the patch applied? It's probably ok to update it with the patch if it works well.

I had to cherry pick an additional commit for the fix to apply cleanly. Having done that, it builds and seems to work. I tried

Removing my existing mynewt installation
Switching to the 0.3.0 version of the package and running newt install
Switching to the patched 0.7.0 version of the package and running newt upgrade
It seems to have worked ok, where the unpatched version failed.

@GrahamcOfBorg build mynewt-newt


[$500] Web - Chat  - 2 APIs updateFrequentlyUsed emoji is sent

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

Action Performed:

Go to any chat
Select emoji from emoji picker or suggestion list
See APIs in Network tab of the dev tool

Expected Result:
1 APIs updateFrequentlyUsed emoji is sent
Actual Result:
2 APIs updateFrequentlyUsed emoji is sent
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/83714a99-4fb6-4bd7-bb48-30dffd44b4de
https://github.com/Expensify/App/assets/93399543/ca0c1cb3-9af7-41fd-a41e-e5577789bd9b
Expensify/Expensify Issue URL:
Issue reported by: @DylanDylann
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1694762881668309
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~015f5849f6d3603f6e
Upwork Job ID:<PHONE_NUMBER>577357824
Last Price Increase: 2023-09-16

Prposal by: @DylanDylann
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1694762881668309
Proposal
Please re-state the problem that we are trying to solve in this issue.
When selecting emoji from suggestion list or emoji Picker, this emoji is added to frequently used emoji 2 times
What is the root cause of that problem?
When an emoji is selected from suggestion list or emoji Picker we will call updateComment function
https://github.com/Expensify/App/blob/e48121cb35052e958928c002d2b3a7d78a930ff3/src/pages/home/report/ReportActionCompose/ComposerWithSuggestions.js#L176-L183
But we also have another logic to update frequently used emojis when selecting emoji from suggestion list or emoji picker
- Logic update frequently used emojis when selecting from Suggestion list
https://github.com/Expensify/App/blob/e48121cb35052e958928c002d2b3a7d78a930ff3/src/pages/home/report/ReportActionCompose/ComposerWithSuggestions.js#L138-L143
- Logic update frequently used emojis when selecting from Emoji picker
https://github.com/Expensify/App/blob/c36ac0c98cf8a92a5b7136bbf090550cca5ea90c/src/components/EmojiPicker/EmojiPickerMenu/index.js#L191
https://github.com/Expensify/App/blob/c36ac0c98cf8a92a5b7136bbf090550cca5ea90c/src/components/EmojiPicker/EmojiPickerMenu/index.js#L462
What changes do you think we should make in order to solve the problem?
Because we always update frequently used emoji in updateComment function so we don’t need logic to update frequently used emoji. So let’s remove it
- Logic update frequently used emojis when selecting from Suggestion list
https://github.com/Expensify/App/blob/e48121cb35052e958928c002d2b3a7d78a930ff3/src/pages/home/report/ReportActionCompose/ComposerWithSuggestions.js#L138-L143
- Logic update frequently used emojis when selecting from Emoji picker
https://github.com/Expensify/App/blob/c36ac0c98cf8a92a5b7136bbf090550cca5ea90c/src/components/EmojiPicker/EmojiPickerMenu/index.js#L191
https://github.com/Expensify/App/blob/c36ac0c98cf8a92a5b7136bbf090550cca5ea90c/src/components/EmojiPicker/EmojiPickerMenu/index.js#L462
Same things in EmojiPickerMenu/index.native.js
The same problem happen in ReportActionItemMessageEdit.js, we also need to fix it with the same way
What alternative solutions did you explore? (Optional)

I think we should hold this in the favor of https://github.com/Expensify/App/issues/27464. With the given solution, I think we won't be adding the frequently used emojis twice as described in the issue.

Ah, is this one just a dupe of that one you linked above?

I think fixing that should resolve this one too, or we can merge the issues and close this one out. Essentially the root cause is the same.

Got it. IMO, if root cause is the same, let's merge and close this one. No need to work on the same thing in two places.

Cool cool, closing!


Rename --insecure-options

The name of the flag insecure-options doesn't convey the intent clearly.
I suggest renaming it to use-insecure-method/use-insecure-option.
Another alternative is to rename flags and values to something like --disable-security-option=https which will be the same as --insecure-options=http.
Example usage:

--use-insecure-method=http, --use-insecure-method=tls

Naming is heard. :(
But in this case, renaming would break API, which is a no-no for the 1.x releases. So, I don't see this changing soon.

We can deprecate the --insecure-options by:

Adding a deprecation warning on usage.
Delegate calls to --insecure-options to the new implementation.
Remove --insecure-options from the documentations, so that the new users don't use it.

This would maintain the backwards compatibility and allow us to update the API.
Another option is to use versioned API (--api-version=v1.4 and if unspecified, use the latest one) , but that is a bit overkill for rkt.
Also, any system that is being used will evolve, meaning at some point we'll have to make changes to API. I think the sooner we establish the guidelines for that, the better.


Janky scrolling after bringing app from background on iPhone X

This can be reproduced with flutter gallery, but seems to be happening with pretty much any flutter application.
When bringing app from background, the scrolling is extremely janky (below 30 fps, even on iPhone X) for maybe 10 seconds, after which it gets resolved and is smooth again.
[✓] Flutter (Channel master, v0.11.4-pre.30, on Mac OS X 10.14 18A384a, locale en-US)
    • Flutter version 0.11.4-pre.30 at /Users/Matej/Projects/flutter/flutter
    • Framework revision aa65fa2fa1 (5 hours ago), 2018-11-12 23:47:16 -0800
    • Engine revision ea4bbbd440
    • Dart version 2.1.0 (build 2.1.0-dev.9.4 9c07fb64c4)

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.io/setup/#android-setup for detailed instructions).
      If Android SDK has been installed to a custom location, set $ANDROID_HOME to that location.
      You may also want to add it to your PATH environment variable.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.0)
    • Xcode at /Applications/Xcode-beta.app/Contents/Developer
    • Xcode 10.0, Build version 10L221o
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.3

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.io/setup/#android-setup for detailed instructions).

[!] IntelliJ IDEA Community Edition (version 2018.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • For information about installing plugins, see
      https://flutter.io/intellij-setup/#installing-the-plugins

[✓] VS Code (version 1.29.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.20.0

[✓] Connected device (2 available)
    • Matej’s iPhone X • f7e7ead1f9b5f3e2574cfbd9bc264fbcd5772a6c • ios • iOS 11.4.1
    • iPhone 5s        • BB2ADE05-BD55-4573-AB1D-0E932E53B592     • ios • iOS 12.0 (simulator)

the same problem on my iPhone X

This seems to be massively improved in current master, I'm guessing due shader cache finally being enabled?

This seems to have regressed significantly in current master.

Hi @knopp,
I tried a sample listview app on iPhone SE using latest stable (1.20.2) and didn't see the jank in scrolling after switching between apps and opening the app from background, unless I missed any step to replicate.
24282.mov.zip

flutter doctor -v
[✓] Flutter (Channel stable, 1.20.2, on Mac OS X 10.15.2 19C57, locale en-US)
    • Flutter version 1.20.2 at
      /Users/deeptibelsare/Documents/Fluttersdk/flutter
    • Framework revision bbfbf1770c (3 weeks ago), 2020-08-13 08:33:09 -0700
    • Engine revision 9d5b21729f
    • Dart version 2.9.1

[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/deeptibelsare/Library/Android/sdk
    • Platform android-30, build-tools 29.0.3
    • ANDROID_HOME = /Users/deeptibelsare/Library/Android/sdk
    • ANDROID_SDK_ROOT = /Users/deeptibelsare/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_212-release-1586-b4-5784211)
    ✗ Android license status unknown.
      Try re-installing or updating your Android SDK Manager.
      See https://developer.android.com/studio/#downloads or visit
      https://flutter.dev/docs/get-started/install/macos#android-setup for
      detailed instructions.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.9.3

[✓] Android Studio (version 3.6)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 45.1.1
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build
      1.8.0_212-release-1586-b4-5784211)

[✓] Connected device (1 available)
    • SM A260G (mobile) • 5200763ebcfa861f • android-arm • Android 8.1.0 (API
      27)

! Doctor found issues in 1 category.

Can you confirm if this is still an issue at your end ?
Thanks.

I think this was fixed in #31086.

Thanks @knopp. I am going ahead and closing this issue as fixed. If you disagree, write in comments and I'll reopen.
Thanks.


Default start-time behaviour

When running with --max-sequencing-time without --start-time-min the default behaviour is to ignore --max-sequencing-time.
Suggest setting 'start-time-min' to true when --x-sequencing-time is used without --start-time.

Just to prevent confusion, its '--start-time min' (one dash less)


Suggested Security Improvements

https://github.com/kuberstack/installer/blob/master/kops/callKops.go#L115  => Should not be AlwaysAllow but instead Node,RBAC
https://github.com/kuberstack/installer/blob/master/kops/callKops.go#L124 => Suggest calico over kubenet (or any CNI plugin that supports networkpolicy enforcement.  Also, as soon as kops installs kubernetes 1.8.x natively, you should strongly consider moving to 1.8 for its support of egress/outbound network policies.
Also, kops upstream is working on addressing the kubelet-exploit via work referenced in: https://github.com/kubernetes/kops/issues/3891
Consider installing by default: https://github.com/jtblin/kube2iam or https://github.com/uswitch/kiam to prevent access to EC2/ECR/S3 permissions granted to nodes from compromised pods.
Meta reference/background for all of the above items: https://github.com/kubernetes/kubernetes/issues/52184

Unfortunately, we are closing this project, since Amazon released https://aws.amazon.com/ru/eks/


HUI Features

Examples build CI is failing but it's just one project that will be updated in the next PR.


Update blurb to reflect changes to second print edition

We are undertaking a number of updates to the book to create a second print edition and the back cover description should likely be updated subtly to reflect these.

 Gov4Git notices
On Thursday, 29-Aug-24 16:17:55 UTC by Gov4Git dev
Notice wpebun
Started managing this issue, using the Plural Management Protocol v1,  as Gov4Git concern 998 with initial priority score of 0.000000.
This project is managed by Gov4Git, a decentralized governance system for collaborative git projects.
To participate in governance, install the Gov4Git desktop app.
Notice 52osfj
This issue's priority score is now 0.000000.
The cost of priority is 0.000000.
The projected bounty is now 0.000000.
Notice f7qrgz
The set of eligible proposals claiming this issue is empty.

 Gov4Git notices
On Tuesday, 08-Oct-24 14:09:30 UTC by Gov4Git dev
Notice oyvvke
This issue's priority score is now 62500.000000.
The cost of priority is 62500.000000.
The projected bounty is now 62500.000000.
Notice wvk7zc
The set of eligible proposals claiming this issue is empty.


EXSWHTEC-354 - Implement additional tests for integer intrinsics

Additional sanity tests for integer math intrinsics.

Depends-on: #227

PR has been merged into develop branch via commit 147601aff25f5054dac97b94f2942115aa4f894f.


Can't set text focus in first line of first cell

Really strange bug.

VS Code Version:
Version: 1.61.0-insider (user setup)
Commit: 53aff5e347865fe22f9487ebd54dec9db23773b2
Date: 2021-09-23T13:51:38.771Z
Electron: 13.4.0
Chrome: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.22458

OS Version: Windows 11

Steps to Reproduce:

Open any notebook. (I've reprod with github-issues and .ipynb files)
Add a single cell to the notebook with a single line
Try to click in the text of the first line to set the caret.

Doesn't take. It will if you click just slightly below the bottom of the text.

Fixed via e5346784113c927ee03b4df9ced8e7c49a77215f


Add in some hardware setup instructions

Signed-off-by: Chen Bainian<EMAIL_ADDRESS>Hi maintainers, I notice some activities in this repo. My team also added some setup documentation some time ago for using (https://github.com/osrf/fleet_adapter_mir/) and the client library (https://github.com/osrf/mir100-client). Since some of the changes we made in https://github.com/osrf/fleet_adapter_mir/commit/c695a6643c256937623ca125c2228b929544a497 under my fork uses the REST API client library and were revamped after https://github.com/osrf/fleet_adapter_mir/pull/11, we hope that the following documentation could be of use the active development in this repository.
Please let us know if this will be of use and if so how to best incorporate the following tutorial. We are happy to make changes accordingly.

Hello @Briancbn, the repo has changed substantially since this PR was first opened. If you'd like to continue with the contribution, I'd suggest reopening it and adding the proposed hardware setup instructions in the docs/ folder, while following Yadu's feedback and refrain from using VS code screenshots. I'll close this PR for now.


WMCore/Credentials/Proxy is not py3 compatible

while trying to make CRABClient work with python3, I hit the following errors

[ ] WMCore/Credentials/Proxy
[ ] https://github.com/dmwm/WMCore/issues/10483#issuecomment-836336540

WMCore/Credentials/Proxy - details
https://github.com/dmwm/WMCore/blob/fcca972e2fab220d65235a65940fe7a9f00e5cfc/src/python/WMCore/Credential/Proxy.py#L764-L780
problem is that execute_command at line 23
https://github.com/dmwm/WMCore/blob/fcca972e2fab220d65235a65940fe7a9f00e5cfc/src/python/WMCore/Credential/Proxy.py#L23
relies on subprocess which returns a list of bytes, not
a string, so the code above (and very likely many other similar case) raises a
TypeError: a bytes-like object is required, not 'str'

when hitting e.g.
return attribute.split('\n')[0]

where we try to use  the string '\n' to split the byte sequence attribute
I have several instances of this in CRAB code as well and am currently working around cases like suprocess.check_output) by wrapping the call str(subprocess.....). But have not found a solution yet for subprocess.popen[*].  It you know the way, please share.
[*] making execute_command above return str(stdout), str(stderr) causes numerical values to be returned as e.g. "b'669143\\n'" which breaks lines which try to perform arithmetic.
Even if I am going to stop using WMCore in CRABClient, I will  need a way to call suprocess in a py2/3 compatible way (w/o importing future !) so any idea on how to deal with those numbers reported a list of bytes will be welcome. I guess I can cast subprocess outputs to int or str depending on which command I execute, but.. well.. surley stinks. And does not look "pythonic" at all.
(apologies for having written srong statements before, I edited the text after a couple more tests)

As mentioned by @goughes at https://github.com/dmwm/WMCore/issues/10529#issuecomment-856773434, #10577 should fix this issue

thanks @mapellidario for keeping me in the loop.
Indeed I had just came to same solution (decode(encoding='UTF-8')) for CRABClient.
Beware the case where subprocess returns None for out or err, I was getting and error there and had to use. Maybe you are protected by if isinstance(value, str)
out, err = proc.communicate()
stdout = out.decode(encoding='UTF-8') if out else ''
stderr = err.decode(encoding='UTF-8') if err else ''

in my tests this works also in python2, no need for the if Py3 switch.

Closed via https://github.com/dmwm/WMCore/pull/10577


Fabric view: Clicking on service API docs icon doesn't work well in Safari

Expected Behavior
Clicking on the docs icon should consistently open the API docs.
Actual Behavior
Clicking on the docs icon doesn't always open the API docs as intended.  I think the hit area is shifting with the animation causing the click event to not be triggered.
Steps to Reproduce the Problem

Click on any service API doc link.  You may need to try multiple times to see the issue.

Specifications

Version: 0.9.1
Platform: macOS Sierra
Subsystem: Safari . 10.1

I read that transitions and animations reset the z-index of footer.  Then footer area is the same clickable area as card layout on hover, as the animation expands the card itself.  Looking for possible vendor prefix as it's working fine in Chrome..


Bug Fixes, New feature and Functionality and modules

Changes proposed in this pull request

bug fixes one is in header and another is conditional
Expanding the scope for temp_dependent variable.
dictionary based response match
new log functionality
new added modules to demonstrate that functionality.

Your development environment

OS: x
OS Version: x
Python Version: x

Quick run the tool with this command python nettacker.py -i owasp.org --profile whatweb --skip-service-discovery --extra-module-args "schema=https&ports=443" for detecting web_technologies, also change --profile waf for waf detection but currently it test for akamai WAF because of testing purposes. Also, even after this new changes no previous functionality break.


Not Loading a Model

Hi,
I want to use WindowsML. I was following this tutorial:
https://docs.microsoft.com/en-us/windows/ai/windows-ml/evaluate-model-inputs
Everything worked fine! However, when I tried a different model such as mnist.onnx or my own .onnx model, I get the following errors caused during the execution of LoadModel():
Exception thrown at 0x76B83442 in test1.exe: Microsoft C++ exception: winrt::hresult_error at memory location 0x005BF2A4.
Exception thrown at 0x76B83442 in test1.exe: Microsoft C++ exception: winrt::hresult_error at memory location 0x00BCF370.
I have not changed anything in the code except for the variable modelPath...

More details:
I concluded that there is a problem in loading a network with a pooling layer. For example, if I try to load the network, generated by the following code, everything works.
model=keras.Sequential([
    keras.layers.Conv2D(filters=64,kernel_size=[3,3],strides=2,activation='relu',padding='valid', name='conv1', input_shape=(104, 104,1)),
    keras.layers.Conv2D(filters=64,kernel_size=[3,3],strides=2,activation='relu',padding='valid', name='conv2'),
    # keras.layers.MaxPool2D(pool_size=[2,2],strides=2,padding='valid',name='pool1'),
    keras.layers.Flatten(),
    keras.layers.Activation('relu'),
    keras.layers.Dense(units=1024,activation='relu',kernel_regularizer=keras.regularizers.l2(0)) ,
    keras.layers.Dense(units=512,activation='relu',kernel_regularizer=keras.regularizers.l2(0)) ,
    keras.layers.Dense(units=297, activation='softmax')
])

onnx_model = keras2onnx.convert_keras(model, 'Test')
onnxmltools.utils.save_model(onnx_model, 'modelConv2.onnx')

But If I remove # from the line containing MaxPool layer I get memory error shown above.

This repo has changed significantly since this issue was first raised, and further changes are upcoming. As such, I'm going through and closing many of these stale issues which sat unassigned for a long while.


Please support python3.9

the 3.9 no longer supported.

Hello, Same request here.
Unsupport Python3.9 is reasonable, however, there any tons of servers using even lower python version, for some historical reason these machines hard to upgrade python versions, besides, python3.9 shouldn't be old enough and abandont imediately.
However, I would agree we stick with newest python version. The suggestion would be if the latest API add compatible to those old ones could be even better.

I believe that iterating on Python versions is very necessary.
First, Python itself updates rapidly, so it’s not advisable to stick to old versions.
Many AI projects on GitHub rely on outdated Python versions and dependencies, and they often lack maintenance. This makes it very challenging to deploy and test them independently. Even if you want to deploy, there are hurdles like outdated dependencies and underlying libraries.
Moreover, AI projects use various Python versions. My suggestion is to use Python virtual environments, as they ensure consistency in the environment and prevent contamination of your local setup.

Ultimately this comes down to developer motivation / effort - I'm not personally motivated to spend my limited hobby time adding support for EOL python versions. I'll only implement support for versions currently considered stable by the python maintainers.
If someone else with different motivations wants to work on this, I'll test and merge a PR.

As from I can see, the project itself doesn't need massive modifications, there is no gramma uncompatible unique in python3.10 existed in code.
The only thing need to do is modify the config in pyproject.yml:
classifiers = [
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Topic :: Multimedia :: Sound/Audio",
"Topic :: Multimedia :: Sound/Audio :: Mixers",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]
[tool.poetry.dependencies]
python = ">=3.10"
If that is ok I would like open an PR for that.

If anyone want using mel-band-roformer or mxdnet-main vc-ft etc without any constraints on python, please using:
pip install audiotool

Its straight forward to use:
from audiotool.audioremovel.vocal import AudioSeparatorOne

separator = AudioSeparatorOne()
outs = self.separator.separate(audio_file)
# returns: {'vocals': vocal_file, 'instrumental': inst_file}
shutil.copy(outs["vocals"], vocal_file)
shutil.copy(outs["instrumental"], bk_file)

The default file saved same path as input audio file with extension added _vocal or _inst
It's so that simply that a single line of code can help you do vocal removel!

Thanks so much, really useful.


run tests in GH CI

CI gfxreconstruct build queued with queue ID 295345.

CI gfxreconstruct build # 5291 running.

CI gfxreconstruct build # 5291 passed.


GPU Memory Consumption for IG Inference

Hi, thanks for the excellent work! I'm wondering if you could help me confirm the memory budget for IG inference.
I was trying to run Step 2 of the preparation on two NVIDIA RTX A6000 48GB GPUs with:
CUDA_VISIBLE_DEVICES=1,2 python IG_inference.py --infer_method ig_infer --load_path /path/to/trained/atlop/ckpt/best.ckpt --model_name_or_path bert-base-cased --transformer_type bert
and got the OOM error message below.
Traceback (most recent call last):
  File "IG_inference.py", line 321, in <module>
    main()
  File "IG_inference.py", line 317, in main
    infer_methods[args.infer_method](model, infer_features, args)
  File "IG_inference.py", line 79, in ig_infer
    gradient = grad(outputs=label_logit, inputs=inp_embs, retain_graph=True)[0].squeeze(0)
  File "/home/ma.y/.conda/envs/docre-py3.8/lib/python3.8/site-packages/torch/autograd/__init__.py", line 275, in grad
    return Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
RuntimeError: CUDA out of memory. Tried to allocate 72.00 MiB (GPU 0; 47.54 GiB total capacity; 45.29 GiB already allocated; 38.69 MiB free; 45.69 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

Could you please provide some information about the GPU memory requirement to run the IG inference? BTW, the code ends properly if I change --infer_method from ig_infer to grad_infer.
Also, it seems to me that the data parallel didn't work correctly, as the memory was only allocated on the first GPU I specified.
Thank you in advance for your time and patience !
========
Some modifications I made in order to make the code run:

commented out L.17 in model.py
changed L.274 from model_name_or_path = BERT_PATH_DIR + args.model_name_or_path to  model_name_or_path = args.model_name_or_path
added the following lines after L.307 in IG_inference.py:

if isinstance(model, torch.nn.DataParallel):
        model = model.module

Some (maybe important) package versions:
# Name                    Version                   Build  Channel
apex                      0.1                      pypi_0    pypi
python                    3.8.13               h12debd9_0
pytorch                   1.11.0          py3.8_cuda11.3_cudnn8.2.0_0    pytorch
transformers              4.14.1             pyhd3eb1b0_0

Yep, ig_infer will consume more GPU memory than grad_infer, and cost more time to finish the task.
Since we have not done some extra paralell optimization yet, only one GPU (memory > 24GB) can be used.
We do some modification to the code, and it works now, you can use the latest commit c5bf77e.

Fixed with commit c5bf77ee1c69bca804df861644b8181822723bdd

Thanks for the quick fix!
I'm contacting you again about an issue I encountered when executing step 3.
Specifically, when I ran python getds.py --model_type bert-base-cased, I got the error message below:
Traceback (most recent call last):
  File "getds.py", line 2, in <module>
    from run_utils import build_entity_attack_dataset, enp_topk, get_atlop_model
  File "/home/ma.y/Research/DocRED-HWE/run_utils.py", line 123
    def enp_topk(args, model, model_type, tokenizer, dataset/ig_pkl_path, file_in="dataset/docred/dev_keys_new.json", limit=False):
                                                            ^
SyntaxError: invalid syntax

Could you please help me resolve the issue again?
Thanks a lot!

That is caused by typos in function parameters, fix in commit 03d7ed9

Thank you for the fix, and sorry for repeatedly bothering you.
After pulling the latest commit, I reran python getds.py --model_type bert-base-cased and get error messages as below:
Traceback (most recent call last):
  File "getds.py", line 16, in <module>
    enp_topk(args, model, model_type, tokenizer, "dataset/ig_pkl")
  File "/home/ma.y/Research/DocRED-HWE/run_utils.py", line 154, in enp_topk
    with open(ig_pkl_path, "rb") as dig:
IsADirectoryError: [Errno 21] Is a directory: 'dataset/ig_pkl'

where dataset/ig_pkl is indeed a directory containing IG results.
Would you still be kind enough to help me resolve the error?


code doesn't recognize

I am trying to run a parallel simulation using mpi.
I have included  in the input file but the code seems to not see it, I get an error
"Too few mesh blocks nbtotal(1) <nrank(8)"
Is there anything else that needs to be done in order to register the number of blocks?
Thanks in advance

Hi,
Currently our input file reader does not recognize "tab". So if you use tabs for spacing, please replace them with spaces. If this does not work, please let us know.
Kengo

hi, that fixed it! thanks alot.


Add token icon.

If we select ETH, we can see the ETH icon. like below.
https://twitter.com/SwingbyProtocol/status/1217130875730702337?s=20

Wow! I was actually thinking the exact thing! Planning on adding it (plus token specific color themes for each page as well) after I fix the contract parsing error. Or I can do it before that

Added token icons here (WIP)
https://github.com/staketechnologies/lockdrop-ui/commit/f5eda3a5f1eb8f1b5fe4e08722953a77620f8393


Enforce at least one argument in commands

Variadic arguments are heavily used in the package. However, I think the way they are written now is quite error-prone. For example del
https://github.com/denolib/deno-redis/blob/4ad600278d9c6aeccbbf624eb2593d895ebb9e1c/command.ts#L50
and most other commands require at least one argument. However, with the way the function is written above it's easy to call del() without any arguments, and an error is thrown. It can be instead written like this, which is semantically similar but safer.
del(key: string, ...keys: string[]): Promise<Integer>;

Thoughts welcome!

Seems like there's very little downside to making this change. It's a breaking change, yes, but gives a clear safety advantage.

Like @Terkwood said this is a breaking change to the public API so I want to hear your thoughts @uki00a before planning on implementation.

I agree with this change :+1:
We haven't reached a major release yet, so I'm open to breaking changes :smile:

node-redis
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/7032a7ec67198833fcbfd18a3cc62db419e0503d/types/redis/index.d.ts#L343
ioredis
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/7032a7ec67198833fcbfd18a3cc62db419e0503d/types/ioredis/index.d.ts#L985
go-redis
https://github.com/go-redis/redis/blob/3fbf7df0144b53a5c5af591df1641527c78b94e6/commands.go#L81

PS) On second thought, I think the current behavior is not wrong :thinking:
Reason 1: There may be a situation where users want to use an array
const keys = collectKeys();
await redis.del(...keys);

Reason 2: Some other clients behave the same way as this module
Fo example, go-redis and redis-cli gives the same error when no key passed:
main.go
package main

import (
    "context"
    "fmt"
    "github.com/go-redis/redis/v8"
)

var ctx = context.Background()

func main() {
    rdb := redis.NewClient(&redis.Options{
        Addr:     "localhost:6379",
        Password: "",
        DB:       0,
    })
    keysToDelete := []string{}
    n, err := rdb.Del(ctx, keysToDelete...).Result()
    if err != nil {
      fmt.Printf("%v\n", err)
    } else {
      fmt.Printf("%d\n", n)
    }
}

$ go run main.go
ERR wrong number of arguments for 'del' command

Good point. Not being able to use spread is quite painful. The error being thrown was the reason I opened this issue, I thought we could leverage type checking to protect users from themselves. But seeing that it's actually expected behavior in other packages, maybe we should follow the crowd here.


Added empty line after table to make formatting work when creating the http page

@sadielbartholomew If you are happy, may I also ask you to push the merge button :-)

Ah, of course. Thanks for sorting all this Lars, and sorry it didn't end up being as straightforward as we hoped :)


"include" in pyproject.toml now relates to "package_data" in setup.py.

Before this change, only package-includes were considered when building the package_data field in setup.py. "include = [...]" fields were ignored which made using PEP 561-specified "py.typed" impossible.
Resolves: https://github.com/python-poetry/poetry/issues/1338

[x] Added tests for changed code.
[x] Updated documentation for changed code.

@atollk This looks good to me. Can you rebase it against master to fix conflicts? Thank you for your contribution!

@atollk I am almost sure this fixes my problem. Just to make sure...
I add include = ["src/package/locale/**/*.mo"] and it creates on wheel/bdist the mo files in the root of the package (src/package/locale) instead of inside the package (package/locale).

@atollk would we be able to have this on the next release?

@staticdev I haven't pursued this topic further since @abn 's opinion was that the change should not be added at all.


Out of date locations for former company-wide settings

Instructions on this page still refer to the "Org-wide" settings interface, which has recently been removed.  E.g. External Users (federated chat) has moved to underneath Users (as of 2021-09-23 across approximately a half-dozen tenants I have been able to confirm).

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

ID: 2c9b7f77-061d-a224-ff1c-8d3e15d21221
Version Independent ID: 00fa9550-c4c4-3398-ffbb-271cc724048f
Content: Manage settings for your organization - Microsoft Teams
Content Source: Teams/enable-features-office-365.md
Service: msteams
GitHub Login: @SerdarSoysal
Microsoft Alias: serdars

Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

Hi @justinkobel, thank you for your feedback.
The new Teams Admin Center navigation was released 2 days ago. There is an internal work in progress to updates these articles.


Docs show different example results than what you see in the service now

These are my notes as I went through documentation as part of #193.
Some examples in the documentation list the results that are returned from the request. Because these were added ages ago, they may differ from what is returned by the service right now. It's not too big of a deal in most cases and people should expect these to change over time, but the reverse with Tour Eiffel and autocomplete in Union Square are different enough to cause confusion if someone tried to compare the docs with the current results.
place
old href
https://search.mapzen.com/v1/place?
new href
https://mapzen.github.io/search-sandbox/?query=place&
reverse
old href
https://search.mapzen.com/v1/reverse?
new href
https://mapzen.github.io/search-sandbox/?query=reverse&
Tour Eiffel - # 3 (not # 1) result now for https://mapzen.github.io/search-sandbox/?query=reverse&point.lat=48.858268&point.lon=2.294471
search
old href
https://search.mapzen.com/v1/search?
new href
https://mapzen.github.io/search-sandbox/?query=search&
https://mapzen.github.io/search-sandbox/?query=search&text=YMCA gives different top 10 results (and 1 now is in Slovakia)
Every query on page has different top 10 result list
These results are a lot different: https://mapzen.github.io/search-sandbox/?query=search&text=YMCA&sources=oa
structured
old href
http://search.mapzen.com/v1/search/structured?
new href
https://mapzen.github.io/search-sandbox/?query=search/structured&
Note: + in URL is converted straight to + https://mapzen.github.io/search-sandbox/?query=search/structured&address=Rue+de+Rivoli&locality=Paris&region=France (and search is for Rue+de+Rivoli, so changed + to space so they show up correctly in text box)... I recall we used the + originally because of cached results.
so many examples in this section
autocomplete
old href
https://search.mapzen.com/v1/autocomplete?
new href
https://mapzen.github.io/search-sandbox/?query=autocomplete&
Union Square from SF is not returned at all
https://mapzen.github.io/search-sandbox/?query=autocomplete&focus.point.lat=37.7&focus.point.lon=-122.4&text=union square
Now gives all results in NY
https://mapzen.github.io/search-sandbox/?query=autocomplete&focus.point.lat=40.7&focus.point.lon=-73.9&text=union square
Different results with and without focus point (no Malta) https://mapzen.github.io/search-sandbox/?query=autocomplete&focus.point.lat=52.5&focus.point.lon=13.3&text=hard rock cafe
Different results
https://mapzen.github.io/search-sandbox/?query=autocomplete&sources=openaddresses&text=pennsylvania
Different results
https://mapzen.github.io/search-sandbox/?query=autocomplete&text=starbuck&layers=venue

None of the mapzen links work right now. Using the search-sandbox gets a page at least, but requests from the pages don't work.


Checklist for javascript web development

It would be very interesting, checklist about web development.
About accessibility: https://dzone.com/articles/the-accessibility-checklist-i-
And very useful resources and tools:  I'm a huge fan of the dump function.
http://ajaxian.com/archives/javascript-variable-dump-in-coldfusion
https://stackoverflow.com/questions/208016/how-to-list-the-properties-of-a-javascript-object/3937321?noredirect=1#comment77658479_3937321
Coldfusion dump for javascript not found (http://www.netgrow.com.au/assets/files/dump/dump.zip gives 404 error by redirect)
Now, in 2017 what do you use for dump javascript? console.log for Firebug FF, Chrome ?
javascript dump is better ?
Thx a lot

Thanks for the link/info! I'm going to skip adding the accessibility checklist since it's from 2008.
I personally use the console if I'm not working with a debugger as far as dumping variables etc. If you were a fan of that cfdump-like functionality for JS, this may interest you: https://j11y.io/javascript/prettyprint-for-javascript/

Other  dump function: https://github.com/ozmartian/js-cfdump
In modern browsers (IE9+, FF4+, Chrome5+, Opera12+, Safari5+) you can use the built in Object.keys method and console.log, Not pretty, but very simple.
References:
https://stackoverflow.com/questions/208016/how-to-list-the-properties-of-a-javascript-object/3937321?noredirect=1#comment77658479_3937321
https://stackoverflow.com/questions/684672/how-do-i-loop-through-or-enumerate-a-javascript-object


Need a way to specify "just type" with produces

When you really want to use ObjectResult but not change the output content types, there's no way to specify the logical return type with [Produces].
Consider this code: There's no way to specify the Type without specifying content types.
[Produces(typeof(Product))] // does not exist yet
public IActionResult GetProduct(int id)
{
    var product = db.Products.Get(id);
    if (product == null)
    {
        return NotFound();
    }
    return new ObjectResult(product);
}

@rynowak, @yishaigalatzer  : Probably this is a stale bug...seems like we already have this ability...links:
https://github.com/aspnet/Mvc/blob/dev/src/Microsoft.AspNet.Mvc.Core/Filters/ProducesAttribute.cs#L23
https://github.com/aspnet/Mvc/blob/dev/test/WebSites/ApiExplorerWebSite/Controllers/ApiExplorerResponseTypeOverrideOnActionController.cs#L8

My bad...please ignore my previous comment...i see that we want to specify the Type without the content types...

Note that this might impact the mapping media types through file extensions feature (and you want to verify it doesn't break any scenarios and add test coverage for that feature as well).

CC @kulmugdha @rynowak


ECU-R Not reporting Total and Daily Energy

Integration Version: 1.4.3
APSystems Model:ECU-R (2160xxxx)
Hey,
I've just installed the APSystems at home and thanks to this integration I could get "all" the information in home assistant. Appreciated, thanks.
I'm saying "all" because for a reasons I'm not able to fix, the produced energy reported is always 0.

A things I noticed is even when I connect to APManager App (locally) these information are 0, so I guess we are reading everything from there. But on the net and in the "end user application" everything is working correctly.
Does anyone have any tips on how to debug and fix it?

Having an ECU-R 2160xxxx with firmware 1.3.14 is odd - for this model I'm currently at ECU_R_1.2.31. Have you tried factory defaults (not even sure if this will downgrade the firmware). Ask APsystems for support because this is a firmware issue.


Avoid unwanted spaces

A little change to avoid that

Yes good idea ! I've just copied what I've done  https://github.com/didierfranc/react-sc/blob/master/src/Styled.js#L10-L14

Codecov Report

Merging #16 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #16   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           2      2
  Lines          89     90    +1
  Branches       25     25
=====================================
+ Hits           89     90    +1

Impacted Files
Coverage Δ

src/react.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


ARM64 (e.g. Raspberry Pi 4) support?

Would it be possible to add support for ARM64?
Are you aware of any issues preventing ARM64 support being introduced up to this point? Or simple lack of time/requirements for it?

Simply no need/time at the moment. Feel free to add a pull request.


Publish git tags for each release?

Would it be possible to publish a git tag for each release here? This would be way more convenient when creating packages for a distro when using the source tarball from github :)

sorry for the delay! i'll tag those releases as soon as possible!

I have published all tags upto v0.2.7, please do take a look and let me know what you think!
you can contact me here:
nerdypepper @ irc.rizon.net
nerdypepper at tuta dot io
cheers

Awesome, thanks!


Timer metrics per rule

The timer metrics were global before. Recording the latency of all searches, etc, with this change we have timers per rule. We record the latency of rules instead of a global one.

merged! thanks @jabolina !


New TableEditor, thread-safety, and table import

So I created a new TableEditor under doltdb, similar to the IndexEditor. I renamed the old editor to sqlTableEditor, and it's now using TableEditor underneath. It's just to comply with the SQL interfaces.
Perhaps one of the most striking changes are the synchronization changes. The motivation was from a comment from @zachmu , which implied that some of the write paths are parallelized for performance, and the old editor was not thread-safe by any means. In order to support these new write paths, it was necessary to make TableEditor thread-safe. Because of this, IndexEditor also received the same changes. I verified that there was a lack of data races using go test -race, and also ran the concurrency tests with thousands more iterations and edits (they're lower now so that we're not spending an hour in Jenkins). Just to verify that my tests also worked, I made temporary intentional changes that would allow for data races, and the tests caught them, and go test -race also caught them.
In addition to the above changes, dolt table import and dolt table cp both use the TableEditor now. Due to the concerns mentioned in the previous paragraph, I decided to benchmark a few metrics to get an idea of the performance impact of these two major changes.
To measure just the impact of the threading changes, I imported 1,000,000 rows through SQL and timed the results:
Before: 67.074s
After:  67.363s

The result is close enough that it's within the margin of error, so it's safe to say that new TableEditor is just as performant as the old implementation.
The table import is a different story though. This time, I imported a 10,000,000 row .psv, with the results being:
Before: 53.521s
After:  107.816s

It takes roughly twice as long now, which is slower, but not tragically so. Primarily, the difference in speed is that the old code just wrote directly to the edit accumulator, where as the TableEditor does a ton more bookkeeping, being a generalized editor.

Even if the pipeline code does not currently use multiple threads for writing to the TableEditor, we'll still have to make it thread-safe at some point in the future. I'd say these should have been thread-safe from the beginning, and not having them so does limit their potential usage.
I kept the lock implementations simple for the sake of clarity as well. We can go back over them later whenever do a performance overhaul of the editors. For TableEditor, it's all just Lock()/defer Unlock(), so it's not hard to trace.
For IndexEditor, I'm not using the defer Unlock() pattern so much, as the Lock()/Unlock() just surrounds portions of code that are 1-3 lines long and don't have reasons to panic, so it's also straightforward in its implementation.

Apparently Jenkins is having issues with doltpy, so ignore the failure, as it passed everything.

I haven't looked at this yet, but wanted to address the performance regression.
A 50% performance penalty in CSV import is maybe barely permissible, but should be avoided if at all possible, even if it makes the code more complicated. This is the front door for most customers, especially those with large pre-existing data sets. It needs to be as fast as possible. I think 10M rows in 2 min is probably acceptable, but obv faster is better. It's worth doing some work profiling this to see where the time is going for CSV, and which parts could be avoided. If there are easy wins to be had here, let's take them.
I agree substantially about the thread safety concern (better to assume it will be used in a non-thread-safe way). Probably worth benchmarking with and without the locks to see if it costs us performance, though.

I'll profile and see what I can come up with. I tried some simple multithreaded changes in the import code and only got around 2 seconds of speed increase for a lot more complexity, so I reverted that and shipped what is here.

Probably worth benchmarking with and without the locks to see if it costs us performance, though.

Darn it @zachmu it's right there in my initial post lol, I'll just copy it here too:

To measure just the impact of the threading changes, I imported 1,000,000 rows through SQL and timed the results:
Before: 67.074s
After:  67.363s

The result is close enough that it's within the margin of error, so it's safe to say that new > TableEditor is just as performant as the old implementation.

Brian, this is about a 2x performance regression for import. I want you to see if you have any ideas on how to speed it up. Daylon is in the middle of profiling it, so he might have some low hanging fruit too.

So from profiling...well I didn't find anything that can be considered "low hanging fruit". It looks like a significant chunk of time spent is on garbage collection, and I can't find anything quick and simple that can reduce that. Besides that though, the load is fairly spread out.
Performance of this path is something that I can really dig into and try to optimize after foreign keys are in. Since everything will be using this new path, it would lead to speed increases across the entire product.


As a physics person/developer I want to be able to validate that my physics calculations are realistic

Do this by:
By looking at specific calculations that are done
By looking at intermediate variable graphs (motor power vs distance, kinetic energy, etc

This will be additionally validated by comparing results with nrel's fastsim results

This will be additionally validated by comparing results with nrel's fastsim results


Shell handles all possible relx app formats

The list of applications in the relx config section could contain
tuples. The tuple will either contain a version constraint for the app,
the start type of the app or both.
This fix silently expands {shell_apps, [Apps]} to support the same
format.
fixes #764

Should it use application:load/1 on those marked as load?

It already does and loads all apps first, but I guess I haven't filtered these. Fixing.


alert: add alert-dismissible class

Per https://getbootstrap.com/components/#alerts-dismissible, dismissible alert boxes should have an alert-dismissable class.

Coverage remained the same at 100.0% when pulling 150b8c771fb236b13a8a5a7161fe4eb61ff6121b on mattscilipoti:alert_dismissible into 88a6398cf62081eea25a36f22ad79801780da4e3 on Fullscreen:master.

@mattscilipoti Is this what you are looking for?
http://fullscreen.github.io/bh/#dismissible-alerts

@claudiofullscreen Yes.  That element is just missing the 'alert-dismissible' class.  My pull request simply adds that class.  Bootstrap has some styling for that class.

The broken travis build is having an issue installing json.  I don't think this small change is related to that issue.

Here is the listed failure from travis-ci.  It is not related to the changes in this PR.  I expect it is affecting other PRs too.  I don't know how you are managing multiple rubies, but it looks like something isn't configured correctly.:
...
Gem::InstallError: json requires Ruby version ~> 2.0.
Installing tilt 1.4.1
An error occurred while installing json (2.0.2), and Bundler cannot continue.
Make sure that `gem install json -v '2.0.2'` succeeds before bundling.
The command "eval bundle install --jobs=3 --retry=3" failed. Retrying, 2 of 3.
...

Please review.


Tests hang intermittently

In CircleCI, make test-ci sometimes hangs, for example, here. It always seems to hang at the same place:
  worker
    runner @slow
      ✔ should return false and do nothing if no event is given
      ✔ should return false and do nothing if no jobs match the event
[2024-09-25T21:26:34.284Z] start processing event test.event::--::undefined (0 jobs)
[2024-09-25T21:26:34.284Z] finish processing event test.event::--::undefined
      ✔ should return true if a job is matched
[2024-09-25T21:26:34.285Z] start processing event test.event::--::undefined (1 jobs)
[2024-09-25T21:26:34.551Z] finish processing event test.event::--::undefined
      ✔ should pass the container and event details to the job (268ms)
make: *** [Makefile:88: test-ci] Terminated

Too long with no output (exceeded 10m0s): context deadline exceeded

I'm also seeing this happen intermittently when I run make test locally.
The following is the last test to pass and the test that follows it. That said, I'm not sure whether the issue is with the test that follows, with some Mocha after-hook, or with something else.
https://github.com/getodk/central-backend/blob/82696a053c87eeb30319c16193223a5fad7b83cf/test/integration/worker/worker.js#L39-L69
I don't see that we changed anything in lib/worker/worker.js in v2024.2: https://github.com/getodk/central-backend/compare/v2024.1.0...v2024.2.0. That makes me suspect that the problem isn't with the worker queue or with the test. However, there is this comment in the test file that might be related:
https://github.com/getodk/central-backend/blob/82696a053c87eeb30319c16193223a5fad7b83cf/test/integration/worker/worker.js#L13-L14

I'm noticing a pattern that points to the possibility of something involving S3. When tests hang, I see that the following 6 tests fail. I've noticed that both locally and in CircleCI. (You can see these errors in the CircleCI build that I linked to above.)
        ✔ should not allow failure to affect previous or future uploads
Uploading 0 blobs...
[2024-10-02T18:03:18.325Z] Upload completed.
        1) should not attempt to upload an in-progress blob
        with limit
(node:11432) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 notice listeners added to [Client]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
          2) should upload requested number of blobs, and ignore others
          3) should not complain if blob count is less than limit
(node:11432) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 notice listeners added to [Client]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
          4) should upload all blobs if limit is zero

...

    ✔ should process the given logs (47ms)
::ffff:<IP_ADDRESS> - - [02/Oct/2024:18:03:29 +0000] "POST /v1/sessions HTTP/1.1" 200 228
::ffff:<IP_ADDRESS> - - [02/Oct/2024:18:03:29 +0000] "POST /v1/projects/1/forms?publish=true HTTP/1.1" 200 436
::ffff:<IP_ADDRESS> - - [02/Oct/2024:18:03:29 +0000] "POST /v1/projects/1/submission HTTP/1.1" 201 167
::ffff:<IP_ADDRESS> - - [02/Oct/2024:18:03:29 +0000] "GET /v1/projects/1/forms/audits/submissions/one/attachments HTTP/1.1" 200 36
    5) should process the given logs if already uploaded to s3
::ffff:<IP_ADDRESS> - - [02/Oct/2024:18:03:31 +0000] "POST /v1/sessions HTTP/1.1" 200 228
    6) should not reprocess already-processed logs

In other words, tests hang intermittently, and when that happens, it's preceded by intermittent test failures.
The first 4 tests are from test/integration/task/s3.js, and the last 2 are from test/integration/worker/submission.attachment.update.js.
This is what the tests look like when they pass. Note that MaxListenersExceededWarning is logged even when the tests pass, so I don't think that's necessarily part of the problem here. One difference that I am seeing is that when the tests pass, there's "Uploading 1 blobs...", but when they fail, there's just "Uploading 0 blobs..."
        ✔ should not allow failure to affect previous or future uploads
Uploading 1 blobs...
Uploading 0 blobs...
[2024-10-02T18:58:31.898Z] Upload completed.
[2024-10-02T18:58:31.903Z] Upload completed.
        ✔ should not attempt to upload an in-progress blob (210ms)
        with limit
(node:46370) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 notice listeners added to [Client]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
          ✔ should upload requested number of blobs, and ignore others
          ✔ should not complain if blob count is less than limit
(node:46370) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 notice listeners added to [Client]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
          ✔ should upload all blobs if limit is zero

...

    ✔ should process the given logs (64ms)
::ffff:<IP_ADDRESS> - - [02/Oct/2024:18:58:36 +0000] "POST /v1/sessions HTTP/1.1" 200 228
::ffff:<IP_ADDRESS> - - [02/Oct/2024:18:58:36 +0000] "POST /v1/projects/1/forms?publish=true HTTP/1.1" 200 436
::ffff:<IP_ADDRESS> - - [02/Oct/2024:18:58:36 +0000] "POST /v1/projects/1/submission HTTP/1.1" 201 167
::ffff:<IP_ADDRESS> - - [02/Oct/2024:18:58:36 +0000] "GET /v1/projects/1/forms/audits/submissions/one/attachments HTTP/1.1" 200 36
    ✔ should process the given logs if already uploaded to s3 (52ms)
::ffff:<IP_ADDRESS> - - [02/Oct/2024:18:58:36 +0000] "POST /v1/sessions HTTP/1.1" 200 228
::ffff:<IP_ADDRESS> - - [02/Oct/2024:18:58:36 +0000] "POST /v1/projects/1/forms?publish=true HTTP/1.1" 200 436
::ffff:<IP_ADDRESS> - - [02/Oct/2024:18:58:36 +0000] "POST /v1/projects/1/submission HTTP/1.1" 201 167
::ffff:<IP_ADDRESS> - - [02/Oct/2024:18:58:36 +0000] "GET /v1/projects/1/forms/audits/submissions/one/attachments HTTP/1.1" 200 36
::ffff:<IP_ADDRESS> - - [02/Oct/2024:18:58:36 +0000] "POST /v1/projects/1/submission HTTP/1.1" 201 167
    ✔ should not reprocess already-processed logs (57ms)

@alxndrsn, would you mind taking a look when you get the chance?

I don't see that we changed anything in lib/worker/worker.js in v2024.2: https://github.com/getodk/central-backend/compare/v2024.1.0...v2024.2.0.

The first failing test uses testTaskFullTrx(), which was introduced in that window:
https://github.com/getodk/central-backend/compare/v2024.1.0...v2024.2.0#diff-b1e2d1b1bebb9d6ccc35c71625911ea3a802a4e05363b425d30e396410b06f9dR195-R202

To reproduce locally:
diff --git a/test/integration/task/s3.js b/test/integration/task/s3.js
index 2e7b8789..70be203a 100644
--- a/test/integration/task/s3.js
+++ b/test/integration/task/s3.js
@@ -25,7 +25,7 @@ const assertThrowsAsync = async (fn, expected) => {
   }
 };

-describe('task: s3', () => {
+describe.only('task: s3', () => {
   describe('s3 disabled', () => {
     it('uploadPending() should fail', async () => {
       await assertThrowsAsync(() => uploadPending(), 'S3 blob support is not enabled.');
@@ -179,7 +179,7 @@ describe('task: s3', () => {
           });
           original.apply(global.s3, args);
         };
-        await aBlobExistsWith(container, { status: 'pending' });
+        //await aBlobExistsWith(container, { status: 'pending' });

         // when
         const first = uploadPending();
diff --git a/test/integration/worker/submission.attachment.update.js b/test/integration/worker/submission.attachment.update.js
index fa419ff0..8b425871 100644
--- a/test/integration/worker/submission.attachment.update.js
+++ b/test/integration/worker/submission.attachment.update.js
@@ -5,7 +5,7 @@ const { testService } = require('../setup');
 const testData = require(appRoot + '/test/data/xml.js');
 const worker = require(appRoot + '/lib/worker/submission.attachment.update');

-describe('worker: submission.attachment.update', () => {
+describe.only('worker: submission.attachment.update', () => {
   it('should do nothing if the attachment is not a client audit', testService((service, container) =>
     service.login('alice', (asAlice) =>
       asAlice.post('/v1/projects/1/forms?publish=true')
diff --git a/test/integration/worker/worker.js b/test/integration/worker/worker.js
index 8003c24b..c8c613a8 100644
--- a/test/integration/worker/worker.js
+++ b/test/integration/worker/worker.js
@@ -8,7 +8,7 @@ const { workerQueue } = require(appRoot + '/lib/worker/worker');
 const { Audit } = require(appRoot + '/lib/model/frames');
 const { insert } = require(appRoot + '/lib/util/db');

-describe('worker', () => {
+describe.only('worker', () => {
   describe('runner @slow', () => {
     // we know reschedule is getting called at some point in these flows because
     // these tests would hang otherwise.


Tiller service needed by Dashboard

Dashboard tries to find tiller using Kubernetes service discovery when running inside a cluster, helm init creates a tiller-deploy service so we should do this too.

fixed in #12


OTA over HTTPS

Description

This PR introduces additional component for performing OTA over HTTPS.
It can be used in cases when RainMaker is to be used only for device management and keeping a MQTT connection alive would be inefficient.
A relevant example is also added.

Checklist
Before submitting a Pull Request, please ensure the following:

[x] 🚨 This PR does not introduce breaking changes.
[x] All CI checks (GH Actions) pass.
[x] Documentation is updated as needed.
[x] Tests are updated or added as necessary.
[x] Code is well-commented, especially in complex areas.
[x] Git history is clean — commits are squashed to the minimum necessary.

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


Purge API implemented

IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes).
Fixes #1472
Description
Purge API - purge(), clearDatabase() and getLocalChange() API implemented and test cases added for all API
Alternative(s) considered
Yes, details are mentioned in design doc
Type
Choose one: | Feature
Screenshots (if applicable)
Checklist

[x] I have read and acknowledged the Code of conduct.
[x] I have read the Contributing page.
[x] I have signed the Google Individual CLA, or I am covered by my company's Corporate CLA.
[x] I have discussed my proposed solution with code owners in the linked issue(s) and we have agreed upon the general approach.
[x] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the style guide of this project.
[x] I have run ./gradlew check and ./gradlew connectedCheck to test my changes locally.
[x] I have built and run the demo app(s) to verify my change fixes the issue and/or does not break the demo app(s).

move local change data class outside of db package.

Done


[Android] .gitignore entries for SampleApp

Adds .gitignore entires for the Android environment. When running react-native run-android, the build will generate android/build and android/.gradle. This will exclude the generated files from VC.

Ammended 4124c66 with 50d9855 based on https://github.com/facebook/react-native/pull/3072#discussion_r40505349 - basing .gitignore off the main RN ignores.

Rebased, which deprecates Examples/SampleApp via #3025 and now updates the _gitignore template in local_cli/generator/templates.
https://github.com/facebook/react-native/pull/3072#discussion-diff-40519439 and https://github.com/facebook/react-native/pull/3072#discussion-diff-40519457 regarding line breaks and desired ignore files have been amended in https://github.com/facebook/react-native/commit/e8e7c2d7d42f3088c59b2a482c4426152a80ccb6

There are still two PR is related to this work. #3058, #3052


Can I access bosun through any reverse proxy server?

I am trying to access bosun through a reverse proxy server and noticed that all resources and api calls are getting failed because they are mapped directly to root.
I am trying to include bosun in our corporate management portal and trying to call through a reverse proxy server.
mapping :
http://example.com/bosun -> http://bosun:8070/
Is there anyway I can achieve this?

I'd love to have this too.

Looks to be the same as: https://github.com/bosun-monitor/bosun/issues/403
This is essentially only about letting user to specify a config parameter which will be use inside HTML hrefs (like having /bosun/static/css/bootstrap.min.css instead of /static/css/bootstrap.min.css inside HTML code). This is a non-trivial task to do outside of the application.
All other parts (like modifying location headers and mapping /bosun/api/... to /api/... in HTTP requests) are easily done by web-proxies and you don't need to handle this inside Bosun.

I'm trying to make this work. Using nginx in this config:
  server {
        listen       9999;
        server_name  localhost;

        location /bosun/ {
            proxy_pass http://<IP_ADDRESS>:8080/;
      }

I have no idea what I am really doing, but that seems to do the general right thing. There are a lot of issues with front end resources using absolute links vs relative links. Once I get that sorted, I can start to debug server-side generated links.

@captncraig probably it's not the best place to discuss nginx configuration but I'll walk you through it so that everyone understands what's missing here.
The config you've posted does the following:

nginx sends all requests under http://$HOSTNAME/bosun/ to service running on port 8080 on localhost with /bosun/ part stripped. I assume that you are running Bosun on this port but not on default 8070. (see http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass for more info)
when this proxied server returns http://localhost:8080/ in Location and Refresh headers of its response it is rewritten to http://$HOSTNAME/bosun/ and returned to the browser. I don't quite understand what that means but this probably doesn't relate to how Bosun works now. (see http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect for more info)

Please note, this processes only request/response headers and has nothing to do with actual HTML body. AFAIK you can't do this easily without some hardcore hacking (please let me know if I'm wrong).
Now here is what happens when a browser retrieves Bosun's front page:

browser sends a request to http://$HOSTNAME/bosun/ and a HTML file is successfully received as a response
in that file there are some links like /items or /partials or CSS/JS files which are relative not to "current path" but to "server name", see the next step for what this means (actually I think all of the links are like such)
browser sends request to http://$HOSTNAME/items while to really receive that link it should send request to http://$HOSTNAME/bosun/items. That is the browser sends request to incorrect locations due to incorrect HTML for this case returned by Bosun.

I see the following ways to solve this:

have Bosun return links inside HTML relative to current location but not to root (that is items instead of /items). Don't really know if this is going to work.
have Bosun return full URL as those links (that is http://$HOSTNAME/bosun/items instead of /items). Usually applications have something like "baseurl" parameter in their config which is prepended to all links. Probably it also can be extracted from HTTP headers.
do parsing of HTML on nginx-side and replace all links like /items to correct ones. Probably you still can't change that in JS and I don't think anyone is going to do this due to complexity
change all such locations in Bosun source and recompile a package for yourself. Don't know how complex it is without getting too much into Go hacking
create 2 nginx rules (actually much more) to proxy Bosun first page at /bosun/ but make nginx proxy all bosun's subdirs at their own locations. That is /bosun/ will be proxied to http://localhost:8080/ and /items will be proxied to http://localhost:8080/items. This introduces complexities in configuring nginx (you need to maintain a dozen locations instead of a single one) and can break setup with Bosun upgrades and also may clash with other software running on the same host.

The most handy way for the community would be having a parameter in Bosun config to prepend it to all links, as describe in the second point.

I also raised the same request on some other thread. This would be a good
support to have. I need to incorporate bosun UI in our main portal through
reverse proxy but couldn't do successfully. It would be really good if we
can define a base url in the configuration file for all static resources.
On Sunday, October 25, 2015, Timur Batyrshin<EMAIL_ADDRESS>wrote:

@captncraig https://github.com/captncraig probably it's not the best
place to discuss nginx configuration but I'll walk you through it so that
everyone understands what's missing here.
The config you've posted does the following:

nginx sends all requests under http://$HOSTNAME/bosun/ to service
running on port 8080 on localhost with /bosun/ part stripped. I assume
that you are running Bosun on this port but not on default 8070. (see
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass
for more info)
when this proxied server returns http://localhost:8080/ in Location
and Refresh headers of its response it is rewritten to http://
$HOSTNAME/bosun/ and returned to the browser. I don't quite understand
what that means but this probably doesn't relate to how Bosun works now.
(see
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect
for more info)

Please note, this processes only request/response headers and has nothing
to do with actual HTML body. AFAIK you can't do this easily without some
hardcore hacking (please let me know if I'm wrong).
Now here is what happens when a browser retrieves Bosun's front page:

browser sends a request to http://$HOSTNAME/bosun/ and a HTML file
is successfully received as a response
in that file there are some links like /items or /partials or CSS/JS
files which are relative not to "current path" but to "server name", see
the next step for what this means (actually I think all of the links are
like such)
browser sends request to http://$HOSTNAME/items while to really
receive that link it should send request to http://
$HOSTNAME/bosun/items. That is the browser sends request to incorrect
locations due to incorrect HTML for this case returned by Bosun.

I see the following ways to solve this:

have Bosun return links inside HTML relative to current location but
not to root (that is items instead of /items). Don't really know if
this is going to work.
have Bosun return full URL as those links (that is http://
$HOSTNAME/bosun/items instead of /items). Usually applications have
something like "baseurl" parameter in their config which is prepended to
all links. Probably it also can be extracted from HTTP headers.
do parsing of HTML on nginx-side and replace all links like /items
to correct ones. Probably you still can't change that in JS and I don't
think anyone is going to do this due to complexity
change all such locations in Bosun source and recompile a package
for yourself. Don't know how complex it is without getting too much into Go
hacking
create 2 nginx rules (actually much more) to proxy Bosun first page
at /bosun/ but make nginx proxy all bosun's subdirs at their own
locations. That is /bosun/ will be proxied to http://localhost:8080/
and /items will be proxied to http://localhost:8080/items. This
introduces complexities in configuring nginx (you need to maintain a dozen
locations instead of a single one) and can break setup with Bosun upgrades
and also may clash with other software running on the same host.

The most handy way for the community would be having a parameter in Bosun
config to prepend it to all links, as describe in the second point.
—
Reply to this email directly or view it on GitHub
https://github.com/bosun-monitor/bosun/issues/1398#issuecomment-150946101
.

@digrich could you please post a link here for reference?

@timurb sorry for confusion, it's a current thread only which I started.

I agree this would be extremely useful. In #403 it was suggested to configure this in the reverse proxy config. This may work for the web frontend, but it doesn't help for e-mails with links sent to <IP_ADDRESS>:8070. Currently I use golang strings.replace to re-write this in custom templates to the correct URL. This obviously doesn't work for e-mails with non-customizable templates such as acknowledgement notification e-mails.
I think a configuration option is the best approach; it is what I expected based on the other monitoring software we are hosting, and if bosun sends links within e-mails, there is no reverse proxy setting that can possibly address that.

@awesensepaul for using in e-mails there's already a hostname parameter.
Could it be reused in HTML/JS pages as well?

Alright, that hostname parameter does help with the e-mails, thanks. I would prefer if there was also a way to set the scheme to https (or just default to https, really); but my reverse proxy is already configured to re-direct anything from HTTP -> HTTPS.
There is still no way within the bosun config to append a path to the url or use a URL prefix for all URLs generated (e.g. /mybosun/ and/or https://foo.bar.com/mybosun/). I would prefer the URL prefix approach since it encompasses scheme + hostname + port + path in a single config setting.
The most minimal implementation I can think of would only need to generate the URLs with this prefix; it is straightforward to configure a reverse proxy to re-write these from https://foo.bar.com/bosun/incident to http://<IP_ADDRESS>:8070/incident(e.g. the routing for/incident` and other endpoints can remain the same).

+1
grafana for reference:
http://serverfault.com/questions/684709/how-to-proxy-grafana-with-nginx

I've made some modification/hack to let it work with the URL http://myHost.com/alerting/

apache configuration here
bosun.js here

This is still open. Is this implemented at all in the newer versions, or is it still the same?


Safari?

just a suggestion\
MAKE SAFARI WEB BROWSER IT WILL BE AMAZING!

Honsestly I think this mac os thing also needs a safari, or maybe even a chrome, and also a dmg/pkg compiler system


Updated value for PFS

Updated value for PFS for 1807

@ScottNapolitan : Thanks for your contribution! The author, @brenduns, has been notified to review your proposed change.

#sign-off


2.0.8: viewport dimension changes across breakpoint should close mobile menu, when appropriate

We have specific things we want to do in CSS only on .open-mobile mode.

Put browser Responsive tool in mobile mode
Open menu
Switch browser Responsive tool > breakpoint width (desktop)
Observe .open-mobile class still applied

I feel like we could ResizeObserver here and programmatically close mobile menu when appropriate.
Your thoughts? Too much bloat for edge use case may be a concern, but maybe it's negligible.

Honestly I did think about it, it didn't bother me.
However I was also thinking we could switch the open state from mobile view to desktop view and vice-versa on window resize, but in my view this is an unnecessary load of memory allocation.
A more simple approach I think is to close the submenu on window resize, while on close this event listener is also detached.
My priorities right now:

improve accessibility (aria-hidden, aria-expanded, aria-label) similar to Bootstrap's Dropdown / Collapse;
improve breakpoint styling based on [data-breakpoint="md"] like values instead of a $navbar_breakpoint SASS variable;
fix our RTL partial implementation (I believe I have it working nice on my end);
in relation to the above, rename SASS to better suit today's Bootstrap (EG: .navbar.left -> .navbar.start)
solve the issue you mention somehow
add some hide delay option
add event callbacks similar to Bootstrap components (EG: show.navbar =>(e) { e.target = menuItem; e.relatedTarget = someOtherItem }), maybe show, shown, hide & hidden
SASS some animation control: duration, translation, easing, etc
anything smart (small, usable, flexible) that won't increase the size of the Navbar component more than 1kb with all above combined.

Your 2cents.

A more simple approach I think is to close the submenu on window resize, while on close this event listener is also detached.

Probably would work fine for me :heavy_plus_sign: :one:

My priorities right now:
* improve accessibility (`aria-hidden`, `aria-expanded`, `aria-label`) similar to Bootstrap's Dropdown / Collapse;

:+1:

* improve breakpoint styling based on `[data-breakpoint="md"]` like values instead of a `$navbar_breakpoint` SASS variable;

:+1:

* add some hide delay option

I'm not sure what this achieves for the user, didn't feel the need for delays in my own implementation.

* add event callbacks similar to Bootstrap components (EG: `show.navbar` =>`(e) { e.target = menuItem; e.relatedTarget = someOtherItem }`), maybe `show`, `shown`, `hide` & `hidden`

:+1: :100: I was looking for this. I'm looking to run special JS logic after we init, something like:
        window.ACMEGroup = window.ACMEGroup || {};
        window.ACMEGroup.menuPrimaryNavbar = new Navbar('#menu-primary');

        /**
         * Un-flicker level 1 menu items.
         * Non-absolute position submenus force unwanted parent menu item width change.
         * Fixed width doesn't work, too spacious.
         */
        (function($) {
            $('#menu-primary-items > li').each(function() {
                $(this).css('max-width', $(this).width() + 'px');
            });
        })(jQuery || {});

* SASS some animation control: duration, translation, easing, etc

Yeah I turned all of that off :)

* anything smart (small, usable, flexible) that won't increase the size of the Navbar component more than 1kb with all above combined.

Your 2cents.

LGTM overall. I didn't get to building my own SASS here, so can't really speak to anything there that works well or doesn't.

Also I forgot to mention: keyboard navigation :)

PS for event callbacks, I like how headroom.js has onXYZ properties https://wicky.nillia.ms/headroom.js/ to trigger anything you need on each event.

I think the main <UL> will be the event.target property of the following events:

navbar.show - fires immediately on the specific triggering event, mouseenter or click on parent-icon, etc
navbar.shown - fires after on transitionend mostly, but only if that's the case
navbar.hide - fires immediately on the specific triggering event, mouseleave or click on parent-icon, etc
navbar.hidden - fires after on transitionend, but again only if that's the case

Other specs:

show & hide events should be preventable
the <LI> that changes the visibility of it's child <ul class="subnav"> is the event.relatedTarget for all events

@lkraav I'm on the Navbar now.

Can you provide more info on the flickering?
Is it a backface-visibility: hidden fixable issue?
Can you provide a demo and steps to reproduce?

Thanks

Can you provide more info on the flickering?

This is about our specific implementation for .subnav, where we want to have position: static for level 1, so it would auto-expand the background behind it.
If you have Twitter or some other well known chat tool account, I can send you the production link there.

Twitter @dnp_theme

@lkraav you don't have to share a production working draft, just give me a short video or drop a sample piece of HTML + CSS somewhere in codepen.

You don't have to share a production working draft, just give me a short video or drop a sample piece of HTML + CSS somewhere in codepen.

There's a Storybook but it isn't up to date. I sent you a follow request on Twitter y-day, it hasn't been accepted yet. I could DM you a URL there.

Just to let you know:

[x] events ({type:  'show.navbar', target: 'LI', relatedTarget: 'LI > UL,submenu'}), I'm still thinking about which elements should be which in the events objects
[x] proper buttons for submenu toggle on mobile
[x] aria-expanded implemented
[x] SCSS sources improved
[ ] close submenus on window resize almost done, it should be mainly used to close submenus on mobile, it's a bit more complicated, but still tinkering with

@lkraav feel free to test latest master and tell me what you think.


Reset the value of search bar after onEnter

<mat-search-bar [formControl]="control"
    (onEnter)="handleSearch($event); search.value = ''; search.close()"
    #search>
</mat-search-bar>

#localReference.value = "" does not reset the value. Any help ?

Dear @Kogam22,
first of all: please use platforms like stackoverflow for questions of usage. Issues here reserved for bugs / feature requests etc. pp.
As for your question, I cannot replicate your issue: https://angular-7lp5nq.stackblitz.io
I will close this, if there are still problems with this for you, please use a suitable platform.
Thank you!


Transition to GA: hpc-cache

Command module hpc-cache has been released for a long time and is using stable sdk version 2019-11-01.
Please check Extension GA guidelines and remove experimental tag if necessary.

hpc-cache


[Task]: Update Python SDK code base to PEP 585 standards

What needs to happen?
Now that Python 3.8 support is deprecated, the Python SDK can be fully converted to PEP-585 type hints (largely removing references to typing module types.) This issue will track that process since it will likely involve a large number of files impacted in small ways.
Issue Priority
Priority: 2 (default / most normal work should be filed as P2)
Issue Components

[X] Component: Python SDK
[ ] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam YAML
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Infrastructure
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

I'm happy to review PRs related to typing, if interested.


Devzat being down from time to time

As you know, Devzat is down from time to time. I think I managed to witness it crash when I tried to log in. Here is a copy-paste of my terminal when trying to log in.
^[n.n]^ ~ >ssh devzat
                                                                            1h17m earlier
dunne: id dunne
2edd3297a02dd08d598fd0d8464de431e20cce345591fa73a89e3eabd5a786a1
dunne: users
[Arkaeriit dunne]
dunne: id Arkaeriit
d6acd2f5c5a8ef95563883032ef0b7c0239129b2d3672f964e5711b5016e05f5
dunne: kick d6acd2f5c5a8ef95563883032ef0b7c0239129b2d3672f964e5711b5016e05f5
User not found
dunne: kick Arkaeriit
devbot: Not authorized
dunne: :(
devbot: dunne has left the chat
devbot: dunne stayed on for 2m
                                                                            1h16m earlier
devbot: https://twitter.com/devzat/status/1465281827774607369
                                                                            5m earlier
devbot: Arkaeriit has left the chat
devbot: Arkaeriit stayed on for 3h0m
Connection to devzat.hackclub.com closed by remote host.
Connection to devzat.hackclub.com closed.
^[n.n]^ ~ >ssh devzat
ssh: connect to host devzat.hackclub.com port 22: Connection refused

This happen at around 12:44 UTC.
A few minutes before the crash, I was disconnected because I turned down my computer and the crash happen when I tried to log back in. Maybe the crash is related to the unconventional exit.

I tried to replicate it locally but I couldn't. Could it be related to the way you start your server?

I've been starting it the same way for a long time

I did not noticed any in about a week. Maybe PR #65 fixed the issue.
If there is no more issues this week, we could close the issue.

let's close this for now; we'll open if we spot another instance


Created csv package in org/motechproject/nms/region/service/impl

There is an import service in kilkari (and maybe other modules) as well.  Do you want to move that one in another commit?

I'll move it -- I'm working on the update cases right now and have some refactoring in progress.
-----Original Message-----
From: "Rob LaRubbio"<EMAIL_ADDRESS>Sent: 6/22/2015 4:32 PM
To: "motech-implementations/mim"<EMAIL_ADDRESS>Subject: Re: [mim] Created csv package inorg/motechproject/nms/region/service/impl (#407)
There is an import service in kilkari (and maybe other modules) as well. Do you want to move that one in another commit?
—
Reply to this email directly or view it on GitHub.


Propshaft unable to find assets installed via yarn

I upgraded my rails from sprockets to propshaft. When compiling assets I'm getting an error saying files cannot be found for anything installed via yarn.
error
 ✗ yarn build:css
Error: Can't find stylesheet to import.
  ╷
1 │ @import "bootstrap/scss/bootstrap";
  │         ^^^^^^^^^^^^^^^^^^^^^^^^^^
  ╵

app/assets/stylesheets/application.bootstrap.scss
@import "bootstrap/scss/bootstrap";
@import "bootstrap-icons/font/bootstrap-icons";

.pnp.cjs
    "packageRegistryData": [\
      [null, [\
        [null, {\
          "packageLocation": "./",\
          "packageDependencies": [\
            ["@ladjs/bootstrap-social", "git+ssh://git@github.com/niftylettuce/bootstrap-social.git#commit=f7d456c7982cdd865a8ac75025a5e68b4c71c925"],\
            ["@popperjs/core", "npm:2.11.8"],\
            ["@rails/actioncable", "npm:7.0.6"],\
            ["@rails/activestorage", "npm:7.0.6"],\
            ["@rails/ujs", "npm:7.0.6"],\
            ["@rails/webpacker", "npm:5.4.4"],\
            ["autoprefixer", "virtual:d95f65753489d049152fe4314b59c02da89739d38f62de0f1c0235045e704bb6949747c4774f8b30e11e5315307fea5ec44dc7b1cc4e6f353c11411f97c7bcff#npm:10.4.15"],\
            ["autosize", "npm:4.0.4"],\
            ["bootstrap", "virtual:d95f65753489d049152fe4314b59c02da89739d38f62de0f1c0235045e704bb6949747c4774f8b30e11e5315307fea5ec44dc7b1cc4e6f353c11411f97c7bcff#npm:5.3.1"],\
            ["bootstrap-icons", "npm:1.10.5"],\
            ["bootstrap-notifications", "npm:1.0.3"],\
            ["bootstrap-notify", "npm:3.1.3"],\
            ["bootstrap-reboot", "npm:4.5.6"],\

i have the same error on a new rails 7 app

Ran into this issue today. cssbundling-rails seems to not know about Yarn 4's Plug n Play default node linker. I changed this to the node-modules option and was able to get this to pass. I'll watch this issue to see if there are any updates for supporting the Yarn PNP linker.
Here's the line to add to the .yarnrc.yml file if you're interested in doing the same:
nodeLinker: node-modules`


⚠ Current Issues

Seems fixed now
There currently seems to be an issue where users are unable to control their devices and on restarting Homebridge will receive the error
No auth token received.
{
  "error": 500,
  "msg": "init failed",
  "data": {}
}

This is out of my control and hopefully the eWeLink servers will be back running soon!

The server is working...


Scope readme verification to service being run

Scope DocWarden run to the ServiceDirectory for the pipeline being run.

/azp run net - identity - ci

/azp run net - core - ci


Throttling Error While running Descheduler

Sorry if this is not the right place to post this, please do let me know any other way of communicating with Descheduler community. Anyways, here I go:
We are running Descheduler with PodLifeTime policy. I think Descheduler is not able to run this policy on various pods  (Figured from the log below):
I0616 11:50:59.223768       1 request.go:557] Throttling request took 267.045984ms, request: GET:https://<IP>/api/v1/pods?fieldSelector=spec.nodeName%3D<NodeIP>%2Cstatus.phase%21%3DFailed%2Cstatus.phase%21%3DSucceeded
I0616 11:50:58.223772       1 request.go:557] Throttling request took 93.628651ms, request: POST:https://<IP>/api/v1/namespaces/default/events

Any suggestions as to how to resolve this?

@ishan-rep thanks for reporting this, is this actually preventing the descheduler from evicting pods that you expect it to? (reminder that there are default restrictions on what pods are eligible to evict. this is the most common reason that a strategy doesn't run on various pods)
Normally I think these throttling notifications are recoverable, though they are annoying noise. I don't believe they indicate that any requests were actually cancelled.

Hey @damemi , from this part of k8s code , whenever the latency crosses a certain threshold, it is throwing an error.
I've gone through the type of Pods that are not evicted and our pods doesn't fall into that category.
Are we sure that this throttling issue isn't preventing the pods from getting evicted?

Are we sure that this throttling issue isn't preventing the pods from getting evicted?

@ishan-rep it's tough to tell, could you please provide more of the descheduler logs, and if possible the yaml for the pods you expect to be evicted?

Those are standard info logs reported by any code using client-go library. No need to worry about it.
As @damemi noted, the descheduler logs will shed more light here.

@ishan-rep are you able to provide any additional details? If not I'd like to close out this issue. Thanks!

/close


Flutter Runner crashes while enqueuing Scenic commands

Mirror issue for https://fuchsia.atlassian.net/browse/FL-287. Conversation should occur there, please.

@cbracken, can you see who would be available to address this? Or should we consider it blocked behind FL-250?

https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=8869 is marked closed, should this be closed also?

Yep this is now fixed.


First attempt to implement bug reasoning logic for Query API

We probably want to simplify the identification of bugs by providing an API to query the graph for vulnerabilities.
Tasks:

[ ] Evaluate the different components of a query (probably something like first order logic)
[ ] Parse the queries
[ ] Add required analyses to the cpg-analysis module

See WIP wiki page concerning the Query API.

Just a suggestion: Wouldn't it be easier to use Kotlin itself as the script language rather than try to parse specific string-based fields and identifiers? This way we could probably re-use all the existing node types and their property and not build an additional property layer on top of it.
For example https://medium.com/adobetech/building-elegant-dsls-with-kotlin-707726c5ed21