Problem with running an internal marathon-lb on DCOS

In our environment we already run a marathon-lb that is public facing on a slave_public mesosphere slave.
We now have a requirement to run another set of load balancers that serves internal traffic only. For this we have installed a new mesos node which we are trying to categorise as "slave_internallb" or use constraints. The process is lightly described here https://github.com/mesosphere/marathon-lb
The problem we are experiencing is that I cannot pin this new internal marathon-lb to the new node. The DCOS install script allows you to install three roles, master, slave, slave_public and minuteman. So our strategy has been to assign the new node as slave and try to use a constraint as below but the marathon-lb DCOS app ignores this.
cat /var/lib/dcos/mesos-slave-common
MESOS_ATTRIBUTES=category:internallb

Another issue meanwhile is the DCOS 1.7 GUI does notallow installation of a second instance of marathon-lb even though I have given it a unique name. It seems the GUI validates the App ID somehow and only allows one instance.
A workaround to this is to use the DCOS CLI or insert a correctly formatted JSON as a marathon task. The latter I have had problems with as the taks never leaves the waiting state.
A sample of my options.json of one of my successful DCOS internal marathon LB's is below. If I try to add "slave" to the role or a constraint all of this gets ignored. I've tried defining a custom role as well to differentiate this internal LB node from regular slaves but have failed so far.
cat options.json
 {
   "marathon-lb": {
     "name": "marathon-lb-internal",
     "haproxy-group": "internal",
     "bind-http-https": false,
     "cpus": 1.9,
     "role": ""
   }
}

For now my workaround on this is to use the new VIP functionality described here to our internal applications with a simple HAProxy Marathon task that correctly runs on the node I require. We would love to be able to use the marathon-lb in this capacity as it just reduces a little bit of maintainability of VIPs.

In order to do this, you will have to manually add a constraint to Marathon. You would set one like this:
{
  "id":"/marathon-lb-internal",
  "constraints": [
    ["category", "LIKE", "internallb"]
  ]
}

Does that make sense?
I'm not sure why the UI isn't letting you install multiple LBs, but I'll check into that.

Gday Brendan,
Yeah the constraint completely makes sense. It is what we use to pin our apps to specific Mesos slaves. I used that exact constraint for the simple haproxy that has marathon VIP backends which pins it to the internallb node.
I'd love to know if others have multiple marathon-LBs in DCOS 1.7 as I'm struggling to pin it using the constraint type as if it's being ignored. I've only tried it on the one cluster so far. Haven't tried vagrant Dcos as it could give me more hints if I setup a new nose type.
Darius

Is there a particular reason why you're trying to pin the internal LB? I
can't imagine many situations in which you'd need it pinned to a particular
host.
Can you capture the JSON from the Marathon API and post it here?
On Jul 15, 2016 8:41 AM, "dariusjs"<EMAIL_ADDRESS>wrote:

Gday Brendan,
Yeah the constraint completely makes sense. It is what we use to pin our
apps to specific Mesos slaves. I used that exact constraint for the simple
haproxy that has marathon VIP backends which pins it to the internallb node.
I'd love to know if others have multiple marathon-LBs in DCOS 1.7 as I'm
struggling to pin it using the constraint type as if it's being ignored.
I've only tried it on the one cluster so far. Haven't tried vagrant Dcos as
it could give me more hints if I setup a new nose type.
Darius
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/mesosphere/marathon-lb/issues/263#issuecomment-232988064,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC-_BeCvApa_bGSfaYA-ol7w6U63UEugks5qV6ofgaJpZM4JNTy_
.

The reason why I'm trying to pin an internal LB is to have it run on dedicated hosts and expose it to internal services that are outside of DCOS but not meant to face the Internet. Similar concept as having it on a public nodes. The best practices on the wiki state that you should control the number of LB's as its an anti pattern if you have too many of them.
Just now I've tried launching just the base marathon-lb on my cluster, it launches fine but as soon as I add the constraint it goes into a waiting state. I've grep'd through logs to figure out which mechanism is doing the JSON validation. I dont get any output on debug so it looks as if it simply is waiting for resources to become available that are not there. The JSON is the standard one generated from the DCOS app as below. Underneath I've also pasted the alternative HAProxy JSON method I've been using in the interim.
{
  "id": "/marathon-lb-internal",
  "cmd": null,
  "cpus": 2,
  "mem": 1024,
  "disk": 0,
  "instances": 1,
  "constraints": [
    [
      "category",
      "CLUSTER",
      "internallb"
    ]
  ],
  "container": {
    "type": "DOCKER",
    "volumes": [],
    "docker": {
      "image": "mesosphere/marathon-lb:v1.3.1",
      "network": "HOST",
      "privileged": true,
      "parameters": [],
      "forcePullImage": false
    }
  },
  "env": {
    "HAPROXY_SSL_CERT": "",
    "HAPROXY_SYSCTL_PARAMS": "net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_fin_timeout=30 net.ipv4.tcp_max_syn_backlog=10240 net.ipv4.tcp_max_tw_buckets=400000 net.ipv4.tcp_max_orphans=60000 net.core.somaxconn=10000"
  },
  "healthChecks": [
    {
      "path": "/_haproxy_health_check",
      "protocol": "HTTP",
      "portIndex": 0,
      "gracePeriodSeconds": 60,
      "intervalSeconds": 5,
      "timeoutSeconds": 2,
      "maxConsecutiveFailures": 2,
      "ignoreHttp1xx": false
    }
  ],
  "labels": {
    "DCOS_PACKAGE_RELEASE": "7",
    "DCOS_PACKAGE_SOURCE": "https://universe.mesosphere.com/repo-1.7",
    "DCOS_PACKAGE_METADATA": "eyJsaWNlbnNlcyI6W3sibmFtZSI6IkFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wIiwidXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL21lc29zcGhlcmUvbWFyYXRob24vYmxvYi9tYXN0ZXIvTElDRU5TRSJ9LHsibmFtZSI6IkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiIsInVybCI6Imh0dHA6Ly93d3cuaGFwcm94eS5vcmcvZG93bmxvYWQvMS42L2RvYy9MSUNFTlNFIn1dLCJuYW1lIjoibWFyYXRob24tbGIiLCJwb3N0SW5zdGFsbE5vdGVzIjoiTWFyYXRob24tbGIgRENPUyBTZXJ2aWNlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQhXG5TZWUgaHR0cHM6Ly9naXRodWIuY29tL21lc29zcGhlcmUvbWFyYXRob24tbGIgZm9yIGRvY3VtZW50YXRpb24uIiwic2NtIjoiaHR0cHM6Ly9naXRodWIuY29tL21lc29zcGhlcmUvbWFyYXRob24tbGIiLCJkZXNjcmlwdGlvbiI6IkhBUHJveHkgY29uZmlndXJlZCB1c2luZyBNYXJhdGhvbiBzdGF0ZSIsInBhY2thZ2luZ1ZlcnNpb24iOiIyLjAiLCJ0YWdzIjpbImxvYWRiYWxhbmNlciIsInNlcnZpY2UtZGlzY292ZXJ5IiwicmV2ZXJzZS1wcm94eSIsInByb3h5IiwiaGFwcm94eSJdLCJwb3N0VW5pbnN0YWxsTm90ZXMiOiJNYXJhdGhvbi1sYiBEQ09TIFNlcnZpY2UgaGFzIGJlZW4gdW5pbnN0YWxsZWQgYW5kIHdpbGwgbm8gbG9uZ2VyIHJ1bi4iLCJtYWludGFpbmVyIjoic3VwcG9ydEBtZXNvc3BoZXJlLmlvIiwidmVyc2lvbiI6IjEuMy4xIiwicHJlSW5zdGFsbE5vdGVzIjoiV2UgcmVjb21tZW5kIGEgbWluaW11bSBvZiAwLjUgQ1BVcyBhbmQgMjU2IE1CIG9mIFJBTSBhdmFpbGFibGUgZm9yIHRoZSBNYXJhdGhvbi1MQiBEQ09TIFNlcnZpY2UuIiwiaW1hZ2VzIjp7Imljb24tc21hbGwiOiJodHRwczovL2Rvd25sb2Fkcy5tZXNvc3BoZXJlLmNvbS91bml2ZXJzZS9hc3NldHMvaWNvbi1zZXJ2aWNlLW1hcmF0aG9ubGItc21hbGwucG5nIiwiaWNvbi1tZWRpdW0iOiJodHRwczovL2Rvd25sb2Fkcy5tZXNvc3BoZXJlLmNvbS91bml2ZXJzZS9hc3NldHMvaWNvbi1zZXJ2aWNlLW1hcmF0aG9ubGItbWVkaXVtLnBuZyIsImljb24tbGFyZ2UiOiJodHRwczovL2Rvd25sb2Fkcy5tZXNvc3BoZXJlLmNvbS91bml2ZXJzZS9hc3NldHMvaWNvbi1zZXJ2aWNlLW1hcmF0aG9ubGItbGFyZ2UucG5nIiwic2NyZWVuc2hvdHMiOm51bGx9fQ==",
    "DCOS_PACKAGE_REGISTRY_VERSION": "2.0",
    "DCOS_PACKAGE_VERSION": "1.3.1",
    "DCOS_PACKAGE_NAME": "marathon-lb",
    "DCOS_PACKAGE_IS_FRAMEWORK": "true"
  },
  "portDefinitions": [
    {
      "port": 9090,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 9091,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10000,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10001,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10002,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10003,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10004,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10005,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10006,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10007,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10008,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10009,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10010,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10011,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10012,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10013,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10014,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10015,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10016,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10017,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10018,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10019,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10020,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10021,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10022,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10023,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10024,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10025,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10026,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10027,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10028,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10029,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10030,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10031,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10032,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10033,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10034,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10035,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10036,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10037,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10038,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10039,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10040,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10041,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10042,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10043,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10044,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10045,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10046,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10047,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10048,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10049,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10050,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10051,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10052,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10053,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10054,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10055,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10056,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10057,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10058,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10059,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10060,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10061,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10062,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10063,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10064,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10065,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10066,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10067,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10068,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10069,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10070,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10071,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10072,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10073,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10074,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10075,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10076,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10077,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10078,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10079,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10080,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10081,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10082,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10083,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10084,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10085,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10086,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10087,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10088,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10089,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10090,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10091,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10092,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10093,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10094,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10095,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10096,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10097,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10098,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10099,
      "protocol": "tcp",
      "labels": {}
    },
    {
      "port": 10100,
      "protocol": "tcp",
      "labels": {}
    }
  ],
  "args": [
    "sse",
    "-m",
    "http://master.mesos:8080",
    "--health-check",
    "--dont-bind-http-https",
    "--haproxy-map",
    "--group",
    "internal"
  ],
  "requirePorts": true,
  "upgradeStrategy": {
    "minimumHealthCapacity": 0.5,
    "maximumOverCapacity": 0.2
  }
}

Alternative JSON which launches on my correct node
{
  "id": "/haproxy-internal",
  "cmd": null,
  "cpus": 0.2,
  "mem": 500,
  "disk": 0,
  "instances": 1,
  "constraints": [
    [
      "category",
      "CLUSTER",
      "internallb"
    ]
  ],
  "container": {
    "type": "DOCKER",
    "volumes": [],
    "docker": {
      "image": "registry/haproxy-internal",
      "network": "HOST",
      "privileged": false,
      "parameters": [],
      "forcePullImage": false
    }
  },
  "env": {
    "HAPROXY_SSL_CERT": "",
    "HAPROXY_SYSCTL_PARAMS": "net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_fin_timeout=30 net.ipv4.tcp_max_syn_backlog=10240 net.ipv4.tcp_max_tw_buckets=400000 net.ipv4.tcp_max_orphans=60000 net.core.somaxconn=10000"
  },
  "portDefinitions": [
    {
      "port": 10103,
      "protocol": "tcp",
      "labels": {}
    }
  ],
  "upgradeStrategy": {
    "minimumHealthCapacity": 0.5,
    "maximumOverCapacity": 1
  }
}

I've just now changed the constraint  from CLUSTER to LIKE and the marathon-lb-internal launches on my expected node now :( I will close off the issue but I am confused why I'm seeing this. I went over this https://mesosphere.github.io/marathon/docs/constraints.html quite a bit and stuck with the CLUSTER config item as it made the most sense as regexing wasnt needed. @brndnmtthws thanks for your tips

Excellent, glad you got it sorted out.

@dariusjs Have all your mesos slaves the role "slave_public"?

Thanks

@protheantom, on our environment what we've done is assigned slave on the nodes destined for internallb and assigned an extra attribute so marathon can constrain the MLB to the box. In our case we also made the CPU and memory constraints so nothing else can reside on the same vms.

Note : If you have assigned a role while creating a cluster example slave_public and in marathon config file role is empty, marathon-lb will fail


Windows issues

It appears ember-cli app on an NTFS mounted using<EMAIL_ADDRESS>appears to be running into issues. It is possible the symlink detection (are symlinking available vs not isn't quite working as expected).
ember-cli: 2.6.2
node: 6.3.0
os: win32 x64
ember-cli-d2 1.1.7

 The Broccoli Plugin: [Funnel] failed with:
Error: ENOENT: no such file or directory, open 'E:\Work\BitBucket\New folder\tmp\funnel-output_path-W6hyqoN3.tmp\d3-plugins-dist\adnan-wahab\pathgl\named-amd\main.js'
    at Error (native)
    at Object.fs.openSync (fs.js:640:18)
    at Object.fs.writeFileSync (fs.js:1333:33)
    at symlinkWindows (E:\Work\BitBucket\New folder\node_modules\symlink-or-copy\index.js:106:18)
    at Function.symlinkOrCopySync [as sync] (E:\Work\BitBucket\New folder\node_modules\symlink-or-copy\index.js:53:5)
    at Funnel._copy (E:\Work\BitBucket\New folder\node_modules\broccoli-funnel\index.js:393:19)
    at Funnel.processFile (E:\Work\BitBucket\New folder\node_modules\broccoli-funnel\index.js:376:8)
    at Funnel.applyPatch [as _applyPatch] (E:\Work\BitBucket\New folder\node_modules\broccoli-funnel\index.js:293:12)
    at Funnel.<anonymous> (E:\Work\BitBucket\New folder\node_modules\broccoli-funnel\index.js:248:10)
    at Array.forEach (native)

The broccoli plugin was instantiated at:
    at Funnel.Plugin (E:\Work\BitBucket\New folder\node_modules\broccoli-plugin\index.js:7:31)
    at new Funnel (E:\Work\BitBucket\New folder\node_modules\broccoli-funnel\index.js:44:10)
    at Funnel (E:\Work\BitBucket\New folder\node_modules\broccoli-funnel\index.js:42:43)
    at CoreObject.module.exports.treeForVendor (E:\Work\BitBucket\New folder\node_modules\ember-cli-d3\index.js:36:43)
    at CoreObject._treeFor (E:\Work\BitBucket\New folder\node_modules\ember-cli\lib\models\addon.js:358:33)
    at CoreObject.treeFor (E:\Work\BitBucket\New folder\node_modules\ember-cli\lib\models\addon.js:326:21)
    at E:\Work\BitBucket\New folder\node_modules\ember-cli\lib\broccoli\ember-app.js:465:20
    at Array.map (native)
    at EmberApp.addonTreesFor (E:\Work\BitBucket\New folder\node_modules\ember-cli\lib\broccoli\ember-app.js:463:30)
    at EmberApp._processedVendorTree (E:\Work\BitBucket\New folder\node_modules\ember-cli\lib\broccoli\ember-app.js:919:29)

@tillerstarredwards does the above issue match correctly?

@tillerstarredwards is it possible that your system tmp directory and the ember-cli app reside on differently formatted partitions or drives?

New folder.zip
Project

My Windows installation is on an NTFS drive (C:), my work direction is on another NTFS drive (E:)

@tillerstarredwards interesting, I wonder if it is a cross-drive issue. e.g. symlinks are enable on one  but not the other? Or some other related issue.
I'll have to setup a windows vm/box with multi-drive and multi-formatted drive scenarios and see whats up

I tried this on the my C: drive and it has the same error.  It doesn't appear to be related to different drives.

maybe its unrelated to filesystem entirely, just the other commentor in the other issue had an unrelated issue.

I have the same issue with ember-d3 :
Configuration :

ember-cli: 2.10.2
node: 7.2.0
os: win32 x64
ember-d3 :  0.3.1

The Broccoli Plugin: [Funnel] failed with:
Error: ENOENT: no such file or directory, symlink 'C:\Users\bpasserat\Documents\Ember\patient_webview\tmp\funnel-input_base_path-y4BOHI1Y.tmp\ember-d3\register-version.js' -> 'C:\Users\bpasserat\Documents\Ember\patient_webview\tmp\funnel-output_path-BSoLaWzK.tmp\ember-d3\register-d3-version.js'
at Object.fs.symlinkSync (fs.js:961:18)
at FSMonitor._measure (C:\Users\bpasserat\Documents\Ember\patient_webview\node_modules\heimdalljs-fs-monitor\index.js:66:21)
at Object.symlinkSync (C:\Users\bpasserat\Documents\Ember\patient_webview\node_modules\heimdalljs-fs-monitor\index.js:82:30)
at symlinkWindows (C:\Users\bpasserat\Documents\Ember\patient_webview\node_modules\symlink-or-copy\index.js:120:16)
at Function.symlinkOrCopySync [as sync] (C:\Users\bpasserat\Documents\Ember\patient_webview\node_modules\symlink-or-copy\index.js:63:5)
at Funnel._copy (C:\Users\bpasserat\Documents\Ember\patient_webview\node_modules\broccoli-funnel\index.js:467:19)
at Funnel.processFile (C:\Users\bpasserat\Documents\Ember\patient_webview\node_modules\broccoli-funnel\index.js:450:8)
at Funnel.applyPatch [as _applyPatch] (C:\Users\bpasserat\Documents\Ember\patient_webview\node_modules\broccoli-funnel\index.js:367:12)
at Funnel. (C:\Users\bpasserat\Documents\Ember\patient_webview\node_modules\broccoli-funnel\index.js:321:10)
at Array.forEach (native)
The broccoli plugin was instantiated at:
at Funnel.Plugin (C:\Users\bpasserat\Documents\Ember\patient_webview\node_modules\broccoli-plugin\index.js:7:31)
at new Funnel (C:\Users\bpasserat\Documents\Ember\patient_webview\node_modules\broccoli-funnel\index.js:58:10)
at rename (C:\Users\bpasserat\Documents\Ember\patient_webview\node_modules\broccoli-stew\lib\rename.js:39:10)
at Class.treeForVendor (C:\Users\bpasserat\Documents\Ember\patient_webview\node_modules\ember-d3\index.js:98:18)
at Class._treeFor (C:\Users\bpasserat\Documents\Ember\patient_webview\node_modules\ember-cli\lib\models\addon.js:371:33)
at Class.treeFor (C:\Users\bpasserat\Documents\Ember\patient_webview\node_modules\ember-cli\lib\models\addon.js:339:21)
at C:\Users\bpasserat\Documents\Ember\patient_webview\node_modules\ember-cli\lib\broccoli\ember-app.js:499:20
at Array.map (native)
at EmberApp.addonTreesFor (C:\Users\bpasserat\Documents\Ember\patient_webview\node_modules\ember-cli\lib\broccoli\ember-app.js:497:30)
at EmberApp._processedVendorTree (C:\Users\bpasserat\Documents\Ember\patient_webview\node_modules\ember-cli\lib\broccoli\ember-app.js:948:29)

Any ideas ?

After analysis my problem was related to the function path.join used in ember-d3 to export version.
On windows
path.join('ember-d3','register-d3-version.js') => 'ember-d3\register-d3-version.js'
and then it shows the error.
if I replace the result of path.join by : 'ember-d3/register-d3-version.js' it works....
I execute "ember s" with :

GNU bash, version 4.3.42(5)-release (x86_64-pc-msys)

Interesting.

if I replace the result of path.join by : 'ember-d3/register-d3-version.js' it works....

Where was this change made?
Also what is the result of (want to make sure there isn't an old version floating around in your node_modules
npm ls broccoli-funnel

The result of npm ls broccoli-funnel :

<EMAIL_ADDRESS>
I changed these lines in ember-d3 in this file index.js
lines 73 I replace "app.import(path.join('vendor', 'ember-d3', 'register-d3-version.js')); "
by "app.import('vendor/ember-d3/register-d3-version.js');"
lines 99 I replace : "return path.join('ember-d3', 'register-d3-version.js');"
by "return 'ember-d3/register-d3-version.js';"

I have a windows machine at home, I'll attempt to debug it this weekend.

I can also confirm the path issue on Windows in regard to ember-d3. Some of our devs are on Windows machines, and they all started having the same error as above when we upgraded ember-d3 to version 0.3.1.

Is there any update on this problem? I have gotten this problem with ember-d3, ember-d3-cli and ember-d3-helpers. The current one I am trying is ember-d3-helpers and here is the error (I have tried all the 'solutions' on a couple of these issue #s). The drive is NTFS, current ember client etc...
The Broccoli Plugin: [Funnel] failed with:
Error: ENOENT: no such file or directory, open 'C:\NgCDS_Research\Ember\ember-d3-helpers\tmp\funnel-output_path-vv60YlYa.tmp\ember-d3\register-d3-ver
sion.js'
at Error (native)
at Object.fs.openSync (fs.js:640:18)
at FSMonitor._measure (C:\NgCDS_Research\Ember\ember-d3-helpers\node_modules\heimdalljs-fs-monitor\index.js:66:21)
at Object.openSync (C:\NgCDS_Research\Ember\ember-d3-helpers\node_modules\heimdalljs-fs-monitor\index.js:82:30)
at Object.fs.writeFileSync (fs.js:1333:33)
at FSMonitor._measure (C:\NgCDS_Research\Ember\ember-d3-helpers\node_modules\heimdalljs-fs-monitor\index.js:66:21)
at Object.writeFileSync (C:\NgCDS_Research\Ember\ember-d3-helpers\node_modules\heimdalljs-fs-monitor\index.js:82:30)
at symlinkWindows (C:\NgCDS_Research\Ember\ember-d3-helpers\node_modules\symlink-or-copy\index.js:125:18)
at Function.symlinkOrCopySync [as sync] (C:\NgCDS_Research\Ember\ember-d3-helpers\node_modules\symlink-or-copy\index.js:63:5)
at Funnel._copy (C:\NgCDS_Research\Ember\ember-d3-helpers\node_modules\broccoli-funnel\index.js:467:19)
The broccoli plugin was instantiated at:
at Funnel.Plugin (C:\NgCDS_Research\Ember\ember-d3-helpers\node_modules\broccoli-plugin\index.js:7:31)
at new Funnel (C:\NgCDS_Research\Ember\ember-d3-helpers\node_modules\broccoli-funnel\index.js:58:10)
at rename (C:\NgCDS_Research\Ember\ember-d3-helpers\node_modules\broccoli-stew\lib\rename.js:39:10)
at Class.treeForVendor (C:\NgCDS_Research\Ember\ember-d3-helpers\node_modules\ember-d3\index.js:98:18)
at Class._treeFor (C:\NgCDS_Research\Ember\ember-d3-helpers\node_modules\ember-cli\lib\models\addon.js:371:33)
at Class.treeFor (C:\NgCDS_Research\Ember\ember-d3-helpers\node_modules\ember-cli\lib\models\addon.js:339:21)
at C:\NgCDS_Research\Ember\ember-d3-helpers\node_modules\ember-cli\lib\models\addon.js:254:34
at Array.map (native)
at Class.eachAddonInvoke (C:\NgCDS_Research\Ember\ember-d3-helpers\node_modules\ember-cli\lib\models\addon.js:252:24)
at Class.treeFor (C:\NgCDS_Research\Ember\ember-d3-helpers\node_modules\ember-cli\lib\models\addon.js:338:22)

I'm having the same issue. I guess it has something todo with broccoli using path-posix and ember using path.
Although ember-app ._getAssetPath replaces the backwards slashes with forward ones.
@bpasserat's answer works for me but I only have to change line 99.

Is anyone looking into this? I've poked around, but have not come up with a solution.


Dev dckks params switch

Upgrade DCKKS MaskedTransform to enable params switch (different degree, modulus and slots).

Feature has been included in V4.0.0


Major update of the introduction to microbiome analysis

Added:

Full Speaker Notes for the automatic video

Additional parts

Types of microbiome analysis
Assembly
Binning
Diversity
Differential analysis

I would need help with the following issues:

Best way to add figure captions:  https://github.com/galaxyproject/training-material/compare/main...paulzierep:microbiome-introduction-update?expand=1#diff-973724554258ca3e00d0c554de28d8f418f930ffba73315222995b49682f2953R103
Not so good looking.

The last slide is missing form the output

How can I modify the Related tutorials slide

Hi @paulzierep!
Thanks for this PR, I will review it. For the figure captions, please have a look at: https://training.galaxyproject.org/training-material/topics/contributing/tutorials/create-new-tutorial-content/tutorial.html#adding-images-with-captions

oh, and the link I sent for figure captions is for tutorials, not slides, I've made them footnotes now, let me know if that looks good to you


Update wavebox to 3.1.9

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Additionally, if updating a cask:

[ ] If the sha256 changed but the version didn’t,
provide public confirmation by the developer: {{link}}

Newer version 3.1.10 Closing in favour of https://github.com/caskroom/homebrew-cask/pull/35786


feat(extra_configs): support extra config

enabled the option to specify extra_options

Change LGTM! Gave your changes a quick whirl on my machine and it seems to be working nicely 👍🏽

Hi @scott-the-programmer, finished the PR now, would appreciate a review and a fast release, so I can start using it for https://github.com/FalcoSuessgott/hashicorp-vault-playground :P
Kind regards,
Tom

https://github.com/scott-the-programmer/terraform-provider-minikube/releases/tag/v0.3.8 😁


Added composer.json

Why?

@jzaefferer Composer is a dependency manager for PHP language. Adding the composer,json enable install the jquery-validation with Composer.
More info here: https://getcomposer.org/ and here: https://packagist.org

Sorry for being uncooperative, but I don't want to maintain more files like this. The same information is available via the existing package.json.


Command API supported params

Hello @mayswind and thanks for this cool project! 👍
Quick question, does the command API provide some param to set the name of the downloaded file? e.g  /#!/new/task?url=${encoded_url}&out=${myfilename}

That's a good idea.

Added in latest daily build.

You are the man! 🍺


Use aws-sdk-java-v2.

Fixes #4162
Context

This improves security CVE-2024-21634 and exposes more S3 functionality such as S3 Object Lambda.
Contributor Checklist

[✅  ] Review Contribution Guidelines.
[ ✅ ] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[✅  ] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[ ] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team.
[ ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective.
[ ] Provide unit tests (under <subproject>/src/test) to verify logic.
[ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes.
[✅  ] Ensure that tests pass sanity check: ./gradlew sanityCheck.
[ ✅ ] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest.

Reviewing cheatsheet
Before merging the PR, comments starting with

❌ ❓must be fixed
🤔 💅 should be fixed
💭 may be fixed
🎉 celebrate happy things

Thank you for your contribution!
This PR has a valid DCO and tests. The relevant team for this area will confirm the design of the implementation choices.

We'll take a look at this closer.  We want to update to v2.


Get a inference result for two arbitrary input point clouds

Hi,
How can I modify the code to have only two point clouds as input and get output result as a scene flow of those two point clouds? I don't need any ground masking or pose because I will assume that camera stays at the same location and there will be no background for the input point clouds.
I'm asking because even though I tried my best to change the code, there are too many arguments and parts I have to modify.
Thank you.

I believe this one is related to: https://github.com/KTH-RPL/DeFlow/issues/3#issuecomment-2128533742
Option A: Save your data as h5df file: Please check the code attached there, and save the data like the same way, then run the same in the instructions.
Option B: read directly, here is a branch I did for DynamicMap benchmark where dataloader directly read each PCD file etc.
https://github.com/KTH-RPL/DeFlow/blob/f8652b30003480842b83178734f10fbdcc304081/scripts/network/dataloader.py#L70-L123

Hi,
Thanks for the very quick reply. Sorry for the basic question, I'm new to this field. According to your reply, I'm still confused how can I deal with ground masking. It seems like you used some configuration files (xxx.toml) to make "groundseg". What if I don't have any configuration files, but fortunately having only point clouds without backgrounds? I tried to erase relevant codes for "gm" and "pose", but I failed. Is there no way to deal with res_dict having only two keys (i.e., pc0, pc1)?
Thank you.

I see, if you don’t need gm or pose set gm to np.zeros and pose to
np.eye(4). Follow this way, you don’t need delete codes and initial by
yourself
On Tue, Jun 4, 2024 at 05:26 Hojeong Lee @.***> wrote:

Hi,
Thanks for the very quick reply. Sorry for the basic question, I'm new to
this field. According to your reply, I'm still confused how can I deal with
ground masking. It seems like you used some configuration files (xxx.toml)
to make "groundseg". What if I don't have any configuration files, but
fortunately having only point clouds without backgrounds? I tried to erase
relevant codes for "gm" and "pose", but I failed. Is there no way to deal
with res_dict having only two keys (i.e., pc0, pc1)?
Thank you.
—
Reply to this email directly, view it on GitHub
https://github.com/KTH-RPL/DeFlow/issues/4#issuecomment-2146503328, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AIN2HBF77RDWDDJWCJF6WLLZFUXWBAVCNFSM6AAAAABIXTNPF2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBWGUYDGMZSHA
.
You are receiving this because you commented.Message ID:
@.***>

I set res_dict like below as you mentioned:
res_dict = {
'scene_id': 'scene_id',
'timestamp': 'key',
'pc0': torch.tensor(self.pc0),
'pc1': torch.tensor(self.pc1),
'pose0': torch.tensor(np.eye(4)),
'pose1': torch.tensor(np.eye(4)),
'gm0': torch.tensor(np.zeros(np.shape(self.pc0))),
'gm1': torch.tensor(np.zeros(np.shape(self.pc1))),
}
But the error says like below:
File "/home/kin/workspace/DeFlow/scripts/pl_model.py", line 230, in test_step
batch['pc0'] = batch['pc0'][~batch['gm0']].unsqueeze(0)
TypeError: ~ (operator.invert) is only implemented on integer and Boolean-type tensors
Did I miss something?

'gm0': torch.tensor(np.zeros(np.shape(self.pc0)).astype(np.bool_)),
'gm1': torch.tensor(np.zeros(np.shape(self.pc1)).astype(np.bool_)),

It's weird.. It leads to another error:
File "/opt/mambaforge/envs/deflow/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/home/kin/workspace/DeFlow/scripts/network/models/basic/make_voxels.py", line 65, in forward
not_nan_mask = ~torch.isnan(batch_points).any(dim=1)
IndexError: Dimension out of range (expected to be in range of [-1, 0], but got 1)

better to debug by yourself with your data, like set a breakpoint and check the shape of data.

Okay, I'll try it. But, do you assume that there could be nan values in point cloud data?

no, you should have valid points in data (like at least 1 point in data is valid)... otherwise it doesn't make sense.
Let me know if you find out why that happens.

I found why that happend, but still can't resolve it. The reason is that when the model voxelize the input point clouds, it returns all zero values.
in deflow.py file:
        self.timer[1].start("Voxelization")         pc0_before_pseudoimages, pc0_voxel_infos_lst = self.embedder(pc0s)         pc1_before_pseudoimages, pc1_voxel_infos_lst = self.embedder(pc1s)         self.timer[1].stop()
Can you help me to figure it out? My inputs are like below:
{'pc0': tensor([[[211.,  63.,  61.],          [210.,  63.,  63.],          [211.,  62.,  63.],          ...,          [325., 904., 136.],          [321., 904., 144.],          [320., 906., 144.]]], device='cuda:0'), 'pc1': tensor([[[191.,  63., 336.],          [191.,  63., 337.],          [190.,  62., 339.],          ...,          [111., 673., 512.],          [110., 674., 512.],          [112., 672., 512.]]], device='cuda:0'), 'pose0': tensor([[[1., 0., 0., 0.],          [0., 1., 0., 0.],          [0., 0., 1., 0.],          [0., 0., 0., 1.]]], device='cuda:0', dtype=torch.float64), 'pose1': tensor([[[1., 0., 0., 0.],          [0., 1., 0., 0.],          [0., 0., 1., 0.],          [0., 0., 0., 1.]]], device='cuda:0', dtype=torch.float64), 'gm0': tensor([[[False, False, False],          [False, False, False],          [False, False, False],          ...,          [False, False, False],          [False, False, False],          [False, False, False]]], device='cuda:0'), 'gm1': tensor([[[False, False, False],          [False, False, False],          [False, False, False],          ...,          [False, False, False],          [False, False, False],          [False, False, False]]], device='cuda:0')}

There are several potential issues I notice here,

gm shape should be (N,), so maybe replace the initial to np.zeros(pc.shape[0]) etc.
the pose is the sensor center pose, which means (0,0,0) coord is sensor pose.
for range limit, here is the config: https://github.com/KTH-RPL/DeFlow/blob/6f0321acbeb2de3c0839ba5f0b806387e54ab450/conf/config.yaml#L37-L38

if you change point cloud range and voxel size here, not 512x512x1 you need retrain for your new setting.


Class com.ecwid.consul.v1.kv.model.GetValue is instantiated reflectively but was never registered

Hi
We have Spring Boot application that uses Spring Cloud Config Consul. We added Spring Native plugin (for Gradle) and managed to build GraalVM native image however when we run the application we get the following exception:
Caused by: java.lang.IllegalArgumentException: Class com.ecwid.consul.v1.kv.model.GetValue is instantiated reflectively but was never registered. Register the class by using org.graalvm.nativeimage.hosted.RuntimeReflection
at com.oracle.svm.core.graal.snippets.SubstrateAllocationSnippets.hubErrorStub(SubstrateAllocationSnippets.java:258)
at sun.misc.Unsafe.allocateInstance(Unsafe.java:864)
... 43 common frames omitted
JDK: 17.0.1
GraalVM: 21.3.0
Spring Boot: 2.6.2
Spring Native: 0.11.1
Spring Cloud: 2021.0.0

Can be resolved by this explicit configuration:
@Configuration
@TypeHint(types = GetValue.class, access = {TypeAccess.PUBLIC_CONSTRUCTORS, TypeAccess.PUBLIC_METHODS, TypeAccess.PUBLIC_FIELDS,
		TypeAccess.DECLARED_CONSTRUCTORS, TypeAccess.DECLARED_FIELDS, TypeAccess.DECLARED_METHODS})
public class AotConfig {
}

@OlgaMaciaszek Should we include that in Spring Cloud hints from your POV?

@sergey-morenets thanks for reporting this. Veryfying.

Closing due to lack of feedback.

@sergey-morenets, @sdeleuze after further analysis, I was able to reproduce this.

Will add the necessary hints.


Newsletter module - test email account bug

v1.1.3
Newsletter admin module - Sending accounts test bug
When supplying the same gmail information as successfully used in the main email configuration, the Test option either shows Sending... indefinitely, or produces the following output:
Error processing your request:

                        Whoops, looks like something went wrong.

                                        (1/1)
                                        FatalThrowableError

                                    Class 'Newsletter\Senders\NewsletterMailSender' not found

                                in sender_functions.php line 59
at newsletter_test_sender(array('name' => 'News', 'from_name' => 'News', 'from_email' =><EMAIL_ADDRESS>'reply_email' =><EMAIL_ADDRESS>'account_type' => 'smtp', 'mailchimp_secret' => '', 'mandrill_secret' => '', 'mailgun_domain' => '', 'mailgun_secret' => '', 'amazon_ses_key' => '', 'amazon_ses_secret' => '', 'amazon_ses_region' => '', 'sparkpost_secret' => '', 'smtp_username' =><EMAIL_ADDRESS>'smtp_password' => '1nf0rmat10n', 'smtp_host' => 'smtp.gmail.com', 'smtp_port' => '587', 'to_email' =><EMAIL_ADDRESS>'id' => '2'))in DefaultController.php line 516
at DefaultController->api('newsletter_test_sender', false)
at call_user_func_array(array(object(DefaultController), 'api'), array('slug' => 'newsletter_test_sender', false))in Controller.php line 55
at Controller->callAction('api', array('slug' => 'newsletter_test_sender', false))in ControllerDispatcher.php line 44
at ControllerDispatcher->dispatch(object(Route), object(DefaultController), 'api')in Route.php line 203
at Route->runController()in Route.php line 160
at Route->run()in Router.php line 572
at Router->Illuminate\Routing\{closure}(object(Request))in Pipeline.php line 30
at Pipeline->Illuminate\Routing\{closure}(object(Request))in Pipeline.php line 102
at Pipeline->then(object(Closure))in Router.php line 574
at Router->runRouteWithinStack(object(Route), object(Request))in Router.php line 533
at Router->dispatchToRoute(object(Request))in Router.php line 511
at Router->dispatch(object(Request))in Kernel.php line 176
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))in Pipeline.php line 30
at Pipeline->Illuminate\Routing\{closure}(object(Request))in ShareErrorsFromSession.php line 49
at ShareErrorsFromSession->handle(object(Request), object(Closure))in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request))in StartSession.php line 64
at StartSession->handle(object(Request), object(Closure))in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request))in AddQueuedCookiesToResponse.php line 37
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure))in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request))in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure))in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request))in Pipeline.php line 102
at Pipeline->then(object(Closure))in Kernel.php line 151
at Kernel->sendRequestThroughRouter(object(Request))in Kernel.php line 116
at Kernel->handle(object(Request))in index.php line 71

On further investigation, it would appear that none of the classes in Newsletter\Providers or Newsletter\Senders is available to the helper functions.

+1

Autoloader does not load libraries thus classes are not known. Static including works, dont know smthing  obout  your autoloader atm.

Dirty and quick inserted:
require_once('Senders/NewsletterMailSender.php');
require_once('Providers/DefaultProvider.php');
require_once('Providers/SMTPProvider.php');
in userfiles/modules/newsletter/start_campaign.php
and now its working.
Tried with simple autoloader but wont worrk  ^^

When i look at the code of this module it appears to be ancient. Why it is not using the /src/Microweber/Utils/MailSender.php MailSender class?


feat: Enable Palette V3 for all users

The type of this PR is: Feature

This PR resolves CX-1760
Description
Enables Palette V3 for all users by setting allowV3 to true.
PR Checklist (tick all before merging)

[ ] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[ ] I have tested my changes on iOS and Android.
[ ] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[ ] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added an app state migration, or my changes do not require one. (What are migrations?)
[ ] I have added a changelog entry below or my changes do not require one.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Warnings

:warning:

❌ An error occurred while validating your changelog, please make sure you provided a valid changelog.

  Generated by :no_entry_sign: dangerJS against 760bfd084a1ed9247bb8b9c4b9abd3ec2367b9b8


(Detroit) All pages - skip to main content

User Story:
As a….Person using a screen reader
I want…To skip to the main content on each page on our site
So that…I can efficiently navigate to information that is most important to me
Additional detail:

The user is not able to skip to main content on any pages on our site
This ticket applies to the Detroit bloom instance

Design Asset Documentation:
Required (Y/N) Y
(If yes) link here: Skip Link Asset
Technical Notes:
Change to UI components? (Y/N)
Lighthouse recommendation:
Add a skip to the main content link into the code for each web page template.
Technical notes:
Will this require a change to UI components?
Acceptance criteria:
Given that I am a person using a screen reader on desktop
When I wish to skip to the main content on the page
Then I can do so quickly and easily using a “skip to main content” link
Given that I am a person using a screen reader on mobile
When I wish to skip to the main content on the page
Then I can do so quickly and easily using a “skip to main content” link
QA review instructions:
(Desktop testing instructions)
(Mobile testing instructions)

@ColinBuyck @eajensenwa -- updated with asset!

Duplicate of https://github.com/bloom-housing/bloom/issues/3310


Fix for Digest::Digest deprecation

Thanks for reporting this @benshippee. It looks like 54b955f took care of this issue.


⚠ Bofrost.de has degraded performance

In 38ec11d, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 868 ms

Resolved: Bofrost.de performance has improved in d0bd83a.


Add option to ignore empty lines for MethodLengthChecker

Fix for #300 and #302

Codecov Report

Merging #301 into master will not change coverage.
The diff coverage is 0%.

@@          Coverage Diff          @@
##           master   #301   +/-   ##
=====================================
  Coverage       0%     0%
=====================================
  Files          59     59
  Lines        1464   1470    +6
  Branches      147    152    +5
=====================================
- Misses       1464   1470    +6

Impacted Files
Coverage Δ

...g/scalastyle/scalariform/MethodLengthChecker.scala
0% <0%> (ø)
: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 5eb026f...098bb35. Read the comment docs.

Great! Thanks!


terra-spacer support for shorthand properties

Issue Description

I would like to see the functionality for supplying margin and padding shorthand as props.
I'd like to get others' thoughts on this, as if this is something that people see value in, I'd be happy to make the contribution myself.
Issue Type

[ ] New Feature
[x] Enhancement
[ ] Bug
[ ] Other

Expected Behavior

Rather than having to do something like
<Spacer marginTop="small" marginRight="medium" marginBottom="small" marginLeft="medium">
 {/* children */}
</Spacer>

I would like the API to similarly mirror the normal margin and padding CSS API where this is still valid, any of the following could be used to achieve an equivalent outcome
<Spacer margin="small medium small medium">
 {/* children */}
</Spacer>

<Spacer margin="small medium small">
 {/* children */}
</Spacer>

<Spacer margin="small medium">
 {/* children */}
</Spacer>

or, in the case that all four dimensions are supposed to have the "small" margin,
<Spacer margin="small">
 {/* children */}
</Spacer>

Current Behavior

See example above.

Technical Design: terra-spacer Shorthand Properties Enhancement
Summary:
Uplift the terra-spacer component to recognize margin & padding shorthand property entry.
e.g.
<Spacer margin="small small">{/* children */}</Spacer>

React Props:
New

Props
Type
Default
Description

margin
string
none
1, 2, 3, or 4 of the existing spacing property variables (small, medium, etc.) matching the standard shorthand format.

padding
string
none
1, 2, 3, or 4 of the existing spacing property variables (small, medium, etc.) matching the standard shorthand format.

Questions
Conflicting Prop Prececence
I'd be interested in hearing how people would want the internals of the component to behave when supplying both a shorthand, and individual directional margin or padding prop. I.e., how the component should behave when something like the following is provided.
<Spacer marginTop="small" margin="large" /* which would result in a conflicting marginTop="large" rule */>{/* children */}</Spacer>

Current Thoughts

I'm planning on implementing a custom validator for typechecking both margin and padding, that will be responsible for checking that

The correct number of space-deleminted substrings (1-4) are provided.
Each of the aforementioned substrings are one of the recognized spacing prop variables.

As part of this custom validator, I can perform the check that a situation in the example above throws an error, or, I can let the situation occur, and throw a warning to the user informing them that they are improperly trying to set margin or padding, while defining one of the two values (margin or marginTop) a higher precedence for application Spacer.

Unless anyone has a reason not to, I'm planning on mapping any values passed via margin or padding to the existing class rules, to avoid creating additional css rule permutations for each of the possible shorthand properties (1 substring, 2 substrings, etc.).

@bjankord @JakeLaCombe @ryanthemanuel @mjhenkes,
What are your thoughts on the things labeled above under the Questions subsection?

@bjankord @JakeLaCombe @ryanthemanuel @mjhenkes
bump

@dylan-sftwr I like the custom validator idea. I agree with perform a check in that a situation in the example above and throw an error instead of allowing it to happen. I like the idea of mapping any values passed via margin or padding to the existing class rules.
+1 on tech design.


Podman with Docker-compose not working

Trying to get testcontainers work with Podman and Docker-compose in Fedora 35 OS to run tests on a custom Kafka cluster. Tried the following approaches but all of them are failing:
1st Approach:
@Container
private static final DockerComposeContainer kafka = new DockerComposeContainer(
new File("src/test/resources/compose-test.yml")).withOptions("--compatibility")
.withExposedService(KAFKA_SERVICE, KAFKA_PORT,
Wait.forListeningPort().withStartupTimeout(Duration.ofSeconds(360)))
.withLocalCompose(true);
This approach throws the below error "Link is not supported"

Seemingly related to the deprecated addLink method below:

2nd Approach:
@Container
private static final DockerComposeContainer kafka = new DockerComposeContainer(
new File("src/test/resources/compose-test.yml")).withOptions("--compatibility")
.waitingFor(KAFKA_SERVICE, Wait.defaultWaitStrategy().withStartupTimeout(Duration.ofSeconds(360)))
.withLocalCompose(true);
This approach simply throws a null pointer error:

3rd Approach:
@Container
private static final DockerComposeContainer kafka = new DockerComposeContainer(
new File("src/test/resources/compose-test.yml")).withOptions("--compatibility")
.waitingFor(KAFKA_SERVICE, Wait.defaultWaitStrategy().withStartupTimeout(Duration.ofSeconds(360)));
This approach throws the below error:

But, the file in the error has Read/Write/Execute permissions for all users.

Would you expect that Podman works together with Docker Compose outside of Testcontainers? Can you give a CLI example of how Podman can work with Docker Compose?

@kiview, thanks for your response. I am using the below CLI commands to make Podman work with Docker-compose
sudo systemctl enable podman.socket
sudo systemctl start podman.socket
sudo systemctl status podman.socket
##or##
systemctl --user enable podman.socket
systemctl --user start podman.socket
systemctl --user status podman.socket
export DOCKER_HOST=unix:///run/user/$UID/podman/podman.sock
Reference:
https://fedoramagazine.org/use-docker-compose-with-podman-to-orchestrate-containers-on-fedora/
https://www.redhat.com/sysadmin/podman-docker-compose

I'm seeing better behaviour than this on podman 4.3.1 (rootless).
To note im using docker-compose against podman (not sure if testcontainers invoke against this executable or in isolation).
But im seeing issue surrounding socat initialisation:

11:38:09.386 [main] INFO  🐳 [docker-compose] - Docker Compose has finished running 11:38:09.530 [main] INFO  🐳 [alpine/socat:<IP_ADDRESS>-r0] - Creating container for image: alpine/socat:<IP_ADDRESS>-r0 11:38:09.741 [main] ERROR 🐳 [alpine/socat:<IP_ADDRESS>-r0] - Could not start container org.testcontainers.containers.ContainerLaunchException: Aborting attempt to link to container 2t1bdw4yyjmb_formio.mock_1 as it is not running

It looks like there is already an issue for this problem. But i suspect it also might be due to the slirp networking functionality.

Hi, Is there an update on this issue? We are facing similar problems after moving from docker desktop to podman.
Using DockerComposeContainer with testcontainers version 1.17.6 we get the following error:
[10] Failed to execute script docker-compose Traceback (most recent call last):   File "urllib3/connectionpool.py", line 677, in urlopen   File "urllib3/connectionpool.py", line 392, in _make_request   File "http/client.py", line 1277, in request   File "http/client.py", line 1323, in _send_request   File "http/client.py", line 1272, in endheaders   File "http/client.py", line 1032, in _send_output   File "http/client.py", line 972, in send   File "docker/transport/unixconn.py", line 43, in connect PermissionError: [Errno 13] Permission denied
Upgrading to version 1.19.0 using DockerComposecontainer fails on out of heap memory as described in: https://github.com/testcontainers/testcontainers-java/issues/7239
Tried using ComposeContainer with version 1.19.0 and localmode in order to avoid the heap issues and facing the issue of Link is not supported.
Podman compose without testcontainers work on that docker-compose.yaml

Hi @chenlin2001 , I'm not sure I had the same error, but concerning Permission denied errors you might want to have a look at https://gist.github.com/jfrantzius/0996e224cbe81d885553ece6f8abf99a#status-500-lsetxattr-varrundockersock-operation-not-permitted


One codebase multiple apps

I was curious if there is any one out there that has successfully created an Ionic project code base that can serve up multiple projects.
I am trying to accomplish a single codebase where I can run a custom cordova/ionic command that will build out a different app based on an identifier for the different app. I am running into issues on trying to figure out how to remove the www folder (or have another www folder i.e. www-1, www-2, www-3). This is also the same for the various platform folders, resources and config.xml.
My situation is I don't want to have to recreate 30 different apps that are vary similar code wise and only vary by app name, id, resources, etc.
Any help would be greatly appreciated.

it would be similar to creating new targets in this generator https://github.com/thaiat/generator-angular-famous-ionic


📖 Add import image from docker guide

Summary
Similarly to the Load Container Images into a Local Docker Engine guide, add a “Import Container Images from a Local Docker Engine”.
Example: Using a registry
This is pretty simple with an external registry, accessible by both docker and dagger. Otherwise you need to spin one up. It's the same idea as the guide referenced above, but in reverse. The problem here is sharing the same network.
It would be nice to be able to do it all in dagger, i.e., spinning an ephemeral registry service, binding it to a docker cli container to push to it, then pulling from the registry as normal. However I don't know how to make docker reach this registry service, thus we may need instructions to do it manually like in the above guide.
Example: Using an exported archive
The advantage of this is it's workable entirely within dagger. The problem is it's way less efficient.
Build a local image:
❯ docker build -t my-local-image - <<EOF
FROM alpine
ENV HELLO=Docker
EOF

Example in Python:
import anyio
import dagger

IMAGE_NAME = "my-local-image"

async def main():
    async with dagger.Connection() as client:
        var = await (
            client.container()
            .with_(docker_image(
                IMAGE_NAME,
                client.host().unix_socket("/var/run/docker.sock"),
            ))
            .env_variable("HELLO")
        )

    print(f"Hello from {var}!")

def docker_image(name: str, socket: dagger.Socket):
    """Import a docker image into container."""

    def _docker_image(ctr: dagger.Container):
        return ctr.import_(
            ctr.with_(
                docker_exec(
                    ["image", "save", "-o", "image.tar", name],
                    socket,
                )
            )
            .file("image.tar")
        )
    return _docker_image

def docker_exec(args: list[str], socket: dagger.Socket):
    """Execute a docker command."""

    def _docker_exec(ctr: dagger.Container):
        return (
            ctr.from_("docker:23.0.1-cli")
            .with_unix_socket("/var/run/docker.sock", socket)
            .with_exec(args)
        )
    return _docker_exec

anyio.run(main)

Should output:
Hello from Docker!

Note: This example is using chainable utilities for reusability (#5236).
\cc @vikram-dagger @mircubed

It would be nice to be able to do it all in dagger, i.e., spinning an ephemeral registry service, binding it to a docker cli container to push to it, then pulling from the registry as normal. However I don't know how to make docker reach this registry service, thus we may need instructions to do it manually like in the above guide.

Since we now have host networking, this is now doable. Similarly, we can also improve the reverse guide now without workarounds.
The Using an exported archive example is still useful in case you already have the exported archive from other means, not for the full export + import in dagger which is no longer necessary as a workaround.

Since we now have host networking, this is now doable. Similarly, we can also improve the reverse guide now without workarounds.

I discussed this with @vito and my understanding is that this is not yet supported. I'll wait a bit longer to work on this.

I discussed this with @vito and my understanding is that this is not yet supported. I'll wait a bit longer to work on this.

How so? From my understanding, we decided to wait because there was an open PR for host networking. There's no open PR or issue (that I know of) for supporting a direct import from a docker engine, but with host networking we can support it via an ephemeral docker registry in dagger, no?
So it's still a workaround but it can be hidden away in implementation, it doesn't require a lot of manual setup from users anymore like when this issue was created. Unless the direct import is right around the corner, I suggest not waiting on it. The current workaround seems viable enough.
Or am I missing something?

@vito mentioned that This still needs a bit more plumbing: namely we need container Publish and From to support services.
I can try it and update here.

@vikram-dagger I've updated the description with a single example. Even though we can't use a service directly in Container.from yet, the workaround above is usable and shareable. Can even be put in a module (cc @kpenfound).
As you can see, those setup steps using the docker CLI can be entirely automated in dagger, in a way that avoids conflicts (random ports, volume and container names, etc).
The opposite Load Container Images into a Local Docker Engine guide has some of the commands in the above example as manual steps for the user. It can now be updated to do it entirely with dagger in an automated way as well.


Cold/Flu: Update data in the ODS with inputs from 2023 campaign.

User Story
As an applicant, I want to make that I have the most current data about the clinic locations and contacts so I can find my correct address in the form.
Tasks
Get most recently updated data from contractors.
Clean up data.
Update the database in ODS.
Acceptance Criteria
2023 Data with additions from the contractor (Healthserv) should be updated in the Data Warehouse

I asked @mikeshitelus to update the worksite table with the information provided to me by Heather Bishop on January 15, 2024.

It is done on ODS TEST Database

@Abuchana to tell heather to test the updated data in the test DJ env. If its okay we can ask Mike Shi to push this to prod

@fazil-ey
Heather has responded, which dev can help with this?
[1:35 PM] Bishop, Heather PSA:EX
okay hi!
So I am in test
[1:35 PM] Bishop, Heather PSA:EX
there is nothing (no addresses/worksites) showing in the drop down menu for select your worksite

Heather has tested and the location information is now in the dropdown menu, however, she has found some errors in the data (unit #s are showing for some locations in the street address). She is updating the spreadsheet and sending it over to Don for him to pass to Mike Shi in order to update the ODS. She will cc Stella to keep her in the loop.

Data cleaning happening with DIO people to take unit # out of street address

Heather has tested and the location information is now in the dropdown menu, however, she has found some errors in the data (unit #s are showing for some locations in the street address). She is updating the spreadsheet and sending it over to Don for him to pass to Mike Shi in order to update the ODS. She will cc Stella to keep her in the loop.

Heather and I met and we looked at a few examples. I think the Workplace dropdown is not pulling on the unit field when presenting the address choices.  I will contact @mikeshitelus  about that. I will also look at why there are duplicates in the ministry list (which have different worksites associated with them). @Stella-Archer @Abuchana

@DonMoffatt Wondering, are you going to send us an updated spreadsheet?

Hi Mike - do you need the spreadsheet to make the corrections I just noted, or is it for another purpose?

@DonMoffatt If the corrections only for those Ministry names, it is ok I can make the change now. However, if the corrections also include unit/suite and street number, I guess we need the updated spreadsheet re-loaded.

@DonMoffatt If the corrections only for those Ministry names, it is ok I can make the change now. However, if the corrections also include unit/suite and street number, I guess we need the updated spreadsheet re-loaded.

I will check the spreadsheet to see if it is complete. Heather identified a couple of missing unit names.

@DonMoffatt @Stella-Archer @Abuchana
Ministry names have been updated in ODS, please test.

It looks good. Thanks for your fast action on this, Mike.

@mikeshitelus I am going through the spreadsheet to check on unit name entries with Heather. I will send the updated list when done.

@DonMoffatt
New excel file received and Worksites table updated on ODS, thanks.

@DonMoffatt could you update this? Thx

Sweet Thanks @DonMoffatt and @mikeshi-bcgov

@mikeshi-bcgov Hi Mike. I'm looking to update a report that is based on Influenzaclinic.[dbo].[vw_registrations] and noticed that the address does not include the unit field. Would you please add it so I can update the subscription report that Heather Bishop needs? [dbo].[worksites] does not contain that field, either (I checked Prod as well).

@DonMoffatt added on DEV, please check.

@mikeshi-bcgov unit_suite - Terrific, looks great.


Add environment variables for container

Please, add environment variables for configure webmail. For example: default mail server, mail ports, etc... For autoconfigure webmail when docker-compose up.

Within next few weeks, we'll be updating docker images for WebMail Lite and other products. Recently, there was a modification submitted by one of the community members, that allows for overriding default configuration values, and we'll be adopting the modification for our WebMail products as well.


Website/Docs: keep normal links in markdown & adjust rendering in website

I would like to have links working in markdown views (eg: [Style](./Style.md) from another .md should work).
In order to do that, we have to properly replace internal links *.md$ to $1/ (pseudo regex here).
It's pretty easy since I completely changed the way markdown is rendered (we actually have a json tree thanks to markdown-as-json.

New website is standalone. See https://github.com/rescript-react-native/rescript-react-native.github.io


[WIP] Swift3 DO NOT MERGE

I am opening so we can see any merge conflicts as they emerge.

As soon as Travis switches to xcode 8 GM, we should merge this.
Xcode8GM came out today. So hopefully by tomorrow.
https://docs.travis-ci.com/user/osx-ci-environment/#Xcode-8


Add doc strings for major functions; reformat function names per PEP 8

Every significant function should include a simple docstring to describe what it does, its arguments, and any outputs.
Related to this, I suggest renaming your functions according to conventional Python style. For example, Do_Zonal_Stats would become do_zonal_stats. Using more descriptive names, like calculate_zonal_stats, would be even better. This should be easy to do across the package and notebooks by find and replace or sed.
As noted in @zhampel's review, it would be good to run a format checker like flake8 on your codebase which would catch issues like this. It looks like you did this in your response, but there are still some small whitespace issues.

[x] Add docstrings/function headers
[x] Reformat function names consistently

(JOSS review thread)

The new functions are docstrings are a good improvement. Thanks for updating.


how to prevent items from leaving the container in the Grid type list

When an element of a row is moved to an upper one, get a overflow
one example https://codesandbox.io/embed/0nnq0kv2l

Hi mate, your example looks fine
But i know what you are talking about because was figthing same issue for 4 ours yesterday ans was about to create an issue about that when found this one
so for me the problem is seen only on certain conditions, when parent has overflowX: "hidden"
here is my code https://codesandbox.io/s/w68jykzw58 you can fix it by removing overflowX: "hidden" from the wrapper

@TrejGun thank you very much with your change has been resolved

@gantit good to know


Split lists in genBitmap to avoid compilation errors on ARM

Fix for arm lvm build at the autogen level

Coverage increased (+0.01%) to 99.838% when pulling e5de0f5fb65fa2608fa2f01c074a79b3417310a2 on brent80:master into 1bbe23533bec39d9bd814b456a79ad2ddd60e5c3 on harendra-kumar:master.

That noinline was not needed, I rebuilt it again in arm and it worked without it.


new isar inspector

new inspector features:

[x] Show objects vertically as blocks
[x] Ability to copy properties values
[x] Tooltips for string values
[x] Windows platform support
[x] Export collection & query data as json
[x] Edit property value
[x] Show query count

TODO:

[ ] Fixing Some bugs in query
[ ] Query Builder UI
[ ] Show indexes and Isar id

any suggestion or idea is welcome.

@all-contributors please add @Viper-Bit for code.

Codecov Report

Merging #471 (0fc9b2f) into main (69108fe) will decrease coverage by 63.56%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##             main     #471       +/-   ##
===========================================
- Coverage   76.17%   12.61%   -63.57%
===========================================
  Files          32       32
  Lines        2447     2252      -195
===========================================
- Hits         1864      284     -1580
- Misses        583     1968     +1385

Impacted Files
Coverage Δ

packages/isar/lib/src/collection_schema.dart
5.88% <0.00%> (-64.71%)
:arrow_down:

packages/isar/lib/src/isar_connect.dart
0.00% <0.00%> (-29.07%)
:arrow_down:

packages/isar/lib/src/isar_connect_api.dart
2.29% <0.00%> (-0.56%)
:arrow_down:

packages/isar/lib/src/version.dart
0.00% <0.00%> (-100.00%)
:arrow_down:

packages/isar/lib/src/native/open.dart
0.00% <0.00%> (-100.00%)
:arrow_down:

packages/isar/lib/src/annotations/name.dart
0.00% <0.00%> (-100.00%)
:arrow_down:

packages/isar/lib/src/native/split_words.dart
0.00% <0.00%> (-100.00%)
:arrow_down:

packages/isar/lib/src/annotations/backlink.dart
0.00% <0.00%> (-100.00%)
:arrow_down:

packages/isar/lib/src/annotations/collection.dart
0.00% <0.00%> (-100.00%)
:arrow_down:

...kages/isar/lib/src/annotations/type_converter.dart
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 23 more

Continue to review full report at Codecov.

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


Eds backport [DO NOT MERGE]

removal of md selector and addition of v2 version of page component.
addition of fd:repopath as custom property for image component to provide jcr path of image in headless json.
custom function eds code

Can you backport the entire state of the master branch to release/650? We avoid backporting specific commits to prevent potential conflicts when merging the entire branch later.


Custom 404 page for ML

With interactive ML interaction?

Make the 404 page interactive with this ML logo exploder:
https://makeabilitylab.github.io/p5js/Art/MakeabilityLabAnimation2-ReverseExplosion/

Here's a great 404 page by GitHub:

Some other great 404 pages for inspiration:
Mailchimp. The horse is animated a bit.

Wix.com

Squarespace.com: has "sorry" in multiple languages animated


fixed minor doc wording problem

Ugh, this line is awful, it explains nothing. What does the parameters even mean? I know it wasn't you who wrote it, but since there's a change maybe a proper description could be added.

Since we're on the topic..
1- This function could be removed completely. Plane( Vector3 normal, float d ) already exists.
2- The member variables x, y and z could be removed as well because the vector normal is already exposed.
2.1- my_plane.x makes the code look cleaner, but I don't know if it is obvious that it is refering to the normal x, wheras my_plane.normal.x makes it obvious. Additionally, if both my_plane.x and my_plane.normal.x are used in the code, it might seem like they mean different things.
3- The member variable d could be renamed to a more descriptive distance_to_origin.
I'm not a user of the Plane class, so I don't know if these changes would affect some workflow I'm not aware of. Also, it would break backward compatibility.

Merging this for now, as it is more correct. Could you also open an issue with your comment? This should probably be changed.

Cherry picked into 3.0.3


Fail to build from source on main branch when USE_6_AXIS is defined as false

Introduced in commit ed74944551cc7a635ce0ef2d2c66637a021a157, specifically on this line:
https://github.com/SlimeVR/SlimeVR-Tracker-ESP/commit/ed74944551cc7a635ce0ef2d2c66637a021a157b#diff-d057e2d1cf9af1b161e90eb4c9f63baa4658f80e6351f90a862c5a14dadd4622L103
All instances of Network:: where replaced by networkConnection. except that single one. When USE_6_AXIS is false then that line is compiled and thus a build error happens.

@TheDevMinerTV (wonder if this works)


Pre-Trained Models

Hi there!
Thanks for your awesome project!
I was going through your project and found this image with different examples:

There are few examples the pre-trained models of which I can't find in your shared drive (e.g. shrek, simpsons, thanos and a few more). Would it be possible to add the pre-trained models of those examples as well?
Thanks in advance!

Thanks for hinting on using the docker, now I have all the models needed!
Thanks a lot!


Remove TON

Fixes https://github.com/trustwallet/wallet-core/issues/1508

This improved the coverage :)
Update code coverage: 94.5% -> 95.0%
(will update coverage.stat in a next PR)


Add GF into workflow

GFSCAN="$RESULTDIR/gfscan"
: 'Use gf to find secrets in meg file'
startGfScan(){
startFunction "Gf scan in meg files"
cd "$SUBS"/meg
for i in gf -list;
do
gf ${i} > "$GFSCAN"/"${i}".txt
[[ -s "$GFSCAN"/"${i}".txt ]] || rm "$GFSCAN"/"${i}".txt
done
cd -
}
startGfScan # add function after startMeg to run

Can you send a Pull request with change, we would love to have contribution.

Merged your change.


Change of coordinates correction

We want to cherry pick this last commit here. The problem with the previous correction that the sign change was also applied to the phihat component.

Closed without merging because we cherry-picked 96e09cc onto jmc/sphere.


Fixed #34303 – Add LogEntries to render context by Admin Site

This PR replaces #16508 ticket-34303
Since no additional flag is desired, the provided method can not filter by content type, because this would break some
tests, such as https://github.com/django/django/blob/6541739765db8bb11a1ed87cce5e6c25b1e71d9a/tests/regressiontests/admin_views/tests.py#L595
I therefore just moved the method for providing the queryset into the AdminSite. This allows the implementer to override that method in order to filter by content-type.
Co-authored-by: @carltongibson

method:: AdminSite.log_entry_queryset(request)
This is still needed.

renamed to get_log_entries(request).

@carltongibson looks perfect, although I would have preferred keeping your example snippet, because IMHO that is what users expect. Anyway, at least now we have a version where one can override that hook. Thanks!

Thanks @jrief — I'll merge this (and #16534) later on. Again good hustle.

... I would have preferred...

I don't necessarily disagree with you, but it's about keeping changes contained.
Maybe the register should be fully public, and documented… — who hasn't landed on that Stack Overflow page about unregistering the User model? 😜 — but that's a much bigger debate, and we need to balance maintenance against the ability of folks to just look at the source and see what's there. If we open that here, I can't just merge this now today. Much better to move bit-by-bit. (🤷♀)


Fix database migrations

Description

Introduce predeployment in database migration to run before migration scripts.

Use filesystem and path to find scripts to execute instead of embedded ressources
Run predeployment scripts before migration scripts (These scripts must be idempotent for this to work on the next run!)
Run migration scripts after predeployment scripts

References

#616

Should we add an integration test ensuring that migrations always work? Or do we have enough/other tests that test the migrations implicitly?

We don't have any integration tests as of now to test that migrations work. But I think it's a good idea to have them. I will add a new PR with integration tests for migrations when this PR is successfully merged and deployed.


Add 429 status code as default to the RetryInterceptor

Hi, I tried to work on this. And I have one question.
Which does this issue mean?

When we get 429 response from external service, we should regard it as error and retry (or stop is better?) to request.
When we reach to max retry attempt's count, we should handle this response as 429 status code. (Even if the response code is not 429)

If the meaning is 1, should we simply add 429 on errorStatuses at below code?
https://github.com/rybalkinsd/kohttp/blob/d6e24341bc603f2ecf66d8e5c3dfefd4e5cfcd34/kohttp/src/main/kotlin/io/github/rybalkinsd/kohttp/interceptors/RetryInterceptor.kt#L24
If the meaning is 2, I guess we could not rewrite response code because Response.code is final int field.
(And also I think we shouldn't rewrite status code inside kohttp library. It's out of developer's expectation.)

Hey @doyaaaaaken . Let me give some thoughts.
Please, refer https://httpstatuses.com/429
As for no, we're retrying requests with delay based on invocationTimeout and ratio.
Getting 429 it is possible to retry using slightly different technique:
429 response MAY have a Retry-After: xxx header.
We can use this number (xxx) as a time before next retry.
Also, it m/b a good idea to introduce maxDelayTime


Implicit import of _socket not working after Nuitka 0.7.7

I ask for some tips in finding the root cause of a problem. Here is my environment:
$ /opt/devpy39/bin/python3.9 -m nuitka --version
0.9.2
Commercial: None
Python: 3.9.6 (default, Oct 26 2021, 13:46:24)
Flavor: Unknown
Executable: /opt/devpy39/bin/python3.9
OS: Linux
Arch: x86_64
Distribution: Linuxmint (based on Ubuntu) 20.3

Nuitka was installed with pip.
The Python executable in that directory is compiled from source, and has some additional modules installed to it via pip, from a requirements.txt file.

Here's my code:
import asyncio

async def main():
    print('Hello ...')
    await asyncio.sleep(1)
    print('... World!')

if __name__ == '__main__':
    asyncio.run(main())

I compile it with /opt/devpy39/bin/python3.9 -m nuitka --follow-imports  nuitkasocketonly.py, and the process is finished without errors.
However, when I run the program, I get this:
./nuitkasocketonly.bin
Traceback (most recent call last):
  File "nuitkasocketonly.py", line 1, in <module>
    import asyncio
  File "/opt/devpy39/lib/python3.9/asyncio/__init__.py", line 8, in <module>
    from .base_events import *
  File "/opt/devpy39/lib/python3.9/asyncio/base_events.py", line 23, in <module>
    import socket
  File "/opt/devpy39/lib/python3.9/socket.py", line 51, in <module>
    import _socket
ModuleNotFoundError: No module named '_socket'

The error persists even if I explicitly add import socket or even import _socket to the top of my code. I also tried it with plugin-enable=implicit-imports (Nuitka tells me that this plugin is always enabled, so this didn't have any effect, because _socket is already imported along with socket).
I've tried the previous versions, going back from 0.9.2, and the issue goes away at Nuitka 0.7.7. However, I didn't see anything obviously related to this between 0.7.7 and now in the changelog.
The strange part is that if I compile a clean Python 3.9.6, install it to another directory, then install the same dependencies - the produced binary works well, even with Nuitka 0.9.2. It is clear that the culprit is somewhere in my environment, but I was so far unable to identify which piece of the puzzle is responsible for the error.
I was wondering whether this issue follows some pattern, maybe something similar has occurred in the past, and I can leverage that experience to focus on some specific part of my development environment to find the cause.

What is a built-in module gets decided at compile time, various Python distributions have differences there.
Mind you however, that accelerated mode never includes extension modules, so it shouldn't matter at all.

Can you please use --report=out.xml in the failing Python, that could reveal something.
In my self-compiled Python, that has it external, it just works. The Debian Python has this built-in, so no problem feasible there.

This is what the output looks like:
<nuitka-compilation-report>
  <module name="__main__" kind="PythonMainModule" reason="Root module" />
  <module name="site" kind="UncompiledPythonModule" reason="Instructed by user to follow all modules, including non-automatic standard library modules." />
  <search_path dirs="/home/alex/projects/nuitkatest:/opt/devpy39/lib/python3.9:/opt/devpy39/lib/python3.9/lib-dynload:/opt/devpy39/lib/python3.9/site-packages" />
</nuitka-compilation-report>

And you do run this on the machine where it was compiled?

Yes, the action happens on the same computer.

 Can you add a print(sys.path) at the top of your script, and provide the output, I suspect that site module reacts badly somehow.

Here are the paths for the working binary:
['/home/alex/projects/nuitkatest', '/usr/local/lib/python39.zip', '/usr/local/lib/python3.9',
'/usr/local/lib/python3.9/lib-dynload', '/home/alex/projects/nuitkatest/venv39/lib/python3.9/site-packages']

And the associated report
<nuitka-compilation-report>
  <module name="__main__" kind="PythonMainModule" reason="Root module" />
  <module name="_virtualenv" kind="CompiledPythonModule" reason="Instructed by user to follow to all non-standard library modules." />
  <module name="site" kind="UncompiledPythonModule" reason="Instructed by user to follow all modules, including non-automatic standard library modules." />
  <search_path dirs="/home/alex/projects/nuitkatest:/usr/local/lib/python3.9:/usr/local/lib/python3.9/lib-dynload:/home/alex/projects/nuitkatest/venv39/lib/python3.9/site-packages" />
</nuitka-compilation-report>

Here are the paths for the failing attempt:
['/home/alex/projects/nuitkatest', '/usr/local/lib/python39.zip', '/usr/local/lib/python3.9',
'/usr/lib/python3.9/lib-dynload', '/home/alex/projects/nuitkatest/venv39/lib/python3.9/site-packages']

I was surprised to see venv39 in the list (the last element). I thought maybe it is because nuitka is reusing the data in nuitkasocketonly.build - after removing this directory and compiling again, the output is:
['/home/alex/projects/nuitkatest', '/opt/devpy39/lib/python39.zip', '/opt/devpy39/lib/python3.9',
'/usr/lib/python3.9/lib-dynload', '/opt/devpy39/lib/python3.9/site-packages']

And the report
<nuitka-compilation-report>
  <module name="__main__" kind="PythonMainModule" reason="Root module" />
  <module name="site" kind="UncompiledPythonModule" reason="Instructed by user to follow all modules, including non-automatic standard library modules." />
  <search_path dirs="/home/alex/projects/nuitkatest:/opt/devpy39/lib/python3.9:/opt/devpy39/lib/python3.9/lib-dynload:/opt/devpy39/lib/python3.9/site-packages" />
</nuitka-compilation-report>

That caching bug is interesting as well, that should not happen, I will have to look into that as well.
However, the virtualenv must be active when the compiled binary is run, or else it will not find it. I understand however, that in your case, in the non-working environment, it's not there.
Once thing that came to my mind just now, is that you ought to use --python-flag=-v when compiling. I do not need traces of the working case, but only the non-working case, it's actually more confusing to me otherwise. With that, we should see traces at runtime, where it attempts to import socket and then _socket and see what Nuitka meta path based loader states about it.

I understand however, that in your case, in the non-working environment, it's not there.

Hmm, now I get it - the environment was indeed not activated. I mistakenly thought that calling the right python interpreter directly would suffice. However, the environment I'm using is indeed requiring me to activate a virtualenv first. If I do that - it works.
This is the output you've requested: execution-output.txt, however - I have to say this was a false alarm, I missed one of the steps in the recipe.

The accelerated binary potentially ought to check if the environment changes, or enforce the compile time environment, then this error of course would be avoided.


Add : Ephraim Abstaina

Description
Added my Profile

Related Issues

Changes Proposed

Checklist

[x] I have read and followed the Contribution Guidelines.
[ ] All new and existing tests passed.
[ ] I have updated the documentation to reflect the changes I've made.
[x] My code follows the code style of this project.
[x] The title of my pull request is a short description of the requested changes.

Screenshots
Note to reviewers

done

No requested changes are made.

NO ACTIVITY


added solution flag

Congratulations, Nathan! I love the repeated "31337" and "accio" from Harry Potter!


backstage-cli bundling creates nested bundle.tar.gz when there's no plugins

Expected Behavior
When building the bundle without plugins folder available (there aren't any plugins), using backstage-cli to build the bundle, should create bundle.tar.gz with all bundled files within the gzip file. Following command is used for building the bundle:
yarn --cwd packages/backend backstage-cli backend:bundle --build-dependencies
Current Behavior
The file bundle.tar.gz contains the same bundle.tar.gz in folder packages/backend/dist (within the gzip archive) while it should contain the extracted files. To work around this issue, the nested bundle.tar.gz must be extracted again in the application root folder.
Possible Solution
The produced bundle.tar.gz should not create another bundle.tar.gz inside itself, but instead have the same file and folder structure as if the bundle was built with plugins enabled.
Steps to Reproduce

Remove all plugins from the code
Remove plugins folder
yarn install --frozen-lockfile
yarn tsc
yarn --cwd packages/backend backstage-cli backend:bundle --build-dependencies
Open/extract packages/backend/dist/bundle.tar.gz
Notice that in the extracted packages/backend/dist folder there's bundle.tar.gz again

Context
The issue affects the build pipeline. As a workaround, there needs to be an additional extraction of the bundle.tar.gz only in case if there aren't any plugins yet installed/enabled. If plugins are enabled, the bundle doesn't have any issues, content isn't "double-zipped".
Here's the listing of the extracted, problematic bundle.tar.gz:
$ ls -R
package.json    packages        yarn.lock

./packages:
backend

./packages/backend:
dist         package.json

./packages/backend/dist:
bundle.tar.gz   skeleton.tar.gz

Your Environment
The affected environment doesn't have any plugins enabled or installed.

NodeJS Version (v14): v14.18.2
Operating System and Version (e.g. Ubuntu 14.04): Mac OS, node-14-buster docker image
Browser Information: not relevant

Thank you for reporting!
What version of the cli are you on? This might've been fixed by https://github.com/backstage/backstage/pull/8041

Hi, the version of backstage-cli I'm using is 0.7.14.


Fix broken checkstyle config after checkstyle-plugin update to v3.1.1

Update Checkstyle config for the breaking changes between v8.19 (maven plugin v3.1.0) and v8.29 (maven plugin v3.1.1)
Fixes Issue #2492
Description of Change
Updated Checkstyle config to the updated Checkstyle version used by plugin v3.1.1
Decided to just remove allowUndeclaredRTE and allowThrowsTagsForSubclasses and not introduce anything for that as per CheckStyle's own recommendation in their ticket.
Have test cases been added to cover the new functionality?
no, not applicable; validated with mvn -s settings.xml install site site:stage -DreleaseTesting -Danalyzer.node.package.enabled=false -Danalyzer.node.audit.enabled=false that checkstyle checks properly pass now

Thanks!


note that you can ignore function for certain hint

(I read the readme and thought "oh that's too bad that you can't combine them", and then I tried the obvious thing just to check and it worked)

Thanks! Good point to include


Minimize instead of tray on close

Feature
Minimize on close Franz
Description
In the past version of Franz, when you would close the window with the X (or ctrl + w), the window was minimized. In the current Franz it's closed to tray instead, and clicking the icon in the dash triggers a new Franz screen to get opened.
Environment
Ubuntu 16.04

In Settings you can adapt the behaviour.
About the issue of having a second Franz window opened should be resolved with the new beta 11.

I've build and installed beta 11 now. Unfortunately still a bit buggy as and not really this feature request.
When the "Keep Franz in background when closing the window" is enabled:

Minimize: works. Icon in dock still active, able to open it through the dock and tray.
Close: Icon in dock is now inactive. Clicking it again triggers Ubuntu to try to start the application again, but it keeps flashing and does nothing further. Opening through tray does not work. Have to restart Franz to get it working (through tray).

When the "Keep Franz in background when closing the window" is disabled:

Minimize and close works as intended.

Although, this feature request was more to have the close button behave like minimize button. Not removing the Franz window, instead minimizing it.

Hmmm - unfortunately, this doesn't seem to be implemented. When closing the window, it's still removed from the dash. :(

@Wouter0100 Is it possible for you to take a look at the implementation in AppIndicator.js?

Ofcourse! I'll dig into this asap :+1:

@Wouter0100 I just realize that you won't find anything in AppIndicator.js it's in Tray.js ;)

I have this error too. It don't show icon in system tray. I use ubuntu 17.10

any chance after Franz is minimized to tray, on show to be displayed on the monitor it was before minimized? I am currently using multiple screens and I always have it maximized on one of the monitors. On minimized, when I click show from tray, it is showed on main screen, maximized.


Remove Twitter from developer Open Graph tags

A PR addressing this issue should remove the #twitter method from app/components/developers/open_graph_tags_component.rb:28.

Hey, Can i work on this issue?

Sure thing! All yours.

Hi, is this issue still available? I'd like to work on it.

No, @sarthakw7 is working on it in #607.
But #606 hasn't been claimed yet if you'd like to give that one a go!

Alright. I'll give it a look. Thank you

Closed via #607.


Updated ostree in Fedora 25

In GitLab by @jerenkrantz on Jul 28, 2017, 09:56
I believe that Fedora has pushed a new ostree (2017.8-2.fc25) that has the commits (9a79d13ce307d8b5b2fe0c373c5d778ad7128b5a) referred to in Dockerfile-build.sh.
For FC25, see https://bodhi.fedoraproject.org/updates/FEDORA-2017-efabd0d782
(We could also alter Dockerfile to use FC26 too?)

In GitLab by @samthursfield on Jul 31, 2017, 14:39
Sounds good, I'll try and build and test this soon and update the image at https://hub.docker.com/r/samthursfield/buildstream/
We would then need to update the .gitlab-ci.yml file to reference the updated version. (It could also reference an image hosted somewhere else ... it's only hosted at my personal Docker Hub account because I'm lazy and am still hoping we can eventually move back to using a 'standard' Docker image)

In GitLab by @juergbi on Aug 8, 2017, 10:35
Merge request !72 with the update to Fedora 26 has been merged. Closing this issue.

In GitLab by @juergbi on Aug 8, 2017, 10:35
closed


DOCS-569 - Add Cloud SIEM course content

Purpose of this pull request
This pull request adds the self-paced courses for Cloud SIEM fundamentals and admin to documentation as the following articles:

Introduction to Cloud SIEM for Analysts
Introduction to Cloud SIEM for Administrators

It also moves some Cloud SIEM articles to different locations.
Select the type of change

[ ] Minor Changes - Typos, formatting, slight revisions
[ ] Update Content - Revisions, updating sections
[x] New Content - New features, sections, pages, tutorials
[ ] Site and Tools - .clabot, version updates, maintenance, dependencies, new packages for the site (Docusaurus, Gatsby, React, etc.)

Ticket (if applicable)
DOCS-569

Thanks for the review, @kimsauce!

Closing this PR because merge conflicts are too complex. Replaced by PR #4864.


Testing: change grid breakpoints

Testing new breakpoints

[x] Would need to update breakpoints in core
[x] AU-media function would need to be updated to allow for the extra xl breakpoint
[x] Include extra media query in module.scss. I.e.

.container {
  @include AU-media( xl ) {
    width: ( $AU-media-xl - $AU-grid-12-gutter-width );
  }
}

@include AU-media( xl ) {
  @include AU-grid-12-make-grid( xl );
}

[ ] Modify components using the grid

https://design-system-components-featuregrid-upgrade-test.apps.y.cld.gov.au/packages/grid-12/tests/site/

This PR introduces a new breakpoint for XS. Currently the Design System has no physical breakpoint for XS (below 576px) resulting in mobile and tablet sharing the same dimensions. This will introduce a breakpoint for mobile devices below 576px.


updated the import.bat fixes

featuring the double quotes

this may cause a path breaking and return into an error
importer just acting up

ok


DeepSVDD loss backward is commented

In DeepSVDD, why is the loss.backward() commented out?
At this line:
https://github.com/yzhao062/pyod/blob/2a80ac89816248925ad8f659b7185e764e927265/pyod/models/deep_svdd.py#L355
Thanks!

When it is uncommented, I'm getting this error:
RuntimeError: Trying to backward through the graph a second time (or directly access saved tensors after they have already been freed). Saved intermediate values of the graph are freed when you call .backward() or autograd.grad(). Specify retain_graph=True if you need to backward through the graph a second time or if you need to access saved tensors after calling backward.


Theoretical background to this code

Hi Daniel,
I came about your program while searching for mechanisms that estimate the SOC of my own solar-powered vehicle. However it's a bit hard to figure out the code without knowing any of the formulas you implemented - is there any specific document you used as a theoretical background that could help me?
Best,
Simon

Hi Daniel,
I came about your program while searching for mechanisms that estimate the SOC of my own solar-powered vehicle. However it's a bit hard to figure out the code without knowing any of the formulas you implemented - is there any specific document you used as a theoretical background that could help me?
Best,
Simon

Hi Simon,
I know this is too late to reply but can I ask you whether you got to know to some research papers for it as I am now also looking to implement this for my university research project.
Best Regards,
Bilal


support dispatch-http

I love this. It would be awesome if you could add support for the distpatch http. I could help if you point me in the right direction

what is "distpatch http"?

Only the most awesome http client for scala ever
https://github.com/n8han/databinder-dispatch
http://dispatch.databinder.net/
The reason I suggested it was because of its heavy use of symbolic method names. Something like your search engine seems like it would really help a lot of people out.

oh ok, so you suggest I index dispatch API?


File exclude option

Is there any option to exclude files ending with ".crc"

Hi @ashitabh,
Thanks for submitting the feature request! The requested feature is now available in the latest version v0.0.4. Please test and explore it.
I would appreciate your feedback and, if you're satisfied, a star ⭐ for this project.
Regards,
Rahul Madhani


require jQuery optionally

Thanks for this contribution. I'm curious what benefits you see to try loading in jQuery. I'd prefer not to use a try catch

This try except is specifically supported by webpack

Which PR should we look at? This one or #221
What errors do you experience using the Webpack instructions?

@desandro they build on each other. #221 is just a straight bugfix

@desandro I get an attribute error .jqDeffered https://github.com/desandro/imagesloaded/blob/master/imagesloaded.js#L104 because it's not set at the correct point in time.

$ may not be set initially, but does get set in .makeJQueryPlugin(). Looks like instructions had a typo (var jQuery should be var $). Try this:
// main.js
var imagesLoaded = require('imagesLoaded');
var $ = require('jquery');

// provide jQuery argument
imagesLoaded.makeJQueryPlugin( $ );
// now use .imagesLoaded() jQuery plugin
$('#container').imagesLoaded( function() {...});

Updated README in SHA: 154ea174d10db200346a2b3503271a4136aaf362