ios opaque internal go panic task 529 panicked

First step would be to see if we can add more information to this to figure out what the actual problem is : )
Original report: https://hackmd.io/_CFnGaWvQg6Ys3DxZblmug#May-27

@neonphog what can I provide?

@Connoropolous - Sorry, I meant add more info to the panic error itself, not this issue : )
As far as identifying problems like this and more quickly fixing them goes: I don't suppose you would know how to set up a github actions macos runner to build for ios / execute in an ios vm or something?

ah ok yep. I'll take a check for approaches to ios

@neonphog what do you think your schedule is for getting into this?

Do you think the error message would be reported if there was an error message in the Go side code of the panic?

@Connoropolous - I've got a lot on my plate, and am out next week. Could it wait until after? If not I can try to squeeze it in.
My first step would be to see if there was some way to get a stack trace or something out of the go panic to pass along. I'm not super familiar with the error handling in go. We're also stripping out debug symbols, so we might need to stop doing that temporarily.

I understand. If it waits it’ll shoot down any chance of hitting the DWeb Camp objective, so that’d really be unfortunate. I have just been trying to assist Art and Eric in having a solid way to have mobile holochain use at DWeb. I am not going myself.
If you could squeeze anything in we’d really appreciate it, but don’t go too far out of your way, and let us know if you just think it’s a dead end for now.

Update: there's been a move to a different approach for DWeb Camp, so the pressure is off for this.

I realized again that iOS doesn’t support dylibs so this is more of a fundamental incompatibility. Unless the go code could be exported and loaded as a static lib instead. @neonphog why was the shared/dynamic lib approach chosen, out of curiosity?

@Connoropolous - golang didn't support compiling to a static lib on windows until the recently released 1.20. And even with that, it'll only compile with mingw which is incompatible with rust which compiles with msvc.
We can support stating linking on non-windows platforms, it just hasn't been a priority since we needed to get the dynamic linking working for windows first.
This is another pull for getting the static linking going for non-windows platforms.

Oh ok, I see. well that opens up a potential second avenue, in addition to the Rust webrtc backend, for ios support

golang stack traces are now included with golang panic reports -- for when we get back to working with this.

nice! thank you.

@guillemcordoba - why would this be needed for android? I'm able to run it fine with the dynamic linking.

@neonphog I'm running into this error:
10-18 17:29:03.371 14276 14276 W ContentCatcher: Failed to notify a WebView
10-18 17:29:03.373 14276 14314 I RustStdoutStderr: FATAL PANIC PanicInfo {
10-18 17:29:03.373 14276 14314 I RustStdoutStderr:     payload: Any { .. },
10-18 17:29:03.373 14276 14314 I RustStdoutStderr:     message: Some(
10-18 17:29:03.373 14276 14314 I RustStdoutStderr:         filed to write go lib: Custom { kind: PermissionDenied, error: PathError { path: "/data/local/tmp/.tmpGVzcqi", err: Os { code: 13, kind: PermissionDenied, message: "Permission denied" } } },
10-18 17:29:03.373 14276 14314 I RustStdoutStderr:     ),
10-18 17:29:03.373 14276 14314 I RustStdoutStderr:     location: Location {
10-18 17:29:03.373 14276 14314 I RustStdoutStderr:         file: "/home/guillem/projects/holochain/core/tx5/crates/tx5-go-pion-sys/src/lib.rs",
10-18 17:29:03.373 14276 14314 I RustStdoutStderr:         line: 127,
10-18 17:29:03.373 14276 14314 I RustStdoutStderr:         col: 25,
10-18 17:29:03.373 14276 14314 I RustStdoutStderr:     },
10-18 17:29:03.373 14276 14314 I RustStdoutStderr:     can_unwind: true,
10-18 17:29:03.373 14276 14314 I RustStdoutStderr: }
10-18 17:29:03.373 14276 14314 I RustStdoutStderr: thread 'tokio-runtime-worker' panicked at /home/guillem/projects/holochain/core/tx5/crates/tx5-go-pion-sys/src/lib.rs:127:25:
10-18 17:29:03.373 14276 14314 I RustStdoutStderr: filed to write go lib: Custom { kind: PermissionDenied, error: PathError { path: "/data/local/tmp/.tmpGVzcqi", err: Os { code: 13, kind: PermissionDenied, message: "Permission denied" } } }
10-18 17:29:03.373 14276 14314 I RustStdoutStderr: note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

That's with Android 10, target android SDK 33, with the latest code from this repository, in my Redmi Note 7 phone. In my first attempt, it ran fine, but then subsequent runs run into this issue.
I'm not seeing this issue in the CI of my fork that runs SDK 33, but I am seeing other issues as well there: https://github.com/guillemcordoba/tx5/actions/runs/6561529206/job/17821414550

@guillemcordoba - Okay, so you need it to run on Android api level 33? The first step would be for me to get that working in CI.
The permission denied error you posted is about trying to write a tempfile... so we'll need to figure that out before we know if it's having trouble loading the dynamic library.
The other errors in the link you provided seem like it's having trouble with the network, but that would indicate it's able to execute functions in the dynamic lib just fine.

Yeah I am forced to run android api level 33. I assumed from the error message meant that tx5 wanted to write the dynamic library executable into the temporary directory before executing it, so then moving to having tx5 be statically linked would also solve this problem. It's interesting that it works on my CI...
Would you prefer I open another issue with this error?

Well I only know what I need/would like, which is to be able to publish a holochain app to the play store and to the apple store in the next few months to start to do experiments in the real world in a local village and start to gather feedback from that. I know that holochain-mobile is a priority for the core team, so that's why I thought that doing solving this issue would have to be done anyway in the near future. Or maybe moving to webrtc-rs would also be an option, if that's stable enough, not sure.
I think @abe-njama would be the person to address how much of a priority this is.

All good. I'll go ahead and get started on the static linking work :+1:

@guillemcordoba - I can continue with this for ios, but it looks like it's a no-go for android:

cmd/go: support -buildmode=c-archive on android/arm64 #33806
https://github.com/holochain/tx5/actions/runs/6565238949/job/17833312368?pr=11

Ohh mmm that's unfortunate... Thanks anyway. I'll get back to you when I know more on my side.

Turns out this wasn't as big a lift as I was worried it might be. Static linking is now enabled for all targets except windows and android. I'll start next on the android api level 33 CI runner.

oh my! this is exciting. I may have to take a peek in this direction again and try to get my iOS build working.

@neonphog will you be issuing a release and updating holochain to it this week?

Thanks so much @neonphog !

@neonphog will you be issuing a release and updating holochain to it this week?

Sure, I can get the ball rolling on that today


Week 7 Styled Cutscenes

What is your question?
Is there any way to make cutscenes like in week 7? What I mean by this is that the week 7 cutscenes are not videos, but the assets playing the animation in game. Can I make cutscenes like this myself, and how?

look at this function


Release 1.0.0

Release Checklist
Git Preparation

[x] Decide on a version number based on the current version number and the common rules defined in Semantic Versioning. E.g. x.y.z.
[x] Update this ticket name to reflect the new version number, following the pattern "Release x.y.z".
[x] Cut a branch for the new release out of the develop branch, following the gitflow naming pattern release/x.y.z.

Code Preparation

[x] Update the code to use this version number.

[x] Update version and appVersion in helmchart/sdp/Chart.yaml.
[x] Update the constant Version in main.go

[x] Update the CHANGELOG.md file with the new version number and release notes.
[x] Run tests and linting, and make sure the version running in the default branch is working end-to-end. At least the minimal end-to-end manual tests is mandatory.
[x] 🚨 DO NOT RELEASE before holidays or weekends! Mondays and Tuesdays are preferred.

Merging the Branches

[x] When the team is confident the release is stable, you'll need to create two pull requests:

[x] release/x.y.z -> main: 🚨 Do not squash-and-merge! This PR should be merged with a merge commit.
https://github.com/stellar/stellar-disbursement-platform-backend/pull/74
[x] release/x.y.z -> develop: this should be merged after the main branch is merged. 🚨 Do not squash-and-merge! This PR should be merged with a merge commit.
https://github.com/stellar/stellar-disbursement-platform-backend/pull/75

Publishing the Release

[x] After the release branch is merged to main, create a new release on GitHub with the name x.y.z and the use the same changes from the CHANGELOG.md file.

[x] The release should automatically publish a new version of the docker image to Docker Hub. Double check if that happened. 1.0.0 on Dockerhub

[x] Propagate the helmchart version update to the https://github.com/stellar/helm-charts repository.

Completed! 🚀


Configuration not updating on updating new key in env

HI,
I have been trying to update my environment file but it's not reflecting while I'm creating my APPs build for android and ios.
Example:
my old .env
KEY_1="some_value" KEY_2="some_more_value"
my new .env
KEY_3="some_new_value"
now KEY_3 is not identified by my builds. Please help

Waiting for an answer too. Meanwhile, doing pod deintegrate && pod install and re running the project will work.

I'm having the same issue, my temporary fix is to add a prep lane to Fastlane with the following cache clearing command:
File.write(File.expand_path("../node_modules/react-native-config/ios/ReactNativeConfig/GeneratedDotEnv.m"), "#define DOT_ENV @{  };")

#692
Also you need to select an option in “Provide build settings from” in order to get env variable


TODO: Missing packages

This ticket should serve as a reminder which packages/functionality is still missing in the current RaspberryMatic buildroot GitHub environment and that this have to be integrated before a new official public release:
Buildroot packages:

iptables/ip6tables
curl
i2cdetect/i2cdump, etc.
msmtp
rsync
wget (the internal busybox version not sufficient)
additional locales (de, etc.)?
tar (internal busybox version not sufficient)
ssdpd
ntpclient (or use ntpd instead -> better option?!?)
/usr/bin/kmod (?)
/sbin/daemonize
/sbin/uevent
/usr/sbin/ifplugd, /usr/sbin/ifplugstatus, /etc/init.d/S45ifplugd

HomeMatic/CCU packages/binaries:

/bin/update_firmware_run, /bin/update_firmware_pre
/bin/setlgwkey.sh (/etc/init.d/S59SetLGWKey, /etc/init.d/S58LGWFirmwareUpdate)
/bin/setfirewall.tcl
/bin/setclock
/bin/setHWClock.sh
/bin/mountSD
/bin/dhcp_check.script
/bin/dhcp.script
/bin/checkDHCP
/bin/yaku-ns (?)
/etc/init.d/S50SetClock
/etc/udhcpd.usb0.conf
/etc/shadow is NOT a link to config/shadow
/etc/random-seed missing (?)
/etc/network/if-down.d/eQ3StopNetwork
/etc/network/if-up.d/eQ3StartNetwork
/config (what is this file for? added by accident?)
/lib/libfirewall.tcl
/lib/udev/rules.d/sd-cards-auto-mount.rules

As soon as we have resolved/added packages to our GitHub repo we will clear up this list.

@wowi1968 What about the missing HomeMatic/CCU binaries listed above? Where are they located in the OCCU repository?

Closing this ticket since we cleared up the missing binaries/functionality list. The rest of the binaries missing (ssdpd, yaku-ns) doesn't seem to be required for proper operation.


Import discrepancy versus node (and tsx)

Describe the bug
When importing a CJS module I'm finding that I'm getting different results in vitest when compared with node and tsx.
For instance:
import pkg from 'some-cjs-package';

// node / tsx
// pkg = { default: { defaultExportedFunction } }

// vitest
// pkg = { defaultExportedFunction }

Here's a minimized version of the CJS file I'm importing:
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var specs = {};
exports.default = specs;

Reproduction
https://stackblitz.com/edit/vitest-dev-vitest-qox16t?file=test%2Fbasic.test.ts
System Info
System:
    OS: macOS 14.5
    CPU: (11) arm64 Apple M3 Pro
    Memory: 1.25 GB / 18.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.16.0 - ~/.local/state/fnm_multishells/36412_1728045710155/bin/node
    Yarn: 1.22.22 - ~/.local/state/fnm_multishells/36412_1728045710155/bin/yarn
    npm: 10.8.1 - ~/.local/state/fnm_multishells/36412_1728045710155/bin/npm
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 129.0.6668.90
    Safari: 17.5
  npmPackages:
    vitest: ^2.0.5 => 2.0.5

Used Package Manager
yarn
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

This is by design. You can disable this with deps.interopDefault option.

Hey thanks for getting back to me so fast, this solved the problem 👍.  Sorry I clearly didn't read the docs properly.


Collection name to CamelCase (fixes #2983)

Also fixes topic detail state url from topics/topic/2 to topics/2; See all other apps.

@normanjaeckel Ping.

Rebased.


Integration Test - Release - 2019/05/16 16:12:05

Auto create for integration test. AnotherAuthorUpdatedArticleFlow

@PRMergerTest2 : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Code review

Comments provided in email.

@ioanabica Could you approve if you're happy with the changes?


Only fail on issues with severity error

Also relates to #6400 and fails the build only for issues with severity of error

Messages

:book:

Thank you very much for making our website better :heart:!

  Generated by :no_entry_sign: dangerJS against ec5310f572e392931f06490a69bc8715400279d0

What does this error mean and what can I do about it?

Caused by: org.gradle.api.GradleException: Parameter specified as non-null is null: method io.github.detekt.parser.KtCompiler.compile, parameter basePath


BAMHeader not set when running on a cluster

When running transform with .bam file as the output, I see the following error:
Exception in thread "main" java.lang.AssertionError: assertion failed: Cannot return header if not attached.
        at scala.Predef$.assert(Predef.scala:179)
        at org.bdgenomics.adam.rdd.read.ADAMBAMOutputFormat$.getHeader(ADAMBAMOutputFormat.scala:60)
        at org.bdgenomics.adam.rdd.read.ADAMBAMOutputFormat.<init>(ADAMBAMOutputFormat.scala:68)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at java.lang.Class.newInstance(Class.java:379)
        at org.apache.spark.rdd.InstrumentedOutputFormat.<init>(InstrumentedOutputFormat.scala:33)
        at org.bdgenomics.adam.rdd.read.InstrumentedADAMBAMOutputFormat.<init>(ADAMBAMOutputFormat.scala:71)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at java.lang.Class.newInstance(Class.java:379)
        at org.apache.spark.rdd.PairRDDFunctions.saveAsNewAPIHadoopDataset(PairRDDFunctions.scala:958)

I tried to fix this with a similar strategy used by @fnothaft for the VCF header (see https://github.com/bigdatagenomics/adam/compare/master...hammerlab:bam-save-header?expand=1), but did not seem to take.  Any ideas on this?

IIRC @fnothaft and I could not convince ourselves that the VCF header impl works like a year ago, though he claimed it was working for him (on a cluster) and I couldn't get it to work.

I just ran into this issue as well, btw.

#353 has some discussion of the VCF version of this issue

I'll try my hand at porting a similar fix today and see if I have any more luck

Just tried with https://github.com/bigdatagenomics/adam/compare/master...ryan-williams:sam-attempt, still see the issue. Will dig through logs and see if I can verify whether the executors attempted to set the header.

heh, seems like the errors there were from double- and triple-setting the header on each executor (once per partition), e.g.:
java.lang.AssertionError: assertion failed: Cannot attach a new SAM header without first clearing the header.
        at scala.Predef$.assert(Predef.scala:179)
        at org.bdgenomics.adam.rdd.read.ADAMSAMOutputFormat$.addHeader(ADAMSAMOutputFormat.scala:41)
        at org.bdgenomics.adam.rdd.read.AlignmentRecordRDDFunctions$$anonfun$adamSAMSave$1$$anonfun$2.apply(AlignmentRecordRDDFunctions.scala:144)
        at org.bdgenomics.adam.rdd.read.AlignmentRecordRDDFunctions$$anonfun$adamSAMSave$1$$anonfun$2.apply(AlignmentRecordRDDFunctions.scala:134)

Forcibly clearing and then re-setting the header on each partition seems to do the trick, e.g.
    val mp = rdd.mapPartitionsWithIndex((idx, iter) => {
      log.warn(s"Setting ${if (asSam) "SAM" else "BAM"} header for partition $idx")
      val header = bcastHeader.value
      synchronized {
        // perform map partition call to ensure that the VCF header is set on all
        // nodes in the cluster; see:
        // https://github.com/bigdatagenomics/adam/issues/353

        asSam match {
          case true  =>
            ADAMSAMOutputFormat.clearHeader()
            ADAMSAMOutputFormat.addHeader(header)
            log.warn(s"Set SAM header for partition $idx")
          case false =>
            ADAMBAMOutputFormat.clearHeader()
            ADAMBAMOutputFormat.addHeader(header)
            log.warn(s"Set BAM header for partition $idx")
        }
      }
      Iterator[Int]()
    }).count()

I'll open up a PR promptly.

Interestingly, I just saw a failure when writing a SAM file, so there might be some nondeterministic way that this remains unfixed.
Here are the YARN container logs of all my executors.
This gist has the logs of the two executors where relevant things happened: IDs 161 and 69. The only log lines about headers come from these two executors, and they were running on the same host (out of 94 in the application); probably a coincidence?
I ran rdd.coalesce(1).adamSAMSave(filename, asSam = true, asRegularFile = true) on an ADAM with #689 patched in.
Timeline:

At 22:35:00, executor 69 prints out that the header was set, twice.
2 seconds later 161 fails task 0.0 (the only task in the stage, after the .coalesce(1)) due to the header not being set.
The task is retried (attempt 0.1) on the same executor, fails again.
It is then retried (attempt 0.2) on executor 69, where the header was set, and it passes.

Something for us to keep an eye on / think about possible explanations for!

I'm not 100% sure (obviously) but my money is on Hadoop-BAM being borked.

I thought I was seeing this again but decided the behavior is different enough that I'm going to file a new issue.

Bad news: I ran into this again today.
Good news: I've figured out why it's (still!) happening!
Bad news: I don't know how to fix it.
In the no-op mapPartitions+count that we run to set the header on each executor, there is no guarantee that at least one task will be executed on each active executor. Furthermore, there is no guarantee that tasks will run on the same executors during the subsequent writing of the BAM.
Generally, tasks get placed to optimize locality, which is likely to be stable in some cases, but today I ran into trouble because the no-op-count finishes in < 1s, while Spark waits on some (>1s?) timeout before scheduling non-NODE_LOCAL tasks, which was happening in the latter (saveAsNewAPIHadoopFile) stage, meaning certain executors received tasks in the latter but not the former, resulting in quick task and then job failures.
Following are more details about my app, partitions, and executors that exposed this.
I was attempting to load a .bam that is stored on HDFS in 956 blocks spanning 91 nodes. My cluster has 94 nodes; two were offline when this BAM was stored on HDFS, and one's HDFS process is dead but it functions fine as a Spark node.
At the time of the no-op-count stage, I had 319 live (3-core) executors, 4 of which were on 2 of the nodes with no BAM blocks. The no-op-count ran its 956 tasks in < 1s, with NODE_LOCAL locality on all tasks.
Then, the saveAsNewAPIHadoopFile stage ran, scheduling 928 NODE_LOCAL tasks, close to the maximum possible of 945 (3 on each of the 315 executors with BAM blocks, minus 17 executors that only got 2 tasks). 3-4s later, it scheduled the remaining 28 (956 - 928) tasks with RACK_LOCAL locality on [some of the executors that only got 2 NODE_LOCAL tasks previously] as well as [the 4 executors on nodes that have no BAM blocks].
The latter 4 executors failed immediately due to not having the BAM header set, and then retried the failed tasks in such rapid succession that they hit my spark.task.maxFailures of 10 in under 1s and failed the job.
I haven't fully digested the implications of this or thought much about ways to fix it, but I'm going to reopen this as I think it's real and still live!

I think we have a 100% concrete, guaranteed fix in the single file path. Specifically, see https://github.com/bigdatagenomics/adam/commit/7d4b40932275ebf4146fb44d0e03acb3308e0cd9. It's an ugly fix: we write the header to HDFS as a file, and then read it when creating a record reader. It should be straightforward to port over to the "normal" (write a BAM as many partitions) code path, I just haven't done it.

Resolved by #964.

This isn't yet resolved for sharded files, I'll have a PR resolving this for sharded files this AM.


feat(taiko-client): client changes for ontake fork

ref: https://github.com/taikoxyz/taiko-mono/pull/17734

There's one thing that hasn't been done yet. Changes about basefeeAdjustmentQuotient, basefeeSharingPctg, blockGasIssuance.
Will it be done in this PR or the next one? @davidtaikocha

There's one thing that hasn't been done yet. Changes about basefeeAdjustmentQuotient, basefeeSharingPctg, blockGasIssuance. Will it be done in this PR or the next one? @davidtaikocha

Lets do the basefee stuffs in the next PR, this one is too big now.


Remove the 'fill missing directives with default-src value' feature

This should not be required since browsers should implement the effective-directive portion of the spec.
Managing what is considered an inherited value for the various browser versions can get tricky (see https://github.com/twitter/secureheaders/issues/170).
It's not that hard to do the same thing manually
It somewhat encourages lazy, over permissive policies.

Since this should be functionally equivalent to the previous behavior, I'm not going to wait for a major version release. Even though the value of the header and the incoming reports may change, it should have the same effect.


tikv_alloc: added a simple tracing to allocation

What is changed and how it works?

Issue Number: Ref #8235
What's Changed:
This PR tries to reimplement the per-thread memory trace used introduced by https://github.com/tikv/tikv/pull/8277.
Now, we are trying to directly fetch the pointer to the allocated memory and "peek" it from our collector thread.

Related changes

PR to update pingcap/docs/pingcap/docs-cn:
Need to cherry-pick to the release branch

Check List
Tests

Unit test
Manual test (add detailed scripts or steps below)

Release note
Now, per-thread memory allocation statistic can be fetched in metrics.

There are some threads aren't traced:
0a1,4
> advance-ts
> apply-0
> apply-1
> apply-low-0
7a12
> cdcwkr
9a15
> deadlock-0
11a18
> default-executo
14a22,28
> grpc_global_tim
> grpc-server-0
> grpc-server-1
> grpc-server-2
> grpc-server-3
> grpc-server-4
> inc-scan
15a30
> pdmonitor-0
18a34,36
> raftstore-6-0
> raftstore-6-1
> raft-stream-0
21a40
> re-metrics
22a42
> resolver-execut
23a44,45
> rocksdb:high
> rocksdb:low
26a49,50
> slogger
> snap-generator-
32a57,59
> status-server
> steady-timer
> tikv-server
34a62,65
> time updater
> transport-stats
> tso
> tso-worker

@tabokie I have updated some comments, PTAL.
BTW in fact there are still possibility of unsafety made with sequence of safe operation: call after_start_wrapper but omit the before_stop_wrapper. I'm not sure whether it is necessary to bring StillAlive back. (Given the after_start_wrapper should be called pairing with before_stop_wrapper by define but somehow no way to check that, and the little use-after-free may not be really harmful.)

You can make the thread pool builder set the two callbacks by default on its own. The before_stop_wrapper(|| {}) already looks cumbersome.

Yet we are not managing how the thread pool builder is created. And I think there isn't a common way to hook on bulid for different runtimes(You may implement something like build_wrapper, but this may override hooks already on. Not all runtime provides the ability of checking whether there is a hook.).
Anyway I think implementing that is out of this PR's scope. If keeping safety is essential, I think we'd better bring StillAlive back and remove this in another patch that implementing better wrappers.

Then just merge after_start_wrapper and before_stop_wrapper into one.

Then just merge after_start_wrapper and before_stop_wrapper into one.

I agree, but I think we'd better done it in another PR. Perhaps this can be merged for now?

Then just merge after_start_wrapper and before_stop_wrapper into one.

I agree, but I think we'd better done it in another PR. Perhaps this can be merged for now?
(Also notice there is still a glitch: once the user forgot to call the merged function (temporarily name it register_hooks), the system hooks won't be added. We still need to force our user call something like register_hooks(Hooks::SystemOnly).)

The problem here is not whether all threads can be traced (there're already plenty that aren't), but whether the change itself is safe enough. For the trace coverage problem, I don't see StillActive can help either. The way I see it, if coder wants to trace a thread, he is responsible to call register_hooks(|| {}, || {}).

@tabokie I agree the statement about "safety" and "ability". But for now, given:

migrating to the new API is out of this PR's boundary. (we need to introduce new APIs, and do some AST replacing for adapting old codes).
So, if we need a strict "safety" of this PR, I think bring back StillAlive will be a more reasonable way. The StillAlive can be then removed after the API migration finished in another PR. (However the "safety" being kept in that PR.)
If the "safety" shouldn't be strictly kept, then this PR can be directly merged now. We can go to the migration then.

How is changing the interface less safe than adding StillAlive? StillAlive requires assumption on how jemalloc implements TLS, that its TLS will be dropped after rust TLS. And it doesn't help us detect the issue in unit tests. And it is a runtime check.

We need a decision to push things forward.

I think it's apparent that this safety issue needs to be addressed before anything gets merged. If you think this PR is getting too large, you can merge the interface in another PR and merge that one first.

@tabokie Well, the order of dropping thread local variables makes sense. I have refactor this in another PR, PTAL: https://github.com/tikv/tikv/pull/15017

raftstore::test_flashback::test_flashback_with_in_memory_pessimistic_locks::test_raftstore_v2_new_server_cluster
/test

/test
again... pretty strange

/merge


Update README.md

Small variable name change to hint users to make their code more readable and understandable.
I  initially stumbled upon a few codebases that used instructor, and I always found it irritating that it was not clear the OpenAi calls had been patched at first, this small variable name change should make it immediately more clear.

Summary by CodeRabbit

Refactor

Renamed key variables for clarity and specificity in the context of their usage.
Updated model names to better reflect their purpose and content.

Documentation

Adjusted documentation to reflect the renaming of variables and models for consistency and accuracy.

going to close this since we're just using client


Windows nodes use different counters for Perf

Hi team,
When querying Log Analytics with k8snode for Windows node pool nodes, the memory counters are incorrect:

Performance metrics for nodes part of the Kubernetes cluster
Usage metrics are obtained from cAdvisor and limits from Kube api
Perf | where ObjectName == "K8SNode"
Computer, ObjectName, CounterName (cpuAllocatableNanoCores, memoryAllocatableBytes, cpuCapacityNanoCores, memoryCapacityBytes, memoryRssBytes, cpuUsageNanoCores, memoryWorkingsetBytes, restartTimeEpoch), CounterValue, TimeGenerated, CounterPath, SourceSystem

As a result the following query will not return Windows node metrics at all:

let endDateTime = now();
let startDateTime = ago(1h);
let trendBinSize = 1m;
let capacityCounterName = 'memoryCapacityBytes';
let usageCounterName = 'memoryRssBytes';
KubeNodeInventory
| where TimeGenerated < endDateTime
| where TimeGenerated >= startDateTime
// cluster filter would go here if multiple clusters are reporting to the same Log Analytics workspace
| distinct ClusterName, Computer
| join hint.strategy=shuffle (
Perf
| where TimeGenerated < endDateTime
| where TimeGenerated >= startDateTime
| where ObjectName == 'K8SNode'
| where CounterName == capacityCounterName
| summarize LimitValue = max(CounterValue) by Computer, CounterName, bin(TimeGenerated, trendBinSize)
| project Computer, CapacityStartTime = TimeGenerated, CapacityEndTime = TimeGenerated + trendBinSize, LimitValue
) on Computer
| join kind=inner hint.strategy=shuffle (
Perf
| where TimeGenerated < endDateTime + trendBinSize
| where TimeGenerated >= startDateTime - trendBinSize
| where ObjectName == 'K8SNode'
| where CounterName == usageCounterName
| project Computer, UsageValue = CounterValue, TimeGenerated
) on Computer
| where TimeGenerated >= CapacityStartTime and TimeGenerated < CapacityEndTime
| project ClusterName, Computer, TimeGenerated, UsagePercent = UsageValue * 100.0 / LimitValue
| summarize AggregatedValue = avg(UsagePercent) by bin(TimeGenerated, trendBinSize), ClusterName,Computer

memoryCapacityBytes and memoryRssBytes do not report for Windows nodes, which are the correct ones please that will report both platform metrics and also can we have the docs updated to reflect please?
Thank you!

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

ID: 7fe74513-b7be-297f-e157-677f4d5b32f5
Version Independent ID: f64ce60b-26a4-9c0a-1303-052ea2bd0d14
Content: How to Query Logs from Azure Monitor for containers - Azure Monitor
Content Source: articles/azure-monitor/containers/container-insights-log-search.md
Service: azure-monitor
Sub-service: containers
GitHub Login: @bwren
Microsoft Alias: bwren

Thank you @AdamSharif-MSFT for bringing this to our attention, we will review and get back to you at the earliest.

@AdamSharif-MSFT Apologies for delayed response on this, I am checking on this with the internal team and will get back to you at the earliest.

@AdamSharif-MSFT After further analysis and testing in the demo Log Analytics instance , we do see memoryCapacityBytes and memoryRssBytes counters showing up for windows machines as well.
I will reach out to you internally to further work through on this one and post analysis if still see any issue with the documentation we will update the document accordingly and update this thread , which would help rest of the community members.
At this point it appears that there's no immediate edits or updates needed to the documentation. We will go ahead and close this issue for now , however if you have any further queries/feedback on the document please tag us in your reply and will be happy to reopen the thread and continue the conversation. Thank you


not work with position fixed

Describe the bug
not work if parent have position fixed
To Reproduce
for reproduce you can open this link https://codesandbox.io/s/5l09vv1n4
Expected behavior
need infinity scroll work
Device (please complete the following information):
ALL

@danbovey just pass useWindow={false} to props of <InfiniteScroll /> 👍
Your updated sandbox: https://codesandbox.io/s/yvjv8wzzx1


Please provide prebuilt samples

Please provide prebuilt binaries of Photino samples for Windows 10 for users without Visual Studio to quickly check it out. Thanks!

Unfortunately this would add substantial extra upkeeping tasks to our team, especially whenever new features are added to those samples. The .NET SKD is free and so is VS Code, and available on all platforms.


Token chaining improvements

Can you add some unit tests? At least so that we can understand what the change is enabling. Thanks.

I Added tests for existing parameterized token method (Token(Func<string, string> filter, Func<string, TData, object> tokenValue)) which was not explicitly tested yet (but implicitly tested through DateTokens in TestChainedTokens), and for the newly created parameterized chain method.


Duplicating layers does not generate a new layer event

As reported here: https://groups.google.com/forum/#!topic/adobe-generator-dev/5wF-Ro0KMBs

If you duplicate a layer (right click->Duplicate layer...) there is no event for the new layer, just a "changed=true" for whole document and selection of new layer
  "version":"1.2.0",
  "timeStamp":1433319803.263,
  "count":3,
  "id":1214,
  "changed":true,
  "selection":[1]
  }

Steps to replicate (Photoshop CC 2014 latest version)

Create a new document
Select layer
Right click on the layer and select "Duplicate layer"

This needs to be fixed in photoshop-core. I have an open task on my backlog and the code written to fix it. Just need to get reviewed. It will land in the next release of photoshop.

User reports this issue persists in CC 2015.

Thanks for taking this on, @jaredadobe !

Filed Watson bug 4036322

This should be fixed in Photoshop.next.  We'll send out layer:added instead of  image:changed:true.  Commands affected are group, duplicate, dragging layers between documents.  You may also see a clip: change if clipping had to be changed on an existing layer to accommodate the add.  Also fixed the smart object message to send layer:smartObject{}, instead of layer:changed:true
(image:changed:true or layer:changed:true, just means the command or operation hasn't been retrofitted for change messages, so consider those mean everything changed in the image/layer).

FYI, user indeed reports this is fixed in 2015.1.1. Thanks, @timothynoel


backups: Add option to disable file revisioning

This adds the ability to disable file revisioning (from #39) with the BACKUPS option in the config file.
Also, it adds a BACKUP_EXCLUDE list which is a list of wildcard patterns which can be used to exclude certain files from backup revisioning. This is useful for temporary files such as those used for locks and undo space.

The BACKUPS option has been merged into the master branch and release in v0.2. The new backup strategy uses rsync --backup to do the backups which doesn't support exclusions at the moment. I'll leave this open and ponder how exclusions could be implemented.


Get Organized

This repo is responsible for the delivery of an implementation guide that can be used by prospective public identity utility projects. The guide MUST be intended as a tool for those projects seeking aid from the UFWG.
The first order of business (and focus of this issue) for the UFWG Task Force responsible for this deliverable is to:

Configure the new repo
Establish a guide outline
Prime the new repo so that TF members can begin authoring content.

@lynnbendixsen has a proposal for an outline that can be used to shape the initial version of the mkdocs.yml.

@lynnbendixsen has a proposal for an outline that can be used to shape the initial version of the mkdocs.yml.

The outcome of the first first TF mtg should be the resolution of this issue with an associated PR.

The outcome of the first first TF mtg should be the resolution of this issue with an associated PR.

I think I have "primed" the new repo. Happy to make any adjustments needed, as this is unfamiliar territory for me.

#2 commits initial outline.

The GitHubPages Site is not functioning.
@lynnbendixsen please follow these setup steps.
Once you have an outline --- it needs a to be reflected in the YAML in lines 31++

@vinomaster I followed the instructions as completely as I could, but I just don't know enough about how it all works to be able to test/debug it on my own to fix things before my next checkin. I even looked at another project to see if I could use it as an example, and found that perhaps I needed to update the Navigation structure section and perhaps others below that (perhaps this needs added/clarified to the instructions?). A side note: Looking at the site itself, it still looks to me like the wrong yaml file is being used to serve the page, so maybe I missed something in another file that should get the site to point at my mkdocs.yml file?  (The current site shows remnants of the template file, that I know I have replaced in my checked in yml...  I might need help debugging this)
A few minutes of explanation and help getting me started with how all of this works and how all the files work together with the build process would help me a lot.  Thanks for the feedback!

I see what I was missing now.  I found the DEV_README instructions and should be able to follow those now to get my env setup and make sure things are good before checking them in.  I suggest adding a note to the setup steps pointing at that file as a final step towards getting things working and looking good (if its not already there).

#3 attempts to fix the "404" error and the errant issues in the README.  During testing it did not seem to fix issues with the header (page banner), but after spending a significant amount of time I was unable to resolve the issues, even when comparing my files to similar ones in the "whitepaper" project.
I am hoping that the PR (#3 ) being checked in, will cause a build in a different environment that will fix the issues.  It possible that my dev issues were because I built on a Mac.


Merge staging into production

Pull Request Test Coverage Report for Build 1026

3 of 5 (60.0%)  changed or added relevant lines in 3 files are covered.
155 unchanged lines in 10 files lost coverage.
Overall coverage increased (+1.1%) to 49.584%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

frappe/email/smtp.py
0
2
0.0%

Files with Coverage Reduction
New Missed Lines
%

frappe/core/doctype/doctype/doctype.py
1
71.2%

frappe/database/database.py
1
69.23%

frappe/model/db_query.py
1
68.16%

frappe/recorder.py
1
97.22%

frappe/sessions.py
1
32.23%

frappe/utils/goal.py
1
95.08%

frappe/database/init.py
2
14.29%

frappe/database/schema.py
4
78.57%

frappe/database/postgres/schema.py
37
0%

frappe/database/postgres/database.py
106
0%

Totals

Change from base Build 1011:
1.1%

Covered Lines:
21403

Relevant Lines:
43165

💛  - Coveralls


not able to get into blob storage

Not able to get into blob storage.

Unable to retrieve child resources.
Details:
["RestError:AuthorizationFailureThis request is not authorized to perform this operation.\nRequestId:b0ea28e7-601e-0084-4ca4-b3cb83000000\nTime:2020-11-05T18:49:24.0149811Z"]
Macbook Pro - version 10.15.7 (19H2)
Azure Storage Explorer
Version: 1.15.1
AzCopy Version: 10.6.0
Platform: macOS
Architecture: x64
Build Number: 20200902.9

The error indicated that you might not have access to the blob container. How do connect to the source? Sign-in? Attach?  Is this working against an emulator?

@jinglouMSFT
No, it is not the authentication issue.
I log-in with same azure account into windows storage explorer and i can access everything there.

@amtsha09 is it possible your storage has a firewall/network restrictions that make it not possible for you to access the account from the network your mac machine is on?

Closing due to lack of response. If you are still having issues, please either reopen this issue or open a new issue.


VST3 + DISTRHO_PLUGIN_HAS_EXTERNAL_UI view sizing

Excellent work on the VST3 implementation !
I inserted a debug message into DistrhoUIVST3.cpp like this:
    void doIdleStuff()
    {
        d_stdout("doIdleStuff()");

     ...

And noticed the message is never printed when DISTRHO_PLUGIN_HAS_EXTERNAL_UI is defined.
Is this the expected behavior?  specifically my plugins are failing to request a new size, while the VST2 builds work as expected. DPF prints this instead:
plugin->host setSize 600 300 (IGNORED, host resize active)
Looks like the flag fIsResizingFromPlugin is always true and never cleared because doIdleStuff() is never called. There is a single fIsResizingFromPlugin = false line and it belongs to that method. I think this flag prevents a resizing feedback loop but honestly I haven't thoroughly studied this.

I didnt spend any time on vst3 and external ui yet, there is going to be a need to write some custom code to handle that properly on non-x11 platforms.
I would say the vst3 ui is not ready yet, and focus should be on finalizing the non-external stuff first. At least right now on there are issues reopening the UI on bitwig.
Once the non-external stuff works fine, I will see about the external case.
But if you want to help out, the situation here is that vst3 does not expose ui idle time for win/mac, only on x11 (by the use of the host-timer interface).
On win/mac the way I got this to work is to register a callback with pugl that will drive the plugin UI, rather than the host calling ui idle and that driving the pugl stuff (which is how all other formats work in dpf).
For x11 though, it should work similar to vst2 in theory, so it will be easier to make that work first.

Naive question but why VST3 cannot just work like VST2 in this regards? is there a fundamental difference, like VST2 requiring the host to call a method at a regular interval, and VST3 not?
I see DPF_VST3_USING_HOST_RUN_LOOP will only work for Linux but not sure why.
For Mac there is GCD or NSTimer. A further method optimized for graphics is called CADisplayLink. Just throwing in some names, maybe you already saw all this. Would need to better understand the stack myself.
Leaving some links found on the way
https://dmtopolog.com/cadisplaylink-and-its-applications/
https://stackoverflow.com/questions/55131532/difference-between-dispatchsourcetimer-timer-and-asyncafter

I see DPF_VST3_USING_HOST_RUN_LOOP will only work for Linux but not sure why.

It is just how it is defined in the spec.
Instead of hosts driving the plugin UI event loop, UIs are now supposed to hook into the native OS APIs instead.
Since Linux/X11 does not have such APIs, one is provided by the host.

Thanks, makes sense. I'll start by having a look on macOS.

Probably I'm insisting on something that is not supposed to work yet, but asking anyways. On REAPER/Linux, d_parameters displays fine but clicking on any of the boxes does not trigger an update on DSP's side (can be checked by switching to the generic plugin UI). The inverse works though, tweaking a param using generic UI is reflected when reopening the custom UI. Is this expected at this stage?
( BTW, UI input and graphics work as expected on Linux like pointed out in an earlier message )
Adding some new findings related to external UI, actually the tough part might not be such:
On Mac I realized my existing system widget-based UIs already work out of the box, there is no extra work needed to hook into the host main loop. This is apparently because inserting a native view into the host-provided parent native view already ensures the child will get events (comment no. 2 here). What is missing is calling the doIdleStuff() method periodically because it is required by some internal DPF operations. That's probably all. The sizing problem is not an issue with the native widgets themselves.
Same is true for Windows, native widget works and even displays in the expected size. This is surprising but I would wait until trying live resizing.
Overall this looks promising.

Probably I'm insisting on something that is not supposed to work yet, but asking anyways. On REAPER/Linux, d_parameters displays fine but clicking on any of the boxes does not trigger an update on DSP's side (can be checked by switching to the generic plugin UI). The inverse works though, tweaking a param using generic UI is reflected when reopening the custom UI. Is this expected at this stage?

I thought I fixed that already, you sure you are using latest develop stuff?

On Mac I realized my existing system widget-based UIs already work out of the box, there is no extra work needed to hook into the host main loop. This is apparently because inserting a native view into the host-provided parent native view already ensures the child will get events (comment no. 2 here). What is missing is calling the doIdleStuff() method periodically because it is required by some internal DPF operations

Yes, and that is exactly the problem.
On external UI the issue is not that directly noticeable but on native/embed it can make the UI simply not draw anything.
The external UI doesnt have that much work to do internally.

Started clean and retested with same result, latest commit :/
Regarding the events part all clear, thanks for clarifying.

Ok I need to check reaper again, all these damn hosts implement vst3 differently, it is frustrating..

Added a PR that implements a native timer for calling doIdleStuff() on macOS.
This alone has not solved the size problem mentioned above. It seems to be rooted in the UI initialization, won't bother too much with external right now -- just trying to understand what is the purpose of the willResizeFromHost in UIVst3 constructor coz I can't infer it from the name:
UIVst3(v3_plugin_view** const view,
           v3_host_application** const host,
           v3_connection_point** const connection,
           v3_plugin_frame** const frame,
           const intptr_t winId,
           const float scaleFactor,
           const double sampleRate,
           void* const instancePointer,
           const bool willResizeFromHost)
        : fView(view),
          fHostApplication(host),
          fConnection(connection),
          fFrame(frame),
          fReadyForPluginData(false),
          fScaleFactor(scaleFactor),
          fIsResizingFromPlugin(false),
          fIsResizingFromHost(willResizeFromHost),
          fUI(this, winId, sampleRate,
              editParameterCallback,
              setParameterCallback,
              setStateCallback,
              sendNoteCallback,
              setSizeCallback,
              nullptr, // TODO file request
              d_nextBundlePath,
              instancePointer,
              scaleFactor)

It is set to true when view->nextWidth > 0 && view->nextHeight > 0.  Under which circumstances nextWidth or nextHeight can be 0?
If I hardcode willResizeFromHost to false, my plugin size is the expected when opening the UI. Note this issue only affects Mac VST3, and not Linux or Windows. Same plugin codebase works as expected for VST2.
Pseudocode for UI subclass constructor:
super( someWidth, someHeight )   //  non zero dimensions

setSize( N * getWidth(), N * getHeight() )   //  does not work, DPF complains "(IGNORED, host resize active)"

I guess the timer patch will fix the "IGNORED..." issue when trying to resize the plugin after initialization ( because fIsResizingFromHost is now regularly cleared ) but this has nothing to do with the init sequence just described above.

The issue with vst3 resizing is that by spec it needs to work differently than anything before it.
Contrary to vst2, on vst3 only the host is allowed to change the size of the window, the plugin UI itself is not.
For the UI to set its own size, it needs to request a resize to the host, which will either then call the resizing methods or ignore the request.
The initial size (called "nextWidth" etc here in DPF) happens because sometimes hosts request the size of an UI before it is created. The host can set a custom size before UI is created too.
So in order to support this, dpf caches the "next width/height to use once a UI is created", and if that is not zero it gets set as the initial size of the plugin UI.
This behaviour differs between hosts, some will create the UI and then ask its size; some will ask the size and then create the UI.
Because of the weird way vst3 wants to handle UI resizing, dpf uses "resizing from host" and "resizing from plugin" flags to know the current state.
For example, if the host has just triggered a UI size change we need to ignore the plugin's setSize callback (because it was triggered due to a host initial event). This is the case for the first size request you are seeing on your logs, where it complains about the "host resize active". Since the host requested a size change, the plugin should not then at the same time request also a size change, to prevent recursion.
On the other side, after the UI is open and the plugin requests a size change, we need to flag that so that the next host-side resize event is handled properly, as a way to know that this size request originally initiated from the plugin side and is now being called by the host as specified by vst3.
It is a bit messy, but that is just how vst3 defines the size stuff.

Thanks a lot for the detailed insight. What a powerful trademark VST is, cannot find a better explanation.
Do you think clearing fIsResizingFromHost immediately after being tested in setSize() is safe? if I correctly understood it is enough with a skipping a single size request. It sounds cleaner than ignoring requests until a (IMHO) unrelated event happens in the future, that is the idle callback (though this can be complementary). Can you think of any side effects?
        if (fIsResizingFromHost)
        {
            fIsResizingFromHost = false;   // <-- new line
            d_stdout("plugin->host setSize %u %u (IGNORED, host resize active)", width, height);
            return;
        }

This allows doing things like shown in the pseudocode snippet above (tested: issue goes away for my plugin).

Do you think clearing fIsResizingFromHost immediately after being tested in setSize() is safe?

no, I dont think that is a good idea. a plugin doing 2 resize requests would have the 2nd one working but not the 1st, which is very inconsistent.

I spent a while digging down the UI layers and think I won't be able to fix this on my own because it involves touching things I don't really understand :)
It is probably a special case after all; I fixed this by altering my plugin init in a way that is harmless to VST2 and LV2.
Should I close this issue report or rename it?  there's the other issue with parameters on REAPER/Linux. Probably it deserves a new issue report?

You can keep it open, I can try this again later on

Cool, FYI made an interesting finding. I have a basic gain plugin which runs fine as VST3 on REAPER/Mac. Updating a parameter using the custom UI isn't reflected in REAPER's generic UI (as with d_parameters like described above) but... it actually has an effect on DSP! ie, gain control works sound-wise.  So it's more confusing now and yeah totally look like some REAPER specific thing.

Huh I thought it was only for parameter outputs that things didnt get updated.
worth testing with and without instance access, dpf does the vst3 plugin a bit differently depending on that config

Setting DISTRHO_PLUGIN_WANT_DIRECT_ACCESS to 1 fixes the issue !
BTW, my plugin relies on some functions in DistrhoUtils.cpp but enabling direct access renders such methods unavailable, have a look at DistrhoUIMain.cpp:
#if !DISTRHO_PLUGIN_WANT_DIRECT_ACCESS && !DISTRHO_PLUGIN_TARGET_JACK && !DISTRHO_PLUGIN_TARGET_VST2 && !DISTRHO_PLUGIN_TARGET_VST3
# ifdef DISTRHO_PLUGIN_TARGET_DSSI
#  define DISTRHO_IS_STANDALONE 1
# else
#  define DISTRHO_IS_STANDALONE 0
# endif
# include "src/DistrhoUtils.cpp"
#endif

Removing DISTRHO_PLUGIN_WANT_DIRECT_ACCESS from the preprocessor conditional allows DistrhoUtils.cpp to be included and my plugin to compile. But not sure there are side effects, what should be do here?

I think you misunderstand. the direct access means the same object is used for dsp and ui, so it only needs to be defined on dsp side (otherwise the function symbol is duplicated)

That's true, I think I found the source of confusion. I took d_info this time to rule out any issues in custom code. There is a combination that makes compilation fail, which is:

Add getBinaryFilename() call in UI code.
Add #define DISTRHO_PLUGIN_WANT_DIRECT_ACCESS 1
Leave TARGETS += lv2_sep

Result:
Creating LV2 plugin UI for d_info
Undefined symbols for architecture x86_64:
  "DISTRHO::getBinaryFilename()", referenced from:
      DISTRHO::InfoExampleUI::InfoExampleUI() in InfoExampleUI.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [../../bin/d_info.lv2/d_info_ui.dylib] Error 1
make: *** [examples] Error 2

If I correctly understand lv2_sep produces two separate binaries so the utils code is missing for the UI only for this special case
Summarizing, the current workaround for VST3 on REAPER is enabling DISTRHO_PLUGIN_WANT_DIRECT_ACCESS. And for any plugins hitting the unique configuration above, either lv2_sep needs to be disabled or calls to util removed from UI.

you cant have lv2 dsp+ui instance access if the dsp and ui binary objects are in different files.
so that is not an issue, and not meant to happen at all. we can ignore it.
the issue in reaper might be due to dpf then separating component from controller (in vst3 terms).
vst3 has this whole logic about such separation, which I went to great lengths to ensure it works for dpf. but sadly very very very few plugins actually do this separation, really I think it is single digits.
so might just be no bug at all on our side, dont know yet.
one thing that is not working for sure: parameter outputs (read-only in vst3 terms) do not get updated on the host internal editor. I confirmed this to be a bug in ALL vst3 hosts when the plugin does not have a custom gui.
hosts were simply not expecting plugins to not ship with a custom gui ?? anyway, bitwig at least confirmed the issue and said fix coming.

You're right, I focused too much in a single thing and forgot the fact that direct access does not make sense if you are planning to support lv2_sep. It might be interesting to detect this invalid configuration and throw a compilation time error, though.
And having direct access for a format and not having it for another just does not make sense. This was only a test for VST3 and got overly enthusiastic about it lol.
Thinking twice, if DSP gets updated on UI changes that's enough for claiming VST3 compatibility. Though I don't know the internals I better get the situation now and there's not much to do other than wait for the DAW makers. Thanks for the insights, I find this really unbelievable.

well I said it before: vst3 has some great ideas, but some really awful ones too.
the more complex something becomes, the harder it is to implement, so I think it is quite natural that a few edge-cases slip through.
specially coming from vst2 where dsp and ui/controller couldnt be separated.

This should be addressed by a consortium of DAW makers, really cannot understand how they are allowing a company that is not that relevant anymore to take over this opportunity and let them continue profiting on some old trademark, at the expense of development resources. I'm quite sure the DAW guys would rather spend that money on new features for their products. I see a single winner in this scenario. /r

well the alternative is LV2, or making yet another standard.
bitwig and u-he are pushing for the latter, due to one of their developers having a hate for LV2 and the project managers just going with it instead of finding out by themselves if there is actually useful stuff in LV2 or not... :disappointed:
JUCE indicated in https://github.com/juce-framework/JUCE/issues/123#issuecomment-1008798161 that LV2 support is in the final stages, so let's hope the audio industry is more welcoming to LV2 than bitwig is.
We dont need yet another standard, there are too many of them already.

Well a consortium does not necessarily need to develop a new standard, I was thinking about LV2 as well. The key point is that no private single company should be allowed to leverage the lack of coordination in the industry, this is already proven: many decades of no-coordination + VST2 led us to VST3. As a DAW maker now you are forced to adopt it... It is not free. And users? well, users couldn't care about less. Nonetheless great commercial move by SB.
Bitwig supporting Linux and not LV2 is mesmerizing. Also supporting JACK but not JACK-MIDI. Not sure how could I trust them to push for a new "open" standard this way. IMHO one should try to make friends first. Otherwise all we will have is a new AAX and I don't think Bitwig has such a leverage to push that. Hope they reconsider this, solving a coordination problem cannot be done by engineering only.
I found your contributions to JUCE/LV2 in the past but didn't follow the saga, so great they will be finally adopting it!  It's actually a HUGE move for the format! well done.

We can always try to coordinate something with David Robilla, author and current maintainer of LV2.
He knows about the whole situation and issues, there is a whole work around "lv2kit" being done behind the scenes just to make LV2 more palatable to those used to those sorta all-in-one SDKs.
afaik even pugl will be contained in it eventually.

I found your contributions to JUCE/LV2 in the past but didn't follow the saga, so great they will be finally adopting it! It's actually a HUGE move for the format! well done.

To be clear here, they are using 0% of my code. Everything on the LV2 implementation they did is from scratch.
They are not interested on outside collaborators at all.

Definitely great to have some all-in-one solution. I personally prefer to pick smaller tools and group them together but the fact why (for example) JUCE is so popular shouldn't be overlooked.
I recall reading something about the collaboration thing, go figure.
Off topic but still related to formats. What is the state of the AU branch? I'm sadly having little time for open source lately but still hoping to contribute, I have some experience on AU.

the AU stuff kinda got stuck because I lost motivation for it.
for AU we need to keep in mind if we want to do the older, more generally supported but deprecated AUv2 or the new AUv3 format.
the initial work was done for AUv2
something else to keep in mind is that newer macOS (anything since 10.14 or something) cache the AU plugin information and does not invalidate it even after replacing their component files.
also AU plugins require a special non-trivial step of generating a "*.r" resource file using tools native to macOS (making cross-compilation difficult)
those were the step that pushed me away, it was too much of a hassle to test things.
by now devs probably figured out ways around them. I remember @jpcima having some opensource tool to generate the resource files

Excellent, thanks very much for the overview.

also AU plugins require a special non-trivial step of generating a "*.r" resource file using tools native to macOS

This is still in use nowadays? the code is here if you need it. https://github.com/jpcima/AuRez
It took most of the resource format reference from an old book on Mac OS 9 internals.

This issue was fixed in https://github.com/DISTRHO/DPF/commit/4313bac8873d9f62c9a6319a4a8faba8219147e2


Wrote a Gitea webhook to AWS S3 service

Just wrote a Gitea webhook to AWS S3 service, maybe someone would be interested to check it out for the integration with AWS CodePipeline and CodeBuild.
https://github.com/leonli/webhook-to-s3

Wonderful!
Feel free to send a PR here to add it to the list: https://gitea.com/gitea/awesome-gitea

Please go to https://gitea.com/gitea/awesome-gitea/pulls/11


Enhance get_list_of_xx calls by allowing for filter by network id

Enhance get_list_of_xx calls by allowing for filter by network id
Description
While developing utils using libcloud, I found that there were several routines in the LoadBalancer driver that just did not seem right. Specifically, these were the "get a list of XXX"-type routines. I felt (and others agreed) that it was "less than ideal" that these routines all defaulted to "return EVERYTHING from your company across ALL networks". Initially, I assumed that it would filter by network (since I had already told the LB Driver what my network Id was. However, in testing my util, I found that it return LoadBalancers (in my case) from networks that I had never heard of.
Therefore, I created this PR. The interface changes are BACKWARDS compatible.
For example:
def list_balancers(self) ==> def list_balancers(self, network_id=None)
Status
This code has been tested to show that:
by default, the original all-encompassing lists are returned.
using the new parameter, a list that only applies to the given network id is returned.
I do have several more tests that I want to run. I won't be able to get to those until 8/31/16 though.
Checklist (tick everything that applies)
I will get to these (and update the PR as needed) on the 31st.
I just wanted to get you this code as soon as possible.
Code linting (required, can be done after the PR checks)
Documentation
Tests
ICLA (required for bigger changes)
NOTE: We took this "concept" and applied to all the places that WE needed. This may apply to the compute and backup drivers as well.

also, convention is that optional parameters that are not defined in the base classes are prepending with ex_ so I'd ask that the filter was ex_network_id. BUT, I'm assuming this is the Network Domain and not the MCP 1 network? In which case, ex_network_domain_id, just to make people type a few more characters.

@tonybaloney Updated based on your comments.  Please re-review.


Unable to resolve service "MyLogger" to a factory

Hi there,
I tried to install it using your installation guide but after I successfully executed all steps I only get this error by trying to open the page. Can you help me please? The region about MyLogger was not touched by me.
Some information:

tried php 7.0 and 7.1 (both with installed gd and intl)
fetched code using git clone
also did a composer update whcih updated quite a lot packages - but still not working

Fatal error: Uncaught Zend\ServiceManager\Exception\ServiceNotFoundException: Unable to resolve service "MyLogger" to a factory; are you certain you provided it during configuration? in /var/www/virtual/evepage.space/scan/htdocs/eve-skylizer/vendor/zendframework/zend-servicemanager/src/ServiceManager.php:681 Stack trace: #0 /var/www/virtual/evepage.space/scan/htdocs/eve-skylizer/vendor/zendframework/zend-servicemanager/src/ServiceManager.php(757): Zend\ServiceManager\ServiceManager->getFactory('MyLogger') #1 /var/www/virtual/evepage.space/scan/htdocs/eve-skylizer/vendor/zendframework/zend-servicemanager/src/ServiceManager.php(200): Zend\ServiceManager\ServiceManager->doCreate('MyLogger') #2 /var/www/virtual/evepage.space/scan/htdocs/eve-skylizer/module/User/src/Service/Factory/UserManagerFactory.php(24): Zend\ServiceManager\ServiceManager->get('MyLogger') #3 /var/www/virtual/evepage.space/scan/htdocs/eve-skylizer/vendor/zendframework/zend-servicemanager/src/ServiceManager.php(758): User\Service\Factory\UserManagerFactory- in /var/www/virtual/evepage.space/scan/htdocs/eve-skylizer/vendor/zendframework/zend-servicemanager/src/ServiceManager.php on line 681

Never mind, solved it by cleaning the cache. Some old config file (which was broken) was cached and used instead of the working one ...


Getting refresh token having issues

Hey was hoping for some help regarding getting my refresh token to work properly. Im doing a check to make sure my connections to sandboxes are still valid, my app currently connects multiple instances together. After about 24 hours thought the check im doing always fails with invalid_grant: expired access/refresh token
   const conn = new jsforce.Connection({
        oauth2: {
          loginUrl: determineLoginUrl(),  (if sandbox this is test.salesforce.com)
          clientId: consumerKey,
          clientSecret: consumerSecret,
          redirectUri: dynamicRedirectUrl(), (this is for either local dev or production)
        },
        instanceUrl,
        accessToken: fetchedAccessToken,
        version: salesforceAPIVersion,
        refreshToken: fetchedRefreshToken,
      })
      console.log(conn, 'connection')
      conn.query(queryString, (err) => {
        console.log(err, 'errorr here')
        if (err) {
          res.status(200).send('Error')
        } else {
          res.status(200).send('Success')
        }
      })
    } catch (error) {
      res.status(200).send('Error')
    }

we store the tokens we create upon creating the original connection but after we have these envs setup we do checks to make sure the connection is still valid. Any help would be greatly appreciated!

I was under in the impression if valid refresh token that even with expired access token the conn.query would still work. Do i need to add the one of the refresh flows? This connection is originally setup using oauth

From my experience the refresh token flow works no matter if your access token is expired. You should check out all your code paths where you are storing and using the refresh token to make sure that the refresh token used never changes for a user. (e.x. make sure your persistence and retrieval from persistence don't have any bugs)
Also, make sure you have the refresh_token scope included in your connected app (as a default or specified during auth flow) otherwise you won't get a refresh token to begin with.
One easy way to test is by invalidating your access token by deleting your AuthSession records
e.x. delete [SELECT Id, UsersId FROM AuthSession] (add where clause for the exact user you are testing with if needed)
that will force the access token to be invalid so that you can debug the next query request to investigate.
If you are using conn.on('refresh', (accessToken, res) => {}); beware that res is undefined and that you need to keep your existing refreshToken as you are not given a new one. You only get a new accessToken.
If you are not using conn.on('refresh', and you are often re-initializing the connection on your server then you probably need to listen to this even and persist the refreshed access token, otherwise every single request the user makes will always require the refresh flow which takes additional network requests for each operation.

thanks for this info @paustint, if I have already made a sf connection when the user first connects that sf instance to the app, should I not be doing a new jsforce connection? or would you think I would need to still do that but then do the conn.on('refresh', (accessToken, res) => {}); and put my conn.query inside of that?

im not currently using doing any conn.on or conn.oauth2.refreshToken

do you happen to know if i need to refresh the access token before i run conn.query? if so, would i need to make the connection do a conn.on refresh and then make a new connection with the updated access token then follow that with the conn.query?

@jaagaard01

thanks for this info @paustint, if I have already made a sf connection when the user first connects that sf instance to the app, should I not be doing a new jsforce connection? or would you think I would need to still do that but then do the conn.on('refresh', (accessToken, res) => {}); and put my conn.query inside of that?

It is up to you if you want to create a new connection or re-use an instance.
If multiple users are interacting with your server at the same time, then they will each need their own instance for sure.
But for any individual user, it is up to you if you use one conn or a new one each time - it depends on how your application is structured and what your usage patterns are etc..
conn.on('refresh', (accessToken, res) => {}); is an event the will fire if and only if the access token was expired and a new one was obtained automatically behind these scenes - in which case you might want to store the access token in your DB for future use. the jsforce instance automatically gets the new access token so you don't need to do anything.
You will not call this directly and it may never be called, so you will only put code in that to save the new accessToken in your DB, since you are saving the tokens.

do you happen to know if i need to refresh the access token before i run conn.query? if so, would i need to make the connection do a conn.on refresh and then make a new connection with the updated access token then follow that with the conn.query?

No, you should never need to refresh the token yourself, this should all be handled transparently.
The refresh flow should just work, and if it isn't that means that you are initializing jsforce with an invalid refresh token or your conected app / authorization flow are not setup to correctly support using refresh tokens.


Patch pkg-config to remove gfortran dependency

Patching ipopt.pc.in as discussed in conda-forge/casadi-feedstock#2 to remove the dependency to gfortran.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

This version is not built because of the skip ci command

Gotcha, thanks for the heads up: thought the squash might remove that, didn't want it to get built twice just because I forgot the build number
Just did a git amend on master to remove the skip ci tag.

The patching because of mumps_mpi.h should no longer be necessary as of version 3.12.17. I'm not sure I understand yet why the patch to ipopt.pc is necessary, but I'll comment on that in the discussion here.


IE11 logo size and feed icon alignment issues

Screenshot

Steps to Reproduce

Ensure you have a logo added in the General Settings admin screen
Load your blog's home screen in IE11

Technical details

Casper Version: 2.1.7
Browser Version: IE11
OS Version: Win 8.1

I'm wondering has anyone else has had this happen to them? I've personally not been able to see it happen on my own site. Using a SVG for my logo.
Screenshot

Technical details

Ghost 1.19.0 Production
Casper Version: 2.1.7
Browser Version: Internet Explorer 11.1000.17035.0 (Update Versions: 11.0.47)
OS Version: Windows 10 Pro Insider Preview (Build 17035)


🐞 [BUG] - The FAQ buttons are not working

Issue Verification

[X] I have verified that this is a new bug report.
[X] I'm interested in working on this issue
[X] I'm part of GSSOC organization

Describe the bug
The faq buttons in the home page are not working or displaying anything related to the answers when clicked.
Expected behavior
The answer must become visible in a drop down fashion
Steps to reproduce
Go to the website homepage
Click on FAQ + button
Additional Context

@jfmartinz I want to work on this issue


Is PSReadLine shipped with WMF 5.0 Production Preview (Windows 7)

I just installed the WMF 5.0 Production Preview on Windows 7 and PSReadLine was not installed. Is it only shipped on Windows 10? If this is the case it's very confusing.

Yes, it was an intentional choice to ship PSReadline on Windows 10 but not in the WMF package for downlevel machines.  Fortunately, it's super easy to install after you've installed WMF5 because you have PowerShellGet installed with WMF5, so it's just:
Install-Module PSReadline

@lzybkr Might you shed some light on why the decision was made?
I understand the ease of using the PSReadLine module from the PowerShell Gallery but I've noticed PowerShell 5.0 loads the module automatically whether I want it to or not.
I see on Windows 10 there is
[Microsoft.PowerShell.ConsoleShell]::UsePSReadline = $false

but it doesn't work on Windows 7. Because the module is always in use I'm not able to uninstall it -- any ideas?
Finally, I'm using the PSReadLine fork from @srdubya for the Vi support so I'm not really able to use PowerShellGet. Do you have any idea when that fork might actually make it into the published module?

I was not part of the decision making process, so I can't comment on the decision to not include PSReadline in WMF.
That line you reference from Win10 was in a preview build, but not the RTM version of Win10.
PSReadline is not loaded if PowerShell is started non-interactively, so you could do something like:
powershell -noprofile -command "Install-Module PSReadline"

or
powershell -noprofile -command "Update-Module PSReadline"

Updating on Win10 is also a little tricky because Update-Module doesn't actually work until it is first installed with Install-Module.  There is no reason to do either of these yet on Win10.  Hopefully I'll have some bugs fixed and a new release soon, then it will make sense.
vi support will come, I'm just not sure when.  PSReadline has turned into real work instead of a fun side project.  I have essentially no time allocated for it yet many bugs (not all reported on GitHub) that need to be fixed.
Each time I play with vi mode, I find a bug very quickly, so when I get serious about integrating it, I'll probably use it exclusively for a week or two before I decide it's ready.  That said - it looks really good right now.

Actually I was playing with the WMF 5.0 Production Preview on Windows 7 and that's where I was having the issue of PSReadLine autoloading and always being in use. PSReadLine appears to load as one of the default modules once it's installed either via Install-Module or placing PSReadLine in $env:PSModulePath.
Thanks for the suggestions -- I'll give those a try although I can see Update-Module being a pain with any DLL based modules once the DLLs are loaded.
The latest builds of Vi mode have been very good for me. There are still some minor issues around delete commands deleting too much but no real showstoppers. Vi mode has been a real productivity boost for me having to jump between bash/zsh/PowerShell all day long. I'm hardly a Vi expert but PSReadLine + Vi support is awesome! :grinning:

As far as I know, every reported issue flagged as vi-specific has been addressed.  Please submit defects for the problems you're seeing.

@srdubya I lost my list... :frowning: But, it was a pretty short list. It's mainly just inconsistencies between PSReadLine+Vi and vim/gVim. I'll post more issues as I find them and can write up a repro.

I just fixed the last issue I hit.  I'll do more of that as I find the time.


android:inputType="number" is not working on Marshamallow

android:inputType="number" and android:digits="0123456789" is not working on Marshamallow
show some alphabetic keypad

Thanks for reporting, i think this is related to #7

Fixed in above commit and will be in 0.7

thanks dude..
i forgot to told you ,
but we manage that library code, some following changes in ShowHidePasswordEditText.java file in last week
ShowHidePasswordEditText.txt

Hi, I'm not keen on the wrapping, catching and ignoring of the Exception within OnTouchEvent - but hey thanks for sharing


Better error handling for password-reset

Is your feature request related to a problem? Please describe.
When clicking on a password reset link, the user does not know whether the link is still valid.
If it isn't and the user continues to submit the form, the user gets a very general error message.
Improve error handling (eg. better error message, check whether key is still valid, etc.)

@michael-markl i recently implemented the link checker which returns if it's valid link in general and if it isn't expired. Think this can be closed as we have a general refactoring ticket #873


Missing to scale stain concentration in VahadaneNormalizer??

I read the paper and found we need to scale stain concentration in VahadaneNormalizer.
But maybe, it doesn't implemented in this library, right??
I think, we should fix  fit and  transfer method.

Yes I see what you mean. I shall be updating this soon and will close the issue after.

Should be fixed now. Let me know if not.

Hi @Peter554, can you point out the excerpt of code where this is implemented? I cannot seem to find it


Crash  when pressing CTRL

General Info
Terasology Launcher Version: 4.8.0
Terasology Version: 5.3.0
Operating System: 10 x64
Onboard / Dedicated Graphics: Nvidia RTX 2060
Java Version: 17.0.10
i pressed Lctrl
i was exploring the map and then i pressed Lctrl
the game crashed and i was kicked out
A clear and concise description of what didn't match your expectations, a.k.a. the crash or malfunction you faced.
How to reproduce
Select Terasology version '5.3.0'
Start Terasology
make a map
press Lctrl
Log details
Terasology-init.log
Terasology-menu.log
Terasology-Game_1.log
Screenshots

Workaround
dont press Lctrl
Additional Infos / Context
i did it again and it gave me this
Terasology-Game_1.log
Terasology-init.log
Terasology-menu.log

i searched in the inputs and i don't have a key bind that has Lctrl in it

Interesting bug report, thank you for the details! It looks like you ran the game with GooeysQuests active, I'm not sure how well maintained that is. Does it also happen in plain Core gameplay?
CTRL is used for crouching or descending when flying or swimming, both of which are pretty rarely used and possibly buggy. This will need a bit of looking into

on linux, java21, develop version at #1b480337c i configured "show mouse" on LCTRL. but when pressing RCTRL it crashes:
``
10:50:20.744 [main] WARN  o.t.engine.core.internal.TimeBase - Delta too great (1495), capping to 1000
10:50:30.960 [main] ERROR o.t.engine.core.TerasologyEngine - Uncaught exception, attempting clean game shutdown
java.lang.IllegalArgumentException: moduleName must not be null or empty
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)
at org.terasology.gestalt.assets.ResourceUrn.(ResourceUrn.java:185)
at org.terasology.gestalt.assets.ResourceUrn.(ResourceUrn.java:128)
at org.terasology.engine.rendering.nui.internal.NUIManagerInternal.bindEvent(NUIManagerInternal.java:767)
at org.terasology.engine.rendering.nui.internal.NUIManagerInternalMethodAccess.invoke(Unknown Source)
at org.terasology.engine.entitySystem.event.internal.EventSystemImpl$ByteCodeEventHandlerInfo.invoke(EventSystemImpl.java:399)
at org.terasology.engine.entitySystem.event.internal.EventSystemImpl.sendConsumableEvent(EventSystemImpl.java:274)
at org.terasology.engine.entitySystem.event.internal.EventSystemImpl.send(EventSystemImpl.java:253)
at org.terasology.engine.core.bootstrap.eventSystem.AbstractEventSystemDecorator.send(AbstractEventSystemDecorator.java:67)
at org.terasology.engine.network.NetworkEventSystemDecorator.send(NetworkEventSystemDecorator.java:54)
at org.terasology.engine.core.bootstrap.eventSystem.AbstractEventSystemDecorator.send(AbstractEventSystemDecorator.java:67)
at org.terasology.engine.recording.RecordingEventSystemDecorator.send(RecordingEventSystemDecorator.java:32)
at org.terasology.engine.entitySystem.entity.internal.BaseEntityRef.send(BaseEntityRef.java:188)
at org.terasology.engine.input.internal.BindableButtonImpl.updateBindState(BindableButtonImpl.java:153)
at org.terasology.engine.input.InputSystem.updateBindState(InputSystem.java:314)
at org.terasology.engine.input.InputSystem.processKeyboardInput(InputSystem.java:389)
at org.terasology.engine.input.InputSystem.update(InputSystem.java:132)
at org.terasology.engine.core.modes.StateIngame.handleInput(StateIngame.java:209)
at org.terasology.engine.core.subsystem.lwjgl.LwjglInput.postUpdate(LwjglInput.java:39)
at org.terasology.engine.core.TerasologyEngine.tick(TerasologyEngine.java:521)
at org.terasology.engine.core.TerasologyEngine.mainLoop(TerasologyEngine.java:472)
at org.terasology.engine.core.TerasologyEngine.runMain(TerasologyEngine.java:448)
at org.terasology.engine.core.TerasologyEngine.run(TerasologyEngine.java:414)
at org.terasology.engine.Terasology.call(Terasology.java:189)
at org.terasology.engine.Terasology.call(Terasology.java:69)
at picocli.CommandLine.executeUserObject(CommandLine.java:1933)
at picocli.CommandLine.access$1200(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2332)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2326)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2291)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2159)
at picocli.CommandLine.execute(CommandLine.java:2058)
at org.terasology.engine.Terasology.main(Terasology.java:138)
10:50:30.966 [main] INFO  o.t.engine.core.TerasologyEngine - Shutting down Terasology...

Interesting bug report, thank you for the details! It looks like you ran the game with GooeysQuests active, I'm not sure how well maintained that is. Does it also happen in plain Core gameplay?
CTRL is used for crouching or descending when flying or swimming, both of which are pretty rarely used and possibly buggy. This will need a bit of looking into

hello Cervator as you can see here i did not bind my CTRL button to any input

Interesting bug report, thank you for the details! It looks like you ran the game with GooeysQuests active, I'm not sure how well maintained that is. Does it also happen in plain Core gameplay?
CTRL is used for crouching or descending when flying or swimming, both of which are pretty rarely used and possibly buggy. This will need a bit of looking into

hii again i tried to reproduce it in other mods and it crashed again so i don't think that the problem is the mod
Terasology-Game.log
[Terasology-init.log](https://github.com/MovingBlocks/Terasology/files/14899136/Terasology
Terasology-menu.log
this is a video showing the mode and what the game does when i press the CTRL
https://github.com/MovingBlocks/Terasology/assets/95275414/bc2529d1-5613-4f46-9d0d-23c2faed83e3
-init.log)


Windows: Installer without administrator privileges

The current installer requires administrative privileges to install Zulip. This is probably because it gets installed to C:/Program Files.
This can be an issue on corporate PCs where the user doesn't have admin privileges. A lot of applications (e.g. Chrome, Slack, VS Code) therefore allow to run the installer without admin privileges and install to the user directory instead (somewhere in ~/AppData).
I know that the archive is available (the compression should be changed to .zip, as windows can open that natively without requiring extra software), but it doesn't contain the auto-update feature, which is quite important.

@zulipbot claim

@schrej this was an issue in v2.3.82 because there perMachine variable was set to true. It is false by default, and should be fixed in current master branch.
Anyway, i've sent a PR to make it more explicit in package.json.
You can try it in v2.5.0-beta by downloading it from here. It should prompt you to install for all users or for current user, which shouldn't require administrator previliges. Thanks for creating the issue.

This issue is a bit complicated. The thing is if we provide this feature then we'll also need to handle the auto-update feature (which is most likely to get corrupted because of the complications on Windows). We are still trying to figure out the right solution for this.


Running a python 2.7 program to completion ends with an error

https://github.com/Microsoft/ptvsd/issues/59

Verified blocked on Microsoft/ptvsd#176


Nested types are missing the declaring parent type in the namespace

Libraries
MarkDoc.Members.Dnlib
Describe the bug
A clear and concise description of what the bug is.
Reproducibility
Always
To Reproduce
Steps to reproduce the behavior:

Have a test assembly with the following type structure:

A Parent class
A nested enum within the parent class
A nested interface within the parent class
A nested struct within the parent class
A nested class within the parent class

Resolve the test assembly
Observe the namespaces of the resolved nested types

Expected behavior
The nested types are expected to have the full namespace including the declaring parent type.
Additional context
Revealed in UT.Members tests

Total: 6m


Error: listen EADDRINUSE /var/folders/rp/xjpqwtvs1q1gg1bb8ww0mtxr0000gn/T/vscode-b77.sock

Just saw this running "out of sources":
~/Development/monaco/scripts> ./code.sh
[8129:0124/140721:INFO:CONSOLE(153)] "%c[Extension Host] %cdebugger listening on port 5870", source: file:////Users/bpasero/Development/monaco/out/vs/workbench/electron-browser/extensionHost.js (153)
[8129:0124/140721:INFO:CONSOLE(119)] "ERROR starting extension host", source: file:////Users/bpasero/Development/monaco/out/vs/workbench/electron-browser/extensionHost.js (119)
[8129:0124/140721:INFO:CONSOLE(120)] "Error: listen EADDRINUSE /var/folders/rp/xjpqwtvs1q1gg1bb8ww0mtxr0000gn/T/vscode-b77.sock", source: file:////Users/bpasero/Development/monaco/out/vs/workbench/electron-browser/extensionHost.js (120)

hm, how random is random...

@bpasero I have pushed a change to use more random pipe names to prevent such collision. Let me know if you still see this.

Sometimes I see this now:
Error: write EPIPE
    at exports._errnoException (util.js:1026:11)
    at WriteWrap.afterWrite (net.js:795:14)

This is with heavy reload, close, restart running "out of sources", not in selfhost. This stacktrace is quite useless I guess, but maybe we can add more error handling in this area for the extension host communication somehow?

I'd say that is more likely #19176. Originally we had an empty try-catch-block around the write call. I removed that and yesterday I added a check if the socket is destroyed but that might not be enough. I might have to bite the dust and add the empty try-catch again...


SelfBot doesn't connects anymore.

I had previously a working SelfBot, i didn't changed the code or anything, and now it's throw an exception from Client.ConnectAsync();. and i already checked the Token, and the token is correct and its set to TokenType.User. Here the stacktrace:
System.NullReferenceException: Object reference not set to an instance of an object.
   at Discord.WebSocket.DiscordSocketClient.<>c.<SyncGuildsAsync>b__117_0(SocketGuild x)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at System.Collections.Immutable.ImmutableArray.CreateRange[T](IEnumerable`1 items)
   at System.Collections.Immutable.ImmutableArray.ToImmutableArray[TSource](IEnumerable`1 items)
   at Discord.WebSocket.DiscordSocketClient.<SyncGuildsAsync>d__117.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Discord.WebSocket.DiscordSocketClient.<ProcessMessageAsync>d__114.MoveNext()```

This occasionally happens to me as well.

Also happens to me a lot as well.

Mind providing a list of guilds that you're in? I think I've figured out what's causing this but it'd be nice if I could bring it to a specific cause

I think it has to do with a specific server not available sometimes?

No, that's not why. The code which is at fault deals specifically with
guilds which aren't entirely available.
On 21 Feb 2017 04:59, "Hsu Still"<EMAIL_ADDRESS>wrote:

I think it has to do with a specific server not available sometimes?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/RogueException/Discord.Net/issues/494#issuecomment-281245785,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUBv-q665KxRp7dr5urejm9BNpTgtIoeks5rem9MgaJpZM4LqNaJ
.

@FiniteReality did we ever figure this out?

Not from what I remember, though I definitely remember that it was something due to ConcurrentDictionary returning a null value for a given key when it shouldn't be

I was into the BetterDiscord guild, that guild was causing my selfbot to not connect, i had to leave that guild, and now its just connects fine.

That makes a lot of sense, and basically confirms my theory that it occurs when guilds are not available. @RogueException Any ideas why ConcurrentDictionary would return a null value for a given key when a guild is not available?

This issue should be fixed with this commit. Issue is caused by large guilds being unavailable because of having too many online users.

Closing as this appears to be fixed.

Even My Bot Doesn't Connects Anymore.... So Discord.net.dll is completely useless Right Now.>~ ~ ~ ~

Once again, this does not relate to the issue you are commenting on; please stop commenting on unrelated issues on random issue threads, but instead open a new issue, thank you.

Once again, this does not relate to the issue you are commenting on; please stop commenting on unrelated issues on random issue threads, but instead open a new issue, thank you.

hmm thats not what i mean

Whatever you mean, your issue clearly does not relate to this a year and a half old issue, as you had previously commented on #342 with similar comments with no actual feedback and or error logs. If you do believe your issue is related to this particular issue (which is no longer valid, as Discord.Net 2.x and above have invalidated TokenType.User by prohibiting the use of such enum on compilation), then please provide relevant logs and or description - otherwise, open a new issue.


Add docs about plugins section in Pulumi.yaml

See https://github.com/pulumi/pulumi/pull/10146 for implementation

Should we mark providers/languages/analyzers as optional?


Multiple instances of At.js remote filter

Hi there!
I'm using At.js for up to six trigger words (words as: mr, ms, etc.) but every time the first trigger word is triggered, the sixth remote filter is executed. It seems that only the last remote filter is executed.
Is there an other way the retrieve sources from multiple ajax calls, which have different urls? Or could I extend the remote filter to match the subtext from the matcher?
Keep up the good work :+1: !

one at (trigger words) should match one remote filter. It work find in my try.


⚠ BeyondHD has degraded performance

In 6f811e6, BeyondHD ($BHD) experienced degraded performance:

HTTP code: 200
Response time: 1905 ms

Resolved: BeyondHD performance has improved in e7eebc3.


Need script to run on boot and in the background

I am trying to get one of the example scripts to run when the raspberry pi 4 boots up and continue to run in the background.
I have tried adding the following to the crontab -
@reboot python3 /home/pi/rpi_ws281x/python/examples/strandtest.py &
@reboot sudo python3 /home/pi/rpi_ws281x/python/examples/strandtest.py &
When the pi boots is the led's come on but do not change.
The script works fine if run as a regular command from the prompt

Using crontab is a real bodge and although some things may work it's a terrible approach and isn't worth learning.
Instead try learning about systemd which is the "proper" modern way to do exactly what you want.
I searched and found this tutorial:
https://tecadmin.net/setup-autorun-python-script-using-systemd/
To do it properly you should use the path /etc/systemd/system and not /lib/systemd/system as mentioned in that tutorial

Closed as stale. Running on boot is outside the scope of the library, and down to individual implementations.


Store vacancies to MongoDB

[ ] Define entity for a vacancy. Entity is a separate class(es) based on DTOs
[ ] Research ModelMapper/MapStruct for DTO->Entity conversion
[ ] Create vacancy MongoDB repository
[ ] In RabbitMQ listener - convert DTO to entity, set TTL for entity (take TTL value from config) store entity to repository

What field must be indexed with TTL: createdAt or publishedAt?
What should we do if required indexed field will be null?
I need Salary fields in final reliase. Now it looks like: salary='{from=40000, to=null, currency=RUR, gross=false} .
Can we recieve old vacancies from queue? Should I check if it is a new vacancy for save or old vacancy for update?

point 3 - done

What field must be indexed with TTL: createdAt or publishedAt?

publishedAt

What should we do if required indexed field will be null?

Mongo can index null fields just fine. In our case, we create indexes for publishedAt and query.

Can we recieve old vacancies from queue? Should I check if it is a new vacancy for save or old vacancy for update?

We can. This will be the subject of one of the next tasks.

Need understanding which fields we need to store in Vacancy Model, than make matrix-fields and compare DTO and Model classes.


Control RDS final snapshots

The setting of final snapshot on an RDS instance was controlled by the rds_instance module which defaulted it to true. This wasn't being overridden by any of the database projects that used the module.
Change the default to false to match the Terraform and AWS default and make it production safe.
Add the same variable to each of the database projects.
There is a corresponding data PR to set the values per environment - https://github.com/alphagov/govuk-aws-data/pull/211

The default for the rds_instance module doesn't affect the callers of the module (the database "projects"), so the variables there are the project defaults that pick up values from govuk-aws-data.


Is Datetime2(n) supported ?

Hi,
I removed the default Timestamp column, and I added a new one with a Datetime2(3) format.
Does the Datetime2(n) format is support ?
Best regards,
Pat

Hi @patopat!
As documented here, the TimeStamp column supports datetime, datetime2 and datetimeoffset.
Best regards,
Christian

Hi @ckadluba,
Ok, so only datetime2(7) is supported.
Best regards,
Pat

@ckadluba,
Do you plan to support Datetime2(0..7) options ?
Best regards,
Pat

Not at the moment but we are always happy to have a PR. :)


Incompatibility with StaticArrays

At the moment this package does not work with StaticArrays:
using Catalyst
using StaticArrays
using DelaySSAToolkit
using DifferentialEquations

rn = @reaction_network begin
    1, 0 --> A
end

delay_trigger_affect! = function (integrator, rng)
    append!(integrator.de_chan[1], 10)
end

u0 = @SVector [ 0 ]
tspan = (0., 100.)

delay_trigger = Dict(1=>delay_trigger_affect!)
delay_complete = Dict(1=>[1=>-1])
delay_interrupt = Dict()
delayjumpset = DelayJumpSet(delay_trigger, delay_complete, delay_interrupt)

dprob = DiscreteProblem(rn, u0, tspan)
jsys = convert(JumpSystem, rn)
djprob = DelayJumpProblem(jsys, dprob, DelayRejection(), delayjumpset, [[]])

solve(djprob, SSAStepper())

gives the following error:
setindex!(::SVector{1, Int64}, value, ::Int) is not defined.

Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:33
  [2] setindex!(a::SVector{1, Int64}, value::Int64, i::Int64)
    @ StaticArrays ~/.julia/packages/StaticArrays/tBRNS/src/indexing.jl:3
  [3] execute_delay_complete!
    @ ~/.julia/packages/DelaySSAToolkit/d6UCB/src/delayaggregator/delayssajump.jl:248 [inlined]
(...)

Changing @SVector to @MVector or dropping it fixes the issue. In contrast, DiffEqJump works with no issues:
rn = @reaction_network begin
    1, 0 --> A
    0.1, A --> 0
end

u0 = @SVector [ 0 ]
tspan = (0., 100.)

dprob = DiscreteProblem(rn, u0, tspan)
jsys = convert(JumpSystem, rn)
jprob = JumpProblem(jsys, dprob, Direct())

solve(jprob, SSAStepper())

Running long SSA simulations with dynamic arrays uses a lot of allocations, hence being able to use StaticArrays would be great here!

now it should work..

It does now, thanks!