Why not use a Cargo Workspace?

Is there a reason why you're using git submodules and not multiple Cargo packages in a single repo with a Cargo workspace?
Example repo - serde: https://github.com/serde-rs/serde
I have the feeling for this use case it would be easier to work with the code?

To be honest, every time I have tried to use workspaces it has been such a PITA that I kind of gave up on that feature. It also means that my brain didn't store all the particular issues I encountered, but a few that come to my mind are:

everything always has to compile together (eg. If you are working on a crate and leave it in a not-compiling state, you can't work on anything else unless you remove it from the workspace. For development this is a royal nuissance. You constantly find yourself commenting in and out the different crates)
you can't combine crates meant for different targets. If some of your crates are meant for WASM and need to build with wasm-pack build, you can't use a workspace. This particular issue does not occur in thespis though.
I fail to see the benefit. If you have crates in the same repository, with path dependencies, when you are focusing on a crate, cargo will compile all of it's dependencies just fine. I don't really see the benefit of a workspace here. AFAICT it's well adapted to the scenario where you want to build a big application and you have your components split in several crates. Where it doesn't make sense to compile the individual components because they won't build a working app. However in thespis it's all libraries, which are meant for people to depend on individually. A lib might depend on the _iface crates, implement the traits and never use an implementation. Client code can chose any implementation, which might not be in this repository btw. It's also perfectly possible to use the actor implementation without ever using remote actors. So it doesn't seem to make sense to me to always try to compile everything together.

I ran into other issues, but right now I can't remember.
I understand that having things in sub-modules rather than one single repo adds some overhead to forking and committing stuff, but I really like to keep the git history of the several crates separate. The global crate keeps track of a state in which all submodules play nice together, yet we can evolve separate crates for development, and only commit those changes in the thespis repository when all crates are compatible.
The global repository is just there to keep a place where there is global overiew of thespis. It will also include a repo for the user guide, allows cloning all those repositories in one go. It's important to me to be able to evolve every crate separately and be able to check out different versions of them individually. For all intends and purposes, consider that these are different crates.
The question of using submodules is actually orthogonal to the workspace.

Ho, thanks for the detailed explanation! That wouldn't have been necessary. But thanks, appreciated! :)


Added preliminary test case system

Approving for now as preliminary PR just to get this onto main. NICE JOB!


Minor changes needed

-The script only accepts capital letters A,C,G,T in the sequences. Proposed change: replace line 26 of "dataPreProcessing.py" by "lines.append(line.rstrip().upper())".
-The package "csv" (using Python 3.9.5) as used in the script "saveToFile.py" adds an empty row with each call of "csv_writer.writerow". This leads to errors when later calling the script "dataPostProcessing.py". Proposed change: set newline='' in "open(path, 'w',newline='')" for the 3 paths (path, path_1, path_2) in the script "saveToFile.py".

Hello there,
First of all, thanks for your comments. We've just pushed a new version, including your proposed minor changes.
Regarding the first comment, yeah you're absolutely right, we fixed that.
Regarding the second one, you're right too, but, to give an explanation why we didn't just use pandas, kmerAnalyzer was initially implemented in Python 2.7. We actually faced some issues with pandas and Python 2.7, so we decided to use the csv package. The new version that is currently uploaded, however, uses only pandas package to read and write csv files, so the lines you mentioned do not exist anymore (We just use the 'read_csv()' and 'to_csv()'  commands from package).
You'll probably not have any trouble with running the code. In case any problem occurs, let us know :)


updater: Use correct delay value

Fix a rather silly mistake...

LGTM
test failure looks unrelated

Codecov Report

Merging #1963 into master will increase coverage by 0.57%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1963      +/-   ##
==========================================
+ Coverage   54.39%   54.96%   +0.57%
==========================================
  Files         108      108
  Lines       18600    18587      -13
==========================================
+ Hits        10117    10216      +99
+ Misses       7244     7125     -119
- Partials     1239     1246       +7

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 66b0dfa...900f43d. Read the comment docs.


Optional parameters not work in nested routes

Reproduction
https://codesandbox.io/s/strange-mccarthy-d3y4hy
Steps to reproduce the bug
import { createRouter, createWebHistory } from "vue-router";
import Home from "./views/Home.vue";
import About from "./views/About.vue";
import BasicLayout from "./views/BasicLayout.vue";

export const router = createRouter({
  history: createWebHistory(),
  routes: [
    {
      path: "/",
      component: BasicLayout,
      children: [
        {
          path: ":section(sec-\\w+)?",
          name: 'Home',
          component: Home
        }
      ]
    },
    { path: "/about", component: About }
  ]
});

The Home route not matched.
Expected behavior
Home route  need matched
Actual behavior
Home route  not matched
Additional information
No response

This happens because the child has a lower priority in terms of matching than the parent. In this scenario it doesn't make sense but it allows to match /dashboard instead of /dashboard/:p? in practice.
For your case to work, you can just add an alias of '' to the child route to fix this:

export const router = createRouter({
  history: createWebHistory(),
  routes: [
    {
      path: "/",
      component: BasicLayout,
      children: [
        {
          path: ":section(sec-\\w+)?",
          alias: "",
          component: Home,
        },
      ],
    },
    { path: "/about", component: About },
  ],
});


Compressed aspect ratio coming out wrong

I have several DVD movies and TV episodes that I'm compressing using the command:
other-transcode --hevc --10-bit --crop auto --target 480p=1500 filename
I'm seeing quite a few of my files come out with a very wrong aspect ratio. I have an example downloadable at:
https://www.dropbox.com/sh/lrkiwc6p1rng4b4/AAC8i_asVfhXg_Y9XJfywqgla?dl=0
Would you mind please letting me know what I'm doing wrong. Thanks.

@muesic Thank you for including the sample and log file. I have no idea what's wrong because the aspect ratio is perfectly fine with my own transcoding of the original.
I suspect that there may be something odd about your version of ffmpeg since that's the only thing in the pipeline which could cause that.
How did you install it? With Homebrew? Have you tried using a statically built version?

I installed everything using Homebrew. I just did a "brew update" followed by a "brew upgrade" and reran the compression. However, I still get the same messed up aspect ratio. Regarding using a statically built version, I'm going to have to look into what that even means. I guess I'll get back to you. In the meantime, maybe the log file below (from a different show to the one I put for you on Dropbox earlier) holds some clues:
ffmpeg started on 2022-03-30 at 16:51:36
Report written to "_ffmpeg_11059_30445.mkv.log"
Log level: 40
Command line:
ffmpeg -loglevel error -stats -i "/Volumes/AV1_4TB/_Compress/_BoB/02 Day of Days.MKV" -vsync cfr -map 0:0 -filter:v "crop=712:480:4:0" -c:v hevc_videotoolbox -pix_fmt:v p010le -b:v 1500k -profile:v main10 -color_primaries:v smpte170m -color_trc:v bt709 -colorspace:v smpte170m -metadata:s:v "title=" -disposition:v default -map 0:1 -c:a:0 copy -metadata:s:a:0 "title=" -disposition:a:0 default -sn -metadata:g "title=" -default_mode passthrough "02 Day of Days.mkv"
ffmpeg version 5.0 Copyright (c) 2000-2022 the FFmpeg developers
built with Apple clang version 13.0.0 (clang-13<IP_ADDRESS>)
configuration: --prefix=/usr/local/Cellar/ffmpeg/5.0 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox
libavutil      57. 17.100 / 57. 17.100
libavcodec     59. 18.100 / 59. 18.100
libavformat    59. 16.100 / 59. 16.100
libavdevice    59.  4.100 / 59.  4.100
libavfilter     8. 24.100 /  8. 24.100
libswscale      6.  4.100 /  6.  4.100
libswresample   4.  3.100 /  4.  3.100
libpostproc    56.  3.100 / 56.  3.100
Input #0, matroska,webm, from '/Volumes/AV1_4TB/_Compress/_BoB/02 Day of Days.MKV':
Metadata:
encoder         : libmakemkv v1.16.5 (1.3.10/1.5.2) darwin(x64-release)
creation_time   : 2022-02-14T06:59:59.000000Z
Duration: 00:51:57.15, start: 0.000000, bitrate: 6717 kb/s
Chapters:
Chapter #0:0: start 0.066733, end 427.210117
Metadata:
title           : Chapter 01
Chapter #0:1: start 427.210117, end 865.147617
Metadata:
title           : Chapter 02
Chapter #0:2: start 865.147617, end 1190.973117
Metadata:
title           : Chapter 03
Chapter #0:3: start 1190.973117, end 1729.010617
Metadata:
title           : Chapter 04
Chapter #0:4: start 1729.010617, end 2593.874617
Metadata:
title           : Chapter 05
Chapter #0:5: start 2593.874617, end 3117.147367
Metadata:
title           : Chapter 06
Stream #0:0(eng): Video: mpeg2video (Main), yuv420p(tv, progressive), 720x480 [SAR 32:27 DAR 16:9], SAR 853:720 DAR 853:480, 29.97 fps, 29.97 tbr, 1k tbn
Metadata:
BPS-eng         : 5573382
DURATION-eng    : 00:51:57.147366666
NUMBER_OF_FRAMES-eng: 75907
NUMBER_OF_BYTES-eng:<PHONE_NUMBER>
SOURCE_ID-eng   : 0100E0
_STATISTICS_WRITING_APP-eng: MakeMKV v1.16.5 darwin(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2022-02-14 06:59:59
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
Side data:
cpb: bitrate max/min/avg: 7931600/0/0 buffer size: 1835008 vbv_delay: N/A
Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s (default)
Metadata:
title           : Surround 5.1
BPS-eng         : 384000
DURATION-eng    : 00:51:57.056000000
NUMBER_OF_FRAMES-eng: 97408
NUMBER_OF_BYTES-eng: 149618688
SOURCE_ID-eng   : 0180BD
_STATISTICS_WRITING_APP-eng: MakeMKV v1.16.5 darwin(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2022-02-14 06:59:59
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
Stream #0:2(eng): Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 768 kb/s
Metadata:
title           : Surround 5.1
BPS-eng         : 754500
DURATION-eng    : 00:51:57.056000000
NUMBER_OF_FRAMES-eng: 292224
NUMBER_OF_BYTES-eng: 293977344
SOURCE_ID-eng   : 0189BD
_STATISTICS_WRITING_APP-eng: MakeMKV v1.16.5 darwin(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2022-02-14 06:59:59
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
Stream mapping:
Stream #0:0 -> #0:0 (mpeg2video (native) -> hevc (hevc_videotoolbox))
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 0x7fe33f617600] w:720 h:480 pixfmt:yuv420p tb:1/1000 fr:30000/1001 sar:853/720
[auto_scale_0 @ 0x7fe33f613c80] w:iw h:ih flags:'' interl:0
[format @ 0x7fe33f6138c0] auto-inserting filter 'auto_scale_0' between the filter 'Parsed_crop_0' and the filter 'format'
[Parsed_crop_0 @ 0x7fe33f612200] w:720 h:480 sar:853/720 -> w:712 h:480 sar:853/720
[auto_scale_0 @ 0x7fe33f613c80] w:712 h:480 fmt:yuv420p sar:853/720 -> w:712 h:480 fmt:p010le sar:853/720 flags:0x0
Output #0, matroska, to '02 Day of Days.mkv':
Metadata:
encoder         : Lavf59.16.100
Chapters:
Chapter #0:0: start 0.066733, end 427.210117
Metadata:
title           : Chapter 01
Chapter #0:1: start 427.210117, end 865.147617
Metadata:
title           : Chapter 02
Chapter #0:2: start 865.147617, end 1190.973117
Metadata:
title           : Chapter 03
Chapter #0:3: start 1190.973117, end 1729.010617
Metadata:
title           : Chapter 04
Chapter #0:4: start 1729.010617, end 2593.874617
Metadata:
title           : Chapter 05
Chapter #0:5: start 2593.874617, end 3117.147367
Metadata:
title           : Chapter 06
Stream #0:0(eng): Video: hevc, p010le(tv, smpte170m/smpte170m/bt709, top coded first (swapped)), 712x480 [SAR 853:720 DAR 75917:43200], q=2-31, 1500 kb/s, 29.97 fps, 1k tbn (default)
Metadata:
BPS-eng         : 5573382
DURATION-eng    : 00:51:57.147366666
NUMBER_OF_FRAMES-eng: 75907
NUMBER_OF_BYTES-eng:<PHONE_NUMBER>
SOURCE_ID-eng   : 0100E0
_STATISTICS_WRITING_APP-eng: MakeMKV v1.16.5 darwin(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2022-02-14 06:59:59
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
encoder         : Lavc59.18.100 hevc_videotoolbox
Stream #0:1(eng): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1(side), fltp, 384 kb/s (default)
Metadata:
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
BPS-eng         : 384000
DURATION-eng    : 00:51:57.056000000
NUMBER_OF_FRAMES-eng: 97408
NUMBER_OF_BYTES-eng: 149618688
SOURCE_ID-eng   : 0180BD
_STATISTICS_WRITING_APP-eng: MakeMKV v1.16.5 darwin(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2022-02-14 06:59:59
*** 1 dup!

@muesic OK, I missed this the first time, probably because I was eating lunch. :)
Cropping the input is giving you the, perhaps, unexpected display bounds. But technically there's nothing wrong with the aspect ratio. Your input is "pillar-boxed," meaning it has black bars on both sides.
TL;DR: there's nothing wrong.

I found my notes from when I installed everything from scratch. I'm not sure if this means I have static build or not.
Install Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Install Ruby:
brew install ruby
Install other required programs: ffprobe (part of ffmpeg), mkvpropedit (part of mkvtoolnix):
brew install ffmpeg
brew install mkvtoolnix
brew install mpv
Install/update  other_video_transcoding:
gem install other_video_transcoding
gem update other_video_transcoding

@muesic Again, false alarm about ffmpeg. It's not a bug. That's the way cropping works.
I'll close this now.

Looks like we posted at just about the same time. I'm a little confused in that I thought you tried the same command and it was all good for you. I took that to mean our worlds were behaving differently. Now you're saying everything is working as expected :-/.
Should I just remove the crop aspect from the command line?
My intention using auto cropping was to remove any black bars (horizontal or vertical) present in the source material from making it's way to the compressed result. I thought I read somewhere on your website that HandBrake did a poor job of auto-cropping and that your method was much better, hence my usage of the "--crop auto". Please don't misinterpret this as anger, but what's the point of  "--crop auto" if it yields so much disastrous output? Here's an example image of what happened to a TV episode:

Just for completeness sake, this is the same spot in the episode that corresponds to my picture in the previous post:

@muesic OK, I think the problem might the program you're using to view your transcoding. I'm using mpv and I'm not having a problem at all. Are you using VLC?

@muesic BTW, you shouldn't have to remove --crop auto from your command line. That also works fine for me.

Yes - I'm using VLC. Aside from it's awful handling of subtitles, it's always been very good for the video side of things. This is the first time (in easily over a decade) I've ever seen an issue such as this. I'll look into mpv (which I've never heard of till just now).

@muesic Ah. Yeah, VLC is... hmmm... awful, really. :) You can install mpv via Homebrew. It's a command line tool but there's also an "app" version if you need it.
Please try it and then we can close this.

@muesic BTW, your transcoded version of "Spencer" looks fine to me with mpv. So, I'm almost certain the issue is with VLC.

@muesic I just confirmed that the problem is definitely VLC by trying it myself.
OK, I'm closing this now then.

Well I'll be darned - it is a VLC issue... I tried viewing the video using IINA and mpv and they were both good.
Really appreciate your (precious) time and help!
As a closing question, I noticed when I was compressing these mkv files using the command in my original post that my CPU meters (I run an app called MenuMeters) weren't particularly stressed out and my laptop fans didn't even come on. When I run a HandBrake compression all 8 cores are maxxed out. Is there a setting somewhere that I can instruct other-transcode to use more resources?

@muesic No, there's no setting for that with other-transcode.  Your cores are maxed out with HandBrake because it's using a software encoder be default, not a hardware encoder.


avoid call to header.next after poll error

In case of a poll error it is a mistake to call
next to the header. This patch introduces a
variable that protect this call.

Hi @gconnell. We are heavily using gopacket in @skydive-project. Could you please have an other look at the PR ? Thanks !

Sorry, I totally spaced on this.  You're good to go!

Also, I"ve added you two as collaborators.  Great power, great responsibility, all that (in short, don't make backwards-incompatible changes).  But that should allow you to bugfix faster while keeping in the master branch.  Skydive looks awesome, btw :D

@gconnell Great ! thanks for merging and for adding us as collaborators, we will use our new power carefully :)


Tweaks

#9  👈
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @MaximSrour and the rest of your teammates on  Graphite

Merge activity

Aug 19, 5:04 AM EDT: @MaximSrour started a stack merge that includes this pull request via Graphite.


I can't upload files with chinese title to OneDrive personal

This issue has been fixed on latest version 1.2.0. But there is another issue,
For OneDrive personal, I can't upload the file with Chinese title. for English title file, it is fine.
For OneDrive business, all file can be uploaded.
Do you know why?
the log is
311: Error during http request
com.onedrive.sdk.core.ClientException: Error during http request
at com.onedrive.sdk.http.DefaultHttpProvider.sendRequestInternal(DefaultHttpProvider.java:308)
at com.onedrive.sdk.http.DefaultHttpProvider.access$000(DefaultHttpProvider.java:48)
at com.onedrive.sdk.http.DefaultHttpProvider$1.run(DefaultHttpProvider.java:137)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.util.NoSuchElementException
at java.util.Scanner.next(Scanner.java:968)
at java.util.Scanner.next(Scanner.java:941)
at com.onedrive.sdk.http.DefaultHttpProvider.streamToString(DefaultHttpProvider.java:383)
at com.onedrive.sdk.http.OneDriveServiceException.createFromConnection(OneDriveServiceException.java:299)
at com.onedrive.sdk.http.DefaultHttpProvider.handleErrorResponse(DefaultHttpProvider.java:337)
at com.onedrive.sdk.http.DefaultHttpProvider.sendRequestInternal(DefaultHttpProvider.java:251)
at com.onedrive.sdk.http.DefaultHttpProvider.access$000(DefaultHttpProvider.java:48)
at com.onedrive.sdk.http.DefaultHttpProvider$1.run(DefaultHttpProvider.java:137)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
I catch some http package:
the response code is 400.

The same issue with Cyrillic characters, please fix the the problem as soon as it possible.
https://github.com/OneDrive/onedrive-api-docs/issues/371

@daboxu have you tried your fix with the server? As I was always using urlencode to create the request:
UploadSession uploadSession = mClient.getDrive()
.getSpecial(APPROOT)
.getItemWithPath(URLEncoder.encode(path, "UTF-8"))
.getCreateSession(new ChunkedUploadSessionDescriptor())
.buildRequest()
.post();
Now it always returns me 400 Bad Request.
I used the following string to test: [Баланс汉语]_[0500]_2016-05-26_03-01-10.craf

@skvalex thanks for providing the url, I can repro with it and has pushed a server side change. Will be back when server side issue has been fixed.

@skvalex When can it work? Can you provide a ETA?

@yanbli the question should be addressed to @daboxu. I'm in the same situation as you are.

@daboxu in sdk 1.2.1 Do I need to encode the path? I find if don't encode the path for onedrive personal, it can work. But it doesn't work for onedrive business no matter encode the path

You don't need encode the path. What error are you seeing for business account in logcat? I tested with business account and had no problem.

Thanks @daboxu for replying. It works now.


Add current-mock-num-calls

Closes #38.

Coverage remained the same at 100.0% when pulling b9e3f558e3c3aabd1e0bd0c12277ab2eab154cd0 on 38-current-call-count into b5609cef12bbca597b4247fd94111d9223833d6b on master.

Coverage remained the same at 100.0% when pulling 49c599aeaa8f0e549308c260f86adeceb7cbc3f2 on 38-current-call-count into b5609cef12bbca597b4247fd94111d9223833d6b on master.

Coverage remained the same at 100.0% when pulling 49c599aeaa8f0e549308c260f86adeceb7cbc3f2 on 38-current-call-count into b5609cef12bbca597b4247fd94111d9223833d6b on master.


Add Add Polygon Mode

Overview
This PR adds functionality that allows the user to determine where the initial rectangle should appear when starting a polygon.
Closes #35
Notes
This PR also changes how the initial rectangle is calculated:

First the length of the smallest dimension of the map bounds is determined.
This length is then used to create a new bounds centered on the user click location
The corners of this new bound become the corners of the initial rectangle.

Testing Instructions

Go to map draw page
Click "Draw Polygon"
Click somewhere on the map and see that the map pans there and the new polygon is centered there.
Also try clicking "Cancel" after "Draw Polygon" to make sure the user can back out of Add Polygon Mode

Checklist

[ ] fixup! commits have been squashed
[ ] CHANGELOG.md updated with summary of features or fixes, following Keep a Changelog guidelines
[ ] README.md updated if necessary to reflect the changes
[ ] CI passes after rebase

Heads up that this branch has a number of conflicts that must be resolved before review


sky130 antenna cell has the wrong type

The discussion in https://github.com/The-OpenROAD-Project/OpenROAD/pull/2136 highlights that
MACRO sky130_fd_sc_hd__diode_2
  CLASS CORE ;

is incorrect and should be
MACRO sky130_fd_sc_hd__diode_2
  CLASS CORE ANTENNACELL ;

Since I can't get anything fixed in upstream Google repos I am hoping you can fix it here.  This happens in sky130 A & B.

Testing a fix now.

Okay, I have pushed a fix for this.  Unless it's urgent, I will let it mirror to github overnight.

Thanks. Overnight is fine


[ARTEMIS-1196] Fix missing JSON support

Not to be committed yet I think, as it depends on a SNAPSHOT.  I'll ping when the spec has been released.

Thanks for adding a test.

@gnodet from what i can tell, 2.9 got released :)
https://mvnrepository.com/artifact/org.apache.servicemix.specs/org.apache.servicemix.specs.json-api-1.1/2.9.0

Yes, I updated the PR accordingly a while ago.


After changing the settings it didn't work.

Describe the bug

Scenario 1
Steps to Reproduce

Check  "Automatically add brackets for functions" (Tools/Options/Text Editor/Python/Advanced)
Add "import os" to python file.
Write "os.getc", you'll see autocomplete for os.getcwd, selecting it, ensure:
a. Auto-complete adds os.getcwd() to the source code.

Additional context and screenshots
Only os.getcwd is added to the file.

Scenario 2
Steps to Reproduce

Without typeshed paths info:

Custom Typeshed path
a. git clone https://github.com/python/typeshed, enter the local path on disk where you cloned the repository

   b. Go to typeshed/stdlib/sys.pyi and change `def getallocatedblocks() -> int: ...` to `def getallocatedblocks() -> str: ...`

Additional context and screenshots
Nothing has changed.

@ttSpace Scenario 1 is by design, I can also repro in vscode so it's not a PTVS issue. For scenario 2, did you add the path to the typeshed path in options?

@StellaHuang95 I cannot repro in today's build 17.6.0 Preview 2.0 [33423.321.main], Python Package: 17.0.23047.1.
After changing the settings, it works.
Scenario 1 : Check "Automatically add brackets for functions" (Tools/Options/Text Editor/Python/Advanced).

Scenario 2：Enter typeshed path.


Any way to change default port?

I mean, how i can use it twice in one vps? One for me and another for my mate?

Change these two lines
https://github.com/etechd/L3MON/blob/acbc29be4db0bd2cf297dcbf61086fa6829c9e37/server/includes/const.js#L5-L6


Build release archive

Coverage remained the same at 66.418% when pulling f74ca7a09d44d4ee29a3fb972f5722fe40ebe355 on build-release-tar into 1a7944bf523c583c7b87e8f2a4ea2fd2f1ebea1e on master.

Coverage remained the same at 66.418% when pulling f74ca7a09d44d4ee29a3fb972f5722fe40ebe355 on build-release-tar into 1a7944bf523c583c7b87e8f2a4ea2fd2f1ebea1e on master.


Help set memory and connections in compose file?

I am looking for documentation on how to change memory and connection parameters in docker-compose.yml...
Can someone point me in the right direction?
Thanks!

From this part in the docs; you just need to pass a command. So a compose yaml should be something like this:
version: "3.2"
services:
  memcached:
    image: memcached:1.4
    command: ["-m", "512m"]

Thank you!


fix: generate manifest files per umbrella application

I was having issues when using domo in multiple apps in the context of an umbrella project.
When attempting to compiling only one of the umbrella apps it would find modules in the meta files only available in the other umbrella app, attempting to fetch it's type information but failing because the required GenServer is missing.
This is what the error looks like for me before applying this patch:
$ mix compile # <- build the full umbrella, this always works
$ cd apps/app_a
$ mix compile # <- build only app_a, this fails when there are manifest files containing other apps
** (exit) exited in: GenServer.call(Domo.TypeEnsurerFactory.ResolvePlanner, {:get_types, AnamnesisApiClient.Api.V1.CreateAnamnesis.Response}, 5000)
    ** (EXIT) no process: the process is not alive or there's no process currently associated with the given name, possibly because its application isn't started
    (elixir 1.13.3) lib/gen_server.ex:1019: GenServer.call/3
    (domo 1.5.2) lib/domo/type_ensurer_factory/module_inspector.ex:20: Domo.TypeEnsurerFactory.ModuleInspector.beam_types_hash/1
    (domo 1.5.2) lib/domo/type_ensurer_factory/dependency_resolver.ex:130: anonymous fn/3 in Domo.TypeEnsurerFactory.DependencyResolver.remove_modules_with_unloadable_types/2
    (stdlib 3.17.1) maps.erl:410: :maps.fold_1/3
    (domo 1.5.2) lib/domo/type_ensurer_factory/dependency_resolver.ex:96: Domo.TypeEnsurerFactory.DependencyResolver.maybe_cleanup_deps/4
    (domo 1.5.2) lib/domo/type_ensurer_factory/dependency_resolver.ex:17: Domo.TypeEnsurerFactory.DependencyResolver.maybe_recompile_depending_structs/3
    (domo 1.5.2) lib/domo/type_ensurer_factory.ex:363: Domo.TypeEnsurerFactory.recompile_depending_structs/4
    (domo 1.5.2) lib/mix/tasks.compile.domo_compiler.ex:93: Mix.Tasks.Compile.DomoCompiler.build_ensurer_modules/2

The idea is to split the manifest files seperate per mix application and therefore avoid the conflicts.
This might be a crude solution, since I don't know the inner workings of this library.
It was merely the first thing I tried and it solves the issue.

Hey @IvanRublev, I see you got an eye on this ;)
is there anything I can help you with?
If you want I'm on MESZ Time, and would be available to meet on the elixir slack #domo.

Hey,
Thanks for your PR. It'd be good to support independent umbrella app compilation! Let's see what I can do this week.
It'd be a time saver if you can attach an example project illustrating the issue.

Ok. I made a small example, and see the problem manifests now. One interesting part is types that are forced to be any(). You can run mix compile —verbose to see them. Currently ensurers for these are compiled in the first application and included in other apps through it. It‘d be good to share their beams, f.e. through the Domo lib‘s folder. Let‘s see what I can do.

Hey @zetaron I’m preparing the release inspired by the idea of proposed solution! I’m going with a Elixir function returning the manifest folder per app.
The code is already in master at https://github.com/IvanRublev/Domo/tree/v1.5.3 It’d be good to know if it works for your project.

Hey @IvanRublev,
I've tried the current master branch with my project and it works :)
I love how it is finally just a small change that was needed for this to work.
Thanks for making it happen so quick 👍

The updated version 1.5.3 fixing the bug is available on hex.pm


fix typo in docs/setup-persistent-volumes-on-pai.md

To use Kubernetes volumes in PAI, amdin need to assign storage to PAI groups first. ->
To use Kubernetes volumes in PAI, admin need to assign storage to PAI groups first.

@wpfnihao Merged, thanks for your contribution! :smile:


Unable to force light mode in InAppWebView when system is in dark mode

[x] I have read the Getting Started section
[x] I have already searched for the same problem

Environment

Technology
Version

Flutter version
3.13.4

Plugin version
6.0.0-beta.24+1

Android version
12

iOS version
14.8.1

macOS version

Xcode version

Device information:
Description
Hello,
I've encountered an issue when using InAppWebView in my Flutter application. Even though I have explicitly set my application's theme to light using MaterialApp, the server receives the Sec-Ch-Prefers-Color-Scheme: dark header when my phone's system theme is set to dark mode. This results in the web content being displayed in dark mode despite the app theme being set to light.
Expected behavior:
Server will receive a request with Sec-Ch-Prefers-Color-Scheme: light if the ThemeMode is light.
Current behavior:
The request header embeds the 'Sec-Ch-Prefers-Color-Scheme' with the system value.
Steps to reproduce

Set the phone's system theme to dark mode.
Force the Flutter application's theme to light using MaterialApp.
Load a web page using InAppWebView for example whatismybrowser.com.
Observe that the server receives the Sec-Ch-Prefers-Color-Scheme: dark header, causing the web content to be displayed in dark mode.

Images
Stacktrace/Logcat

This issue is stale and has been automatically closed because it has been open for more than 365 days with no activity. Please reopen a new issue if you still have it.

The bug still exists :<
The value of Sec-Ch-Prefers-Color-Scheme is set according to system dark mode instead of flutter theme mode. Please fix it.


Support LMNT API

Let's add multimodal APIs!
For example LMNT's voice generation at https://lmnt.com/docs/rest/

Still would love that


Hybrid heat boilers in industry show high electricity demand peaks when switching on

A client pointed out that the electricity demand curves for hybrid heat boilers in industry show high electricity demand peaks when switching on. @ChaelKruip and I assume that these peaks compensate for the heat demand that is not produced in the hour before and think that it's modeled like this because of the calculation order of the heat module and electricity merit order but are not sure. @antw , do you know where these peaks come from?
Below you can see the electricity&hydrogen demand and heat output curves for hybrid heat in the chemicals other sector. This is the scenario that we've used for the curves.

Notifying @ChaelKruip @AlexanderWirtz

BTW: it's interesting to see that the peaks do show up in the electricity demand curve and do not show up in the hydrogen demand curve


Add osx and more python versions to travis (linux)

Added python 3.6 and 3.7* Linux on travis.
Add osx testing (2.7 and 3.6)

Some tests fail on 3.7 as of now

Maybe can disable 3.7 for now?

Merged, thanks!


onExpired (and propably onError) callback doesn't work

I know that issue. I reported and waiting for the result from the owner. Really odd.

Fixed #1 now.


column.t and ignore_extensions.t fail in CentOS 6 and Cygwin

On both my Cygwin and CentOS 6 boxes, column.t and ignore_extensions.t fail. I'm bunching them both together as the failure appears to be something to do with [1] output, which I don't (currently) understand; it may be that they're separate problems.
tests/column.t: failed
--- column.t
+++ column.t.err
@@ -6,13 +6,10 @@
 Ensure column is correct:

   $ ag --column "blah\nb"
-  blah.txt:1:1:blah
-  blah.txt:2:0:blah2
+  [1]

 # Test ackmate output. Not quite right, but at least offsets are in the
 # ballpark instead of being 9 quintillion

   $ ag --ackmate "blah\nb"
-  :blah.txt
-  1;blah
-  2;0 6:blah2
+  [1]

tests/ignore_extensions.t: failed
--- ignore_extensions.t
+++ ignore_extensions.t.err
@@ -19,7 +19,7 @@
 Ignore patterns with multiple extensions in root directory:

   $ ag "targetB"
-  [1]
+  aFile.test.txt:1:targetB

 Do not ignore patterns with partial extensions in root directory:

@@ -34,7 +34,7 @@
 Ignore patterns with multiple extensions in subdirectory:

   $ ag "targetE"
-  [1]
+  subdir/anotherFile.test.txt:1:targetE

 Do not ignore patterns with partial extensions in subdirectory:

(I see these failures both on 0.32.0 and the current master branch.)

Ah, looks like the problem is expected behaviour of echo: when the test is working, echo is expanding \n to be a newline, but in my test environments, echo only does that if it's passed the -e argument.


more directives

let's implement ADDIF, SET, UP, REMOVE, STRICT

@rultor release, tag is 0.3

@rultor release, tag is 0.3

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.3

@yegor256 Done! FYI, the full log is here (took me 6min)


⚠ AlphaRatio has degraded performance

In f3441d3, AlphaRatio ($AR) experienced degraded performance:

HTTP code: 200
Response time: 1204 ms

Resolved: AlphaRatio performance has improved in 8842c6d.


Can't join new livechat channel in android app

Tested with andorid app 3.3.1.
A notification is received on mobile app after client sent a new message.
Somehow after clicking the notification,  a popup showed "The required "roomId" or "roomname" param provided does not match any channel [error-room-not-found].
Furthermore,  the client's text/channel can't be viewed from android app.
The new visitor live message/channel can only be viewed from the website version of rocket.chat admin page.

+1, also having this issue

The app isn't supporting livechat on it yet. Sorry for that guys.

hey guys, is that a PR welcome here?

@johncordeiro I've tried submitting PRs to the main rocket.chat project in the past, and even after multiple follow ups they never got merged.


Update Collection.php

The field "store_id" in database is a String, the only way to filter it is use "like" sql operator. With this modification the only problem be when the "store_id" have more one digit.

Hello,
I have Installed this extension in Magento 2.2.4 and configured setting as per instruction, it is working fine for England but not working for Australia zip code e.g. 5000,4000,3148...
Please suggest solution,while I have properly configured it.

This PR is deprecated, hence it will be closed. Thanks @genfish for your contribution!


Change z-index implementation for drag and drop

Currently when dragging a widget the z-index just scales.
New behaviour:

add default new z-index of 50 in a new store
when a widget is dragged, grab z-index from store, increment it by 1 and use for z-index
after incrementation/drag, update store with new number (Ie, 51 on first widget drag, 52 on second, etc)

i feel i should be responsible for fixing this one lol

No

This function is run as a d-card(draggable-card) is held by the cursor. I am looking for some guidance here, this still seems wrong- but here is what I have so far. Not entirely sure if this is any better than the original- elements is only 7 elements in length in my testing.
Original Implementation
 function trackPosition() {
    setZ(++int);
  }

Refactored
 // FIXME: change name
  function getOnTop() {
    const elements = document.querySelectorAll(".react-draggable");
    let draggable = dref.current;

    if (typeof draggable === "object" && draggable !== null && "getBoundingClientRect" in draggable) {
      // @ts-ignore
      draggable_rect = draggable.getBoundingClientRect();
    }

    elements.forEach(node => {
      // @ts-ignore
      const node_rect = node.getBoundingClientRect();

      // @ts-ignore
      if ((node_rect.width, node_rect.height) === (draggable.width, draggable.height)) return;

      if (
        node_rect.bottom >= draggable_rect.top &&
        node_rect.right >= draggable_rect.left &&
        node_rect.left <= draggable_rect.right &&
        node_rect.top <= draggable_rect.bottom
      ) {
        const node_z = Number(window.getComputedStyle(node).zIndex);
        const dref_z = Number(window.getComputedStyle(draggable).zIndex);
        if (node_z > dref_z) {
          setZ(node_z + 1);
        }
      }
    });
  }

@Melkeydev @royanger @Hacksore

I did some profiling, here are the profiles.
My Implementation
Original
I imagine there is a better more optimal way, but I am unsure of it right now.

Currently when dragging a widget the z-index just scales.
New behaviour:
* add default new z-index of 50 in a new store

* when a widget is dragged, grab z-index from store, increment it by 1 and use for z-index

* after incrementation/drag, update store with new number (Ie, 51 on first widget drag, 52 on second, etc)

lel. did not see this. seems reasonable.


Hardcoded web options

Fixes https://github.com/owncloud/ocis/issues/4921

:boom: Acceptance test Web-Tests-ocis-smoke-ocis-storage-1 failed. Further test are cancelled...

seems that we have some fallout here from the options.
@JammingBen Any ideas how that could break the selenium tests?

https://host.docker.internal:9200/config.json returns a lot more options now.
Before:

After:

Note that options holds a lot more items. E.g. it now has sharingRecipientsPerPage: 0, which overwrites Web setting it to 200 per default. As a result, no sharing recipients will be shown -> failing pipeline.
Is it desired for oCIS to return all those values now? If so, the default values have to be implemented in oCIS I suppose.

@JammingBen Thanks for digging into it. We need to omit empty values to use the web defaults.

@JammingBen @kobergj @mmattel
I added some defaults.
Ocis default is now
{
  "previewFileMimeTypes": [
    "image/gif",
    "image/png",
    "image/jpeg",
    "text/plain",
    "image/tiff",
    "image/bmp",
    "image/x-ms-bmp"
  ],
  "sharingRecipientsPerPage": 200,
  "sidebar": {
    "shares": {
      "showAllOnLoad": false
    }
  },
  "routing": {
    "idBased": true
  },
  "contextHelpersReadMore": true
}

@kulmann FYI

Some empty defaults are omitted on the json object. They are relying on the web default.
Please speak up if you think that we should make all of the defaults explicit.

Consider before merging:
Following point for ease of readbility/identification:
Current:
yaml:"href" env:"WEB_OPTION_FEEDBACKLINK_HREF"
yaml:"OpenAppsInTab" env:"WEB_OPTION_OPEN_APPS_IN_TAB"
For naming the envvars to identify its purpose we have set that they start with: WEB_OPTION_ which is good as we can identify them very easy. But looking for the yaml version, we "only" have href.
If one is looking for all options that configure the webui, not the web service itself, he can clearly identify them in the envvars but not in the yamls.
Proposal:
Start all yamls that are related to configure webui options start with option. This would ease identify them compared to that what we currently have in this PR like:
yaml:"optiontHref" env:"WEB_OPTION_FEEDBACKLINK_HREF"
yaml:"optionOpenAppsInTab" env:"WEB_OPTION_OPEN_APPS_IN_TAB"
...
This also would help documenting that there are options to configure the webui behaviour as I could then reference to a common name component in both the envvars table and the yaml table.

@mmattel The yaml is nested:
web:
  options:
     feedbacklink:
        href: https://www.example.com

Some empty defaults are omitted on the json object. They are relying on the web default.
Please speak up if you think that we should make all of the defaults explicit.

I would prefer to define the defaults implicitly in web.

I would prefer to define the defaults implicitly in web

To make admins aware about the implicit setting made by the webui, we could add what is implicit set in the envvar description. Else, how does an admin know what is configured?

I would prefer to define the defaults implicitly in web

To make admins aware about the implicit setting made by the webui, we could add what is implicit set in the envvar description. Else, how does an admin know what is configured?

Mentioning the defaults from web in the env var descriptions is a good idea, yes.

Mentioning the defaults from web in the env var descriptions is a good idea, yes.

What is missing?
I added some.

The feedback link defaults are already mentioned. The rest is IMO part of the ocis defaults and thereby documented.
Probably missing:

what about the xhr timeout option @kulmann

what about the xhr timeout option @kulmann

Not relevant for oCIS as we use TUS there.


don't set custom date in logging handler anymore

support for this has been deprecated. The date/time will be set automatically

jenkins test this


keda operator not closing connections to rabbitmq

Been playing with the rabbitmq trigger and everything was working well.
Somewhere in the testing keda quit closing connections to one of our clusters.  I've gone as far as deleted all the kubernetes templates of keda, rebuilt the rabbitmq cluster, rebuilt all the templates that were using triggers and it's still causing my rabbitmq cluster to gain connections.
If I delete the keda pods the connection count drops instantly, but I can't see why it's opening new connections to the service without closing them.
Any help would be appreciated, if I can share any other details please let me know!
Example: This cluster is usually around 45 connections.

We are running on EKS in AWS.
AMI Version: amazon-eks-node-1.13-v20190614 (ami-08c4955bcc43b124e)

This only happens on the sample project provided. Works perfectly on properly producers/consumers.

Well I may be missing something, but this was happening on our live staging environments.  Can you point me to what I should be using instead?

I can confirm that a properly RabbitMQ producer /consumer frees the connections after the HPA resizes down to the original state. I am using NServiceBus BTW.
And like I said if you tested with the sample project on Keda, it has some bug that the consumers are not scaled down and of course the connections per se on those consumers are not.
Cheers


Aggregating a dimension using the Quantiles method with skipna=True is very slow

What happened?
Hi all,
as the title already summarizes, I'm running into performance issues when aggregating over the time-dimension of a 3D DataArray using the quantiles method with skipna=True.
See the section below for some dummy data that represents what I'm working with (e.g., similar to this). Aggregating over the time-dimension of this dummy data I'm getting the following wall times:

1
da.median(dim='time', skipna=True)
1.35 s

2
da.quantile(0.95, dim='time', skipna=False)
5.95 s

3
da.quantile(0.95, dim='time', skipna=True)
6 min 6s

I'm currently using a compute node with 40 CPUs and 180 GB RAM. Here is what the resource utilization looks like. First small bump are 1 and 2. Second longer peak is 3.

In this small example, the process at least finishes after a few seconds. With my actual dataset the quantile calculation takes hours...
I guess the following issue is relevant and should be revived:  https://github.com/numpy/numpy/issues/16575
Are there any possible work-arounds?
What did you expect to happen?
No response
Minimal Complete Verifiable Example
import pandas as pd
import numpy as np
import xarray as xr

# Create dummy data with 20% random NaNs
size_spatial = 2000
size_temporal = 20
n_nan = int(size_spatial**2*0.2)

time = pd.date_range("2000-01-01", periods=size_temporal)
lat = np.random.uniform(low=-90, high=90, size=size_spatial)
lon = np.random.uniform(low=-180, high=180, size=size_spatial)
data = np.random.rand(size_temporal, size_spatial, size_spatial)
index_nan = np.random.choice(data.size, n_nan, replace=False)
data.ravel()[index_nan] = np.nan

# Create DataArray
da = xr.DataArray(data=data,
                  dims=['time', 'x', 'y'],
                  coords={'time': time, 'x': lon, 'y': lat},
                  attrs={'nodata': np.nan})

# Calculate 95th quantile over time-dimension
da.quantile(0.95, dim='time', skipna=True)

MVCE confirmation

[x] Minimal example — the example is as focused as reasonably possible to demonstrate the underlying issue in xarray.
[x] Complete example — the example is self-contained, including all data and the text of any traceback.
[ ] Verifiable example — the example copy & pastes into an IPython prompt or Binder notebook, returning the result.
[x] New issue — a search of GitHub Issues suggests this is not a duplicate.

Relevant log output
No response
Anything else we need to know?
 The fact that skipna=True is the default for float dtypes could easily be overlooked in my opinion:

If True, skip missing values (as marked by NaN). By default, only skips missing values for float dtypes;

Hi, this is a known issue coming from numpy.nanquantile / numpy.nanpercentile.
I had the same problem - AFAIK the workaround is to implement your own nanpercentiles calculation.
If you want to go that route:
There is a blog post about the issue + a numpy workaround for 3D arrays:
https://krstn.eu/np.nanpercentile()-there-has-to-be-a-faster-way/
I also turned to the numpy mailing list. Abel Aoun had a suggestion to look into the algo used at the xclim project.  See our thread here here<EMAIL_ADDRESS>I ended up taking that one and rewrote it to suit my needs. I achieved >100x speedup in my case
Good luck!

Thanks @arongergely!
I have mentioned the numpy issue in my post above (FYI, for anyone looking for it). I was really surprised to see that it's over 2 years old and that this is now the first Xarray issue referencing it. If it's really a "well known" issue, I think it should have been somehow mentioned in the Xarray quantiles method.
I have seen the blog post and tried to use the workaround with apply_ufunc and Dask but ran into some problems. I'll revisit that when I have some time and will also check xclim. Seems to be very promising, thanks!
Happy holidays! 🎄

Updates to the docstring adding all this information would be very welcome!

Hi all,
I just created a simple workaround, which might be useful for others:  https://gist.github.com/maawoo/0b34d371c3cc1960a1589ccaded868c2
It uses the _nan_quantile method of xclim and works fine for my applications. Here is a quick comparison using the same example data as in my initial post:

Does this work for an array of quantiles and also does it require the time coordinate to have a single chunk?

Recently, I create a library for the same purpose, maybe it can help other people. It can speed up quantile computations a lot.
To install, just run: pip install fastnanquantile
It's compatible with dask.
More info: https://github.com/lbferreira/fastnanquantile
Example below:

import numpy as np
import xarray as xr
from fastnanquantile import xrcompat

da = xr.DataArray(
    np.random.rand(10, 1000, 1000),
    coords={"time": np.arange(10), "x": np.arange(1000), "y": np.arange(1000)},
)

# Xarray quantile (time to run: ~25s)
result_xr = da.quantile(q=0.6, dim="time")
# fastnanquantile (time to run: <1s)
result_fnq = xrcompat.xr_apply_nanquantile(da, q=0.6, dim="time")
# Check if results are equal (If results are different, an error will be raised)
np.testing.assert_almost_equal(result_fnq.values, result_xr.values, decimal=4)

Thanks @lbferreira Do you know if its any faster than numbagg's nanquantile: https://github.com/numbagg/numbagg/issues/161 .

@dcherian My implementation is also based on numba. I just compared fastnanquantile against numbagg.
In a single benchmark (below) numbagg was faster (~5x). However, numbagg used 100% of my CPU (AMD Ryzen 9 7950X 16-core (32 threads), while fastnanquantile was not executed in parallel (CPU use around 5%). Thus, using fastnanquantile with Xarray+Dask may be a faster solution.
import numpy as np
import numbagg
import fastnanquantile as fnq

sample_data = np.random.random((50, 100, 100))
%timeit np_result = np.nanquantile(sample_data, q=0.6, axis=0)
%timeit fnq_result = fnq.nanquantile(sample_data, q=0.6, axis=0)
%timeit nagg_result = numbagg.nanquantile(sample_data, quantiles=0.6, axis=0)

# Output
# 269 ms ± 1.57 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
# 9 ms ± 17.6 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
# 1.68 ms ± 17.4 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)

Yeah, having it run in parallel is going to generally be much faster. And avoiding multiple processes / dask is going to generally save on overhead.
A welcome PR would be to add numbagg's nanpercentile to xarray, in the same way that rolling methods run through numbagg by default if it's installed.
(or if we had benchmarks showing another approach was more performant, happy to consider that)

That wrapper looks good @maawoo !
Integrating that into the existing Xarray quantiles code would be a nice contribution if you're up for it...

I'll give it a go @max-sixty 👍🏻

Just a point to think… calling a method (xarray.quantile) that always use all cpu cores (method backed with numbagg) may not be an expected behavior from an user perspective. I don’t know if numbagg provides some way to control whether to use multiple cpu cores. I just noted that it used all my cpu cores when I tested it.

AFAIK, performance increasing backends such as numbagg and bottleneck are optional dependencies. So by default numpy.nanquantile will be used. In cases where users have numbagg installed but want to disable it, they could do so using xarray.set_options:
with xr.set_options(use_numbagg=False):
    # do something

I'll give it a go @max-sixty 👍🏻

Great! Some of the existing code is great quality, some less so. So feel free to open up a PR with a draft of whatever you get done in an hour even if it's only partially complete, happy to help with questions

Thanks @lbferreira I'd follow the approach we take here:
https://github.com/pydata/xarray/blob/614c25b165c18458570f5a68e03034f9b87cf1e7/xarray/core/nputils.py#L287
and then import that new nanquantile in the existing places we use the numpy method


NumberFormatter error

Can you reproduce this issue on default Wordpress theme (eg Storefront)?
Can you reproduce this issue when all other plugins are disabled except WooCommerce, Polylang and Hyyan WooCommerce Polylang Integration?
What product versions and settings are you using when this issue occurs?

PHP:
WordPress:
WooCommerce:
Polylang: [state if using Polylang PRO]
Hyyan WooCommerce Polylang Integration:
Browser:

Steps to Reproduce

What I Expected
What Happened Instead
Whoops \ Exception \ ErrorException (E_ERROR)
Class 'NumberFormatter' not found
/var/www/xxx/wp-content/plugins/woo-poly-integration/src/Hyyan/WPI/LocaleNumbers.php105
public function getLocaleDecimalSeparator($separator)
{
$retval = $separator;
//don't touch values on admin screens, save as plain number using woo defaults
if ((! is_admin()) || isset($_REQUEST['get_product_price_by_ajax'])) {
$locale = pll_current_language('locale');
$a = new \NumberFormatter($locale, \NumberFormatter::DECIMAL);
if ($a) {
$locale_result = $a->getSymbol(\NumberFormatter::DECIMAL_SEPARATOR_SYMBOL);
if ($locale_result) {
$retval = $locale_result;
}
}
}
return $retval;
}

you will get such an error if the php_intl.dll extension is not enabled.
You need to enabled it in php.in file something like
extension=ext/php_intl.dll
NumberFormatter is part of intl extension bundled with PHP since PHP 5.3 (2009): http://php.net/manual/en/class.numberformatter.php
[If you are using a version older than that you should definitely upgrade. Please note that everything prior to PHP 5.6 is currently considered old and unsupported by the developers of PHP. There are no security releases for older versions.}
And if you are running a multi-language site it makes sense to have the internationalization extension enabled..
Also the formatting feature can be turned off from the Settings page, ie: /wp-admin/options-general.php?page=hyyan-wpi under Features, Use locale number formats.
This is also discussed on: https://wordpress.org/support/topic/update-to-1-0-2-breaks-site/

OK.
I'll upgradre PHP. Thank you for jour answer.
Regatds
Envoyé depuis l'application myMail pour Android jeudi, 03 août 2017, 09:13AM +01:00 de Jonathan Moore<EMAIL_ADDRESS>:

you will get such an error if the php_intl.dll extension is not enabled.
You need to enabled it in php.in file something like
extension=ext/php_intl.dll
NumberFormatter is part of intl extension bundled with PHP since PHP 5.3 (2009):  http://php.net/manual/en/class.numberformatter.php
[If you are using a version older than that you should definitely upgrade. Please note that everything prior to PHP 5.6 is currently considered old and unsupported by the developers of PHP. There are no security releases for older versions.}
And if you are running a multi-language site it makes sense to have the internationalization extension enabled..
Also the formatting feature can be turned off from the Settings page, ie: /wp-admin/options-general.php?page=hyyan-wpi under Features, Use locale number formats.
This is also discussed on:  https://wordpress.org/support/topic/update-to-1-0-2-breaks-site/
—
You are receiving this because you authored the thread.
Reply to this email directly,  view it on GitHub , or  mute the thread .

Version 1.0.3 . will avoid the error , please update

Works perfect now, great job, thank you


3.2

Updates to be on par with Java driver 3.2.0-rc0

Just checking if bypassDocumentValidation needs to be added anywhere else besides the two iterables.  I'm assuming it's picking it up from the Java driver options classes? If so, what about InsertOneOptions?  Do we need an overload of insertOne that takes one of those?

Is there a missing method in Filters.scala to wrap the Java Filters.type(final String fieldName, final String type)?

Added insertOne with options - unfortunately I miss overloads in the tests

type is a reserved word in scala - so its escaped in Filters.scala and there is an alias in bsonType that I expect users to use.  (Same for match in Aggregates).

Initial review complete.

lgtm!  go forth and release!

after checking why travis failed.


HTML output files don't appear to be resolving tokens in filenames

With default settings
    resourceLog:
      json:
        file: 'output/resources.%name.json'
      csv:
        file: 'output/resources.%name.csv'
        reportTags: ['Name', 'Schedule']
      console:
        reportTags: ['Name', 'Schedule']
      html:
        file: output/report-resource.%name.html

    auditLog:
      console:
      html:
        file: output/report-audit.%name.html
      csv:
        file: output/audit.%name.csv

the following files are emitted

With the PR above, output files look like:


The QPU should be primarily used with run rather than run_and_measure

To promote QVM/QPU equivalence, especially w.r.t. noisy QVMs.

docs should promote this


Question about thresholding photometric error

Great work! Could you give the exact number of the thresholding photometric error and the definition of depth inconsistency?

Thanks for your interest!
I guess you are referring to the dynamic mask generation step used in MonoRec (which we mentioned in Sec 3.1). You can refer to Sec 3.4 of MonoRec paper for details. We use the same mask to evaluate our method on KITTI.

ic, thanks for your reply!


Running the ris4 , rhfs and rhfszeeman packages takes a significant amount of time

In the case of large-scale computing, the serial version of the program consumes a significant amount of time.
Do you have a plan to develop the parallel version of the aforementioned software packages?

Dear Gordontk
Yes we have and there are already now some parallell versions that have not yet been released.
Per Jönsson
Per Jönsson

From: gordontk @.>
Sent: Wednesday, August 30, 2023 4:10 PM
To: compas/grasp @.>
Cc: Subscribed @.***>
Subject: [compas/grasp] Running the ris4 , rhfs and rhfszeeman packages takes a significant amount of time (Issue #109)
In the case of large-scale computing, the serial version of the program consumes a significant amount of time.
Do you have a plan to develop the parallel version of the aforementioned software packages?
—
Reply to this email directly, view it on GitHubhttps://github.com/compas/grasp/issues/109, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADDLFVHJN6HK4SFHZZW6GUTXX5CVXANCNFSM6AAAAAA4ESZ5FE.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

This is great news! May I ask if there is a release plan?


Output path clarification

At the end of a successful validation, we get a message telling us where the output is stored. While the path shown is correct, it's confusing. We should make it a relative path:
PS C:\code\Governance\easyGovernance> 2024-06-26 15:12:02 INFO    [New-Report] Markdown report created: C:\code\Governance\easyGovernance\src\Public\Validation\..\..\..\output/SympMarc-202406261512 report.md

Sure! From a UX perspective, the relative path (from CWD) much definitely more sense.


MRG+1: Fix weight_norm='nai' on DICS

The case when inversion='single', pick_ori='max-power', weight_norm='ai' was not caught by the if-statements in _compute_beamformer.

Is it worth updating some test?

Is it worth updating some test?

I did!

Ahh yes, just missed it. @britta-wstnr feel free to merge if you're happy

thx @wmvanvliet


"Warning: No CARLA" exception error

when I run ./bridge file as explained in README.md it throws the following error and fails to import carla and raises the following exception. The ./start_carla.sh though runs fine and I can see the carla UI.
ECU Camera Simulated: True
ECU Gas Interceptor: True
fatal: HEAD does not point to a branch
tools/sim/start_carla.sh: needs update
WARNING: NO CARLA
I am using python3.7.3.
Really appreciate if you can help on this.

I would suggest running ubuntu_setup.sh first order to get Pyenv properly installed...
it will also install Python3.8

Thanks sjdavalle. I ran ubuntu_setup.sh and i dont get import carla error instead now i get the following:
ECU Camera Simulated: True
ECU Gas Interceptor: True
fatal: HEAD does not point to a branch
tools/sim/start_carla.sh: needs update
Traceback (most recent call last):
File "./bridge.py", line 170, in
go()
File "./bridge.py", line 121, in go
imu_bp = blueprint_library.find('sensor.other.imu')
IndexError: blueprint 'sensor.other.imu' not found
WARNING: sensor object went out of the scope but the sensor is still alive in the simulation: Actor 186 (sensor.camera.rgb)
terminate called after throwing an instance of 'boost::python::error_already_set'
Aborted (core dumped)

#openpilot-simulation on the community discord is a better place to discuss getting CARLA installed and setup.


PHP fatal error: unknown "get_all_tags" function

Using the latest Pico (v2.1.1) fresh install & latest version of the plugin as of April 2020 and following instructions in the README, specifically: "In themes/default/tags.html" - the 4th line: "{% set tags = get_all_tags() %}" gives a PHP fatal error:
[10-Apr-2020] PHP Fatal error:  Uncaught Twig_Error_Syntax: Unknown "get_all_tags" function. in /themes/mytheme/tags.html:4 Stack trace: #0 /vendor/twig/twig/lib/Twig/ExpressionParser.php(377): Twig_ExpressionParser->getFunctionNodeClass('get_all_tags', 4) #1 /vendor/twig/twig/lib/Twig/ExpressionParser.php(162): Twig_ExpressionParser->getFunctionNode('get_all_tags', 4) #2 /vendor/twig/twig/lib/Twig/ExpressionParser.php(102): Twig_ExpressionParser->parsePrimaryExpression() #3 /vendor/twig/twig/lib/Twig/ExpressionParser.php(55): Twig_ExpressionParser->getPrimary() #4 /vendor/twig/twig/lib/Twig/ExpressionParser.php(587): Twig_ExpressionParser->parseExpression() #5 /vendor/twig/twig/lib/Twig/TokenParser/Set.php(41): Twig_ExpressionParser->parseMultitargetExpression() #6 /vendor/twig/twig/lib/Twig/Parser.php(192): Twig_TokenParser_Set->parse(Object( in /themes/mytheme/tags.html on line 4

Hey! That's a shame. I'm not able to replicate this. What version of PHP are you using? Can you paste your composer.lock?

Hi. Thanks for getting back to me. I'm running PHP 7.3.14 (FPM/FastCGI) with the necessary modules. I don't use composer so my composer.lock is untouched: copy attached.
composer.lock.zip

Hi! Sorry for taking so long. Are you still encountering this? I've tried again with various configurations and can't manage to replicate your issue. The only reason I can think of is for that error to appear is it the plugin wasn't up-to-date, but you said it was, so I'm at a loss.


Upon loading a new challenge, codemirror editor's cursor blinking, but it isn't selected upon

Each time a challenge loads, I want to immediately be able to start typing. It looks like the codemirror textarea (code editor) is already selected because my cursor is blinking. But it isn't. I have to use my mouse to click in the code editor.
@benmcmahon100 This is a new regression, and it may be caused by night mode or hotkeys.

@QuincyLarson unfortunately, this issue pre-dates night mode and the hot keys. I believe an issue was opened on code mirror about it.

I can take a look at it later today

I can't reproduce this issue neither in Firefox 46 nor in Chrome 50. Closing.


PDF index should not drop terms based on first character

Index sorting in PDF2 is based on groups with specified characters. If a primary index begins with a character from a group, it goes in that group. If the starting character is not part of a group, the term is dropped with an error message. For example, all of the following are dropped from English indexes:
<indexterm>© copyright sample</indexterm>
<indexterm>пример</indexterm>
<indexterm>Å and other accents</indexterm>
<indexterm>Übersample</indexterm>

Rather than dropping terms, we should move unexpected terms to the "Special characters" section of the index. We should keep a message but maybe lower to Info level (sometimes useful to know, as in the second two samples, but often the correct behavior, as in the first).
I've got this working when the index grouping file consistently uses the key "Specials" for the group that includes special characters. This is inconsistent today; some use it, some have no key for the group, some translate the key. The key itself is just an ID, and never appears in rendered output; as part of this, I plan to add that specific key to the special character group in all languages.
If the sort can't find that key, I think the only option is to continue the current behavior (drop the term, with an error). We could create another group with the key, but that would give bad results if the group already exists using a different key (presumably, part of a plugin or customization dir that already modifies the sort).

Looks like the key was missing for DE, IT, FR, was in Chinese for zh-TW, and was "/" for JA. I'll update all of those to use the key Specials.

@infotexture this feature adds a message to the message guide, not sure if additional updates are necessary? Message is just that a term has been moved to the "Special characters" section of the index.

No further updates necessary.
The user-guide/DITA-messages.xml topic is generated automatically during the docs build and the new message appears there as expected once that runs.


Age chart show percentage data

The Deep Dive sections show patients by age chart. Currently, only absolute numbers are reported but it can be modified to show data in terms of percentage for better analysis.
Solution: Hovering on the bar chart along with absolute numbers, data in percentage can be shown.

Yes, both percentage and absolute cases will look better

Please assign this task to me. I have attached the proposed change in a screenshot below.


Suggestion : When adding a game, choose if it is casual or ranked

Should we have that? Should it be per event or per game?

Probably not. If you want to play it "casual" you just don't record it in the app.


WIP: new upstream release

DO NOT MERGE THIS YET: This is just to check that the builds function. Upstream source set to my personal website to avoid bureaucracy, will revert to official kwant website when ready to merge.
Checklist

[x] Used a fork of the feedstock to propose changes
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

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

@basnijholt why are travis, circleCI etc. still running? I thought that the new azure pipelines would mean that the old stuff doesn't need to be done anymore

The process of completely moving to Azure is not yet complete AFAIU.

Also pinning numpy <= 1.11 seems obsolete

You should always build with the oldest numpy that is supported

@conda-forge-admin please re-render

Hi! This is the friendly automated conda-forge-webservice.
I tried to re-render for you, but it looks like there was nothing to do.

Argh, I opened this from master, not a feature branch, so problems. Will close/open a new PR


Have multiple FTP number changes over time

Now when changing the FTP number my whole history changes with it. It would be nice that there could be some history of FTP for certain periods, so that your numbers for that period are right.

Duplicate issue :)
Not possible because of strava missing data. Strava don't even support that in their own premium solution.
Tom


Simple differential clone recursive gDrive to gDrive

Hi this is awesome, just what I was looking for 🍰

I am using rclone v1.34
I tired it on Ubunutu 14.04 LTS and windows 7 Home and pro
Using Google Drive to -> google drive
rclone copy remote:Gdrive_1 remote:Gdrive_2  //copying from one gDrive_1 to another gDrive_2

I am trying to do a clone and maintain the copy as a differential copy, can you please help me with the command syntax to copy everything recursively, if newer from gdrive_1 to gdrive_2
thanks

So, if I understand correctly, you want to make backups of one of your Google Drive folders to another Google Drive folder on the same Google account, and have any files which have been changed in the source folder overwrite the files in the destination folder, correct? I believe adding --update should do the trick.
An example command of what I might use:
rclone --no-traverse (doesn't scan the destination for duplicates that exist in other folders, this can save a lot of time if you have many subdirectories) --update (only overwrite files with a new size/modtime) --drive-chunk-size=64M (Not sure if rclone downloads the folder and reuploads it, or does a server side copy, so this may be useless for your application, not sure.) --transfers=6 (More and more can help speed up your transfer speeds for both small files and large files, you may choose to use as many as 16 if you're transferring small files.) copy remote:Gdrive_1 remote:Gdrive_2

@jpat0000 sorry for not clarifying better,
I am trying to copy to a new/separate account  currently I have files in my account-folders and I want to copy them to another account folder recursively

@papyr You specified two folders on the same remote, which sparked the confusion. As you may already know, you will need to specify two remotes, your source remote connected to one Google Drive, and your second remote connected to another one. Example: remote: and remote1:
I believe rclone transfers recursively by default. You can name the destination folder on your second remote whatever you like, including myOldDriveContent  👍
Let me know if I am missing anything.

Thanks, just a suggestion - it would be nice to a have a visual option to select and confirm the source and destination.
Also a way to check the status of the transfer over time, or get an email notification on progress

If you use the -v flag you'll get more info on the progress of the transfer.
I'm going to close this now as I think the original question is answered.


Bridge Event problem (Asterisk 12)

Hi,
I have a problem with ManagerConnection.Bridge Event. The problem is that Bridge event never fires.
I have Asterisk 12 and AsterNET from NuGet.
I also tried to use the link and unlink events but they also do not work (not fires at all).
This is piece of my code.
public bool ConnectAsterNet()
{
// Create ManagerConnection
AsterManager = new ManagerConnection(_ServerAdress, _ServerPort, UserName, Password);
        //AddEvents
        AsterManager.UnhandledEvent += AsterManager_UnhandledEvent1;
        AsterManager.OriginateResponse += AsterManager_OriginateResponse;

        AsterManager.Dial += AsterManager_Dial;
        AsterManager.Hangup += AsterManager_Hangup;
        AsterManager.Transfer += AsterManager_Transfer;
        AsterManager.ExtensionStatus += AsterManager_ExtensionStatus;
        AsterManager.ConnectionState += AsterManager_ConnectionState;
        AsterManager.NewState += AsterManager_NewState;
        AsterManager.UseASyncEvents = true;
        AsterManager.Bridge += AsterManager_Bridge;
    AsterManager.Login();

}
 private void AsterManager_Bridge(object sender, AsterNET.Manager.Event.BridgeEvent e)
 {
        Console.WriteLine("Bridge:" + e.ToString());
 }

Below you can find the logs regarding bridge directly from my AMI
Event: BridgeCreate
Privilege: call,all
BridgeUniqueid: 315ec63d-fabc-4dd3-a46d-ecd48b85c144
BridgeType: basic
BridgeTechnology: simple_bridge
BridgeCreator:
BridgeName:
BridgeNumChannels: 0
Event: BridgeEnter
Privilege: call,all
BridgeUniqueid: 315ec63d-fabc-4dd3-a46d-ecd48b85c144
BridgeType: basic
BridgeTechnology: simple_bridge
BridgeCreator:
BridgeName:
BridgeNumChannels: 1
Channel: SIP/7002-00000000
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 7002
CallerIDName: 7002
ConnectedLineNum: 7003
ConnectedLineName:
AccountCode:
Context: from-internal
Exten:
Priority: 1
Uniqueid:<PHONE_NUMBER>.2
Event: BridgeEnter
Privilege: call,all
BridgeUniqueid: 315ec63d-fabc-4dd3-a46d-ecd48b85c144
BridgeType: basic
BridgeTechnology: simple_bridge
BridgeCreator:
BridgeName:
BridgeNumChannels: 2
Channel: Local/7003@from-internal-00000000;1
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 7003
CallerIDName:
ConnectedLineNum: 7002
ConnectedLineName: 7002
AccountCode:
Context: macro-dial-one
Exten: s
Priority: 47
Uniqueid:<PHONE_NUMBER>.0
Event: BridgeLeave
Privilege: call,all
BridgeUniqueid: 315ec63d-fabc-4dd3-a46d-ecd48b85c144
BridgeType: basic
BridgeTechnology: simple_bridge
BridgeCreator:
BridgeName:
BridgeNumChannels: 1
Channel: SIP/7002-00000000
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 7002
CallerIDName: 7002
ConnectedLineNum: 7003
ConnectedLineName:
AccountCode:
Context: from-internal
Exten:
Priority: 1
Uniqueid:<PHONE_NUMBER>.2
Event: BridgeDestroy
Privilege: call,all
BridgeUniqueid: 315ec63d-fabc-4dd3-a46d-ecd48b85c144
BridgeType: basic
BridgeTechnology: simple_bridge
BridgeCreator:
BridgeName:
BridgeNumChannels: 0

The Bridge-event is a legacy event no longer used by Asterisk 12. You can also see that the event actually isn't fired.
https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+AMI+Events
@skrusty or is the Bridge event one of those that tries to encapsulate all four of those events?

Not sure, but looking at the code, you can see (for example) BridgeDestroy fires it's own event!
https://github.com/skrusty/AsterNET/search?utf8=✓&q=BridgeDestroy
So hook into the AMI V2 events, not AMI V1.
This is a grey area in AsterNET right now, and something I am unsure how to handle moving forwards. Do we version off AsterNET (version 2.x.x) that only supports AMI v2? Suggestions and thoughts welcome.

Right! Looking at the history it was actually me who implemented those events.
My opinion is that so long as there is no naming conflicts between the v1->2 events, we should just support them all.
@xiron3 just subscribe to the individual BridgeCreate/Destroy etc. The Bridge event is for older versions of Asterisk.

@jonastelzio Might be worth adding something to the code comments (passed to intenseness) to reference that fact? Would be great of you could use Interfaces to mask over events for a specific AMI version.
E.g.
var manager = (IAmiVersion1) new ConnectionManager(...);

But from what I remember with ARI, that's not really possible.

ok, but i don't have BridgeCreate/Destroy events under ManagerConnection. Where can i find them ?
As I said, I downloaded latest AsterNet from Nuget.

@xiron3 we can see they are not yet included in any release (https://github.com/skrusty/AsterNET/compare/v1.0.1...master)
You would need to download the source and compile yourself. We should get a new release out soon, but currently I am the only one who does it, and have to find time :]

thanks for reply !


DbCache is not working: Invalid parameter number

What steps will reproduce the problem?
config
 'class' => \yii\caching\DbCache::class,
 'db' => 'db',
'cacheTable' => '{{%cache}}',

I have executed the migration: @yii/caching/migrations
$cache = \Yii::$app->getCache();
$key = 'lasttime';
$lasttime = $cache->get($key);
$cache->set($key, time());
echo $lasttime;

What is the expected result?
What do you get instead?

Unable to update or insert cache data: SQLSTATE[HY093]: Invalid parameter number
The SQL being executed was: SELECT
kcu.CONSTRAINT_NAME AS name,
kcu.COLUMN_NAME AS column_name,
tc.CONSTRAINT_TYPE AS type,
CASE
WHEN NULL IS NULL AND kcu.REFERENCED_TABLE_SCHEMA = DATABASE() THEN NULL
ELSE kcu.REFERENCED_TABLE_SCHEMA
END AS foreign_table_schema,
kcu.REFERENCED_TABLE_NAME AS foreign_table_name,
kcu.REFERENCED_COLUMN_NAME AS foreign_column_name,
rc.UPDATE_RULE AS on_update,
rc.DELETE_RULE AS on_delete,
kcu.ORDINAL_POSITION AS position
FROM
information_schema.KEY_COLUMN_USAGE AS kcu,
information_schema.REFERENTIAL_CONSTRAINTS AS rc,
information_schema.TABLE_CONSTRAINTS AS tc
WHERE
kcu.TABLE_SCHEMA = COALESCE(NULL, DATABASE()) AND kcu.CONSTRAINT_SCHEMA = kcu.TABLE_SCHEMA AND kcu.TABLE_NAME = 'vip_cache'
AND rc.CONSTRAINT_SCHEMA = kcu.TABLE_SCHEMA AND rc.TABLE_NAME = 'vip_cache' AND rc.CONSTRAINT_NAME = kcu.CONSTRAINT_NAME
AND tc.TABLE_SCHEMA = kcu.TABLE_SCHEMA AND tc.TABLE_NAME = 'vip_cache' AND tc.CONSTRAINT_NAME = kcu.CONSTRAINT_NAME AND tc.CONSTRAINT_TYPE = 'FOREIGN KEY'
UNION
SELECT
kcu.CONSTRAINT_NAME AS name,
kcu.COLUMN_NAME AS column_name,
tc.CONSTRAINT_TYPE AS type,
NULL AS foreign_table_schema,
NULL AS foreign_table_name,
NULL AS foreign_column_name,
NULL AS on_update,
NULL AS on_delete,
kcu.ORDINAL_POSITION AS position
FROM
information_schema.KEY_COLUMN_USAGE AS kcu,
information_schema.TABLE_CONSTRAINTS AS tc
WHERE
kcu.TABLE_SCHEMA = COALESCE(NULL, DATABASE()) AND kcu.TABLE_NAME = 'vip_cache'
AND tc.TABLE_SCHEMA = kcu.TABLE_SCHEMA AND tc.TABLE_NAME = 'vip_cache' AND tc.CONSTRAINT_NAME = kcu.CONSTRAINT_NAME AND tc.CONSTRAINT_TYPE IN ('PRIMARY KEY', 'UNIQUE')
ORDER BY position ASC

It seems strange that the SQL above I could execute it in other way(DBeaver)
Additional info

Q
A

Yii version
2.0.15?

PHP version
7.3.3

Operating system
ArchLinux

DB
MariaDB

Any version where it works?

Any version where it works?

It seems because that PDO::ATTR_EMULATE_PREPARES was disabled.
The DbCache works if enable PDO::ATTR_EMULATE_PREPARES.

Not a problem anymore?


Remove "This is a work in progress" and Add Daniele as Author

I would remove the "This is a work in progress" from the main page and Add Daniele as Author of the client.
What do you think @qweeze @DanielePalaia

Sure 👍


fix typo in @immut/list.rev_concat()'s example

Pull Request Test Coverage Report for Build 3421
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.168%

Totals

Change from base Build 3420:
0.0%

Covered Lines:
4111

Relevant Lines:
4943

💛  - Coveralls


Bump polymer-cli: next -> ^0.18.0

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


mobile: rebrand onboarding

Acceptance criteria:

The mobile design of the onboarding is rebranded with 4 slides:

One slide focused on DeFi chat & bots
One slide focused on decentralisation and blockchain use
One slide about token gated bonding curve rooms (communities)
One slide about wallet usage & AEX-9 token gated rooms
The general structure is the same as the existing slides but with image & text change, example:

Meeting notes: https://aeternity-blockchain.atlassian.net/wiki/spaces/CBFD/pages/439255068/2024-02-13+Meeting+notes+2

Based on the meeting notes provided by Michele I am suggesting the following 2 versions of the mobile onboarding slides redesign including updated wording.
V1:

V2:

V2 can be updated with more iterations and variants with generative imaging. The web version if V2 is selected will be something like:

Figma reference link: https://www.figma.com/file/3oGLWzSH0oJljo4RETZtur/Superhero-Wallet-UI-(✔Updated)?type=design&node-id=30412-176892&mode=design&t=U64ihkSr6V6TVk2b-0

@paolomolo to check it


Test Build Workflow

@arjunprakash027 We can create test.yml similar to CSV2Notion Neo.
We can aim for 1.1.0 or 1.2.0 release.
Thank you.

G


Hibernate and Recording

Bug Fixes and Improvements

Updates to hibernate()

shut off power to GSR and thermistor
put accelerometer, gyro, and magnetometer into suspend mode
down to ~2.5mA draw (0.01 W) from possibly ~ 7-9 mA

Includes the ~1mA contribution of the Feather M0

Proper support for SD writing without WiFi connection

Move some const definitions and added more #ifdefs
Added autoSDwrite(), which should be called in setup()

Compatibility

Should be used with ofxEmotiBit v0.6.0+
Should be used with EmotiBit BMI160 v0.2.0+

My guess is that it has to do with the order. Everything has been set up by the time the button is held. Not true in the case of no SD. It may be that the code borks when hibernate is called before the modules have been initialized


recipes-qt/qt5/qt3d_git.bb fails to compile

I'm trying to cross compile some Qt code for aarch64, following https://developer.toradex.com/knowledge-base/how-to-set-up-qt-creator-to-cross-compile-for-embedded-linux. bitbake -k meta-toolchain-qt5 fails  when trying to compile qt3d. The complete log file is attached, but the relevant part is here:
make[3]: Entering directory '/data/martin/yocto/build/tmp/work/aarch64-poky-linux/qt3d/5.11.1+gitAUTOINC+3b4a9b5061-r0/build/tests/manual/gltf'
make[3]: Nothing to be done for 'first'.
make[3]: Leaving directory '/data/martin/yocto/build/tmp/work/aarch64-poky-linux/qt3d/5.11.1+gitAUTOINC+3b4a9b5061-r0/build/tests/manual/gltf'
No data signature found
Makefile:460: recipe for target '.rcc/qrc_scene2d.o' failed
make[3]: *** [.rcc/qrc_scene2d.o] Error 1
make[3]: Leaving directory '/data/martin/yocto/build/tmp/work/aarch64-poky-linux/qt3d/5.11.1+gitAUTOINC+3b4a9b5061-r0/build/examples/qt3d/scene2d'
Makefile:490: recipe for target 'sub-scene2d-make_first' failed
make[2]: *** [sub-scene2d-make_first] Error 2
make[2]: Leaving directory '/data/martin/yocto/build/tmp/work/aarch64-poky-linux/qt3d/5.11.1+gitAUTOINC+3b4a9b5061-r0/build/examples/qt3d'
Makefile:44: recipe for target 'sub-qt3d-make_first' failed
make[1]: *** [sub-qt3d-make_first] Error 2
make[1]: Leaving directory '/data/martin/yocto/build/tmp/work/aarch64-poky-linux/qt3d/5.11.1+gitAUTOINC+3b4a9b5061-r0/build/examples'
Makefile:98: recipe for target 'sub-examples-make_first' failed
make: *** [sub-examples-make_first] Error 2
make: *** Waiting for unfinished jobs....

log.do_compile.11434.txt

This is also happening to me quite often, on a different file but with the same rcc error (No data signature found)

Same issue here. Could that be related to kind of concurrent builds? It happens from time to time only.

Well, me too... :(

This bug has forced my development team to remove qt3d altogether from our Yocto builds to avoid the risk of our daily builds failing randomly. Is there any more information on this bug and/or a possible fix? I've been trying to debug it on my own to no avail...

I'm also facing this issue trying to build our Yocto (Rocko 2.4.2) image for Raspberry Pi 3. The main difference with the setup we have our CI machines is that my host is running XUbuntu 18.04 LTS so, I wonder, does that shed any light on the probable culprit?

I am also facing this issue after upgrading the meson and the libinput library. I don't know it has any relation with that or not. But before that, it was compiled successfully.

Have had random compilation failures of rcc generated files in qt3d as well. Caused by GCC OOM:ing (easy to see with journalctl).
Only way to solve this for my particular setup was to add a 64GB swap file. (Depends on available memory and #of parallel jobs, but this was the only thing that helped in this case. Compiling just a single failing compilation unit and nothing else at the same time still failed.)
Is there a way to disable examples (and tests would be nice as well) globally in meta-qt5? Would make builds go faster and this particular issue would go away. As far as I can tell only qtbase has a PACKAGECONFIG for disabling examples:
https://github.com/meta-qt5/meta-qt5/blob/a4bf2402c19742b866cf4b5e5e4665ae070500ff/recipes-qt/qt5/qtbase_git.bb#L104
Could add that PACKAGECONFIG to qt3d as well but would be nice to be able to do it globally. Am I missing something?

Also encountered compile failure: "No data signature found"
qt3d 5.12.3+gitAUTOINC+7da5c4c35a
Yocto Project cleansstate and then run default tasks for qt3d, was able to build.  32GB RAM and SWAP space, monitoring, didn't see consumption close to max.
bitbake -c cleansstate qt3d
bitbake qt3d
But not root cause for failure, just a work-a-round.

Upstream bug https://bugreports.qt.io/browse/QTBUG-73834


Enhancements

TaskQueue instead of Task.Wait()
Music File NameFinding with Shazam API or Vagalume API
FileTagging with Shazam API or Vagalume API
Extended File Tagging => bbm (only 32bit)

Hi! Thanks for the PR.
Unfortunately it won't be merged for the following reasons:

It's too big and involves multiple unrelated changes
It doesn't address or reference any existing issue
Most importantly, this project doesn't accept PRs for new features and enhancements, as mentioned at the very top of the readme

You are, of course, free to use the code as part of your own fork, but it won't be integrated in the main project.


Proposal: LoginDialog Control

Proposal: Add LoginDialog Control
Similar to #792, it would be nice to have a LoginDialog control similar to MahApps LoginDiagram for user to enter user/pass.
Summary
While devs can create their own, it is a little more complex as the PasswordBox control is harder to setup for MVVM binding due to security issues.
Instead of creating custom logic/UI, it would be nice to have a native control to perform basic login UI.

@shaggygi, thank you for the proposal and, again, more detail would be great. Would the only purpose of this control to enable users to enter their username/password while supporting MVVM, or would you want to see other scenarios covered?

@YuliKl Thanks for the reply.  My initial thought it would purely for 1) MVVM support and 2) allow user to enter username/password.  One disadvantage of only this is it would have to return back to caller to perform the verification.  If the username/password failed, the dialog would have to be called again to inform user of error and retry.
I guess you could pass an authentication interface, but gets complicated as that would be known and if it would work for different scenarios.
In the end, I could get around this and create my own ContentDialog for this.  However, it is the security and support for MVVM around the PasswordBox that would be good instead of coding.

This would be much easier to implement once #179 (native Input validation) is part of the platform.
However, I'd be very cautious about providing such a control as it is likely that once an "official" login control is available it can be tempting for developers to use this as an excuse to delegate some of their responsibility for managing security and passwords appropriately. As this could easily lead to the production of less secure software careful consideration of this must be taken.

Thank you for your cautionary comment, @mrlacey! While a login dialog seems useful, I can definitely imagine a control like this turning into a crutch.
While we definitely won't be able to act on this proposal until after WinUI 3.0 ships, I would like to keep this issue in our "freezer" to be considered in the future.

@YuliKl I understand keeping it open ;)
We still have a similar issue open for Windows Template Studio but I've very reluctant to actually implement it and we are instead focusing authentication efforts in WTS around web/MSAL based auth for now to avoid some of the potential issues here.

Perhaps #4374 would facilitate to deal with credential providers and free you up from dealing with passwords ?


After recent system update starwars demo suddenly stopped working

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
I'm using these test pods on kind local cluster:

https://raw.githubusercontent.com/cilium/tetragon/main/testdata/specs/testpod.yaml
https://raw.githubusercontent.com/cilium/cilium/main/examples/minikube/http-sw-app.yaml

After recent system update (apt update && apt upgrade) both test-pod and deathstar pods do not work normally:

test-pod can't start:
failed to create containerd task: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "sleep": executable file not found in $PATH: unknown

It worked before that without any issue for quite a long period of time.

Can't connect to deathstar with kubectl exec:
$ kubectl exec -it deathstar-7848d6c4d5-bv4wc --namespace default --container deathstar -- sh
error: Internal error occurred: error executing command in container: failed to exec in container: failed to start exec "d1c85145b5017031c6e6e02db0749b68cd2f861740b4c62b75033ea5198fe71d": OCI runtime exec failed: exec failed: unable to start container process: exec: "sh": executable file not found in $PATH: unknown

Same when I try sh, bash, /bin/bash.
It also worked without any issue.

Note that "unknown" at the end of error message.
Please advice, we use these test pods in local testing and development and now this issue blocks it. =(
Cilium Version

Kernel Version
$ uname -a
Linux mint-vm 5.4.0-164-generic #181-Ubuntu SMP Fri Sep 1 13:41:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Kubernetes Version
$ kubectl version
Client Version: v1.28.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.27.3

Sysdump
No response
Relevant log output
No response
Anything else?
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hey @aanm I see that you released a v2.0 of the deathstar image a couple of weeks ago. Does the new image remove shells and common commands? Have we integrated that new version into CI yet?

I can confirm that setting docker.io/cilium/starwars:v1.0 (instead of latest) resolves above issues.

The latest version was rebuilt to work on ARM, and for simplicity and small size I built it on a scratch image. If we need other executables for test scripts etc then it would be easy enough to change it back to a Linux distro base image again

Up

Up

Up

@joestringer Ping, looks like you were making some changes with https://github.com/cilium/cilium/pull/31146, but not sure if this issue has been fixed by now.

@ti-mo Same status as https://github.com/cilium/cilium/issues/28454#issuecomment-1768098920. To reintroduce a shell, someone would need to submit the proposed changes into https://github.com/cilium/starwars-docker .

(Removing agent classification - it's not really an agent bug, this was a side-effect of introducing multi-platform images in https://github.com/cilium/starwars-docker).

Up

Hi @inliquid , in practice these images were designed specifically for demo usage for the examples on https://docs.cilium.io so any usage beyond that is not top of mind for the maintainers of these images. This is why it broke when a new major version was released.

test-pod can't start: [...]

The latest tetragon YAML no longer uses that image.

Can't connect to deathstar with kubectl exec: [...]

We've outlined the steps to make this work in the comment above. If you're using this for your own purposes, you could either create your own dockerfile using these images as a base and then add the tools that you want, or you could propose a PR to change https://github.com/cilium/starwars-docker to include a shell and other tools.
I'll close this as wont-fix, but if you wish to submit a change to support this use case then you are welcome to do so.


Multiple variable initializers in for loop

Fixes #83.

Here is a commit which implements the assumptions presented in https://github.com/angular/ts2dart/issues/83#issuecomment-85282233.

Changes done. Note that the new visit method has signature visitVariableDeclarationType(varDecl: ts.VariableDeclaration) rather than visitVariableDeclarationType(t: ts.TypeNode) because a parent cannot be extracted from t (to get the varDecl) when it is absent.

I've merged this in 27eaa56.


cmd/compile: register conflict between external linker and duffzero on arm64

What version of Go are you using (go version)?

$ go version
go version go1.12.4 linux/arm64

We build our Go app on arm64. In a recent version, we encountered a segment violation error when it run. Through gdb debugging we found that the error originated from the register conflict between external linker and duffzero (I guess).
The error occurred in a line in the runtime·duffzero in duff_arm64.s.
It is found by GDB that it is in the __runtime.duffzero_veneer function before entering runtime·duffzero. This function looks like this:
Dump of assembler code fo function __runtime.duffzero_veneer:
0x0000xxx<+0>: adrp x16,0x460000<runtime.call1073741824+8>
0x0000xxx<+4>: add x16,x16,#0xbec
0x0000xxx<+8>: br x16

br x16 will jump into runtime·duffzero.
TEXT runtime·duffzero(SB), NOSPLIT|NOFRAME, $0-0
	STP.P	(ZR, ZR), 16(R16)
	STP.P	(ZR, ZR), 16(R16)
	STP.P	(ZR, ZR), 16(R16)
...

But at this time the address in x16 is the address of the code segment. Then it went wrong.
cmd/internal/obj/arm64/a.out.go:
REGRT1 = REG_R16 // ARM64 IP0, for external linker, runtime, duffzero and duffcopy
It seems that external linker and duffzero has the same register.
I don't know if I have made it clear. I want to know if this is a bug?

I think we could change the register used in duffzero, if necessary.
Is __runtime.duffzero_veneer a trampoline generated by the C linker? Could you share the command you used to build (link) your program?

Ok, the ARM64 ABI says
The A64 branch instructions are unable to reach every destination in the address space, so it may be necessary
for the linker to insert a veneer between a calling routine and a called subroutine. Veneers may also be needed to
support dynamic linking. Any veneer inserted must preserve the contents of all registers except IP0, IP1 (r16, r17)
and the condition code flags; a conforming program must assume that a veneer that alters IP0 and/or IP1 may be
inserted at any branch instruction that is exposed to a relocation that supports long branches.

Maybe we should change the register. It seems unlikely that calling duffzero needs a trampoline. I guess you are using shared libraries, where the Go runtime and the Go user code are not in the same module?

@cherrymui
May be simple because it is too big. Our code segment has more than 100M. Is there any way to temporarily circumvent this problem?

The patch in https://golang.org/cl/183842 should fix this.

@cherrymui
Thank you！
I will verify if the problem has been solved. Can I know how long this commit will be merged and which version will it be merged into?

@xuanjiazhen the patch is in. It will be in Go 1.13 release.

@cherrymui
I got a go version based on 1.12.4 and https://golang.org/cl/183842. I tried to verify if the issue was resolved based on this version. But I got another mistake. The program has not even run to the last error. （src/runtime/malloc.go:936）
func modulesinit() {
	modules := new([]*moduledata)  // crash ！

If I change back to unmodified go1.12.4, the program will pass normally here.
I can't be completely sure if there is a problem with the modification of the register or if there is a problem with the version of Go I compiled. So can you please provide a go release version on the arm64 platform with patched 1.12.x?This looks a bit beyond your scope of work. But if you can, I hope you can help me.....Thank you ! I am trying to solve this problem.

@cherrymui
I am very depressed to find out that the current go may not be able to compile a binary with a code segment of more than 128M on arm64, which can run smoothly. Register conflicts may be just one of the cases, and it has not been determined that the conflict has been resolved. Should open a new issue to track the BL instruction jump problem over 128M.

Handling long jumps should be a separate issue, yes.  Thanks.

I don't think there is a Go 1.12 release with the patch. You can try Go 1.13 beta, which includes the patch. https://golang.org/dl/#go1.13beta1
That said, I realized that CL 183842 is not complete. If there is a linker trampoline involved, R16 and R17 may be clobbered. We moved away from them in Duff's devices, but the register allocator still needs to know they are clobbered. I can send a CL to fix this part. But I still don't know how linker trampoline is involved here. @xuanjiazhen could you share the command you used to build the binary? If you use go build, you can pass -x -ldflags=-v for extra information, which would be helpful.
As @ianlancetaylor said, handling long jumps should be a separate issue. I agree we don't have that support. But it shouldn't be hard, given that we already have the infrastructure for this on ARM32 and PPC64.

@cherrymui
There is nothing special when building the binary. Just you need to make the binary text section built over 128M.
I constructed an example to reproduce the problem over 128M. You can generate a main_generate.go using the following code. Then generate a bunch of method files from main_generate.go. Finally, call them in another main method.  Anyway, I'll send my CL in case it helps. You can apply it on top of Go 1.13 beta1.

a CGO hello world to make it use the external linker

You can pass -ldflags=-linkmode=external to force external linking without cgo.

@gopherbot, please open backport issues.


Figure out monitoring

PagerDuty + Grafana Cloud? I would assume there's plenty of Prometheus metrics scripts out there for ZFS.
Is there anything I could do with Honeycomb, just to dip a toe in over there?

Most important things:

Alert when system is down
Alert when a drive is dying


ptrguard: assert that //go:uintptrescapes actually works

This adds a test that assures that the special //go:uintptrescapes comment
before the storeUntilRelease() function works as intended, that is the
garbage collector doesn't touch the object referenced by the uintptr until
the function returns after Release() is called.  The test will fail if the
//go:uintptrescapes comment is disabled (removed) or stops working in future
versions of go.
Signed-off-by: Sven Anderson<EMAIL_ADDRESS>

As this only touches the tests I will merge this w/ only my review unless I hear some NACKs soon.

@Mergifyio rebase


Multiple Documents using sharejs

I like to share multiple documents using sharejs each document should be shared with only specific users.The problem i am facing now is that i tried implementing sharejs with the project every document is getting shared with everyone.The change which i reflect in one documents is getting reflected in every document and in every user page. I am really new in sharejs and nodejs .It would be a great if someone could explain how to implement this

You have to handle the access to the document externally, for example keep a list of authorized users for each document and only show those people the document. If someone could get around this and tries to access the document illegally, you can rely on sharejs built in auth feature.