Hash does not change when only imported modules IDs change

Webpack references modules with number IDs. Seems that when only module IDs change then bundle's MD5 hash does not change. Look at example. Two builds of the same Webpack chunk. The only difference are IDs of imported modules. Despite this the hashes are same.
https://gist.github.com/Poky85/d8fe2d4711d532fbb3ea25a5efbbf992
https://gist.github.com/Poky85/e441799fdf314684d3eb41744a2ba4c6
Steps to reproduce:

There are 2 Webpack chunks. For example vendor.js and app.js.
You can achieve this with Webpack CommonsChunkPlugin (https://webpack.github.io/docs/list-of-plugins.html#commonschunkplugin)
Modules imported in vendor.js are required in app.js
App.js changes. As result of this module IDs in vendor.js will also change (IDs are determined by occurence count if you use OccurrenceOrderPlugin (https://webpack.github.io/docs/list-of-plugins.html#occurrenceorderplugin)
But vendor.js chunk keeps the same hash.

webpack.config:
`
var webpack = require("webpack");
var WebpackMd5HashPlugin = require('webpack-md5-hash');
var config = {
entry: {
    "bundle/app": ["./src/app.js"],
    "bundle/vendor": ["./src/vendor.js"]
},

output: {
    path: "./www/assets",
    publicPath: "/assets/",
    filename: "[name].[chunkhash].js",
    chunkFilename: "[name].[chunkhash].js"
},

plugins: [
    new WebpackMd5HashPlugin(),
    new webpack.optimize.OccurenceOrderPlugin(),
    new webpack.optimize.CommonsChunkPlugin({
        name: "bundle/vendor"
    })
],
bail: true

};
module.exports = config;
`

I think this will solve your issue: https://github.com/facebookincubator/create-react-app/issues/210#issuecomment-236337762
E.g. Use HashedModuleIdsPlugin to keep module ids consistent across builds and remove OccurenceOrderPlugin.

Where to get HashedModuleIdsPlugin from? Currently published Webpack version 1.13.3 doesn't seem to include it.

@jampy you can find examples here: https://github.com/webpack/webpack/blob/54aa3cd0d6167943713491fd5e1110b777336be6/test/configCases/hash-length/hashed-module-ids/webpack.config.js

But looks like it doesn't exist in 1.0 :(

@Poky85 I'm seeing this issue in my own codebase as well, and want to verify what is causing the behavior, so that I can demonstrate that @alexindigo's solution solves this for me. I am attempting to follow the "steps to reproduce" in the issue description, but this phrase is a little tricky to me: "Modules imported in vendor.js are required in app.js". import and require seem to be synonymous actions, so I'm not seeing how to make a change to my bundle code to reproduce a changed module id.

@jeromecovington As I understood it, you just have "relations" between chunks. (import gets transpiled into require in the end).
Try following, you have your main chunk (and using CommonChunk and OccurenceOrder plugins), so your get async chunks as well,  like 1 or 2. Then you add another file to the whole setup, which will be included in the main (app) chunk. (you need to experiment where you require this new file) so it would push up occurence order for files in your async chunks.
I hope I made it clear, rather than more confusing :)

I am also using the CommonsChunkPlugin, so any shared import-ed modules end up getting bundled as require statements in the common bundle. And any resulting additional require statements in common do seem to cause a chunkhash update there. However, I have seen changes in an entry point bundle (not common) related only to updated module ids not resulting in a chunkhash change for said entry point bundle. I'm having a hard time reproducing this behavior, but I know it has been a problem for me.

For me entry point chunk changes the most, but other chunks this is what getting ids update. What you can try, is to find require (import) statement for the modules that end up in async chunk and insert another require before that, so it would change occurrence order for modules in async chunk.
Or another way would be to introduce another library in the vendor chunk, that only referenced from within vendor chunk, it won't change content of the main (entry point) chunk, but will change the ids.

Great, thanks @alexindigo I have been able to reproduce the behavior and will now be on track to verify the solution you published on npm.

Cool, thanks. Let me know how it's working out for you.

Yep, @alexindigo seems to be working out well. Thanks for taking the time to publish on npm and answer my questions!

I have created simple demo to test different hashing algorithms https://github.com/Poky85/webpack-chunkhash-demo
Given first tests none of tested algorithms gives 100% correct builds in all test cases.
Maybe we can check different Webpack configurations. Feel free to fork my demo.

Hm. I seem to be running into this issue again, using webpack-chunk-hash where it seems that the digest is being produced prior to the module id insertion. For example, I have an entry point where the ids are less by one (due to the removal of a module), yet its chunkhash is identical to the one produced for the entry point prior to the removal of the module. @alexindigo I was going to add this as an issue to https://github.com/alexindigo/webpack-chunk-hash but I don't see any place to add issues there?

Ah, I see you added ids back into the hashing mechanism. I will take the update to your plugin and let you know how it goes, @alexindigo.

Yep, taking the update seems to have sorted the ids changing, I am getting new chunkhash values now. Thanks.

Try this:
const spawn = require( 'child_process' ).spawnSync
const ls = spawn( 'git', [ 'rev-parse', 'HEAD' ] );
const hashFromGitCommit = ls.stdout.toString().trim();

filename: `[name].${hashFromGitCommit}.js`,

@holyxiaoxin sadly that is not enough. When you change a file name you also need to change any reference to the file. The correct order to do this in to avoid wrong file caching is to traverse the dependency graph in a depth first post order traversal, where you move the file and update any reference to the file. This ensures that when a file changes its content, any file pointing to it will also be cache-busted with new content, because it contains the new name of the dependency
Any other consistent hashing algorithm is flawed, which is also why all other projects that try to solve this without employing a dependency graph have so many bugs, most of which they can't fix because of their architecture

@munter I might argue that the current hashing algorithm is too strict because of hash base on file path too. If you have 2 similar content in different locations, and would like them to have the same hash, you would have a problem. I would probably just write a simple plugin to do a system hash on the file content itself, maybe the name too(but it's not important for me).

@alexindigo Good day,sorry but i can't find how to post issue in your repo -
So l use your plugin webpack-chunk-hash, also use HashNameslds and everything is ok but today  i found issue when chunk ids changed hash not change(
l mean webpackJsonp([10,9]... change to webpackJsonp([11,8] and hash was the same(
Do you know how to fix this issue?

@matpaul Thanks for point it out. Looks like issues are off by default for forked projects. I tuned it on.
Please feel free to create issues here: https://github.com/alexindigo/webpack-chunk-hash/issues
As for the question. Do you mind to provide a bit of code to experiment with it.
Without looking at the code/config, I can assume that there are some parts that aren't exposed to the plugins. But I'd like to see more, to understand the problem.
Thanks.

delete OccurrenceOrderPlugin

To generate stable module ids For webpack 1.x version, we can use this plugin https://github.com/webpack/webpack/blob/master/lib/HashedModuleIdsPlugin.js
which has included in webpack 2


AMBARI-25754 Ambari server build is failing due to checkstyle issues

What changes were proposed in this pull request?
Removed unused imports which are causing checkstyle errors and resulting in compilation failures.
How was this patch tested?
Verified ambari-server compilation to be successful.

Request to kindly review the patch

Hi @vishalsuvagia , we need delete redundant commits. Also, CI fails because title should start with AMBARI-25754

The commits looks bad on branch-2.7

Is it works if we simply delete all comments here when we Squash and merge?

Will it works if we simply delete all comments here when we Squash and merge?

@kevinw66 yes, that should work

Re-triggered build: https://ci-hadoop.apache.org/job/Ambari/job/Ambari-PreCommit-GitHub-PR/view/change-requests/job/PR-3392/2/

Looks this is committed with commit message is messy as this is not properly rebased which I commented same on #3389.


Provide IPv6 support

Adding a WIP change (on top of the fix-1.8+ branch) that will allow DinD to be used on an IPv6 only Kubernetes cluster.
This uses IPv6 addresses for all pods, and makes use of DNS64 and NAT64 containers, to convert external IPs to IPv4 embedded IPv6 addresses.
An IP_MODE environment variable is added to select between IPv4 (default) and IPv6. Additional environment variables can be set to customize DinD subnet, service subnet CIDR, and prefix to use for DNS64.
To use, must use the customer Kubernetes repo in the README.md, as it has IPv6 patches that are in-flight (or fixing bugs).
Notes:

Uses /80 for pod subnet size.
Requires building local copy, due to changes to DinD code.
All pod subnets are "inside" of the DinD /64 subnet (same as what IPv4 does).
Includes fix to restore controller manifest, when failure to shutdown controller/proxy pods during snapshot.
Relies on both a custom Kubernetes repo (until commits are upstreamed), and kube-dns image (referenced in manifest of custom Kubernetes repo).
Could be customized to use NAT66 container as an option to allow access to external IPv6 IPs.
Future could add dual-stack support.

/assign ivan4th

As of now, the builds fail with this:
cp: cannot stat '/config-files/20-extra-dns-args.conf': No such file or directory

@ivan4th I updated the change set, based on your comments. Can you recheck?
Can you elaborate on the "build failure"? That file is not used in the building of the image (which is needed to get all the changes). It is created by dindnet, and then applied (copied into systemd area and then service restarted) during wrapkubeadm operation.
Thanks.

I’ll be pushing up a new commit that has several changes. One is to try to address DIND_SUBNET so that this can be used with IPv6 w/o customizing with EMBEDDED_CONFIG. Let me know what you think.
I have test-case-src-working-area as a way for developers to test the CI operation locally, with a custom Kubernetes repo. For example, I have a repo based on master, but with almost a dozen IPv6 in-flight PRs patched in. Intent is not to use this test case for CI, but for development use. Let me know if you want it removed or commented out.
My PR is based on the fix-1.8+ branch. Do I need to do anything, like rebase to a different branch? I wanted the fix-1.8+ changes. Also, my latest code (that I’m looking to update in the PR), has the workaround change you did for Travis. Is that committed anywhere? fix-1.8+?
I’ve been testing my changes and IPv4/IPv6 seem to work just fine locally. For GCE, I made a gcd-setup-local.sh script that does a build, so that a local DinD image can be used. It works for IPv4, but is not working for IPv6. I had to do several changes, so that files are over on the VM. Seems like it is trying to do kubectl command to start up the dashboard pod, and that request is not getting to the kube-master. It was trying to access localhost:8899, but localhost is <IP_ADDRESS>.
With the latest changes, I tried doing SSH forward of ::1 using port 8899, but it is still failing. Not sure what is wrong there.  Would appreciate any thoughts you have on how to get this going.
Regards,
Paul Michali (pcm)

On Oct 28, 2017, at 8:21 AM, Ivan Shvedunov<EMAIL_ADDRESS>wrote:
@ivan4th commented on this pull request.
I've rebased this PR on top of the current master and it managed to pass CI:
https://github.com/Mirantis/kubeadm-dind-cluster/tree/ipv4-ipv6 https://github.com/Mirantis/kubeadm-dind-cluster/tree/ipv4-ipv6
CI is still flaky but the problems aren't caused by IPv6 changes apparently.
I'd still keep DIND_SUBNET (or replace it with DIND_SUBNET_4 / DIND_SUBNET_6) in config.sh. Also, I'm a bit confused about test-case-src-working-area func, what is it used for? Other than these two minor quirks, and the need for rebase / update to my branch mentioned above, LGTM
In config.sh https://github.com/Mirantis/kubeadm-dind-cluster/pull/42#discussion_r147553051:

@@ -1,6 +1,3 @@
-# DIND subnet (/16 is always used)
-DIND_SUBNET=<IP_ADDRESS>

Maybe a better way is to use separate DIND_SUBNET_6 and DIND_SUBNET_4 vars? The idea of config.sh is to provide the list of available knobs that customize k-d-c behaviour, and removing a var from there makes its usage unclear.
In dind-cluster.sh https://github.com/Mirantis/kubeadm-dind-cluster/pull/42#discussion_r147553053:

@@ -607,7 +734,7 @@ function dind::join {
}

function dind::escape-e2e-name {

sed 's/[]$*.^|()[]/\&/g; s/\s+/\s+/g' <<< "$1" | tr -d '\n'
Ok.

In image/snapshot https://github.com/Mirantis/kubeadm-dind-cluster/pull/42#discussion_r147553066:

@@ -42,8 +42,7 @@ function snapshot::prepare {
while kubectl get pod kube-controller-manager-kube-master -n kube-system -o name 2>/dev/null | grep -q pods*/; do
if ((--n == 0)); then
echo "WARNING: kubelet glitch: kube-controller-manager won't stop; pods may 'blink' for some time after restore" >&2

   systemctl stop kubelet docker

Yes, sorry.
In test.sh https://github.com/Mirantis/kubeadm-dind-cluster/pull/42#discussion_r147553105:

@@ -257,6 +257,10 @@ function test-case-src-master-weave {
)
}

+function test-case-src-working-area {
What is this used for?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/Mirantis/kubeadm-dind-cluster/pull/42#pullrequestreview-72670282, or mute the thread https://github.com/notifications/unsubscribe-auth/ACqJx9Y9M-Hz4NiSkCAw4Dpn9wnAXDCMks5swxw0gaJpZM4PsweG.

Have both IPv4 and IPv6 working for bare-metal and GCE configurations.  Removed WIP from title. Please review.

@ivan4th @danehans Please review so we can upstream this change. Thanks!

Thanks for reviewing and approving @ivan4th !

Paul,
Do I call gce-setup-local.sh or gce-setup.sh to deploy to gce with ipv6?
-Daneyon
From: Paul Michali<EMAIL_ADDRESS>Reply-To: Mirantis/kubeadm-dind-cluster<EMAIL_ADDRESS>Date: Tuesday, November 7, 2017 at 2:05 PM
To: Mirantis/kubeadm-dind-cluster<EMAIL_ADDRESS>Cc: Daneyon Hansen<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Mirantis/kubeadm-dind-cluster] Provide IPv6 support (#42)
Thanks for reviewing and approving @ivan4thhttps://github.com/ivan4th !
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/Mirantis/kubeadm-dind-cluster/pull/42#issuecomment-342638265, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AByos-E_X9MQizEzJUj7Vja6gAqkJiTlks5s0NQ0gaJpZM4PsweG.

I only tested with gce-setup-local.sh, because the image for IPv6 was not released. To do that, I needed to set DIND_CLUSTER and BUILD_* flags.  The key here is that the GCE_HOSTED flag needs to be set. If the IPv6 version is now released, we can revise gcd-setup.sh to set the GCE_HOSTED flag and then it would work for IPv6 too. Note: for testing, you could just set the environment variable, and then run gcd-setup.sh and it should work (provided the released image includes the IPv6 stuff).
So, for IPv6 we need:
export BUILD_KUBEADM=y
export BUILD_HYPERKUBE=y
export DIND_IMAGE=mirantis/kubeadm-dind-cluster:local
export IP_MODE=ipv6
. ../gce-setup-local.sh
Or (until updated)…
export GCE_HOSTED=true
export IP_MODE=ipv6
. ../gce-setup.sh
Assuming your Kubernetes area is directly below the DinD directory.
Regards,
Paul Michali (pcm)

On Nov 10, 2017, at 3:40 AM, Daneyon Hansen<EMAIL_ADDRESS>wrote:
Paul,
Do I call gce-setup-local.sh or gce-setup.sh to deploy to gce with ipv6?
-Daneyon
From: Paul Michali<EMAIL_ADDRESS>Reply-To: Mirantis/kubeadm-dind-cluster<EMAIL_ADDRESS>Date: Tuesday, November 7, 2017 at 2:05 PM
To: Mirantis/kubeadm-dind-cluster<EMAIL_ADDRESS>Cc: Daneyon Hansen<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Mirantis/kubeadm-dind-cluster] Provide IPv6 support (#42)
Thanks for reviewing and approving @ivan4thhttps://github.com/ivan4th !
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/Mirantis/kubeadm-dind-cluster/pull/42#issuecomment-342638265, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AByos-E_X9MQizEzJUj7Vja6gAqkJiTlks5s0NQ0gaJpZM4PsweG.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/Mirantis/kubeadm-dind-cluster/pull/42#issuecomment-343213898, or mute the thread https://github.com/notifications/unsubscribe-auth/ACqJx6nzhFlNjKqgUiShtJC_hVNWGTWhks5s0yr0gaJpZM4PsweG.


Open-source?

@igor-lemon , Just curious, how come you don't upload the source here on GH so others can (potentially) contribute, and move the development along a lot faster? It's been close to half a year since the last release, and it seems to be a software that people are liking to use, but dev is moving at a crawl.

Agreed, looks like is not open source, since sources are not available. Why is used an Apache license if you are not uploading the sources?
Wanted to debug some issues I'm having but I found no way to debug

Ouch, I am curious if this is even acceptable use of GitHub usage terms, apparently is use of github to host a closed source project.

I also just wanted to get the source as this app wants its users to login now, and I wanted to check what my credentials are really needed for. :) @igor-lemon, could you please comment on this and provide the respective sources? Thank you for this app and for your help! :+1:

+1, where is the source?

They just place the GitHub badge prominently on there website as they are using this as issue tracker. They seem to have no intention to OSS this, with is a pitty.
See #174.

I think @igor-lemon is keeping it closed source so that in the future he can make it more business oriented and make this a product that can generate a good outcome. I don't know if that's good or not but I still would love if this was open source. Maybe open sourcing it opens up new opportunities you wouldn't have with it being closed source, given the current trend of all things open source.

It definitely appears that keeping it closed source is holding back the software's progress.

FYI, there is always the https://github.com/contact/report-abuse which one could use to report it to github.
AFAIK that is breach of GitHub TOS and also a breach of Apache License which is also included with the repository.

Hi guys! I wrote about it many times, the current DockStation is proprietary and we don't have plans to make it open source. The current GitHub repository just for support and user's issues.
I apologizeе for not answering for a long time.

@bristea which section?

RIP DockStation

@igor-lemon can you share your plan?
https://twitter.com/dock_station current status: 1 release every 2 years..
5 days ago in #274 you wrote that you work alone now, and just few hours per week. That is a big difference compared to 2016, when you quit your job to create DockStation.
https://medium.com/@dockstation/dockstation-and-why-we-created-it-6ecb800fe067
In 2017, #50 you wrote there will be a community and enterprise edition. Is it still the plan?

@Pasqualle These plans are no longer relevant. I don't want to predict anything yet and talk about plans because according to the plans I should have already released the release more than a year ago. :D
The 95% of the release was ready for a long time, but I stumbled on one very complex feature (long syntax + short syntax with AST support).

I should have written why I am asking about a plan.
If you do not have a business plan with DockStation any more, and you do not receive any income from it, why the source code is still not open? Why do you prefer to keep it proprietary?

DockStation @dock_station·Sep 10, 2020
Hi there! We haven't published anything for a long time. I just want to say that the project is not dead and we're still working on it. We'll publish a very large update soon.

https://twitter.com/dock_station/status/1304170378936422402?s=20
so when is soon ?

Looks like the original project was kitematic, isn't it?

For any future readers, let's be honest; this project is abandonware, regardless of what the author keeps saying.
The only way to get a modern version of this app would be to clone it from scratch as best you can, and then build forward from there.

I moved away from this , I use free open source portainer:
Portainer.io

https://github.com/DockStation/dockstation/issues/280#issuecomment-1090269898
As I understand the current project will not be open source. Igor is willing to create a new project, even as open source in case there is a strong sponsor.

@Pasqualle Don't bother, this project is as good as dead, we have https://podman-desktop.io/ which is open-source.


Why not targets [1:-1]?

code/model/anyToImageVideoAudio.py line 386-387
chosen_tokens = torch.max(outputs.logits, dim=-1)[1][:, 1:-1]  # [B, S-1] labels = targets[:, 2:]

@BinZhu-ece, Same question. Did you figure it out?


Says "Access token retrieved correctly" but mountpoint shows ???

I've done this before on other accounts but my last several attempts show the account obtaining token, then the mountpoint is inaccessible and just shows:
d??????????  ? ?    ?       ?            ? gdrive_whitecxsan1
alongside my two gdrives that work fine:
drwxr-xr-x   2 root root 4096 Feb 27 14:22 gdrive_peter
drwxr-xr-x   2 root root 4096 Feb 27 14:21 gdrive_pherzohlc
The logfile looks health, tried -cc and -debug /mnt/gdrive_whitecxsan1 with no errors, curl.log is always empty, and like I've said I've done this quite a few times before and I'm stumped without being given many clues why this is occuring.
Thanks Alessandro for any light you can shed or suggestions.

Sorry forgot you have to enable the API per account at:
https://console.cloud.google.com/apis/api/drive.googleapis.com/overview?project=gdrive-xxx&authuser=1


Add keepAlive and led characteristics support

Hi,
Thanks a lot for this nice library.
I added support for the characteristics keepAlive, led and battery. Also added somme thing that @GageAmes & @WardenGnaw did on there forks.
Things you might be interested with :

Mutli wand example
Support Characteristic: keepAlive, led, battery
Event: button, move
Fixed sommes things

Added whileFlick and onFlick event inspired from the Kano app. On commit ddc114a
return movement:  up, right, down, left

Wow, thanks heaps! i'm glad you found the library helpful!
i'll merge your changes now :)


Swiper/React - SwiperProps interface doesn't include SwiperOptions (Typescript 4.8)

Check that this is really a bug

[X] I confirm

Reproduction link
https://codesandbox.io/p/sandbox/swiper-10-2-interface-problem-vwn9g5
Bug description
I've updated Swiper to the latest (10.2) version and have a problem. My typechecker fails because it doesn't see some properties such as modules in Swiper component's props. We use Typescript 4. Everything is ok on TS5, but unfortunately, we can't upgrade right now.
For some reason SwiperProps interface doesn't include fields from SwiperOptions, despite it extends from it.
https://github.com/nolimits4web/swiper/blob/master/src/swiper-react.d.ts
You can reproduce the issue in the linked codesanbox. Run npm run tsc and you'll see the error.
Expected Behavior
All fields from SwiperProps are accessible, including fields from SwiperOptions
Actual Behavior
Only fields from SwiperProps interface are available, SwiperOptions fields are missing
Swiper version
10.2
Platform/Target and Browser Versions
Typescript 4
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a Swiper issue and not a framework-specific issue

Would you like to open a PR for this bug?

[x] I'm willing to open a PR

Thank you, but Swiper TS definitions are done to support TS v5, this PR can break esnext module resolution. Consider upgrading to TS v5


Fix incorrect documentation link in DetectChangesMut

Objective

Fix a trivial incorrect documentation link in  DetectChangesMut.

Thanks for the fix <3 Merging.


Style Element in <head>

Describe the Bug
Previous beta b.1 would choke if

Thanks. I'll probably disable inline


Mobile Push Notification on Android and iOS!

Hello Guys,
I was working that week on getting push notifications in Herald since I have all the code needed and it's working on Android and iOS properly from any meteor app so we just need to add it as a media or medium( I'm still confused about this...) and may be after this add the SMS notification with a limit so don't spam and over user the sms service ...
So we will be using raix:push an awesome push notification meteor package : Push notifications for cordova (ios, android) browser (Chrome, Safari, Firefox) - One unified api on client and server.
Note: the user should create developer accounts on both android and iOS platform to use the push notification with the API :
Depending on the platforms you want to work with you will need some credentials or certificates.

Android
iOS

So if you will add this to your app ask admins/owners to fill the api config with the android/ios keys....
Note 2: there should be a limit as well to not spam the users phone with this push notifications like as a max: 3 notifications or my may be 2 and the third one with grouped notifications or number of them??
I tried adding things here on my cloned repo but... :( any help??
https://github.com/capensisma/Herald/blob/master/lib/runners.js
Can you please explain the runners or add a sample code for adding custom medium and where to add it!!
Thanks :)
I hope we get this working soon before December since It's pretty easy to use: the API is well built!!

Awesome! If you haven't seen it yet please read my most resent comment on this issue #68
If I do update the the code as I suggest, the new runners (what you wrote) would look like this: https://gist.github.com/Kestanous/566914bd555fdccb82f1#file-addrunner-js

@capensisma, @Kestanous: I'm currently working on a client project that is going to need Herald to work with iOS notifications (or rip it out and implement my own notifications, but that seems more painful).
Will be happy to contribute any general-purpose code. What's the current state of affairs for the project above, @capensisma?

@Kestanous @AlexeyMK Yes I have everything Ready to go! Android and iOs notifications are working! just need to be added to Herald new API by @Kestanous I just don't know how to add it or implement with the new code you wrote :) but it's awesome!
We can have Mobile notifications right now even this week! if possible?
Some other features as @Kestanous said SMS notifications
And for me why not even Wearables notifications? like smart watches ?
I'm just waiting for a simple API like
Herald.Add('nameOfNewMedium',function(api){
    //do whatever is need to do with Herald API here
});

I think @Kestanous we are very close here to make your project more awesome have pure mobile notifications ;) just need some small time from you! like give 4 hours please?
Thanks :) :+1:

@capensisma is the draft code on PR somewhere? Curious to take a look!

@capensisma sorry for the delay. I added you to the new Meteor-Herald org. Please make a repository there and add the relevant code, ideally in smart package format but I can work with raw code.
For now we will deploy the code for the current version of Herald. It is production stable and will work for now. Meteor 1.3 will likely bring changes how we build smart packages so I am going to wait on that before I create Herald v2.0
As far as the api goes, it is actually very simple, though you may have to do some leg work if you need to get fancy. I am not sure when I will have time but feel free to contact me directly if you have questions (see my GitHub profile).
Docs: https://github.com/Meteor-Reaction/Herald#extension-api
Example: https://github.com/Meteor-Reaction/Herald-Web-Notifications/blob/master/lib/web-notifications.js

@capensisma @Kestanous where did all of this end up - I'm not finding @capensisma's project in Meteor-Recation yet.


fix position value

Developer Certificate of Origin

[x] I certify that these changes according to the Developer Certificate of Origin 1.1 as described at https://developercertificate.org/.

Can you explain why you have done this change? Do you have a screenshot? Thanks!

@TotomInc The previous value is not a valid property value of position. Position only allows fixed, absolute, sticky, relative and so on.
Chrome will show you that this is not a valid value.

My bad, I haven't seen it was a wrong value.

Nice catch, thank you for the fix!


macOS 10.14 Mojave

This is our yearly little thread that I will update with bugs as I find them. This year I'm running Mojave on my personal machine.
chunkwm and chunkc are running fine so far, carried over from my previous macOS installation.
When compiling chunkwm using make I get this error, indicating that some underlying stuff seems to be inaccessible.
In file included from src/core/chunkwm.mm:31:
src/core/../common/accessibility/display.mm:33:25: error: use of undeclared identifier 'CGDisplayCreateUUIDFromDisplayID'
    CFUUIDRef UUIDRef = CGDisplayCreateUUIDFromDisplayID(Id);
                        ^
src/core/../common/accessibility/display.mm:355:29: error: use of undeclared identifier 'CGDisplayCreateUUIDFromDisplayID'
    CFUUIDRef DisplayUUID = CGDisplayCreateUUIDFromDisplayID(DisplayID);
                            ^
2 errors generated.
make: *** [makefile:23: bin/chunkwm] Error 1

I did uninstall chwm-sa before upgrading, just to be safe. I will try this once I get chunkwm to compile.
I found this macOS 10.13 to 10.14 API diff which might be of interest. It says CGDisplayCreateUUIDFromDisplayID and CGDisplayGetDisplayIDFromUUID have been removed from ColorSync.
Feel free to ask any questions for things you want tested. I will update this thread with each developer beta if I have the time to do so.

Update 1
I solved the compile issue by adding this to src/common/accessibility/display.mm:
extern "C" CFUUIDRef CGDisplayCreateUUIDFromDisplayID (uint32_t displayID);

Everything seems to run fine so far. Still have to test chwm-sa, but have other things coming up first.

I'm very curious if Mojave breaks the fsat-desktop switching that was recently added to chwm-sa for High Sierra. I assume it will..

I'm very curious if Mojave breaks the fast-desktop switching

I'm assuming the code signature you're searching for in Dock.app might be incorrect now, which would cause this to break. I am currently downloading Mojave again to create a new recovery partition, since the update broke mine, leaving me unable to disable SIP currently.
There's also a new nvram boot argument for completely disabling 32-bit applications, which from my understanding is supposed to be the new default starting with macOS 10.15 (luckily not in 10.14). I will test whether this breaks anything in chunkwm as well. Let's just hope this leaves Carbon intact.

@koekeishiya I'm testing Mojave too and luckily, the fast switching still works flawlessly 😀

New issue with right-click drag
I am unable to perform any modifier + right-click drag action, since right-click seems to take priority now and always opens a context menu. Workaround is to change chunkwm settings. Not exactly sure what can be done about this. Example:
chunkc set mouse_move_window             \"fn 1\"
chunkc set mouse_resize_window           \"fn cmd 1\"

@alin23

I'm testing Mojave too and luckily, the fast switching still works flawlessly 😀

That seems like great news! I take it that they haven't done any major changes to how the Dock works internally then, which is good.
@dominiklohmann

There's also a new nvram boot argument for completely disabling 32-bit applications, which from my understanding is supposed to be the new default starting with macOS 10.15 (luckily not in 10.14). I will test whether this breaks anything in chunkwm as well. Let's just hope this leaves Carbon intact.

Carbon is partially ported to x86-64, and I suspect the parts the we rely on for chunkwm reside in this portion of Carbon, so I don't expect this to have any effect on us at all.

Got it working, but it crashes Dock.app for me 100% when focusing a desktop that hasn't been focused before.

This seems to be the same issue @matthewdias is having trouble with (#431). We can continue trying to figure out that problem over in the referenced issue.

CFUUIDRef CGDisplayCreateUUIDFromDisplayID (uint32_t displayID);

This function is not strictly necessary for us to do what we need. I'm pretty sure I have an alternative way to achieve the same functionality, if necessary. For now it just looks like they have changed the header file that contains the definition, as all you had to do was declare it extern. That means we still link against the proper framework.

I am unable to perform any modifier + right-click drag action, since right-click seems to take priority now and always opens a context menu. Workaround is to change chunkwm settings. Not exactly sure what can be done about this. Example:

This does seem like a bug in the developer version of macOS. We use the event-tap API to detect these, and that is considered a public stable API from Apple, so I doubt they would suddenly change how this works (but we can't know for sure).
Offnote:
I don't have an Apple Developer subscription, so I will have to wait for the first public beta to be released before I can install and test things myself. With that said, I do not expect anything to break really, with the exception of the fast-desktop switching (but that seems to be fine as well).
T

If anyone else wants to run chunkwm via Homebrew on Mojave, just brew edit chunkwm and add this after line 7:
  patch do
    url "https://github.com/dominiklohmann/chunkwm/commit/94750d8c0b3456840254be4f3953e7eda964d3c2.diff"
    sha256 "3a1a4de843742225c663f4d186c708b875296ef5cd0382107be4252d5c0447e4"
  end

Interestingly, the patch you are providing is also working on my (non high) Sierra. @koekeishiya maybe the API change has been already introduced in Sierra.

Nah, the system header file change is new, it's just that the changed line has no effect on compilation since it doesn't violate the ODR (iirc, it's been a while since I had to work with extern linkage).

Gotcha. Thanks.

@kinglouie see #235 for that. Not sure what can be done about that.

I can not get #425 (adding and removing spaces with chwm-sa) to work on beta 1. Updating to beta 2 right now, servers are a little slow, will report on changes later/tomorrow.

@dominiklohmann
Could you maybe zip the Dock.app from Mojave and send to me? I'd like to mess around a bit with it.
Fairly certain I can make spaces creation / removal work on Mojave with a bit of work.

@tmaone @dominiklohmann
Can one of you try the latest commit on chwm-sa branch, and let me know if creating spaces works on Mojave now (have not looked at removing spaces yet, so that will not work) ?

@tmaone gave me access, will take a look at this soon ish.

Found another issue: switching between windows in split fullscreen mode is broken. The culprit quite likely is the new draggable bar in the middle.

@dominiklohmann
I just upated to Mojave, and the latest chunkwm-sa commit works for me to create new spaces.
(Not the one bundled with chunkwm, but the chwm-sa repository).

Added support for destroying spaces on latest chunkwm-sa (also bundled on the latest chunkwm master). Confirmed that fast switching, creating and destroying spaces all work on Mojave.

Tangentially related - I wound up in a spot where post Mojave, XCode 10 and CLT, it didn't properly create the /usr/include .... directories. Anyone else experience that, or is that something that happened because of how i did the update, including having SIP off during either the OS upgrade or XCode install?

The latest macOS Mojave beta version broke chunkwm-sa create space and destroy space. I can't be bothered fixing these until the Mojave GM is released.

@dominiklohmann

Found another issue: switching between windows in split fullscreen mode is broken. The culprit quite likely is the new draggable bar in the middle.

This appears to have been fixed in the latest macOS Mojave Beta. Both ffm and switching with the chunkwm commands work just fine for me (as it did in High Sierra).

You're absolutely right, dev beta 3 seems to have fixed that. Cannot target it with the AX inspector anymore either.

I am unable to perform any modifier + right-click drag action, since right-click seems to take priority now and always opens a context menu.

This is fixed in beta 3 also.

Beta 4:

Creating a new desktop crashes sometimes (not always)
Frontmost app still loses focus randomly from time to time (bug from beta 3, not related to chunwkm)

Other than that it seems fine so far. Best performance I've seen in a while on this laptop.

Hello,
I updated to Mojave and wanted to use Chunkwm. I did:

brew tap crisidev/chunkwm
brew install chunkwm
brew install skhd
brew services start chunkwm
Copied default chunkwm config
Put mine config for skhd from my last machine
Allowed accessibility in settings for skhd and chunkwm.
Restarted computer

But nothing seems to work. Even running chunkc commands in terminal doesn't work. Anybody could help me please? :)

With Mojave is now released, I want to report that ScriptAdditions no longer work if SIP is enabled, even on the latest commit (built with brew install chunkwm --HEAD). It is working fine when SIP is disabled, however.

With Mojave is now released, I want to report that ScriptAdditions no longer work if SIP is enabled, even on the latest commit (built with brew install chunkwm --HEAD). It is working fine when SIP is disabled, however.

I'm having the same problem, fast-desktop switching does not work for me.

@sirn @FydeSW
Unfortunately there is nothing we can do against this. I'll update the documentation to reflect this soon.
For now, if you want to have these features enabled, you'll just have to keep SIP disabled.
I do not take any stance on whether you should or shouldn't do this, and would advice any individual to do their own research and see if disabling SIP could cause security risks depending on how they have configured, and use their system.

@sirn @FydeSW
Unfortunately there is nothing we can do against this. I'll update the documentation to reflect this soon.
For now, if you want to have these features enabled, you'll just have to keep SIP disabled.

I see, it's not a big deal anyway, I'm using the native desktop switching and it's good enough for me.
Thanks.

It does work and unless you also use chwm-sa, there is no need to disable SIP. Only difference really is that instead of only needing SIP disabled to inject chwm-sa, it is now required for loading it.

so I upgraded to Mojave, and chunk/skhd are working fine.. except, I'm getting constantly asked almost every interaction to give System Preferences of Security & Privacy permission for chunkwm or skhd in my Accessibility settings, which I've done over and over, and continues to prompt me. Anyone else?

@pkieltyka are your binaries codesigned?

@pkieltyka I had the same problem, I solved by stopping both services, disabling the permission, rebooting, giving the permission again and starting the services.

@koekeishiya you may also want to change https://github.com/koekeishiya/chunkwm/blob/8f85ce9724779a4326a9bafa90418ad67a35edd1/src/core/chunkwm.mm#L171

Good catch, thanks.

I heavily used chunkwm on high sierra but recently did a fresh install of Mojave but I cannot find a relevant brew formula to install. Any recommendations on how to install on Mojave?

@ibarani

I heavily used chunkwm on high sierra but recently did a fresh install of Mojave but I cannot find a relevant brew formula to install. Any recommendations on how to install on Mojave?

Nothing changed about that. Follow the instructions linked in the README step by step.

Closing as I consider this issue resolved.


[BUG] - Only superadmin can login

Describe the bug
After upgrading to the 2023.9.1 release, only superadmin on nebari can log in to conda-store. Everyone else gets a Internal Sever Error when they click log in.
This will have an effect on https://github.com/conda-incubator/conda-store/issues/582 but this issue is describing a critical NEW behavior.
Expected behavior
I expect non-admins are able to log in.
How to Reproduce the problem?

Log into nebari using conda-store-ui 2023.9.1 as a user who is not in the superadmin group.
Attempt to log into conda-store
See Internal Server Error.

.

Log into nebari using conda-store-ui 2023.9.1 as a user who is in the superadmin group.
Attempt to log into conda-store
See success.

Output
No response
Versions and dependencies used.
No response
Anything else?
No response

While trying to update the feedstock I bumped into a role_bindings error within the AuthenticationToken class in server, this should be looked into as this is more than likely impacting any authentication task
feedstock CI issue line: https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=785272&view=logs&j=656edd35-690f-5c53-9ba3-09c10d0bea97&t=986b1512-c876-5f92-0d81-ba851554a0a3&l=904

I think the Internal Server Error is now fixed by https://github.com/nebari-dev/nebari/pull/2028. Eskild and I tested this fix together yesterday. Later, Eskild also couldn't repro.
More context: the error is nebari, not in conda-store. The reason it appeared after an update is because we're not careful about our public interfaces. nebari ships with a custom conda-store config (conda_store_config.py), which defines an auth class for Keycloak. In that class, there was code incompatible with the current conda-store version. This is due to recently made changes to conda-store, such as making get_conda_store an async function. We need to have a policy for public interfaces and don't break compatibility, and raise a clear error when we do.


HTML inside hover/signature help markdown is not rendered

From @borlak on December 21, 2017 0:1

In the screenshot, you can see the "p" and "br" tags are not rendered.  I don't know if I need another extension to do this properly -- I searched the extensions and didn't see anything that seemed to fit.
I'm on a Mac, using Code version 1.19.1 and the intellisense extension version 2.1.0.
Copied from original issue: felixfbecker/php-language-server#557

This is controlled by vscode - Markdown can contain HTML, but vscode chooses to escape all HTML. Imo simple HTML like p/b/ul/li etc should be whitelisted, there are npm modules that do this easily.

Yes, this is by-design. Our built-in markdown parser for intellisense documentation explicitly disables html tags so that we maintain more control over the presentation. Is html documentation widely used in the php community?

I am using the same API stubs for the standard libraries that JetBrains PHPStorm is using, they use HTML everywhere unfortunately:
https://github.com/JetBrains/phpstorm-stubs/blob/43061d78f1980dedab671a30b419074b9e6d79f8/Core/Core.php#L76-L95
It would be really awesome if simple HTML tags could be whitelisted, e.g. with https://www.npmjs.com/package/sanitize-html

Hit this in Dart too:
https://github.com/Dart-Code/Dart-Code/issues/638
Though our use is even more weird, because the API docs have this:
///
access_alarms — material icon named "access alarms".

static const IconData access_alarms = const IconData(0xe191, fontFamily: 'MaterialIcons');

I'm not sure how to handle this. It basically comes with a requirement of some custom CSS for it to render correctly.

requirement of some custom CSS for it to render correctly

It is a lot, lot less likely that we will support custom, free form CSS there

I would expect that snippet to render like this:
access_alarms — material icon named "access alarms".
The writers of that documentation seem to have put the "alt text" access_alarms inside  there on purpose.

It is a lot, lot less likely that we will support custom, free form CSS there

Yeah, I figured that so I'm trying to attack it from the other end too (get them replaced with images like some of the other docs).

I would expect that snippet to render like this:

access_alarms — material icon named "access alarms".

Taht's how IntelliJ renders it, but in VS Code you just see all of the HTML. If this case is implemented then VS Code will look like IntelliJ (eg. alt text, not icon). I'm trying to get the docs changed, but if that doesn't happen I might just regex it out for my own image or something (they're consistent).

Here is a another use case for it: It would be absolutely awesome if in this hover, I could see an inline marble diagram for the RxJS operator:

And the  that is styled for the docs page simply disappears.

@jrieken wut.

I am willing to create a PR to resolve this.  Either of these would work for me:

Enabling Github HTML tags in Hover markdown.
Whitelisting a subset of HTML elements to be usable in VSCode Markdown Hovers.

An example use-case I have is breaking lines within Markdown tables.  The version of markdown being used in VSCode has the plugin for markdown tables enabled, but doesn't support
, so markdown table cells can only ever be single line.

@jrieken, thoughts on the above?

@jrieken - could you please take a look on this issue again?

#132182 proposes adding a supportHtml property onMarkdownString (it is disabled by default). When enabled, we will render a limited subset of html tags and attributes that appear in markdown strings
Please give this a test and let me know how it works
Reopening to track api status

@mjbvz would this also be supported via LSP?

I've filed https://github.com/microsoft/language-server-protocol/issues/1344 for LSP.


Unable to download the DBLP.txt.gz dataset

"The requested URL /data/DBLP.txt.gz was not found on this server." Can you please update the link? Thanks.
===Downloading dataset===
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100   313  100   313    0     0    591      0 --:--:-- --:--:-- --:--:--   591

404 Not Found

Not Found
The requested URL /data/DBLP.txt.gz was not found on this server.

Apache/2.2.15 (Scientific Linux) Server at dmserv2.cs.illinois.edu Port 80

It should work now.


HARVESTER: fix podAffinity can not update match expressions

Summary
Update match expressions manually.
Related upstream PR

https://github.com/rancher/dashboard/pull/9238/files

PR Checklist

~Is this a multi-tenancy feature/bug?~

[ ] ~Yes, the relevant RBAC changes are at:~

~Do we need to backport changes to the old Rancher UI, such as RKE1?~

[ ] ~Yes, the relevant PR is at:~

~Are backend engineers aware of UI changes?~

[ ] ~Yes, the backend owner is:~

Occurred changes and/or fixed issues

https://github.com/harvester/harvester/issues/2317#issuecomment-1607255344

Technical notes summary

Areas or cases that should be tested

Areas which could experience regressions

Screenshot/Video

@mergify backport release-harvester-v1.2


What versions of the api are still working for AuthorizationCodeAuth method

Hey there,
Just checking out if older version are still working/supported with AuthorizationCodeAuth method ?
I'm using 4.0.0 .Web and .Web.Auth
It used to work a long time without touching the class and now it stopped working, the api is not able to retrieve to current song, always null. But the step before still works, I'm still able to authorize the app on my spotify-dev account and get you can close this page now
public SpotifyAPI(string clientId, string secretId, string redirectUrl = "http://localhost:4002")
{
    _clientId = clientId;
    _secretId = secretId;

    if (!string.IsNullOrEmpty(_clientId) && !string.IsNullOrEmpty(_secretId))
    {
        var auth = new AuthorizationCodeAuth(_clientId, _secretId, redirectUrl, redirectUrl,
            Scope.Streaming | Scope.PlaylistReadCollaborative | Scope.UserReadCurrentlyPlaying | Scope.UserReadRecentlyPlayed | Scope.UserReadPlaybackState);
        auth.AuthReceived += AuthOnAuthReceived;
        auth.Start();
        auth.OpenBrowser();
    }
}

private async void AuthOnAuthReceived(object sender, AuthorizationCode payload)
{
    _authorizationCodeAuth = (AuthorizationCodeAuth)sender;
    _authorizationCodeAuth.Stop();

    _token = await _authorizationCodeAuth.ExchangeCode(payload.Code);

    // remember when to renew the 60 minutes token (10 minutes upfront)
    _nextTokenRenewal = DateTimeOffset.UtcNow.AddSeconds(_token.ExpiresIn).AddMinutes(-10);
}

private async Task<SpotifyWebAPI> GetSpotifyWebAPI()
{
    if (_token == null) return null;

    if (DateTimeOffset.UtcNow >= _nextTokenRenewal)
    {
        _token = await _authorizationCodeAuth.RefreshToken(_token.RefreshToken);
    }

    return new SpotifyWebAPI
    {
        AccessToken = _token.AccessToken,
        TokenType = _token.TokenType
    };
}

and I use it this way , Item, is always null while playing a track.
On spotify-dev website, my app redirectURI is http://localhost:4002
var api = await GetSpotifyWebAPI();

if (api == null) return false;

var playback = await api.GetPlaybackAsync();

if (playback.HasError() || playback.Item == null)
{
    // item always null
}

SpotifyAPI was the reason I needed to upgrade to recent .NET framework and removed support on Vista. Since 4.2.0 is on .NET Standard 2.0, I don't need to offer support on other platforms or ask user to install more .NET packages to support the SpotifyAPI. I will prefer to remove it at this point and work without it.

Is there an error in the response?

no

And the token + type is correct?

looks good to me

So maybe a weird question, but did you actually playback something when doing the request? With the correct account?
I just tested it, I receive the same empty response simpy when nothing is played. Once I opened spotify and played sth, it worked.

Yes Bob Dylan Tangled Up in Blue is playing on Spotify Store App
I'm debugging with Spotify from the Windows Store.

Yea 90% sure it's that. If nothing is played, an empty object is sent by the API. Thus, the object has default values.

that was it

thanks by the way for that quick support, really appreciated it. I'm disappointed of myself for not finding it before posting hahaha thanks again

Your welcome, we all had that happening and we will in the future! :)
If you have any other issues/questions, feel free to open another issue 👍

BTW @jwallet , is it okay for you if I gonna add spy-spotify to the list @https://johnnycrazy.github.io/SpotifyAPI-NET/#projects ?

I've seen this list before, when you started gathering projects that uses your API, but I did not added Spytify because it violates the Spotify TOS and it's probably bad for your API to share it. Even if Spytify does not interact directly with Spotify but with the WASAPI just like Audacity does. So, if you want to add it, feel free to do it ;)

That's no issue from my side; there is no affiliation between me and spotify so I don't see an issue. Primary focus is where to gather real-world examples and your project is great for that!
Gonna add it with the next commit, thanks!

also, you probably know that nuget gallery references some apps that are using the api

Did you know lidarr uses your API ? kind of nice

That's no issue from my side; there is no affiliation between me and spotify so I don't see an issue.

I thought that was one of the reason they removed the local unauthorized api

Yea, super cool that lidarr and even the botframework uses it.
I'm not sure why they shut it down since they didn't communicate it at all. But I think the local API was a hassle to maintain and buggy as hell, so this could also be the reason for the shutdown.


Multistore Map

We are using tilevew to create maps for a multistore building. After  default Tileview to recall a picture for the fist level we need to Exchange to the  second to the second level (second picture), the picture can not show on mobile.The coding we use is like the above. Please provide us some suggestion on how to solve the problem.
初始化TileView之后调用这个方法去添加瓦片图第一次可以，但我第二次调用的时候，图片显示不出来
private void initTiledView(TileView tileView,int floor){
		mapLayout.removeAllViews();
        if (MODEL_TYPE == 1) {
            mapLayout.setBackgroundColor(this.getResources().getColor(
                    R.color.frame_grey));
        } else {//有地图
            if(mapW==10400){
                mapScale=0.231f;
            }else{
                mapScale=0.25f;
            }
            String detailLevel800 = expoId + "/.nomedia/" + "map/tiles-800/"+floor+"/"+expoId+"-"+floor+"-%row%-%col%.gif";
            String detailLevelsamples = expoId + "/.nomedia/" + "map/samples/"+floor+"/hall.gif";
            String detailLevel125 = expoId + "/.nomedia/" + "map/tiles-125/"+floor+"/"+expoId+"-"+floor+"-%row%-%col%.gif";
            tileView.setSize(mapW, mapH);
            tileView.addDetailLevel(1.0f, detailLevel800, detailLevelsamples, 800, 800);
            tileView.addDetailLevel(mapScale, detailLevel125,detailLevelsamples , 800, 800);
            tileView.setMarkerAnchorPoints(-0.5f, -1.0f);
            tileView.setScaleLimits(0, 1.5);
            tileView.setScale(0.15);
            tileView.setTransitionsEnabled(true);
            tileView.defineRelativeBounds(0, 0, mapW, mapH);
//            Paint paint = tileView.getPathPaint();
//            paint.setShadowLayer(10, 2, 2, Color.RED);
//            paint.setPathEffect(new CornerPathEffect(5));
            mapLayout.addView(tileView);
    }

	}

i can't really see what's going on.  can you format you sample in code blocks, with line breaks, and UTF characters?

I am extremely sorry for the inconvenience. Hope this should work. 初始化TileView之后调用这个方法去添加瓦片图第一次可以，但我第二次调用的时候，图片显示不出来
private void initTiledView(TileView tileView,int floor){
		mapLayout.removeAllViews();
        if (MODEL_TYPE == 1) {
            mapLayout.setBackgroundColor(this.getResources().getColor(
                    R.color.frame_grey));
        } else {//有地图
            if(mapW==10400){
                mapScale=0.231f;
            }else{
                mapScale=0.25f;
            }
            String detailLevel800 = expoId + "/.nomedia/" + "map/tiles-800/"+floor+"/"+expoId+"-"+floor+"-%row%-%col%.gif";
            String detailLevelsamples = expoId + "/.nomedia/" + "map/samples/"+floor+"/hall.gif";
            String detailLevel125 = expoId + "/.nomedia/" + "map/tiles-125/"+floor+"/"+expoId+"-"+floor+"-%row%-%col%.gif";
            tileView.setSize(mapW, mapH);
            tileView.addDetailLevel(1.0f, detailLevel800, detailLevelsamples, 800, 800);
            tileView.addDetailLevel(mapScale, detailLevel125,detailLevelsamples , 800, 800);
            tileView.setMarkerAnchorPoints(-0.5f, -1.0f);
            tileView.setScaleLimits(0, 1.5);
            tileView.setScale(0.15);
            tileView.setTransitionsEnabled(true);
            tileView.defineRelativeBounds(0, 0, mapW, mapH);
//            Paint paint = tileView.getPathPaint();
//            paint.setShadowLayer(10, 2, 2, Color.RED);
//            paint.setPathEffect(new CornerPathEffect(5));
            mapLayout.addView(tileView);
    }

	}

So code blocks are enclosed in 3 backticks on each side
code block

But you'll really need line breaks too

you can either use resetDetailLevels and add new ones, or I'd probably suggest using a FrameLayout or RelativeLayout as your contentView, then multiple TileView instances, and just show one at a time, for whatever floor they're on.

Thank you for your kind suggestions. We will keep you updated.

Sure, good luck

Moagrius Hi! We are following your instructions but we are now concerned about downloading more tiles in one time (each tile correspond to 1 floor level of an exhibition store). There could be too much data and we are afraid our app could crash. Hope this issue still relates the Multistore issue and you could transmit us your experience on this. Thank you in advance.

I'm really not clear on your question or requirements.  For example, do you mean one tile corresponds to one floor, or one detail level corresponds to one floor?

We have a multi store map to create, for each floor a specific map. The building we are talking is a trade show center. Users select on the App their own exhibition located in a multi store building and after that 3maps corresponding to  floors are downloaded. For each map we designed a pathfinding solution for visitors to find their favorite booths. So we have maps + coordinates i.e. images + data. Our concern is the download this "multi level map" can crash the App or be incomplete for some reasons. Should you have some other suggestions on this it will be great!

Well the whole point of the TileView is that you cut your images into small tiles, which TileView reassembles for you.  As long as you're only displaying one TileView at a time, and you're using fairly small tiles (although even up to 1024 square would probably work, 256 or 128 are more common and manageable), you should be OK.  The built-in decoder catches OOM exceptions anyways, so if you're using it (the default decoder), then you won't crash, although if you do exceed memory the tile would not render.  FWIW, I've seen people do maps millions of pixels in size - be using smart tile strategies (small tiles, hosted remotely, limited minimum scale), they are able to function predictably and consistently.
Still not sure I understand the exact question (be as specific as you can), but hopefully the above helps.

Are we sure tile solution can work for 2-3 images uploaded at the same time?

SORRY FOR THE INCONVENIENCE BUT I HAVE A FLIGHT SOON.  I am Flora Xu, colleague of Mr. Roberto Tiozzo who suppose to contact you for the tile view multi levels of maps issue. As he now is on the way to the airport and we need urgent solution for the issues below:
As you suggested yesterday in below:
(check here the reply of Moagrus: Well the whole point of the TileView is that you cut your images into small tiles, which TileView reassembles for you. As long as you're only displaying one TileView at a time, and you're using fairly small tiles (although even up to 1024 square would probably work, 256 or 128 are more common and manageable), you should be OK. The built-in decoder catches OOM exceptions anyways, so if you're using it (the default decoder), then you won't crash, although if you do exceed memory the tile would not render. FWIW, I've seen people do maps millions of pixels in size - be using smart tile strategies (small tiles, hosted remotely, limited minimum scale), they are able to function predictably and consistently.)
Our problem is: There are more levels of maps we need to switch in Android. Your above suggestion can be used for one map only. Our situation is that we now have 3-4 levels of building we need to navigate but display 1 level at one time. If we load all levels of maps at once, which means we storage 3-4 photos on Android mobile with 3-4 tileview functions as whole. And after a while of operation, the system crashes due to too much tile view functions inside of the system. I
The scale of our map is about 3.7Mb for 3 levels (3 photos) in total as compressed result which is not big.
We think to switch map one by one instead of load whole maps in one time can solve this problem (one map in operation one tile view function in operation only), But with this idea, we don't know how to do it on Tileview software.
Or if you have better idea to solve this problem (3-4 maps to switch but can be managed and not crashed), kindly please let us know ASAP. We need help urgently.
TKS with best regards,
Flora Xu

CONTACT PERSON IS<EMAIL_ADDRESS>

hm i'd probably just use setVisibility to hide/show the map that's current, and then maybe setSize(0,0) and 'requestRenderon the ones that aren't being used, so they don't qualify for any tiles to load, then the one that's active,setSizeto correct size andrequestRender`.
There's really any number of ways you could accomplish what you're describing, and none of them are really directly related to TileView - just figure out how best to present each memory-intensive UI to your users.

![Uploading 6LOU4153%3]4GP%C9N2H_54R.jpg…]()
![Uploading _A6T~B_LPO5IQFSN){KE~7.jpg…

Due to the difficulties we have in China I am not sure you den see the snapshots of our codes (as above)

The above is how we tried to manage. But it crashed. Any other suggestions? Thank you

Sorry ... it is just no picture show up!

Pls. check out the following code:

What you're describing are not issues with this library.
I can't say what exactly is working or not working based on these screenshots, but as I said, this is not related to the TileView widget itself.  What you're trying to do could be accomplished using any number of approaches, including Fragments, or even individual Activities, which should be very straightforward, or another dozen ways besides.  Maybe start with one TileView instance per Activity, then try to optimize when you have a working baseline.
Best of luck.


Evaluation tools

Could you provide the evaluation code ? Thank you.

Sure. Actually, we have provided the code for running the evaluation. You could follow Step IV to run the evaluation (by using generate.sh and setting the path to the evaluation wavs). Shall you have any issues regarding running this command, please let me know!


"Import Idols" fix-up in importcards.py

pass String of Idol name instead of the Idol object itself to urllib.quote

When following the Contributors guide, the manage.py importcards step kept throwing on trying to import the first idol. This resolves that issue.

Thank you :+1:


helm install is different to subctl deploy-broker

When I use command  subctl deploy-broker, the submariner-operator component will run in the broker cluster in submariner-operator namesapce.It works well and the code shows it well.
when using helm install submariner-k8s-broker submariner-k8s-broker which is in helm release, it just crds related and submariner-operator componnet wont start in broker cluster even I joined another clusters to this broker cluster.
I cannot figure out why is it? As I know, in broker cluster, submariner-operator component is needed here.
any suggestons?

Helm doesn't use the Operator currently, see: https://github.com/submariner-io/submariner-charts/issues/134 (we'd love to get that changed, but need contributors to Helm)
Generally, likely it's best not to mix Helm and subctl  - just pick one.


The Box CLI installer is being blocked by security software due to malicious behavior

I have checked that the SDK documentation doesn't solve my issue.

[X] Yes I've checked them.

I have checked that the API documentation doesn't solve my issue.

[X] Yes I've checked them.

I have checked that the Box Developer Forums doesn't solve my issue.

[X] Yes I've checked them.

I have searched Issues in this repo and my issue isn't already reported.

[X] Yes I've checked them.

Describe the bug
The Box CLI installer "box-v3.11.0-x64.exe" issues the following command which is (properly) reported by security software as malicious behavior:
"C:\WINDOWS\system32\cmd.exe" /C powershell -ExecutionPolicy Bypass -Command "& {Add-MpPreference -ExclusionPath "C:\Users\jlb259_sa\AppData\Local@box/cli"}" -FFFeatureOff
Expected behavior
Expected the installer to install the Box CLI software without attempting to modify the security configuration of the target computer.
Steps to reproduce
Steps to reproduce is run the installer on a computer with security software installed (in this case, CrowdStrike Falcon for Windows v6.58.17212). This is not an issue with the security software. The command being attempted by the installer is legitimately flagged as malicious. Any modifying of security software should be performed by an administrator of the computer, not by a software installer. Any modifying of security software, whether recommended or required, should be performed by an administrator of the computer, not by a non-security-related application installer.
Authentication method used in your application
User Authentication (OAuth 2.0)
App Access Level
App + Enterprise Access
What is Box CLI Version and Node used?
v3.11.0
What is your Operating  System Version?
Windows Server 2022 Datacenter 10.0.20348.1906

I filed this based on a report to our IT Security Office by a Box Admin. In installing the software myself, I see that there is an option to disable this feature. You may want to seriously reconsider this being an option at all.

At the very least, if you insist on keeping the option, it should be deselected by default, with a shorter option title and a full description added to the option. I'd be surprised if any user understands what this option is doing given the installer UI...

Hello @straffin,
I've created internal bug to track this (SDK-3322). We will look into changing this behaviour.

Hi @straffin
As we are using @oclif to create the build and that's option is enabled by default, there are also many people complaining about that here: oclif/oclif#1173 but there are no fixes yet.
So we just adjust the usage from our side and override that option to mark it unchecked by default.
You can try the latest release to see if it's working now.
Regards,
Minh


Alternative to MapController.updateSceneAsync

I have noticed that MapController.updateSceneAsync is missing for a quite some time in MapController. Is there an alternative way to do scene updates? Thank you.

Use MapController$loadSceneFileAsync(sceneFilePath, sceneUpdateList).
(https://github.com/tangrams/tangram-es/blob/master/platforms/android/tangram/src/main/java/com/mapzen/tangram/MapController.java#L319)
"Updating" a scene is the same as re-loading a scene with a new set of updates. updateSceneAsync was implemented this way, so we just made the operation more explicit.


About the version problem of pytorch3d

Hi,This is a very good job, I am very interested in this project ! And I am very much looking forward to the effect in the article. However,I have encountered a  problem.
I have configured the environment according to README.md, but the problem of "Not compiled with GPU support" appeared when running process_data.py. I learned from the Internet that this is because pytorch3D does not have a GPU version corresponding to pytorch. I did not get information about the corresponding version on the github homepage of pytorch3D, so I really hope you can give the version number of pytorch3D or the pytorch3D source package of the corresponding version of this project.

Download the source code pythoch3d==0.5.0, and reinstall
pip install -e .

Download the source code pythoch3d==0.5.0, and reinstall pip install -e . I worked well

Thank you very much ! I ended up using the Ubuntu system, Ubuntu is so easy to install pytorch3d.

For me, this also worked.
pip uninstall pytorch3d
conda install -c fvcore -c iopath -c conda-forge fvcore iopath
conda install pytorch3d -c pytorch3d


DirecPay stops treating failed payments as pending

Failed payments are currently considered as pending. Based on latest documentation (link?), it should now be safe not to do this.
@j-mutter @volmer @andrewpaliga @silverstreaked

I found this which claims there is a PENDING status, so this should be ok… I'd love it if we could add some remote tests for this, maybe we can dig up a test card number that will return a PENDING or something.


Wrong position and fixed

I have faced the problem is the datetimepicker showing in wrong position. When I scroll the page it keep in 1 place not update to new position when I clicked the input again.
So I have tried to take a look at js library and remove this line:
top = top + document.body.scrollTop
And everything is working fine. I wonder remove this line will cause any problem further?

Oh sorry, I posted on wrong one :baby_chick:


valid json format for AML

Signed-off-by: Adam Burdett<EMAIL_ADDRESS>

Rejected in favor of Adams newer, better fixes.


build: change opt-level to 3 in cargo dev profile

Don't merge.
Just testing the difference between opt-level=2 and opt-level=3.
local build times of very rudimentary tests run with
cargo clean
time cargo build

opt-level 3
run 1
________________________________________________________
Executed in   82.28 secs    fish           external
   usr time  830.57 secs    2.69 millis  830.57 secs
   sys time   72.70 secs    0.00 millis   72.70 secs

run 2
________________________________________________________
Executed in   82.31 secs    fish           external
   usr time  825.85 secs    2.43 millis  825.85 secs
   sys time   72.66 secs    0.00 millis   72.66 secs

run 3
________________________________________________________
Executed in   86.30 secs    fish           external
   usr time  811.13 secs    2.65 millis  811.13 secs
   sys time   72.11 secs    0.00 millis   72.11 secs

opt-level 2
run 1
________________________________________________________
Executed in   79.55 secs    fish           external
   usr time  813.15 secs    2.52 millis  813.15 secs
   sys time   73.54 secs    0.00 millis   73.54 secs

run 2
________________________________________________________
Executed in   83.10 secs    fish           external
   usr time  814.13 secs    2.75 millis  814.12 secs
   sys time   74.11 secs    0.00 millis   74.11 secs

run 3
________________________________________________________
Executed in   82.58 secs    fish           external
   usr time  826.63 secs    1.89 millis  826.63 secs
   sys time   73.80 secs    0.66 millis   73.80 secs

Don't merge.

Converted to "draft pr" so this is more obvious

If the difference is one second in the clean build, we could probably just do it for the sake of it. Most of these crates don't get rebuild very often, as usually we do incremental rebuild during dev work.

If the difference is one second in the clean build, we could probably just do it for the sake of it. Most of these crates don't get rebuild very often, as usually we do incremental rebuild during dev work.

sounds good to me. just reverted the commit to see the stats for the CI from the same state with only these changes. The time of  "build workspace" with opt-level=3 was 2min 24s.
If it's about the same, I force push the previous commit and we can merge it.

ok, with the reverted commit and hence opt-level=2 the build workspace step was 2min 26s, so 2secs slower (at least in that one CI run).
So the build time seems to be marginal for the crypto crates. Let''s merge it @dpc


Updated readme with install instructions

This PR updates the readme with some instructions on how to set-up the latest version of go-cache. Ran into a lot of issues with trying to get things set-up with the latest version because the instructions weren't the clearest. Hopefully this helps with others who are just discovering this great library! 😄

Thank you @coolblknerd :)


Rename repository to dragonfly

Rename our repository from Dragonfly2 to dragonfly to better align with our project naming conventions and to avoid any potential confusion. This change will help us maintain consistency across our project repositories and improve the overall clarity of our project structure.
Change repository to dragonfly:

[x] CNCF Landscape: https://github.com/cncf/landscape
[ ] d7y.io: https://github.com/dragonflyoss/d7y.io

+1

+1

+1

+1


KeyError: 6

Thanks so much for crafting and sharing abcddb2vcard, Oleg.
When running it against an AddressBook-v22.abcddb file with some contacts that refused to export as vCard from Contacts.app, it returned the following error:
% python3 abcddb2vcard.py contacts_$(date +"%Y-%m-%d").vcf
Traceback (most recent call last):
  File "/Users/user/Desktop/abcddb2vcard-main/abcddb2vcard.py", line 15, in <module>
    contacts = ABCDDB.load(Path.home().joinpath(
  File "/Users/user/Desktop/abcddb2vcard-main/ABCDDB.py", line 21, in load
    records[x.parent].email.append(x)
KeyError: 6

Dragging the All Contacts card from Contacts.app to the Desktop exported all but the affected contacts to "All Contacts.vcf".
I was able to export all of the contacts to vCard, including the ones that refused to export otherwise, by using Automator as described here.

ohh, interesting. :) ... it seems there is an email address pointing to a contact that does not exist. Don't post it here (for your own privacy) but does the following query returns anything?
sqlite3 "$HOME/Library/Application Support/AddressBook/AddressBook-v22.abcddb" "SELECT ZFIRSTNAME, ZLASTNAME FROM ZABCDRECORD WHERE Z_PK = 6"

If the query above indeed returns nothing, you can check whether your Automator workflow did export the email address in question:
 sqlite3 "$HOME/Library/Application Support/AddressBook/AddressBook-v22.abcddb" "SELECT ZADDRESS FROM ZABCDEMAILADDRESS WHERE ZOWNER = 6"

I wonder what happend. I cannot ask you for your address book, but can you reproduce the bug in a blank abcddb?

Thanks so much for the fast reply!
Yes, that does return the first and last name of that contact, which is the first of 77 affected contacts (i.e., ones that won't export to vCard from Contacts.app).
In fact, the most interesting table in the database, ZABCDCONTACTINDEX, displays all of the information for all of the contacts, including the affected ones:
select * from ZABCDCONTACTINDEX;
It seems that tools which access AddressBook-v22.abcddb like Contacts.app, abcddb2vcard, and Exporter for Contacts 2 fail on the affected contacts (despite sqlite3 queries working from Terminal) while tools which access the associated .abcdp files like contact_reaper.py and Automator are able to export the affected contacts.
I'm sorry that I cannot share the AddressBook-v22.abcddb file with you as it doesn't belong to me but to a friend.

Yes, that does return the first and last name of that contact

Well, that is weird. Because if the ID exists, python should not throw a KeyError.
I've pushed some changes. This should prevent the tool from crashing but will export the data into a blank contact. So you will loose the name of the contact. Can you report back how this is broken compared to the expected? thanks

Thank you very much. Here is the new error message:
Traceback (most recent call last):
  File "/Users/user/Desktop/abcddb2vcard-main/abcddb2vcard.py", line 15, in <module>
    contacts = ABCDDB.load(Path.home().joinpath(
  File "/Users/user/Desktop/abcddb2vcard-main/ABCDDB.py", line 422, in load
    records = Record.queryAll(cur)
  File "/Users/user/Desktop/abcddb2vcard-main/ABCDDB.py", line 284, in queryAll
    return {x[0]: Record(x) for x in cursor.execute('''
  File "/Users/user/Desktop/abcddb2vcard-main/ABCDDB.py", line 284, in <dictcomp>
    return {x[0]: Record(x) for x in cursor.execute('''
  File "/Users/user/Desktop/abcddb2vcard-main/ABCDDB.py", line 324, in __init__
    self.iscompany = row[17] & 1  # type: bool
TypeError: unsupported operand type(s) for &: 'NoneType' and 'int'

and what about now?

Awesome! Now the Terminal output shows 276 contacts (which is the correct total number appearing in Contacts.app, both affected and unaffected). The created .vcf file was reported by Quick Look to contain 252 contacts (which includes a large number of the 77 affected contacts), and importing the .vcf file into a blank Contacts.app resulted in 252 contacts being imported.
A quick look at the .vcf file in a text editor shows the 24 missing contacts inside with the other 252 contacts; some of their details have been merged into other contacts after import into Contacts.app. I'll have a closer look for any similarities between those 24 and post back here later today.
Thanks so much!

Great news, relikd! The missing 24 contacts in Quick Look and Contacts.app were caused by a bug in macOS 13.0.1's handling of vCard files. After upgrading to 13.2.1, both Quick Look and Contacts.app correctly displayed all 276 contacts which abcddb2vcard exported from AddressBook-v22.abcddb!
The only reason I stumbled onto this was because the virtual machine where I was testing was running 13.0.1; when I copied the vCard file to the host machine running 13.2.1, Quick Look reported the correct number, 276 (just as abcddb2vcard's Terminal output had done). I double checked Quick Look in 13.0.1; it still showed 252. After upgrading the VM to 13.2.1, Quick Look displayed 276, as did Contacts.app after importing them.
Thank you again for such a swift resolution!


python312Packages.pymdown-extensions: 10.8.1 -> 10.11.2, python312Packages.mkdocstrings-python: 1.11.1 -> 1.12.0

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 348269 run on x86_64-linux 1

2 packages failed to build:

hydrus
hydrus.doc

52 packages built:

copier
copier.dist
griffe (python312Packages.griffe)
griffe.dist (python312Packages.griffe.dist)
marimo (python312Packages.marimo)
marimo.dist (python312Packages.marimo.dist)
netbox (netbox_3_7)
ntfy-sh
python311Packages.canals
python311Packages.canals.dist
python311Packages.griffe
python311Packages.griffe.dist
python311Packages.marimo
python311Packages.marimo.dist
python311Packages.mkdocs-jupyter
python311Packages.mkdocs-jupyter.dist
python311Packages.mkdocs-material
python311Packages.mkdocs-material.dist
python311Packages.mkdocs-mermaid2-plugin
python311Packages.mkdocs-mermaid2-plugin.dist
python311Packages.mkdocs-redoc-tag
python311Packages.mkdocs-redoc-tag.dist
python311Packages.mkdocstrings
python311Packages.mkdocstrings-python
python311Packages.mkdocstrings-python.dist
python311Packages.mkdocstrings.dist
python311Packages.netbox-documents
python311Packages.netbox-documents.dist
python311Packages.netbox-reorder-rack
python311Packages.netbox-reorder-rack.dist
python311Packages.pymdown-extensions
python311Packages.pymdown-extensions.dist
python312Packages.canals
python312Packages.canals.dist
python312Packages.mkdocs-jupyter
python312Packages.mkdocs-jupyter.dist
python312Packages.mkdocs-material
python312Packages.mkdocs-material.dist
python312Packages.mkdocs-mermaid2-plugin
python312Packages.mkdocs-mermaid2-plugin.dist
python312Packages.mkdocs-redoc-tag
python312Packages.mkdocs-redoc-tag.dist
python312Packages.mkdocstrings
python312Packages.mkdocstrings-python
python312Packages.mkdocstrings-python.dist
python312Packages.mkdocstrings.dist
python312Packages.netbox-documents
python312Packages.netbox-documents.dist
python312Packages.netbox-reorder-rack
python312Packages.netbox-reorder-rack.dist
python312Packages.pymdown-extensions
python312Packages.pymdown-extensions.dist

Result of nixpkgs-review pr 348269 run on x86_64-linux 1

2 packages failed to build:

hydrus
hydrus.doc

60 packages built:

copier
copier.dist
griffe (python312Packages.griffe)
griffe.dist (python312Packages.griffe.dist)
marimo (python312Packages.marimo)
marimo.dist (python312Packages.marimo.dist)
netbox (netbox_3_7)
ntfy-sh
python311Packages.aggdraw
python311Packages.aggdraw.dist
python311Packages.canals
python311Packages.canals.dist
python311Packages.griffe
python311Packages.griffe.dist
python311Packages.marimo
python311Packages.marimo.dist
python311Packages.mkdocs-jupyter
python311Packages.mkdocs-jupyter.dist
python311Packages.mkdocs-material
python311Packages.mkdocs-material.dist
python311Packages.mkdocs-mermaid2-plugin
python311Packages.mkdocs-mermaid2-plugin.dist
python311Packages.mkdocs-redoc-tag
python311Packages.mkdocs-redoc-tag.dist
python311Packages.mkdocstrings
python311Packages.mkdocstrings-python
python311Packages.mkdocstrings-python.dist
python311Packages.mkdocstrings.dist
python311Packages.netbox-documents
python311Packages.netbox-documents.dist
python311Packages.netbox-reorder-rack
python311Packages.netbox-reorder-rack.dist
python311Packages.psd-tools
python311Packages.psd-tools.dist
python311Packages.pymdown-extensions
python311Packages.pymdown-extensions.dist
python312Packages.aggdraw
python312Packages.aggdraw.dist
python312Packages.canals
python312Packages.canals.dist
python312Packages.mkdocs-jupyter
python312Packages.mkdocs-jupyter.dist
python312Packages.mkdocs-material
python312Packages.mkdocs-material.dist
python312Packages.mkdocs-mermaid2-plugin
python312Packages.mkdocs-mermaid2-plugin.dist
python312Packages.mkdocs-redoc-tag
python312Packages.mkdocs-redoc-tag.dist
python312Packages.mkdocstrings
python312Packages.mkdocstrings-python
python312Packages.mkdocstrings-python.dist
python312Packages.mkdocstrings.dist
python312Packages.netbox-documents
python312Packages.netbox-documents.dist
python312Packages.netbox-reorder-rack
python312Packages.netbox-reorder-rack.dist
python312Packages.psd-tools
python312Packages.psd-tools.dist
python312Packages.pymdown-extensions
python312Packages.pymdown-extensions.dist

I will check hydrus later.


Derive the z.probs/y.probs from getters

z.probs / y.probs are not returned by default on the celda_list object returned from celda(). Their corresponding getter functions should calculate and return them post-facto.

Scratch that, automatically return probability for final z / y


Method decorators

Thanks for this plugin. It sucks that a lot of React infrastructure started using decorators and now Babel isn't supporting it. I'm a little confused from the docs and the thread on Phabricator if decorating methods is supported by this plugin.
In my app I have this decorator for toggling classes on the react render method. Works fine with Babel 5 but chokes with Babel 6. Please let me know if I'm doing something wrong or if this behavior is not supported
//.babelrc
{
  "presets": ["react", "es2015", "stage-0"],
  "env": {
    "development": {
      "plugins": [
        "rewire",
        "transform-runtime",
        "transform-decorators-legacy",
        "typecheck",
        ["react-transform",
          {
          "transforms": [{
            "transform": "react-transform-hmr",
            "imports": ["react"],
            "locals": ["module"]
          }, {
            "transform": "react-transform-catch-errors",
            "imports": ["react", "redbox-react"]
          }]
        }]
      ]
    },
    "production": {
      "plugins": [
        "transform-runtime",
        "transform-decorators-legacy",
        "typecheck"
      ]
    }
  }
}

//decorator.js
import React from 'react';
import _ from 'lodash';
import cx from 'classnames';

export default function(...args) {
  /*eslint no-use-before-define:0*/
  let decArgs;

  if (args.length === 1) {
    //if the decorator is called with an `omit` argument then return the function
    decArgs = args[0];
    return decorate;
  } else if (args.length === 3) {
    //if the decorator is called with by the method with no initial arguments
    return decorate.apply(null, args);
  }

  function decorate(target, key, descriptor) {
    return {
      ...descriptor,
      value(...args) {
        const {someFluxProp, anotherFluxProp} = this.props;
        const {omit} = decArgs || {};
        const Comp = descriptor.value.apply(this, args);

        const className = cx(_.assign({}, makeClasses(Comp.props.className), _.omit({
          'step-current': anotherFluxProp,
          'is-hidden': someFluxProp
        }, omit)));

        return React.cloneElement(Comp, {className});
      }
    };
  }
}

SomeClass extends React.Component {
    @addClassDec({omit: 'is-hidden'})
    render() {
       return <div className="whatevs" />
    }
}

When I do this I get output:
ERROR in ./src/js/components/sample.jsx
Module parse failed: /Users/davidfox-powell/dev/frontend-boilerplate/node_modules/babel-loader/index.js?{"presets":["react","es2015","stage-0"],"plugins":["transform-decorators-legacy","transform-runtime","typecheck",["react-transform",{"transforms":[{"transform":"react-transform-hmr","imports":["react"],"locals":["module"]},{"transform":"react-transform-catch-errors","imports":["react","redbox-react"]}]}]]}!/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/eslint-loader/index.js!/Users/davidfox-powell/dev/frontend-boilerplate/src/js/components/sample.jsx Line 3: Unexpected token
You may need an appropriate loader to handle this file type.
| 'use strict';
|
| import _Object$defineProperty from 'babel-runtime/core-js/object/define-property';
|
| var _dec, _dec2, _class, _desc, _value, _class2, _class3, _temp;

Could you make sure you are on version 1.3.1, not 1.3.0?

@loganfsmyth awesome, that seemed to work. It was working on 1.3.0 if I took transform-runtime out of presets but works now with runtime :smile:....thanks!

Yup, just a bug in the initial 1.3.x release.

@loganfsmyth I believe this issue related to the runtime has been re-introduced in 1.3.2 :cry:
WARNING in ./src/js/components/quick-card/index.jsx
Module parse failed: /Users/davidfox-powell/dev/donate-frontend/node_modules/@hfa/bundle-wrapper-loader/index.js?prefix=/Users/davidfox-powell/dev/donate-frontend/gulp/tasks/webpack/bundle-wrapper/banner.js&postfix=/Users/davidfox-powell/dev/donate-frontend/gulp/tasks/webpack/bundle-wrapper/footer.js&delimiter=
&remove=strict!/Users/davidfox-powell/dev/donate-frontend/node_modules/babel-loader/index.js?{"presets":["react","es2015","stage-0"],"plugins":["transform-runtime","transform-decorators-legacy","typecheck"]}!/Users/davidfox-powell/dev/donate-frontend/node_modules/eslint-loader/index.js!/Users/davidfox-powell/dev/donate-frontend/src/js/components/quick-card/index.jsx Line 14: Unexpected token
You may need an appropriate loader to handle this file type.
|
|
| import _Object$keys from 'babel-runtime/core-js/object/keys';
|
| var _dec, _dec2, _class, _desc, _value, _class2, _class3, _temp;
 @ ./src/js/components/sequential-form/index.jsx 107:17-41

Ugh that's frustrated. Published a 1.3.3 to fix it.

Cool thanks for the quick response


Does the index of the same vehicle remain the same in the returns from the call world.get_level_bbs(carla.CityObjectLabel.TrafficLight) every time in the same simulation?

for example, there is only one bicycle moving in the world, it keep be listed at the last in those returns and its data be kept changing as follow:
Rotation(pitch=0.000000, yaw=-0.000458, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-0.000458, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=29.999577, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-30.000498, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-130.000534, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=144.999374, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=144.999985, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=44.999939, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=30.000006, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=144.999985, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=44.999939, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-20.000027, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=24.999521, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=30.000006, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=90.000114, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.593338, yaw=-90.000092, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=1.186370, yaw=-89.999992, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-90.000114, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=0.000161, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-90.000114, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-90.000114, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=0.000155, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=90.000114, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=90.000114, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=1.274575, yaw=-90.000053, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-90.000114, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-90.000114, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-0.000092, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=90.000160, roll=-2.444794) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=0.000155, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=30.000006, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=30.000006, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-20.000027, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=144.999985, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=44.999939, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=144.999985, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=44.999939, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=24.999521, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-0.000458, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-0.000458, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=29.999577, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-30.000498, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-130.000534, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=144.999374, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.037211, yaw=106.482529, roll=-3.866273) <class 'carla.libcarla.BoundingBox'>
Num BBs = 45
Rotation(pitch=0.000000, yaw=-0.000458, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-0.000458, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=29.999577, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-30.000498, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-130.000534, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=144.999374, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=144.999985, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=44.999939, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=30.000006, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=144.999985, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=44.999939, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-20.000027, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=24.999521, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=30.000006, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=90.000114, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.593338, yaw=-90.000092, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=1.186370, yaw=-89.999992, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-90.000114, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=0.000161, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-90.000114, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-90.000114, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=0.000155, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=90.000114, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=90.000114, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=1.274575, yaw=-90.000053, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-90.000114, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-90.000114, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-0.000092, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=90.000160, roll=-2.444794) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=0.000155, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=30.000006, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=30.000006, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-20.000027, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=144.999985, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=44.999939, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=144.999985, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=44.999939, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=24.999521, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-0.000458, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-0.000458, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=29.999577, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-30.000498, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=-130.000534, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=0.000000, yaw=144.999374, roll=0.000000) <class 'carla.libcarla.BoundingBox'>
Rotation(pitch=-0.192721, yaw=-149.663376, roll=-4.965792) <class 'carla.libcarla.BoundingBox'>

@doterop could you provide an answer for the posterity?

@doterop could you provide an answer for the posterity?

Hi @tinmodeHuang
The index of each Traffic Light returned by world.get_level_bbs(carla.CityObjectLabel.TrafficLight) will remain the same in the same simulation but this will only happen because new traffic lights will not be created.
The same logic applies to object types like Buildings or Roads, they will keep the same index.
A special case is Vehicles and Pedestrians object types. You can add or remove these objects at any point of the simulation altering this way the order and therefore the index will possibly change. But if you don't create or delete any objects of this type the index will keep the same.
Moreover, this index is only valid for the same simulation, it's not guaranteed to be the same between simulations. If you need to identify no spawnable objects like traffic lights you could use world.get_environment_objects(carla.CityObjectLabel.TrafficLight) which returns a list of carla.EnvironmentObjects. Each EnvironmentObject has a unique id that is valid between simulations and also had the bounding box of the object.

Hi @tinmodeHuang
The index of each Traffic Light returned by world.get_level_bbs(carla.CityObjectLabel.TrafficLight) will remain the same in the same simulation but this will only happen because new traffic lights will not be created.
The same logic applies to object types like Buildings or Roads, they will keep the same index.
A special case is Vehicles and Pedestrians object types. You can add or remove these objects at any point of the simulation altering this way the order and therefore the index will possibly change. But if you don't create or delete any objects of this type the index will keep the same.
Moreover, this index is only valid for the same simulation, it's not guaranteed to be the same between simulations. If you need to identify no spawnable objects like traffic lights you could use world.get_environment_objects(carla.CityObjectLabel.TrafficLight) which returns a list of carla.EnvironmentObjects. Each EnvironmentObject has a unique id that is valid between simulations and also had the bounding box of the object.