Add DataFrame.sort and Column.sort

Feedback I received when showing this to people is that
col.get_rows(col.sorted_indices())

isn't ergonomic
It's also a performance footgun
In [1]: df = pl.DataFrame({'a': np.random.randint(0, 4, size=100_000_000)})

In [2]: %timeit df[df['a'].arg_sort()]
2.56 s ± 80.3 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

In [3]: %timeit df.sort('a')
700 ms ± 21.2 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

That performance difference for Polars is quite surprising. Does df.__getitem__ do a lot of extra bounds checking or something else that could be bypassed in the case where you know the indices being passed to it are generated with guarantees?

That performance difference for Polars is quite surprising. Does df.__getitem__ do a lot of extra bounds checking or something else that could be bypassed in the case where you know the indices being passed to it are generated with guarantees?

there are no guarantees in this case
anyway, you can observe the same in numpy:
In [14]: arr = np.random.randint(0, 4, size=100_000_000)

In [15]: %time arr[np.argsort(arr)]
CPU times: user 767 ms, sys: 2.13 s, total: 2.89 s
Wall time: 2.9 s
Out[15]: array([0, 0, 0, ..., 3, 3, 3])

In [16]: %time np.sort(arr)
CPU times: user 253 ms, sys: 187 ms, total: 440 ms
Wall time: 439 ms
Out[16]: array([0, 0, 0, ..., 3, 3, 3])


Removed dedicated FreshlyRehashed type.

I think it's worth mentioning the motivation of this change. FreshlyRehashed was introduced just recently, why was it purpose subverted?


handle tree sitter nodes with the same starting location

I have discovered that often, two nodes have the same starting location. This happens when one is the first child of the other. For instance, ```lua
local function something()
if sometest() then
function_in_if()
end
other_function()
end
If you're cursor is on `function_in_if`, there's not way to select just the if-block without selecting the entire function body.

Yes, I don't think this can be solved in a satisfying way. See also https://github.com/mfussenegger/nvim-treehopper/issues/23#issuecomment-1304466300, and the whole discussion above/below.

Okay. Thanks anyway.


Support for Arrays

Description
Looks like arrays are not supported yet.
Domain
Bhai Lang
Type of Contribution
Addition, Enhancement
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of bhai-lang.

lain banao bhai?

Are we supporting all the methods related to Array? If we do, will the syntax remain the same?
ex: map, reduce, filter etc.


Handle collections for Task inputs

Currently collection can not be used for input, it has to be casted into list. This needs to be adapted user should not worry about the cast.

Task inputs work with Collections without any issue. Tests confirm it with bout Python 3.4.5 and Python 2.7.12.


Connection Router exception on startup

this happens on a new game project when started from visual studio. it might be better to have the default for shader compiler set to 'Local'. the exception might be irritating for newcomers. related to #128

Resolved through #639


Could not open socket

What is the current behavior?

When running we get the error "Could not open socket"

Steps to reproduce
 Just run the line:
 deepgramLive = await deepgram.transcription.live(PARAMS)

To make it faster to diagnose the root problem. Tell us how can we reproduce the bug.

Expected behavior
  We should get more details on why the socket could not be opened.
  Side Note: I suspect this might be due to HTTPs issues, is there a way to ignore SSL errors?

What would you expect to happen when following the steps above?
Error details to help debug the core issue

Please tell us about your environment
 Python 3.10 on MacOs

We want to make sure the problem isn't specific to your operating system or programming language.

Operating System/Version: Windows 10
Language: [all | TypeScript | Python | PHP | etc]
Browser: Chrome

Other information

Anything else we should know? (e.g. detailed explanation, stack-traces, related issues, suggestions how to fix, links for us to have context, eg. stack overflow, codepen, etc)

@saifrahmed  👋  This is probably better posted in our Community Forum as it doesn't sound like an issue with the SDK. if it's still an issue for you feel free to post there and a Community member can assist.


help with using this ¿

hello , sorry if im overlooking something really obvious or using this incorrectly , but i cant seem to be able to be able to use this , my first guess was a simple drag and drop onto the .exe after it didnt run when opened  but that doesnt seem to be do anything either , and there arent any other files shipped along with the .exe , so ive come to the conclusion that im missing something . sorry again if im overlooking something obvious but i tested a bunch and read the github page and just really cant figure out how to use this . any help would be super appreciated

Hi! Unfortunately, the converter is a command-line program, not an installer, so yeah, you might see a brief flash on the screen when you double-click it, but that's about it.
There are tons of web pages about using the "Command Prompt" to run programs like this, but here's a start guide (don't type what I put in parens):

Create a folder on your desktop with the adpcm-xq.exe program and the .wav file(s) you want to convert. Use a simple name like adpcm
Start the Command Prompt (Start menu?)
type cd Desktop (this takes you into the desktop)
type cd adpcm (this goes into the directory you made)
type dir (this should display the names of everything in the directory, which should look familiar)
type adpcm-xq file1.wav file1-adpcm.wav (this should convert the first file if it was called file1.wav, otherwise use the actual names you want)
type dir again to see the file you just made, or look in the folder on the desktop
double-click on the adpcm file to make sure everything went well

Hope this helps and good luck!

this did work , thankyou ! command prompt is usually where my knowledge of computers and programs falls short so a step by step process was extremely helpful , thankyou again


Support new wildcard file matching behavior

What does this PR do?
In the current logs agent, if you configure file log sources with a wildcard path (eg, my-log-dir/*.log), the logs agent will resolve the wildcard every scan interval and decide if more files should be tailed.
There is a limit to the number of open files that is configurable, and once there are more files matching the wildcard than that limit, we need some way of deciding which wildcard matches should be selected.
The goal of this PR is to provide a new matching behavior that selects based on the time a file was most recently modified.
This change provides a new config option logs_config.file_wildcard_selection_mode that has 2 possible values:

by_name which is the existing behavior (described in more detail below)
by_modification_time which is the new behavior

Motivation
In the current behavior, the ordering is roughly alphabetical and therefore there is no way to select different files once the initial pass has been made without renaming files.
To make things worse, the existing behavior is to "greedily" fill the open file slots from each log source in turn.
This means if you have multiple wildcard log sources, say you're monitoring both /var/serviceA/logs/*.log and /var/serviceB/logs/*.log, if /var/serviceA/logs/*.log contains > logs_config.open_file_limit number of logs, /var/serviceB/logs/*.log will not be considered at all.
Additional Notes
This PR creates 2 new "modes" that a file_provider can operate in, both allowing for a global mode that will consider all wildcard matches and a mtime mode that will order by the most recently modified file time instead of alpha ordering.
The config option logs_config.file_wildcard_selection_mode sets both of these options for the file_provider
(I changed too much of file_provider for git to recognize it as a rename, even when I put the rename in its own commit, sorry for the ugly diff!)
Possible Drawbacks / Trade-offs
This mode is significantly less performant than the default. Every scan (default every 10 seconds) will now stat every single file that matches the glob, whereas before only the directory contents needed to be read.
Performance will be even worse in the case where the agent is monitoring a network mount of some kind, presumably those stat calls will be more expensive.
This is a trade-off that the user should be aware of when enabling this option.
mbp m1 max - macos native
goos: darwin
goarch: arm64
pkg: github.com/DataDog/datadog-agent/pkg/logs/internal/launchers/file/provider
BenchmarkApplyOrdering/Mtime-10                   194088              5984 ns/op
BenchmarkApplyOrdering/ReverseLexicographical-10                 7772708               158.7 ns/op

mbp m1 max - linux vm
goos: linux
goarch: arm64
pkg: github.com/DataDog/datadog-agent/pkg/logs/internal/launchers/file/provider
BenchmarkApplyOrdering/Mtime-4            200792              5733 ns/op
BenchmarkApplyOrdering/ReverseLexicographical-4                  7339722               166.6 ns/op

Describe how to test/QA your changes
There are two goals for QA here:

Ensure that without the new config option set, things work as they did before
When there are more than open_files_limit matches, more recently modified files are prioritized.

Example datadog.yaml:
confd_path: /home/ubuntu/dev/datadog-config-scenarios/disk-log-listener/conf.d/
logs_enabled: true
logs_config:
  container_collect_all: false
  open_files_limit: 3
  file_wildcard_selection_mode: "by_modification_time"
  file_scan_period: 1.0

Example conf.d/disk-log-listener/conf.d/conf.yaml:
logs:
  - type: file
    path: /tmp/logfolder/*.log
    service: "my-service"
    source: "my-client-app"

With the config option on (ie, set to by_modification_time), create 3 log files with some content. Ensure via agent status that these logs are being tailed. Then create a 4th log file with some new content. Ensure that the oldest of the 3 has been dropped and replaced by this new 4th log file.
With the config option off (ie, set to by_name), create 3 log files with some content. Ensure via agent status that these logs are being tailed. Then create a 4th log file with a name alphabetically less than the existing files. Ensure that there is no change to the set of files being tailed.

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

I've addressed all feedback here, thanks to all for the reviews.
@djmitche I missed your question, but all the flags here are permanent, I don't see us ever making by_modification_time the default due to the performance differences.

Completed some manual testing and everything looks good. Just need another look at the documentation changes -- @kayayarai


Make the "No data" text more subtle on dashboard

Mulish, bold
50 % #fff
align left
center vertically
use the same padding on both sides

Text content should also be updated to include words "Ruuvi Cloud Free". @laurijamsa

Now it seems it's misaligned. Btw this text is shown in history view in my screenshot, maybe the alignment comes from there.

@io53 also light mode

QA passed


logging: refactor log_filter_set to set existing log level

Modified log_filter_set function to limit level if requested
level is not compiled in. Additionally, extended function to
return actually set level. Removed redundant code from log_cmds.
Change fixes shell log backend initialization which was setting
log levels without taking into account compiled in limits
(like log enable command was doing).
Signed-off-by: Krzysztof Chruscinski<EMAIL_ADDRESS>

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@18f9bb0). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master   #11436   +/-   ##
=========================================
  Coverage          ?   48.38%
=========================================
  Files             ?      265
  Lines             ?    42197
  Branches          ?    10137
=========================================
  Hits              ?    20418
  Misses            ?    17703
  Partials          ?     4076

Impacted Files
Coverage Δ

subsys/logging/log_core.c
75.53% <100%> (ø)

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 18f9bb0...13161db. Read the comment docs.


DRep explorer - DRep-Yourself-Retired is shown when Filter is set to Active only

To reproduce on test-sancho:

Become a Drep
Retire
Go to DRep explorer
Set Filter to Active - on first place your DRep card is shown with Yourself - Retired state, below are there rest of Retired Dreps

API endpoint: /drep/info returns that the current - your DRep is retired
Used DRep: drep1pzuxy8ukuvffjyyrdp8sxkzp3z8r57z5q0jtgxhwu3a22t9ppel
curl -X 'GET' \
  'https://test-sanchonet.govtool.byron.network/api/drep/info/33fb11c1fba4845dd900d2f05a1df0547f64457c4ee035c4c8a1bcd3' \
  -H 'accept: application/json;charset=utf-8'

{
  "isRegisteredAsDRep": false,
  "wasRegisteredAsDRep": false,
  "isRegisteredAsSoleVoter": false,
  "wasRegisteredAsSoleVoter": false,
  "deposit": null,
  "url": null,
  "dataHash": null,
  "votingPower": null,
  "dRepRegisterTxHash": null,
  "dRepRetireTxHash": null,
  "soleVoterRegisterTxHash": null,
  "soleVoterRetireTxHash": null
}

Compare with screenshot below and jam recording

@pmbinapps Is the 4th step in the description set correctly? Title says active only, 4th bullet point says retired only

@bosko-m right, it should be 'Active' in 4th step as on screenshot. Thank you for spotting!


[Question] How do I find the smart things library?

Hi
I checked out the node js file requires the smart things library. May I ask if you can share with me where did you get the library.
Thank you

in your smartthings.js code you reference var SmartThings = require("./smartthingslib").SmartThings but I don't see this within your repo. Where can I get smartthingslib files? Thanks

Well that's embarrassing. It's there now, thanks.


Module 'Stripe' not found

First I want to say thank you for all your hard work in creating this plugin. This is just what I need!
After I added Stripe to my project, I'm having some trouble building from Xcode. The error is: Module 'Stripe' not found (CordovaStripe.m). Any idea or advice would be much appreciated.
Thanks!

Ok I resolved my problem. This plugin is not the issue.
It turns out I just need to reset my plugins:
cordova platform rm ios
cordova platform add ios.


Fix CI build

Build is failing

This worked in my repo and gives a complete job. I checked logs the build failure is due to some internal error at Github actions.
If it persists during the next PR. I will fix it then.

Flutter CI got triggered automatically and Completed Successfully.

I triggered it


Add imports to some documentation

This is a PR for https://github.com/andrewMacmurray/elm-simple-animation/issues/6
I ended up only adding imports to some of the documentation. I skipped very short examples or where it felt obvious what the imports were.

That looks great, thanks for this!

That looks great, thanks for this!


icon on hover issue

The icon on hover is appearing in very small images like thumbnail images.
I hope there is option to ignore image smaller than x pixel, same option available on
double click image downloader add-on. Thank you

We already have this option in the option page.


Dictation: Midlife crisis needs a rebrand

https://www.youtube.com/watch?v=pnl5LUiAfd0
Expressions

salt-and-pepper

used to describe hair that is a mix of white or gray (salt) and black or dark brown (pepper) hairs.
ex) "The actor's salt-and-pepper beard gives him a rugged and distinguished look."
ex) "I am also a white guy in his 40s with receding salt-and-pepper hair."

receding: 후퇴하는. (앞머리가 점점 없어지는 모습을 표현. 남자의 hairline을 말할때 쓰는 자주 용어임)

dawn on somebody

suddenly become aware of something, often after a period of confusion or lack of understanding.
ex) "It dawned on me that Jim Morrison, one of my heroes had died at age 27."
ex) ""As I looked around the room, it dawned on me that I was the only one who had misunderstood the instructions."

live to (some age)

reach a certain age or to survive until a particular time or event
ex) "I realized that if I were to only live to 27, I was already halfway there."
ex) "My grandmother lived to be 96 years old, and she was still active and healthy until the very end."

I am halfway there

반쯤 왔다.
ex) "I've saved half the money I need for my dream vacation, so I'm halfway there!"
ex) "I realized that if I were to only live to 27, I was already halfway there."

funk

a strong offensive smell
a state of paralyzing fear, depressed state of mind
ex) "My dad's death put me into funk again."
ex) "I hate rainy days - they always put me in a funk. I usually I listen to upbeat music to help me get out of my funk."

come to

reach a particular state, meaning, or understanding over time
ex) "That is not what the term mid-life crisis has come to mean in our contemporary culture."
ex) "She finally came to the realization that she needed to find a better-paying job."
ex) "As I learned more about the subject, I came to appreciate the complexity of the issue."

leave ~ for ~

~ 때문에 (누구를) 떠나다
ex) "Your husband is leaving you for a 25 year old yoga instructor."
ex) "I can't believe that after all those years together, she's leaving you for her co-worker."

off

used when something is wrong or not quite right
ex) "They might know that something's a little bit off with their business."
ex) "The soup tasted a little off, so I asked the waiter if it was fresh."
ex) "The timing of the announcement seemed a bit off - why would they release such important news on a Sunday?"

put a finger on ~

identify or specify something precisely or accurately
부정문으로 쓰는 경우가 많음

ex) "I can tell something's bothering her, but I can't quite put my finger on what it is."
ex) "He knew there was a problem with the machine, but he couldn't put a finger on the exact cause."

1
i am a brand strategist and a designer.
i am also a white guy in his forties with receding salt-and-pepper hair
who drives a fast car.
the very first time that i have felt painfuil grip of mid-life crisis was in 1984
i was 13 sitting in my record, listening to Door's record and it dawned on me that
Jim Morrison, one of my heros had died at age 27.
in fact, a lot of artist hero dies at 27.
this was not good because i was 13 and a half
i realized that if i would only live to 27 i was already halfway there
for a couple of weeks, this put me into a real slump.
my next mid-life crisis came when i was couple years at a college
i guess i was halfway to fifty at this point, which by the way is the age at which
a lot of heroes had died young.
but 50 is not what bothered me at this time.

salt-and-pepper

used to describe hair that is a mix of white or gray (salt) and black or dark brown (pepper) hairs.
ex) "The actor's salt-and-pepper beard gives him a rugged and distinguished look."
ex) "I am also a white guy in his 40s with receding salt-and-pepper hair."

receding: 후퇴하는. (앞머리가 점점 없어지는 모습을 표현. 남자의 hairline을 말할때 쓰는 자주 용어임)

dawn on somebody

suddenly become aware of something, often after a period of confusion or lack of understanding.
ex) "It dawned on me that Jim Morrison, one of my heroes had died at age 27."
ex) ""As I looked around the room, it dawned on me that I was the only one who had misunderstood the instructions."

live to (some age)

reach a certain age or to survive until a particular time or event
ex) "I realized that if I were to only live to 27, I was already halfway there."
ex) "My grandmother lived to be 96 years old, and she was still active and healthy until the very end."

next: https://youtu.be/pnl5LUiAfd0?t=85

2
it was 35 because that was only 10 years away and i knew once i hit 35 i was over the hill.
that put me into funk again for short time.
my next midlife crisis though came at 40 and a half.
i had successfully crossed the threshold of 40 with very little drama or chaos
i was proud of this
but then one beautiful December morning, my dad died.
suddenly and unexpectedly.
there's my dad. 66 and in great health and he was just gone.
and that was so tough because now one of my greatest hero if not greatest hero was gone
but also i was for the first time really looking death in the face and seeing it stare right back at me.
ok. if you're thinking yourself this guy sounds a little confused about what a mid-life crisis is
you're right
but so are you
because mid-life crisis doesn't mean what you think it means
by definition, mid-life crisis is a dip in a person satisfaction with their life
and in their self-confidence.
this dip happens about halfway through our life expectancy.
https://youtu.be/pnl5LUiAfd0?t=157

funk

a strong offensive smell
a state of paralyzing fear, depressed state of mind
ex) "My dad's death put me into funk again."
ex) "I hate rainy days - they always put me in a funk. I usually I listen to upbeat music to help me get out of my funk."

3
that is not what the term mid-life crisis has come to mean in our contemporary culture

4
i have two theories about business and identity about crisis.
the first is that when they realize or not, they are probably going through it right now.
second is that even if they are, it can be the best thing ever happen to them.
so what do we do when we rebrand?
well we start, by having the comany ask themselves serious questions.
questions like who are we
and what do we stand for
what is it that makes us unique?
who do we need to be talking to?
and what do we need to say?
companies who rebrand and go about it the right way come out stronger and more successful on the other side.
think about target when they have impressive rebirth if you will.
they asked themselves the same kind of question. right?
and they would into exactly who they wanted to be
and they just focus everything on communicating that clearly and effectively
might be problem the term mid life crisis is that it's communicating the wrong thing.

the right way

the right way" means doing something in the most effective, appropriate, or ethical manner
명사인데 부사처럼 쓰임
ex) "If you want to lose weight, you need to do it the right way - with a healthy diet and regular exercise."
ex) "If you're going to invest in the stock market, you need to invest the right way to maximize your returns."

next: https://youtu.be/pnl5LUiAfd0?t=279

5
and as a result it is conversation ender    (-------> as a result)
like every time it's used which sucks.
it should be a onversation starter
so how do we get here
well the term was coined in 1965 by a psychoanalyst who is obsessed with creative geniuses like these guys.
and he was specifically obsessed with why so many of them seen to flame out creatively
really young sometime before they're even thirty, which is crazy
because that's not what mid-life crisis means at all now         (--------> at all)
you know it's very possible that this term is just misnomer
which is an  inaccurate or inappropriate name      (-----------> is an 이 isn't 로 들리는 마법)
but hey. lot's of things are misnomer.
chinese checkers are not checkers. they are also not from china.
koala bears are not bears
coconuts are not nuts.
french fries are from Belguim.
French horn are from Germany.
but these terms... they stick.

misnomer

오칭 (틀린 이름)
ex) "It's very possible that this term, mid-life crisis, is just a misnomer."
ex) "The term 'white lie' is a misnomer - lying is never really 'white' or harmless."

next : https://youtu.be/pnl5LUiAfd0?t=340


SCALE-native JSON value

Context
Continuation of:

#4900
#5012

In short, Iroha supports arbitrary JSON payloads for certain actions. In SCALE they are encoded as JSON strings (JsonString type), while in JSON format they are inlined as values.
This is a proposal of an alternative solution: introduce as SCALE-native JsonValue type, encoded not as a string, but directly as an enum:
enum JsonValue {
    Null,
    Bool(bool),
    Number(Number),
    String(String),
    Array(Vec<JsonValue>),
    Object(Map<String, JsonValue>),
}

this is a literal copy of serde_json::Value
Benefits

Compact encoding of JSON - no need to encode "[{}], characters & whitespace
Possibly faster deserialisation - needs benchmarking and careful implementation
Consistency in the schema - JsonValue represents f

Downsides

Needs custom implementation

Why it is String now
AFAIK the initial choice of string representation for JSON values is an efficiency concern: we don't want to pay for extra (de)serialization while transmitting data to/from WASM smartcontracts.
Basically, string was used as a way to have lazy encoding of data, as requested.
I think it should be possible to achieve lazy encoding in a more direct way with some sort of Lazy<T> container, making it both more explicit and flexible.

Like the suggestion of the Lazy container, this could nicely decouple the laziness from the data type.

@0x009922 and @Erigara - guys can u plz take a look at this task? It blocks the Java SDK


UnicodeEncodeError at startup in tag_autocomplete_helper.py in model_keyword_support.py

Been using tagcomplete fine for a long time (nice job!). Installed the model-keyword extension and after restart, I see this:
*** Error loading script: tag_autocomplete_helper.py
    Traceback (most recent call last):
      File "D:\hal\stable-diffusion\ux\modules\scripts.py", line 274, in load_scripts
        script_module = script_loading.load_module(scriptfile.path)
      File "D:\hal\stable-diffusion\ux\modules\script_loading.py", line 10, in load_module
        module_spec.loader.exec_module(module)
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "D:\hal\stable-diffusion\ux\extensions\a1111-sd-webui-tagcomplete\scripts\tag_autocomplete_helper.py", line 284, in <module>
        write_temp_files()
      File "D:\hal\stable-diffusion\ux\extensions\a1111-sd-webui-tagcomplete\scripts\tag_autocomplete_helper.py", line 281, in write_temp_files
        update_hash_cache()
      File "D:\hal\stable-diffusion\ux\extensions\a1111-sd-webui-tagcomplete\scripts\model_keyword_support.py", line 29, in update_hash_cache
        file.write(f"{name},{hash},{mtime}\n")
      File "C:\Users\hal\AppData\Local\Programs\Python\Python310\lib\encodings\cp1252.py", line 19, in encode
        return codecs.charmap_encode(input,self.errors,encoding_table)[0]
    UnicodeEncodeError: 'charmap' codec can't encode characters in position 23-24: character maps to <undefined>

I have a few loras with kanji characters in the filename, perhaps that's the root cause, but I don't really know. Any clues? Running latest versions of everything involved.

Yeah, small oversight on my part, that write function was still missing the UTF-8 encoding setting.

Dang. That was quick. :D 👋


Combinators for Assertion

Today I wanted to combine multiple Assertions and was stuck, since I expected simple combinators as && and || to be present for Assertions. On Stackoverflow I found, that we can combine assertions using the following:
def andAssertions(a : Assertion, b : Assertion) : Assertion = {
    assert((a == Succeeded) && (b == Succeeded))
}

This is just a one-liner, but I'd argue that the code is not very intuitive.
Would it be possible to ship scalatest with && (and || accordingly) implemented for Assertion?

@smoes Fyi we have something under development called Expectations (in place of Assertions) and Fact (in place of Assertion):
https://github.com/scalatest/scalatest/blob/3.2.x-new/jvm/core/src/main/scala/org/scalatest/expectations/Expectations.scala
https://github.com/scalatest/scalatest/blob/3.2.x-new/jvm/core/src/main/scala/org/scalatest/Fact.scala
The expect function from Expectations will return Fact, and Fact can support && and || like what you want, I can't recall what's left for development for Expectations and Fact, they are in @bvenners 's plan to be released in future version of ScalaTest.


Can't delete plugin on 1.6

This is a Django bug https://code.djangoproject.com/ticket/21846
Caused by 67c55cc908e799012dcf5bd28cedef377ef2a494

Fixed by #305


Fix wrong use of nxsem_getvalue

Bug caused increase of fifo->rx_sem with each received msg until finally after 32767 messages get into
DEBUGASSERT(sem->semcount<SEM_VALUE_MAX);
or stopping receiving anything at all without debug, while tx was working.
issue #1354
Also perform can_poll inside critical_section. I'm not sure, maybe it not necessary, please advise.

Good catch Oleg! Thank you very much!

Thank for you work, Alan! But it looks like a made a mistake :(
Should be
sval <= 0
right?
If 'sem' is locked, the value return by nxsem_get_value() will either be zero or a negative number whose absolute value represents the number of tasks waiting for the semaphore.


Cursor's move_up method ignores the delta parameter

As you can see here the body of the method does not refer to the delta parameter, so the cursor will always only be moved up one line.

Thanks for noticing this, will fix it in the next version!


Feature/call variants

PR checklist
Closes #XXX

[x] This comment contains a description of changes (with reason).
[x] Check to see if a nf-core module, or subworkflow is available and usable for your pipeline.
[x] Feature branch is named feature/<module_name> for modules, or feature/<subworkflow_name> for subworkflows. For modules, if there is a subcommand use: feature/<module_name>/<module_subcommand>.
[x] If you've fixed a bug or added code that should be tested, add tests!
[x] If you've added a new tool - have you followed the module conventions in the contribution docs.
[x] Use nf-core data if possible for nf-tests. If not, use or add test data to mskcc-omics-workflows/test-datasets, following the repository guidelines, for nf-tests. Finally, if neither option is feasible, only add a stub nf-test.
[x] Remove all TODO statements.
[x] Emit the versions.yml file.
[x] Follow the naming conventions.
[x] Follow the parameters requirements.
[x] Follow the input/output options guidelines.
[x] Add a resource label.
[x] Use Jfrog if possible to fulfil software requirements.
Ensure that the test works with either Docker / Singularity. Conda CI tests can be quite flaky:

For modules:

[x] nf-core modules --git-remote https://github.com/mskcc-omics-workflows/modules.git -b <module_branch> test <MODULE> --profile docker
[x] nf-core modules --git-remote https://github.com/mskcc-omics-workflows/modules.git -b <module_branch> test <MODULE> --profile singularity

For subworkflows:

[x] nf-core subworkflows --git-remote https://github.com/mskcc-omics-workflows/modules.git -b <subworkflow_branch> test <SUBWORKFLOW> --profile docker
[x] nf-core subworkflows --git-remote https://github.com/mskcc-omics-workflows/modules.git -b <subworkflow_branch> test <SUBWORKFLOW> --profile singularity

@buehlere everything is up to date on this branch and ready to merge into develop.
FYI, I added one more parameter called canonical_tx_ref used in the tag_by_variant_annotations module. I've made sure it's used in the pipeline code and updated in the test.config file. I also added the path to this file on GitHub instead of terra (since it doesn't have patient data and is easier to keep track of).
We can discuss any questions you have tomorrow!


Update-Modules.ps1 Needs small update

There's a part of the code that's "if(!Test-IsAdmin)" It needs to be "if(!(Test-IsAdmin))" otherwise man Update-PSModules.ps1 throws an error.

@kpcintegrations 'preciate that, nice catch!

There's a part of the code that's "if(!Test-IsAdmin)" It needs to be "if(!(Test-IsAdmin))" otherwise man Update-PSModules.ps1 throws an error.

New version published: https://www.powershellgallery.com/packages/Update-PSModules/1.0.4 - let me know if it works correctly for you now.
Thanks,
Jimmy


Support guid data type

Support GUID data type.

Hi @Ibrahemkhalil thank you for the PR.  Can you add supporting test cases for the changes you made?  Thank you!

Hi @Ibrahemkhalil thank you for the PR. Can you add supporting test cases for the changes you made? Thank you!

Tests have been updated along with support for [Contains / EndsWith / BeginsWith / Equals]

@Ibrahemkhalil awesome thank you.  It looks like you've addressed the previous issue that Guid inclusion caused (a regression where ToString was executed on all types, preventing linq-to-sql from translating properly).  I'll give it a whirl in the next day or two and if all checks out I'll put out a new release.  Thanks again for the effort, very cool!

@Ibrahemkhalil I just made a very minor commit to master that will ensure that when code coverage is run against a PR it's assessed against the PR and not against master.  The version of coveralls.net I was using was VERY old so I bumped it to a version that will tag your PR as a PR.  As a favor, if you don't mind, pull the latest from my master into your branch and update the PR, it'll give accurate code coverage and a passing build in the checks for the PR.  Apologies for the inconvenience!  I'm reviewing over the weekend - very much appreciate the contribution!

@Ibrahemkhalil sorry for the back and forth.  I've updated CI to properly reflect that there are a couple of test case failures in the PR. Basically the custom operator Guid work I added needs to be removed and the tests need to be corrected in a couple of cases.  You can remove the code associated with them here:
https://github.com/tghamm/dynamic-linq-query-builder/blob/a726703dc574ebf9f84c6495070706d45d2e18b2/Castle.DynamicLinqQueryBuilder.Tests/CustomOperatorsTests.cs#L74-L269

@tghamm no issue. You may check now.

@Ibrahemkhalil thank you. I'll give it a closer look in a bit but I think this probably rounds it out.  Good note on date formatting, that is worth a revisit.

@Ibrahemkhalil new version has been released, thanks again for your contribution!


Make some internal types public to facilitate custom service implementations

We have had to create a few custom services for IdSvr4 interfaces.  In several cases we've had to copy/paste internal constants, extension methods or validation methods to facilitate reuse of the default services.
This PR simply makes a few types/members public so we can reference/reuse them from our custom service types.
I used a #pragma to disable warnings about no xml documentation for all the many constants members that are now public - I figure the constants are fairly self-explanatory.
I realise there may be reasons for having made these types internal but if not, it would be helpful to enable their reuse.
cheers

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: thirkcircus sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Hey Justin -- do you know which constants specifically? We have IdentityServerConstants already that's meant to be public, so what we'd want to do for this PR is move the ones to be made public into the designated class.

Hi - aha, i see!
I'm really just after AccessTokenAudience.  😄
I've just altered the PR (force-push) - have dropped the commit to publicise Constants and moved just the one member over to IdentityServerConstants.

Oh.  😐
I've just gone to create a custom DiscoveryResponseGenerator and see that all of Constants.ProtocolRoutePaths is internal so I can't reuse it - any objection to my also moving that into public constants?

and SigningAlgorithms also.

...and why?

Why what?  Why are we creating custom implementations of idsvr4 interfaces?
For backwards compatibility (url encoding of client ids and secrets in idsvr4 broke some of our clients and some of our clients couldn't handle the change to always render scope claims in an array even when only one present) and integration reasons.  For eg we host on two origins with a single issuer.  I'm wanting to create custom discovery and override just the authorization endpoint to hardcode the origin for when users log in.  This would be as simple as copy/paste the DiscoveryResponseGenerator and alter one line - except the constants used by that type are internal so I have to copy/paste a whole bunch of them as well.


Unable to select directories on GTK?

This was reported in runebender (https://github.com/linebender/runebender/issues/108); apparently the patch that added file type filtering to gtk (#903?) means we're no longer able to open directories, even with the select_directories option set.

Selecting directories works perfectly fine when not using allowed_types.
Using allowed_types + select_directories is 'broken' indeed, but I do not think we can do anything about that on our end.
The problem with the combination is that you can only navigate bookmarks, but not 'go into' any directories in the dialog because they are filtered out. But if you have a bookmark that gets you to a folder containing a my_font.ufo directory than that works perfectly fine (it is selectable).

I think the GTK implementation can ignore allowed_types when select_directories is true. This would put it on bar with Windows, where Windows itself will ignore allowed_types  in that case.
There is no way (using the standard file dialog without extensions) to filter directories on Windows, so I don't think this is a behavior that druid can provide in a cross-platform way.

That sounds reasonable to me.


Installing OmegaFold in Ubuntu v22.04

Hi,
What is the best version of Python and GCC version to install OmegaFold?

I am using an Anaconda environment in Ubuntu 22.04 for OmegaFold. Anaconda should provide you most of the dependencies and your GCC version should not be an issue

What is the best workflow for installing OmegaFold using the Anaconda environment?

You can install Anaconda via the installation script from their website. After that, make sure that the conda environment is active, which should be evident from the word "base" in your command prompt. If your conda environment is not active use:
conda activate
Now you can follow the instructions in the README.md file to install Omegafold, in short use the following commands.
pip install git+https://github.com/HeliXonProtein/OmegaFold.git
wget https://helixon.s3.amazonaws.com/release1.pt
mv release1.pt ~/.cache/omegafold_ckpt/model.pt


[CS] Improve diagnostics when buildPartialBlock is unavailable

If buildBlock is also unavailable, or the builder itself is unavailable, continue to solve using buildPartialBlock to get better diagnostics.
This behavior technically differs from what is specified in SE-0348, but only affects the invalid case where no builder methods are available to use.
In particular, this improves diagnostics for RegexComponentBuilder when the deployment target is too low. Previously we would try to solve using buildBlock (as buildPartialBlock is unavailable), but RegexComponentBuilder only defines buildBlock for the empty body case, leading to unhelpful diagnostics that ultimately preferred not to use the result builder at all.
rdar://97533700

@swift-ci please test

@swift-ci please test source compatibility

@swift-ci please test source compatibility

@swift-ci please test source compatibility

@swift-ci please test


FeatureRequest: Add convenience function to find out if current route has a parent that is x

What problem does this feature solve?
Right now there seems to be 2 ways of adding an "active" class to the parent element.
either name the routes as:
parent:  name="parent"
child: name="parent.child"

and then use a route.name.startsWith('parent.') (very loosely coupled approach)
OR
to set the parent up as a router-link as well. this however doesnt play nice with places you dont want it as a a href="..." (in my use case bootstrap dropdown - where the dropdown doesnt close after clicking on a child. the active class gets applied exactly as it should tho)
so my proposal is to add a function to the route of either:
.isChildOf() which given a route name or path or route object? would return true / false
OR
'.getParents()` which returns a list of all the parents this route has. this will allow for a far stronger method of highlighting the parent (or for that matter building a breadcrumb bar)
(i prefer the 2nd approach since it will allow for far more use cases other than a simple .active check)
What does the proposed API look like?
const route = useRoute();
const is_child_of: boolean = (parent: string) => route.isChildOf(parent)

or
const route = useRoute();
const parents: Array<RouteRecordRaw> = route.getparents();

console.log(parents.forEach((item)=>item.name)) // or a if route name = 'x' type function

You can already get the parent of a route in the matched array, in short the order is reversed: it goes from deepest child to parent
You can also use useLink() to get the active state of a route (same behavior as router-link).
I'm transferring to a question as it fits better the discussions 🙂


chore: bump Std dependency to leanprover/std4#468

I've been pushing changes to this branch, but Github isn't showing them... Not sure why. I'm going to close and reopen this PR.


Use .get() for accessing deprecated id field

Fixes #126

@slimkrazy and @PiDelport could you take a look at this PR? Thank you!

:wave: @delaine-eb and @justinbricker-eb.

This looks reasonable to me. 👍🏼


feat: crd provisioner use cache

What type of PR is this?
/kind feature

What this PR does / why we need it:

Add cached client managed by controller manager to crd provisioner to allow cached queries for CRIs in crd provisioner calls.
This would help reduce overload on apiserver

Which issue(s) this PR fixes:

Fixes #
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

I have overall concerns with this approach. While it is convenient and desirable to share resources (i.e. object cache to reduce direct API server calls), The CrdProvisioner is logically part of the driver where the controllers are separate services that just happen to be hosted in the driver executable/process for convenience.
The post-Mandalay plan intends to partition the work done by the controllers (specifically for volume creation and attachment management) across multiple nodes. We may repackage the controllers into a separate image at this point. It may also be possible regardless of packing that the driver and controllers may no longer coexist in the same process reducing the opportunity for shared state.
It would also be beneficial to replace our current polling in the CrdProvisioner with a watcher based approach to waiting for CRI status updates. The current controller-runtime support for using watches was recently added, requires a separate client with separate cache and not really for use with controllers. (See kubernetes-sigs/controller-runtime#1460.) Each watch appears to also make an explicit call to the API server to setup the watch.
I am of the opinion that the CrdProvisioner should instead use our auto-generated informers to provide a cached client much like what is done in the scheduler extender. We could then use the informers' events to build an event driven wait mechanism for CRI status changes in addition to leveraging the informers' caching. Informer events are based on a multiplexed watch setup reducing overall calls to API server. That is, we only have a single watch per object type and namespace that are used to drive the events rather than creating a new watch for each CRI monitored for status updates.
@abhisheksinghbaghel @landreasyan Do you have any thoughts about this?

I am for this opinion on adding an informer and revising the current polling method to use watch events. I think we should add caching to crdProvisioner at one point to avoid excessive api-server calls. And as per post-mandalay plan you just brought up, it wouldn't make sense for the controllers and crdProvisioner to share resources.
And maybe we can set up go channels for informers' event handlers to use to signal the controllerServer calls that volume attachment / detachment / creation / deletion / update has been completed?

I am for this opinion on adding an informer and revising the current polling method to use watch events. I think we should add caching to crdProvisioner at one point to avoid excessive api-server calls. And as per post-mandalay plan you just brought up, it wouldn't make sense for the controllers and crdProvisioner to share resources.

The informers provides caching and use watches to drive the cache to eventual consistency. The cached objects are accessible through lister interfaces. e.g. AzVolumeAttachmentNamespaceLister.
obj, err := azVolumeAttachmentInformer.Lister().AzVolumeAttachments("azure-disk-csi").Get(attachmentName)

And maybe we can set up go channels for informers' event handlers to use to signal the controllerServer calls that volume attachment / detachment / creation / deletion / update has been completed?

Yes. We could use the informers' event handlers to implement an interface like:
func (w *conditionWatcher) WatchForObjectCondition(ctx context.Context, obj runtime.Object, conditionFunc func (obj runtime.Object) bool) (runtime.Object, error) <- chan

WatchForObjectCondition watches for the condition of the specified object to be satisfied. It returns the updated state of the object, or an error if wait fails due to timeout or other error condition, through the returned channel. The caller is expected to call this function before starting the operation that would result in the object's condition changes.
Internally, conditionWatcher would maintain a map of object types to a map of object namespaced names to a list of pending waiters' condition functions and return value channel. On receiving an event for an object, conditionWatcher looks up pending waiters, executes their condition function and sends the updated object to the watcher if true is returned. It should also respect the deadline specified in context.Context to handle timeouts and send a timeout error on expiry.

The informers provide caching and use watches to drive the cache to eventual consistency. The cached objects are accessible through lister interfaces. e.g. AzVolumeAttachmentNamespaceLister:

Oh, I didn't mean to say that we should add an additional caching mechanism other than the one provided by the informer. I meant that 1) necessity of caching and 2) inability for crdProvisioner to use controllers' shared resources gives use the logical justification to add informers to the crdProvisioner.

And maybe we can set up go channels for informers' event handlers to use to signal the controllerServer calls that volume attachment / detachment / creation / deletion / update has been completed?

One additional point here is that the watch-based wait should be transparent to the controllerServer. I'm not sure it makes sense to expose the watcher result channel to it, if that's what you were getting at.

And maybe we can set up go channels for informers' event handlers to use to signal the controllerServer calls that volume attachment / detachment / creation / deletion / update has been completed?

One additional point here is that the watch-based wait should be transparent to the controllerServer. I'm not sure it makes sense to expose the watcher result channel to it, if that's what you were getting at.

I actually meant to say crdProvisioner here sorry. I guess what I was envisioning is not too different from what we have right now. Without too much focus on the details, these are along the lines of what I envisioned.
type CrdProvisioner struct {
    ...
    conditionWatcher conditionWatcher
}

type waitEntry struct {
    conditionFunc func(obj runtime.Object) (bool, error)
    waitChan chan <-(runtime.Object, error)
}

type conditionWatcher struct {
    informerMap map[Type]cache.SharedIndexInformer // maps object type to its informer
    waitMap sync.Map // maps namespaced name to waitEntry
}

func (w *conditionWatcher) WatchForObjectCondition(ctx context.Context, objectName string, conditionFunc func (obj runtime.Object) bool) (runtime.Object, error) {
    waitChan := make(chan (runtimeObject, error), 1)
    entry := waitEntry {
        conditionFunc: conditionFunc,
        waitChan: waitChan
    }
    conditionWatcher.waitMap.Store(qualifiedName, conditionFunc)
    defer conditionWatcher.waitMap.Delete(qualifiedName)

    select {
		case <-ctx.Done():
			errMsg := fmt.Sprintf("context timeout for %v (%s)", reflect.TypeOf(obj), qualifiedName)
            klog.Error(errMsg)
			return nil, Status.Errorf(codes.Internal, errMsg)
        case obj, err := <- waitChan:
            return obj, err
        default:
            return nil, status.Errorf(Aborted, "unexpected error")
        }
}

And as you said, at event handling, we would check the map, evaluate the conditionFunc, and return its value to the stored channel.
And for every crdProvisioner PublishVolume, UnpublishVolume, CreateVolume, DeleteVolume, UpdateVolume calls, it would invoke WathcForObjectCondition to check for desired object conditions.

I actually meant to say crdProvisioner here sorry. I guess what I was envisioning is not too different from what we have right now. Without too much focus on the details, these are along the lines of what I envisioned.
...

This looks pretty good, but the fact you doing the wait in WatchForObjectCondition requires that it be called after the operation that will result in the change. In this case, WatchForObjectCondition would need to Get the object after adding the condition function to the map since the object may be been updated in the interim. This is fine, but we would need to deal with the a case where the object doesn't yet exist and ignore a "NotFound" error. This would be reasonably straightforward to implement. If you choose this route, I would recommend renaming the method WaitForObjectCondition instead.
I had originally thought to have the caller wait on the result channel directly, but this means it also has to deal with context cancelation/timeout separately. I like how your solution handles both - it makes it easier to use. One enhancement I can think of to my original proposal would be to have WatchForObjectCondition instead return a ConditionWatcher which could wrap waiting on both the result channel and context, e.g.

type conditionWaiter struct {
    objectName string
    watcher conditionWatcher
    resultChan chan <- (runtime.Object, error)
}

func (w *conditionWaiter) Wait(ctx context.Context) (runtime.Object, error) {
    select {
    case <-ctx.Done():
        errMsg := fmt.Sprintf("context timeout for %v (%s)", reflect.TypeOf(obj), qualifiedName)
        klog.Error(errMsg)
        return nil, Status.Errorf(codes.DeadlineExceeded, errMsg)
    case obj, err := <- w.resultChan:
        return obj, err
    default:
        return nil, status.Errorf(codes.Internal, "unexpected error")
    }
}

func (w *conditionWaiter) Close() {
    w.watcher.waitMap.Delete(w.objectName)
}

func (w *conditionWatcher) WatchForObjectCondition(obj runtime.Object, conditionFunc func (obj runtime.Object) bool) (conditionWaiter, error)

Here's an example of usage:
func (p* CrdProvisioner) CreateVolume(ctx context.Context, ...) (*v1alpha1.AzVolumeStatusParams, error) {
    newAzVolume = &v1alpha1.AzVolume{ Metadata: metav1.ObjectMetadata{ Name: newVolumeName,, Namespace: ns }, ... }

    waiter, err := p.conditionWatcher.WatchForCondition(newAzVolume, func (obj runtime.Object) bool {
        azVol := obj.(*v1alpha1.AzVolume)
        if azVol.Status.Detail != nil {
            return true
        }
        return false
    })
    if err != nil {
        return nil, err
    }
    defer waiter.Close()

    // Create AzVolume CRI

    newAzVolume, err = waiter.Wait(ctx)
    if err != nil {
        return nil, err
    }

    // Handle AzError returns here

    return newAzVolume.Status.Detail.ResponseObject, nil

I am fine with either approach, though.

replaced with https://github.com/abhisheksinghbaghel/azuredisk-csi-driver/pull/199


navigator: mission check refactor

WARNING: This PR leads to a constant mission check and is not ready to go in
The mission feasability checker was called with the same arguments
twice which made it hard to understand when a mission is marked valid.
The mission check should run in these two cases:

When initializing (if home comes up) if there is already a mission saved.
When the mission gets updated.

I'll fix this. it's an important fix

@LorenzMeier should be good now
significant change here: https://github.com/PX4/Firmware/pull/5257/commits/d3049def34be48ec0fc3c3f4737860be1f6ee6d8#diff-9b5a77642a641b107c8f8a966de34acdR1174

Your commit reverts Julian's commit. Is this intentional? I've already reverted that on master.

I forgot to split the commits, will do that in the new pr's

Jenkins test this please

@LorenzMeier see https://github.com/PX4/Firmware/pull/5262 for formatting
You can remove the outstanding modules one by one and run make format to see the damage.

@dagar Awesome, thanks!
@sanderux Did you end up splitting?

No, do you want me to re-apply or not apply code formatting?

Essentially I have no idea what you changed and I'd like to understand the change. Any means of doing that will do.

Jenkins test this please.

I re-enabled _home_inited and added a bool to the check_mission function called "force"
the line that will show what i did is this one: https://github.com/PX4/Firmware/pull/5257/commits/d3049def34be48ec0fc3c3f4737860be1f6ee6d8#diff-9b5a77642a641b107c8f8a966de34acdR1174
check mission will only run when:

home_inited is false and home_position became valid
home_inited will then be set to true
https://github.com/PX4/Firmware/blob/d3049def34be48ec0fc3c3f4737860be1f6ee6d8/src/modules/navigator/mission.cpp#L1194

force == true
this is only called with true when check_mission was called from update_offboard_mission
https://github.com/PX4/Firmware/blob/d3049def34be48ec0fc3c3f4737860be1f6ee6d8/src/modules/navigator/mission.cpp#L297

That's all i changed

ps: i did also change the call from on_inactive to only run the check after being inited

Jenkins test this please.

This will go in now but it was too much risk for 1.4.1. We're better off releasing 1.4.2 in 1-2 weeks when we're confident the changes are good now.

Rebased and applied.

Thnx, i'll test fly


change leetcode cn url

test pass on https://lccal-worker.vsyfar.workers.dev/ical?region=CN

Thanks!


WIP: feat(model): expose model export API

The mnubo model is now accessible via /api/v3/model/export. This PR makes the endpoint easy to use from the SDK.

cc @jtheoof

I marked this as a WIP because of the huge amount of code in model/__init__.py
There must be a better way, I think you can propose better solutions @mvonthron

@daddykotex you can probably separate your classes into more fine grained files and decide later how you want to merge the import into the __init__.py (with import and/or __all__)

I put everything into model/__init__.py to follow how the rest of the code is within the SDK. If this extraction is solely for the purpose of separating in smaller files, I would not do it to stay consistent with the rest.

Is this good go @daddykotex @mvonthron ?


docs: illustrate example without expertsystem

Added a new page usage/basics that shows how to generate data for 1D and 2D expressions without using the expertsystem. This illustrates what happens behind the scenes in tensorwaves.

@spflueger Have a look at the phrasing to see if you agree. I think this notebook also helps to rethink the design and naming (particularly in the data module).

Thanks for the comments @spflueger, I addressed them in ca36e86


Pend invalid brats test (external db tls)

These tests have been invalid since their creation. From the beginning they have passed certificate material in the director deployment manifest, however the director itself has (always?) expected to be passed paths to the certificates.
Original tests here:
https://github.com/cloudfoundry/bosh/commit/f97c5565dba9dfa9445a08ee2d7e495b1d5efccd#diff-ab90421945d114536b0c024f3cbaee7f4566c79a592ba9d46b395f0771745b42R293-R306
and
Director config here:
https://github.com/cloudfoundry/bosh/blob/c095b06c91f14ef51b5a8bcea20c3ec3651590b8/src/bosh-director/lib/bosh/director/config.rb#L303-L318

one-off brats run here: https://bosh.ci.cloudfoundry.org/teams/main/pipelines/bosh-director/jobs/pend-invalid-brats-delete/builds/1

This branch seems to have a lot more than just pending the brats test - is that intentional?

Yeah, I suppose that could be split out
The first set of commits were exploratory for understanding the problem (and adding some facilities for debugging this sort of thing in the future).
I am/was hesitant to simply pend the specs without supporting info/evidence.
That being said there are 3-4 commits which are purely cleanup that could likely be pushed separately.
¯_(ツ)_/¯


⚠ Bofrost.es has degraded performance

In 5049206, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1572 ms

Resolved: Bofrost.es performance has improved in 33fbb09 after 28 minutes.


[Newgrounds] youtube_dl.utils.ExtractorError: requested format not available

[*] I've verified and I assure that I'm running youtube-dl 2017.03.10

Before submitting an issue make sure you have:

[*] At least skimmed through README and most notably FAQ and BUGS sections
[*] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[*] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

$ youtube-dl -v http://www.newgrounds.com/portal/view/689710
[debug] System config: []
[debug] User config: ['-o', '%(title)s.%(ext)s', '-f', 'bestvideo[height<=1080][ext=mp4]+bestaudio/best[height<=720]']
[debug] Custom config: []
[debug] Command-line args: ['-v', 'http://www.newgrounds.com/portal/view/689710']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2017.03.10
[debug] Python version 3.4.4 - Windows-10-10.0.14393
[debug] exe versions: ffmpeg 3.2.2, ffprobe 3.2.2, rtmpdump 2.3
[debug] Proxy map: {}
[Newgrounds] 689710: Downloading webpage
WARNING: unable to extract uploader; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
ERROR: requested format not available
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj3l3ckzu\build\youtube_dl\YoutubeDL.py", line 772, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj3l3ckzu\build\youtube_dl\YoutubeDL.py", line 826, in process_ie_result
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj3l3ckzu\build\youtube_dl\YoutubeDL.py", line 1519, in process_video_result
youtube_dl.utils.ExtractorError: requested format not available

http://www.newgrounds.com/portal/view/689710
Basically I cannot download this Newgrounds video in my computer. The weird thing is that I can perfectly watch it via stream.

The format you are requesting with your config -f bestvideo[height<=1080][ext=mp4]+bestaudio/best[height<=720] does not exist.


Draft initial basegrid setup

Properties and procedures that are common to unstructured grids and structured grids are defined in the BaseGrid class. This includes lon, lat, time, time_origin, and mesh properties.
The Grid class is now defined as a type extension of BaseGrid. This configuration is compatible with the previous commit of Parcels (all existing tests pass). The _zonal_periodic, _zonal_halo, _meridional_halo, and _lat_flipped properties are seen as attributes specific to the structured grid.
The UGrid class is defined as a type extension of the BaseGrid. This child class adds the face_node_connectivity property that relates vertices to the 2-D lateral grid faces. The lon and lat attributes refer to the node_lon and node_lat that are defined in the uxarray.Grid structure; these are the corner node vertices. Note that there are other possible nodes, including the edge vertices (centers of the edges), and face_vertices that define the element centroids; these are currently not defined.

@erikvansebille @VeckoTheGecko
I'm using this PR to provide visibility to some of the proposed changes to Parcels to support unstructured grids. So far, I've only inserted a BaseGrid class that the Grid and UGrid are child classes of. All of the tests under tests/ pass, which is good.
From the state it's in, I'll need to work on a creategrid method for the UGrid class and I suppose it'd be ideal to sort out how we'll bring in UXArray support for loading the grid.
This PR is meant to go to the ELPHE-WW Fork's main branch so that we have a safe "playground" to explore.
Your comments and feedback are most welcome before further changes are made.

Thanks @fluidnumerics-joe, for starting this work. Your plan sounds great to me. I quickly went through the code, and that also looks fine. Some issues to fix with the CI obviously, but I don't think these are huge problems


Add 'tinydir' package

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/35157481-add-tinydir-package?utm_campaign=plugin&utm_content=tracker%2F1032790&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1032790&utm_medium=issues&utm_source=github).

Please add a tinydir repository to hunter-packages.

done: https://github.com/hunter-packages/tinydir

@headupinclouds do we need this package? I think dest compiles fine without it.

GitHub sources: https://github.com/cxong/tinydir

Not critical for a first version, but it would be nice to have.  That is only needed when building the project directly (with hunter) including applications.

I figured out that it's one file project, will add.

Testing:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.695
https://travis-ci.org/ingenue/hunter/builds/146123503

Uploading:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.701
https://travis-ci.org/ingenue/hunter/builds/146155584

Uploading

Done.
Package in branch develop. New wiki page: https://github.com/ruslo/hunter/wiki/pkg.tinydir


Proofread

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Get-CsCloudCallDataConnector.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


feat: add online and onlineConfiguration to ScheduledBackup

This patch allows overriding the volume snapshot configuration specified inside the cluster with the one set in the ScheduledBackup object.
Closes #3166

/ok-to-merge


Strange hint on reference

From @youngytj on January 15, 2017 12:4

VSCode Version: Code 1.8.1 (ee428b0eead68bf0fb99ab5fdc4439be227b6281, 2016-12-19T14:42:49.304Z)
OS Version: Darwin x64 16.3.0
Extensions:

Extension
Author
Version

beautify
HookyQR
0.7.3

vscode-docker
PeterJausovec
0.0.11

code-settings-sync
Shan
2.4.2

html-snippets
abusaidm
0.0.18

githistory
donjayamanne
0.1.4

python
donjayamanne
0.5.5

rest-client
humao
0.12.0

cpptools
ms-vscode
0.9.3

csharp
ms-vscode
1.6.2

java
redhat
0.0.8

guides
spywhere
0.6.1

JavaScriptSnippets
xabikos
1.2.0

Copied from original issue: Microsoft/vscode#18565

@youngytj can you please provide steps or better describe what the problem is?

From @youngytj on January 16, 2017 11:22
@dbaeumer Hi, AddMvc() method should be found but still told me it was no reference.

@youngytj: Could you provide a project that reproduces the issue?

@youngytj: My suspicion is that you need to perform a dotnet restore. However, if you have a project that reproduces the problem or repro steps, please let me know. Until then, I'm closing this issue.


L4 policy with more than 40 ports doesn't work

Cilium endpoints go into 'not-ready' state when I apply an L4 policy with more than 40 ports. It would be nice if Cilium can validate the policy before applying it so that endpoints don't go into not-ready state. Here is the policy I'm using:
kind: NetworkPolicy
apiVersion: extensions/v1beta1
metadata:
  name: myapp
spec:
  podSelector:
    matchLabels:
      io.kubernetes.pod.namespace: mynamespace
  ingress:
  - from:
    - podSelector:
        matchLabels:
          io.kubernetes.pod.namespace: mynamespace
    ports:
    - protocol: TCP
      port: 1
    - protocol: TCP
      port: 2
    - protocol: TCP
      port: 3
    - protocol: TCP
      port: 4
    - protocol: TCP
      port: 5
    - protocol: TCP
      port: 6
    - protocol: TCP
      port: 7
    - protocol: TCP
      port: 8
    - protocol: TCP
      port: 9
    - protocol: TCP
      port: 10
    - protocol: TCP
      port: 11
    - protocol: TCP
      port: 12
    - protocol: TCP
      port: 13
    - protocol: TCP
      port: 14
    - protocol: TCP
      port: 15
    - protocol: TCP
      port: 16
    - protocol: TCP
      port: 17
    - protocol: TCP
      port: 18
    - protocol: TCP
      port: 19
    - protocol: TCP
      port: 20
    - protocol: TCP
      port: 21
    - protocol: TCP
      port: 22
    - protocol: TCP
      port: 23
    - protocol: TCP
      port: 24
    - protocol: TCP
      port: 25
    - protocol: TCP
      port: 26
    - protocol: TCP
      port: 27
    - protocol: TCP
      port: 28
    - protocol: TCP
      port: 29
    - protocol: TCP
      port: 30
    - protocol: TCP
      port: 31
    - protocol: TCP
      port: 32
    - protocol: TCP
      port: 33
    - protocol: TCP
      port: 34
    - protocol: TCP
      port: 35
    - protocol: TCP
      port: 36
    - protocol: TCP
      port: 37
    - protocol: TCP
      port: 38
    - protocol: TCP
      port: 39
    - protocol: TCP
      port: 40
    - protocol: TCP
      port: 41

... forgot to mention the version I'm using:
root@minikube:/# cilium version
Cilium 0.9.90 e71130e Sat, 3 Jun 2017 04:47:45 +0200 go version go1.8.3 linux/amd64

I think we can simply reject configuration at the datapath limit for now so we fail gracefully.

On 06/06/2017 07:55 PM, Thomas Graf wrote:

I think we can simply reject configuration at the datapath limit for now so we fail gracefully.

40 proxy ports seems like enough to me. Is there any interest in supporting more?
There needs to be some upper bound but 40 was an arbitrary choice and its fairly
easy from the macro side to increase the upper bound.

40 sounds good. We may need to revisit when support ranges
On 6 Jun 2017 8:44 pm, "John Fastabend"<EMAIL_ADDRESS>wrote:

On 06/06/2017 07:55 PM, Thomas Graf wrote:

I think we can simply reject configuration at the datapath limit for now
so we fail gracefully.

40 proxy ports seems like enough to me. Is there any interest in
supporting more?
There needs to be some upper bound but 40 was an arbitrary choice and its
fairly
easy from the macro side to increase the upper bound.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cilium/cilium/issues/922#issuecomment-306678130, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABWiuUgoqUfNS36JGfDwR3hI_WYKxrzhks5sBhyJgaJpZM4NxtDH
.

@tgraf Is this also waiting for the policy spec?


gp2c: 0.0.11 -> 0.0.11pl1

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/gp2c/versions.
meta.description for gp2c is: '"A compiler to translate GP scripts to PARI programs"'.

Checks done (click to expand)

built on NixOS
/nix/store/5p74lghdb5f8yvrh2gxjp0py99gj7cfc-gp2c-0.0.11pl1/bin/gp2c passed the binary check.
/nix/store/5p74lghdb5f8yvrh2gxjp0py99gj7cfc-gp2c-0.0.11pl1/bin/gp2c-run passed the binary check.
2 of 2 passed binary check by having a zero exit code.
0 of 2 passed binary check by having the new version present in output.
found 0.0.11pl1 with grep in /nix/store/5p74lghdb5f8yvrh2gxjp0py99gj7cfc-gp2c-0.0.11pl1
directory tree listing: https://gist.github.com/48a490cf93b1e05a3f926c4449adf9b8
du listing: https://gist.github.com/f78456386b44e2ac0e19eda1b13b2642

Outpath report (click to expand)

Outpath difference report
1 total rebuild paths
1 package rebuilds
1 x86_64-linux rebuilds
0 i686-linux rebuilds
0 x86_64-darwin rebuilds
0 aarch64-linux rebuilds
First ten rebuilds by attrpath
gp2c

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5p74lghdb5f8yvrh2gxjp0py99gj7cfc-gp2c-0.0.11pl1 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A gp2c https://github.com/r-ryantm/nixpkgs/archive/f5b4eb63f330c6eeb19d15fb4e1ec31c49c21e7b.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5p74lghdb5f8yvrh2gxjp0py99gj7cfc-gp2c-0.0.11pl1
ls -la /nix/store/5p74lghdb5f8yvrh2gxjp0py99gj7cfc-gp2c-0.0.11pl1/bin

cc @AndersonTorres for testing.

Success on x86_64-linux (full log)
Attempted: gp2c
Partial log (click to expand)
make[1]: Leaving directory '/build/gp2c-0.0.11pl1'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/5p74lghdb5f8yvrh2gxjp0py99gj7cfc-gp2c-0.0.11pl1
shrinking /nix/store/5p74lghdb5f8yvrh2gxjp0py99gj7cfc-gp2c-0.0.11pl1/bin/gp2c
gzipping man pages under /nix/store/5p74lghdb5f8yvrh2gxjp0py99gj7cfc-gp2c-0.0.11pl1/share/man/
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/5p74lghdb5f8yvrh2gxjp0py99gj7cfc-gp2c-0.0.11pl1/bin
patching script interpreter paths in /nix/store/5p74lghdb5f8yvrh2gxjp0py99gj7cfc-gp2c-0.0.11pl1
/nix/store/5p74lghdb5f8yvrh2gxjp0py99gj7cfc-gp2c-0.0.11pl1/bin/gp2c-run: interpreter directive changed from "/bin/sh -e" to "/nix/store/r47p5pzx52m3n34vdgqpk5rvqgm0m24m-bash-4.4-p23/bin/sh -e"
checking for references to /build in /nix/store/5p74lghdb5f8yvrh2gxjp0py99gj7cfc-gp2c-0.0.11pl1...

Success on x86_64-darwin (full log)
Attempted: gp2c
Partial log (click to expand)
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/private/tmp/nix-build-gp2c-0.0.11pl1.drv-0/gp2c-0.0.11pl1'
make[1]: Leaving directory '/private/tmp/nix-build-gp2c-0.0.11pl1.drv-0/gp2c-0.0.11pl1'
post-installation fixup
gzipping man pages under /nix/store/c28r3zvyr3i6jqm41lsrzz4as9c16br3-gp2c-0.0.11pl1/share/man/
strip is /nix/store/g5r4apl0za012ffs6ladinwa5w0m1l3k-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/c28r3zvyr3i6jqm41lsrzz4as9c16br3-gp2c-0.0.11pl1/bin
patching script interpreter paths in /nix/store/c28r3zvyr3i6jqm41lsrzz4as9c16br3-gp2c-0.0.11pl1
/nix/store/c28r3zvyr3i6jqm41lsrzz4as9c16br3-gp2c-0.0.11pl1/bin/gp2c-run: interpreter directive changed from "/bin/sh -e" to "/nix/store/n9hba031gjky8hpjgx9fnlaxhidyzxbz-bash-4.4-p23/bin/sh -e"
/nix/store/c28r3zvyr3i6jqm41lsrzz4as9c16br3-gp2c-0.0.11pl1

Success on aarch64-linux (full log)
Attempted: gp2c
Partial log (click to expand)
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/z7zh3r7jfyiq2c538nbyc1rpgmqzd7z3-gp2c-0.0.11pl1
shrinking /nix/store/z7zh3r7jfyiq2c538nbyc1rpgmqzd7z3-gp2c-0.0.11pl1/bin/gp2c
gzipping man pages under /nix/store/z7zh3r7jfyiq2c538nbyc1rpgmqzd7z3-gp2c-0.0.11pl1/share/man/
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/z7zh3r7jfyiq2c538nbyc1rpgmqzd7z3-gp2c-0.0.11pl1/bin
patching script interpreter paths in /nix/store/z7zh3r7jfyiq2c538nbyc1rpgmqzd7z3-gp2c-0.0.11pl1
/nix/store/z7zh3r7jfyiq2c538nbyc1rpgmqzd7z3-gp2c-0.0.11pl1/bin/gp2c-run: interpreter directive changed from "/bin/sh -e" to "/nix/store/dsyc1z7ck08ga7l0b1jcxx35wj69qcii-bash-4.4-p23/bin/sh -e"
checking for references to /build in /nix/store/z7zh3r7jfyiq2c538nbyc1rpgmqzd7z3-gp2c-0.0.11pl1...
/nix/store/z7zh3r7jfyiq2c538nbyc1rpgmqzd7z3-gp2c-0.0.11pl1


3D Tiles demo camera set view change. Tile Oriented Bounding Box Spec tests

Changed 3D Tiles demo method for setting the initial view. Added more specific tests for boundingVolume and boundingSphere in TileBoundingBoxSpec.

Looks good.


Remove FlyWheel screeenshots for MSIT env

@savvinsergey,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot


XIVY-6923 Upgrade selenium-java to 4.3.0

@ivy-cst I think this is needed to have it transitive available in ivy projects at least to compile in Axon Ivy Designer.

:+1:


Implement PEP 489 - Multi-phase extension module initialization

https://peps.python.org/pep-0489/
This is very much WIP, opening for discussion, previously: https://github.com/PyO3/pyo3/discussions/1982

Looks like PyPy doesn't support PEP 489.
  = note: /usr/bin/ld: /home/runner/work/pyo3/pyo3/target/x86_64-unknown-linux-gnu/debug/deps/libpyo3-5c3820f48b335551.rlib(pyo3-5c3820f48b335551.pyo3.839e673f-cgu.2.rcgu.o): in function `pyo3_ffi::modsupport::PyModule_FromDefAndSpec':
          /home/runner/work/pyo3/pyo3/pyo3-ffi/src/modsupport.rs:146: undefined reference to `PyModule_FromDefAndSpec2'
          /usr/bin/ld: /home/runner/work/pyo3/pyo3/target/x86_64-unknown-linux-gnu/debug/deps/libpyo3-5c3820f48b335551.rlib(pyo3-5c3820f48b335551.pyo3.839e673f-cgu.5.rcgu.o): in function `pyo3::impl_::pymodule::ModuleDef::make_module':
          /home/runner/work/pyo3/pyo3/src/impl_/pymodule.rs:80: undefined reference to `PyModule_ExecDef'

:(
I guess we have to make a choice between making a new API that's not supported on PyPy, or just using different behaviour on CPython and PyPy. I think a separate API is probably better?

Maybe we should feature-gate it? See also https://github.com/cython/cython/issues/2343

It would be interesting to explore. There's also still a possibility to have a #[pymodule(pep489)] or similar.

I guess we have to make a choice between making a new API that's not supported on PyPy, or just using different behaviour on CPython and PyPy. I think a separate API is probably better?

But isn't "same interface but slightly incompatible behaviour" (w.r.t. CPython) already something that PyPy users expect? I fear that having CPython-only API will only end up with extensions having feature-gated PyPy-compatible code paths any way, so I would prefer it if the thankless task of  trying to paper this over was centralized in PyO3 (were we could also move the ecosystem over if/when PyPy adds support for this.)

I think it might depend how different the PyPy behaviour is. I do agree if we can solve the problem for users transparently, that would be nicest.


WIP: Revert istio.io/api dependency back to master branch.

@ozevren: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
abeea88453bed63bf7723342e39b1d91ed3348ae
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ozevren: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
abeea88453bed63bf7723342e39b1d91ed3348ae
link
/test istio-unit-tests

prow/e2e-simpleTests.sh
abeea88453bed63bf7723342e39b1d91ed3348ae
link
/test e2e-simple

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ozevren: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
abeea88453bed63bf7723342e39b1d91ed3348ae
link
/test e2e-simple

prow/istio-unit-tests.sh
c0586e276868fe67ee11db712f3ff879edbe273a
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ozevren: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
abeea88453bed63bf7723342e39b1d91ed3348ae
link
/test e2e-simple

prow/istio-unit-tests.sh
c0586e276868fe67ee11db712f3ff879edbe273a
link
/test istio-unit-tests

prow/istio-presubmit.sh
c0586e276868fe67ee11db712f3ff879edbe273a
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ozevren: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
abeea88453bed63bf7723342e39b1d91ed3348ae
link
/test e2e-simple

prow/istio-presubmit.sh
c0586e276868fe67ee11db712f3ff879edbe273a
link
/test istio-presubmit

prow/istio-unit-tests.sh
332466a4d697ff48ce0e037091deae2be5e166d2
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ozevren: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
abeea88453bed63bf7723342e39b1d91ed3348ae
link
/test e2e-simple

prow/istio-unit-tests.sh
332466a4d697ff48ce0e037091deae2be5e166d2
link
/test istio-unit-tests

prow/istio-presubmit.sh
332466a4d697ff48ce0e037091deae2be5e166d2
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


question

I notice that in group_vars/all the mon ip is set for eth1. is the the interface that mons communicate with the osds? if so what happen if some of my osds have only 1 interface namely eth0?

The mon interface is important because osds need to know where mon is.  As long as osd can communicate to mon's ip and osd's ip is in the private network, single osd interface is ok.

You can set it to whatever interface you want.  It's used to get the IP address that should be in the ceph.conf file.

So does that mean it is ok for me to set mons listening at eth1 and osds listening at eth0?

It should work fine, yes.

@thbeh if they share the same subnet then yes the interface name does not matter.


attrs_post_init is missing from API docs

__attrs_post_init__ does not have an entry on attrs.readthedocs.io - there's only a mention in the examples and a few asides in the API section. It would be great to have first-class treatment, including the signature (self), when it's called (after the object is fully initialized) and the problem that it's trying to solve.

Yes, that's absolutely something that's bothered me for a while!  Sadly I'm not sure how to do that since it's not our API so there's no RST/Sphinx primitives for it.  😞
I believe it's explained in the Examples section but I just couldn't find a good angle on it in the API section.


Remove enif_release_resource call

After removing this, no more crashes.

Maybe we only need to call enif_make_resource if:

we use erlang to allocate memory for returned value
and the function call fails

I think this is pretty standard. Many NIF libraries follow this pattern (enif_alloc_resource -> enif_make_resource -> enif_release_resource), e.g., https://github.com/elixir-circuits/circuits_spi/blob/bea38dca7ad9cb0a65da4417b865c9805f247784/src/spi_nif.c#L120

Thread 1 (Thread 0x7efcfb5af700 (LWP 4906)):
#0  0x0000559763434410 in ?? ()
No symbol table info available.
#1  0x0000559761d3e76d in run_resource_dtor (vbin=0x5597633d7698) at beam/erl_nif.c:2677
        msg_env = {env = {mod_nif = 0x0, proc = 0x7efcfb5aa868, hp = 0x559761f3d6f0 <phony_heap>, hp_end = 0x559761f3d6f0 <phony_heap>, heap_frag = 0x0, tmp_obj_list = 0x0, exception_thrown = 0, tracee = 0x0, exiting = 81035}, phony_proc = {common = {id =<PHONE_NUMBER>, refc = {atmc = {counter = 0}, sint = 0}, tracer = 0, trace_flags = 0, timer = {counter = 0}, u = {alive = {started_interval = 0, reg = 0x0, links = 0x0, lt_monitors = 0x0, monitors = 0x0}, release = {later = 0, func = 0x0, data = 0x0, next = 0x0}}}, htop = 0x559761f3d6f0 <phony_heap>, stop = 0x559761f3d708, fcalls = 0, freason = 0, fvalue = 0, heap = 0x559761f3d6f0 <phony_heap>, hend = 0x559761f3d708, abandoned_heap = 0x0, heap_sz = 0, min_heap_size = 0, min_vheap_size = 0, max_heap_size = 0, arity = 0, arg_reg = 0x0, max_arg_reg = 0, def_arg_reg = {0, 0, 0, 0, 0, 0}, i = 0x0, catches = 0, rcount = 0, schedule_count = 0, reds = 0, flags = 0, group_leader = 0, ftrace = 0, next = 0x0, uniq = 0, sig_qs = {first = 0x0, last = 0x0, save = 0x0, cont = 0x0, cont_last = 0x0, nmsigs = {next = 0x0, last = 0x0}, recv_mrk_blk = 0x0, len = 0, flags = 0}, bif_timers = 0x0, dictionary = 0x0, seq_trace_clock = 0, seq_trace_lastcnt = 0, seq_trace_token = 0, u = {real_proc = 0x0, terminate = 0x0, initial = {module = 0, function = 0, arity = 0}}, current = 0x0, parent = 0, static_flags = 0, high_water = 0x0, old_hend = 0x0, old_htop = 0x0, old_heap = 0x0, gen_gcs = 0, max_gen_gcs = 0, off_heap = {first = 0x0, overhead = 0}, mbuf = 0x0, live_hf_end = 0x0, msg_frag = 0x0, mbuf_sz = 0, psd = {counter = 0}, bin_vheap_sz = 0, bin_old_vheap_sz = 0, bin_old_vheap = 0, sys_task_qs = 0x0, dirty_sys_tasks = 0x0, state = {counter = 0}, dirty_state = {counter = 0}, sig_inq = {first = 0x0, last = 0x0, len = 0, nmsigs = {next = 0x0, last = 0x0}}, trace_msg_q = 0x0, lock = {flags = {counter = 0}, queue = {0x0, 0x0, 0x0, 0x0, 0x0}}, scheduler_data = 0x0, run_queue = {counter = 0}}}
        bin = 0x5597633d7698
        resource = 0x5597633d76c8
        type = 0x559763434b00

I think this is pretty standard. Many NIF libraries follow this pattern (enif_alloc_resource -> enif_make_resource -> enif_release_resource), e.g., https://github.com/elixir-circuits/circuits_spi/blob/bea38dca7ad9cb0a65da4417b865c9805f247784/src/spi_nif.c#L120

I was think this: In this example and other NIFs alike, the generated term gets returned immediately. But in otter we do some non trivial things after the resource get created. Will this create some room for the GC to run (considering GC should be running on a different thread)? And maybe your computers' CPU is faster than mine and CI, so you cannot reproduce.

I think this is pretty standard. Many NIF libraries follow this pattern (enif_alloc_resource -> enif_make_resource -> enif_release_resource), e.g., https://github.com/elixir-circuits/circuits_spi/blob/bea38dca7ad9cb0a65da4417b865c9805f247784/src/spi_nif.c#L120

I was think this: In this example and other NIFs alike, the generated term gets returned immediately. But in otter we do some non trivial things after the resource get created. Will this create some room for the GC to run (considering GC should be running on a different thread)? And maybe your computers' CPU is faster than mine and CI, so you cannot reproduce.

I don't really understand why it would crash on Linux only, it passes every single time on GitHub's macOS CI.

Right before the crash we have
0000000000280769         call       qword [r13+0x18]

which is the code on erl_nif.c:2677
type->fn.dtor(&msg_env.env, resource->data);

however, the resource deconstructor we are using is a function that does absolutely nothing.
static void resource_dtor(ErlNifEnv *env, void *) {}

if (type->fn.dtor != NULL) {
        struct enif_msg_environment_t msg_env;
        pre_nif_noproc(&msg_env, type->owner, NULL);
	type->fn.dtor(&msg_env.env, resource->data);
        post_nif_noproc(&msg_env); // <- this is what caused the crash
    }

post_nif_noproc:
static ERTS_INLINE void post_nif_noproc(struct enif_msg_environment_t* msg_env)
{
    enif_clear_env(&msg_env->env); // this translates to: mov        rax, qword [rsp+0x378+var_340]
}

and since we have segfault, then it seems that msg_env might be NULL?

However, everything seems to be fine here
(gdb) info locals
msg_env = {env = {mod_nif = 0x0, proc = 0x7f03b90fa868, hp = 0x55a3d4a616f0 <phony_heap>, hp_end = 0x55a3d4a616f0 <phony_heap>, heap_frag = 0x0, tmp_obj_list = 0x0,
    exception_thrown = 0, tracee = 0x0, exiting = 2}, phony_proc = {common = {id =<PHONE_NUMBER>, refc = {atmc = {counter = 0}, sint = 0}, tracer = 0, trace_flags = 0, timer = {
        counter = 0}, u = {alive = {started_interval = 0, reg = 0x0, links = 0x0, lt_monitors = 0x0, monitors = 0x0}, release = {later = 0, func = 0x0, data = 0x0,
          next = 0x0}}}, htop = 0x55a3d4a616f0 <phony_heap>, stop = 0x55a3d4a61708, fcalls = 0, freason = 0, fvalue = 0, heap = 0x55a3d4a616f0 <phony_heap>,
    hend = 0x55a3d4a61708, abandoned_heap = 0x0, heap_sz = 0, min_heap_size = 0, min_vheap_size = 0, max_heap_size = 0, arity = 0, arg_reg = 0x0, max_arg_reg = 0,
    def_arg_reg = {0, 0, 0, 0, 0, 0}, i = 0x0, catches = 0, rcount = 0, schedule_count = 0, reds = 0, flags = 0, group_leader = 0, ftrace = 0, next = 0x0, uniq = 0, sig_qs = {
      first = 0x0, last = 0x0, save = 0x0, cont = 0x0, cont_last = 0x0, nmsigs = {next = 0x0, last = 0x0}, recv_mrk_blk = 0x0, len = 0, flags = 0}, bif_timers = 0x0,
    dictionary = 0x0, seq_trace_clock = 0, seq_trace_lastcnt = 0, seq_trace_token = 0, u = {real_proc = 0x0, terminate = 0x0, initial = {module = 0, function = 0,
        arity = 0}}, current = 0x0, parent = 0, static_flags = 0, high_water = 0x0, old_hend = 0x0, old_htop = 0x0, old_heap = 0x0, gen_gcs = 0, max_gen_gcs = 0, off_heap = {
      first = 0x0, overhead = 0}, mbuf = 0x0, live_hf_end = 0x0, msg_frag = 0x0, mbuf_sz = 0, psd = {counter = 0}, bin_vheap_sz = 0, bin_old_vheap_sz = 0, bin_old_vheap = 0,
    sys_task_qs = 0x0, dirty_sys_tasks = 0x0, state = {counter = 0}, dirty_state = {counter = 0}, sig_inq = {first = 0x0, last = 0x0, len = 0, nmsigs = {next = 0x0,
        last = 0x0}}, trace_msg_q = 0x0, lock = {flags = {counter = 0}, queue = {0x0, 0x0, 0x0, 0x0, 0x0}}, scheduler_data = 0x0, run_queue = {counter = 0}}}
bin = 0x55a3d4fca1f0
resource = 0x55a3d4fca220
type = 0x55a3d5028b00

type->fn.dtor(&msg_env.env, resource->data);

Is it possible for us to know what this resource is exactly?

Oh, you can download the coredump files now. They are uploaded as artifacts.

If this issue is caused by incorrect ref counting, then there is no way we cannot reproduce it on macOS CI. This library uses the same C/C++ functions on both macOS and Linux. And there is no platform-specific code here.
This is really weird.

type->fn.dtor(&msg_env.env, resource->data);

Is it possible for us to know what this resource is exactly?

Nothing fancy to see in resource. It's just a simple C struct.
(gdb) p resource
$11 = (ErtsResource *) 0x55a3d4fca220
(gdb) p *resource
$12 = {type = 0x55a3d5028b00, monitors = 0x0, data = "c"}

Erlang still calls type->fn.dtor after passing nullptr as the dtor parameter when calling enif_open_resource_type. This is more likely a bug in Erlang.

Based on the debug print, we have
[debug] struct: OTTER_STRUCT_complex, type: 0x564407920b00

and it seems that Erlang wants to run run_resource_dtor on it.
(gdb) bt
#0  0x0000564407920410 in ?? ()
#1  0x00005644072c176d in run_resource_dtor (vbin=0x5644078c1780) at beam/erl_nif.c:2677
#2  0x00005644070a9f16 in handle_misc_aux_work (awdp=awdp@entry=0x7f53330b62b8, aux_work=aux_work@entry=2049, waiting=0) at beam/erl_process.c:1865
#3  0x00005644070af2b2 in handle_aux_work (awdp=0x7f53330b62b8, orig_aux_work=<optimised out>, waiting=0) at beam/erl_process.c:2701
#4  0x00005644070bfcd0 in erts_schedule (esdp=0x7f53330b61c0, p=<optimised out>, calls=<optimised out>) at beam/erl_process.c:9668
#5  0x00007f53315b4230 in ?? ()
#6  0x0000000000000000 in ?? ()
(gdb) p *resource
$4 = {type = 0x564407920b00, monitors = 0x0, data = "c"}

This seems to be related to the test complex-parallel and/or complex.

Erlang still calls type->fn.dtor after passing nullptr as the dtor parameter when calling enif_open_resource_type. This is more likely a bug in Erlang.

Is the dtor field here what we pass in the resource open? Or what we passed get wrapped in inside another function and this something related to this function is corrupted.

Erlang still calls type->fn.dtor after passing nullptr as the dtor parameter when calling enif_open_resource_type. This is more likely a bug in Erlang.

Is the dtor field here what we pass in the resource open? Or what we passed get wrapped in inside another function and this something related to this function is corrupted.

If we passed nullptr to the dtor parameter, then dtor will be set to resource_dtor_nop (resource_dtor_nop), which is the same as what we did before.
static void resource_dtor_nop(ErlNifEnv* env, void* obj)
{
    /* do nothing */
}

Otherwise, dtor will be set to the function we passed to enif_open_resource_type. erl_nif.c#L2433.
But either way, we should not see segfault here (below).
static ERTS_INLINE void post_nif_noproc(struct enif_msg_environment_t* msg_env)
{
    enif_clear_env(&msg_env->env); // this translates to: mov        rax, qword [rsp+0x378+var_340]
}

Maybe the stack pointer (the rsp register) becomes invalid after calling the dtor function?
But why? The dtor function does nothing at all. I don't see any reason that dtor could potentially change the address saved in rsp...

Based on disassembler, var_340 is -832 and we can verify this in gdb,
(gdb) p $rsp
$1 = (void *) 0x7f5330d8a810
(gdb) # mov        rax, qword [rsp+0x378+var_340]
(gdb) p $rsp+0x378-832
$2 = (void *) 0x7f5330d8a848
(gdb) p &msg_env.env.tmp_obj_list
$3 = (struct enif_tmp_obj_t **) 0x7f5330d8a848
(gdb) p msg_env.env.tmp_obj_list
$4 = (struct enif_tmp_obj_t *) 0x0
(gdb) p *0x7f5330d8a848
$5 = 0

so this actually corresponds to the code in free_tmp_objs
static ERTS_INLINE void free_tmp_objs(ErlNifEnv* env)
{
    while (env->tmp_obj_list != NULL) {
	struct enif_tmp_obj_t* free_me = env->tmp_obj_list;
	env->tmp_obj_list = free_me->next;
	free_me->dtor(free_me);
    }
}

But this should be fine...

assembly code,
0000000000280769         call       qword [r13+0x18]
000000000028076d         mov        rax, qword [rsp+0x378+var_340] // <- segfault here
0000000000280772         test       rax, rax
0000000000280775         je         loc_280798

0000000000280777         nop        word [rax+rax]

                     loc_280780:
0000000000280780         mov        rdx, qword [rax]                            ; CODE XREF=run_resource_dtor+374
0000000000280783         mov        rdi, rax
0000000000280786         mov        qword [rsp+0x378+var_340], rdx
000000000028078b         call       qword [rax+8]
000000000028078e         mov        rax, qword [rsp+0x378+var_340]
0000000000280793         test       rax, rax
0000000000280796         jne        loc_280780

inlined code,
type->fn.dtor(&msg_env.env, resource->data);
while (env->tmp_obj_list != NULL) { // <- why segfault here?
	struct enif_tmp_obj_t* free_me = env->tmp_obj_list;
	env->tmp_obj_list = free_me->next;
	free_me->dtor(free_me);
}

while (env->tmp_obj_list != NULL) { // <- why segfault here?

Does this mean the memory of env is corrupted?

while (env->tmp_obj_list != NULL) { // <- why segfault here?

Does this mean the memory of env is corrupted?

No, I don't think so. Everything in gdb looks good.

Maybe Erlang doesn't support open resource on the fly? I found in Rustler they setup the resource in on_load as well. https://github.com/rusterlium/rustler/blob/1b82d7a52bf430fa494a360ccaadfbd3c762fcb3/rustler_tests/native/rustler_test/src/test_resource.rs#L15

Maybe Erlang doesn't support open resource on the fly? I found in Rustler they setup the resource in on_load as well. https://github.com/rusterlium/rustler/blob/1b82d7a52bf430fa494a360ccaadfbd3c762fcb3/rustler_tests/native/rustler_test/src/test_resource.rs#L15

So I checked for the otp docs, and this might be the reason.

Notice that enif_open_resource_type is only allowed to be called in the two callbacks load and upgrade.
https://www.erlang.org/doc/man/erl_nif.html#enif_open_resource_type

Therefore, instead of creating a resource type every time, we can return the struct as a binary term.


Y-ProseMirror always set the caret at the end of the document after initialize the editor

Checklist

[x] Are you reporting a bug? Use github issues for bug reports and feature requests. For general questions, please use https://discuss.yjs.dev/
[x] Try to report your issue in the correct repository. Yjs consists of many modules. When in doubt, report it to https://github.com/yjs/yjs/issues/

Describe the bug
I want to initialize the editor with a particular selection position (e.g. at the start of the document), but y-prosemirror always changes the initial selection to the end of the document.
ProseMirror allows me to set the initial selection by providing an initial editor state with a selection. The code is shown below:
  const prosemirrorView = new EditorView(editor, {
    state: EditorState.create({
      doc,
      selection, // <-- here is my initial selection
      schema,
      plugins: [...]
    })
  })

Even if the initial selection is not implicitly passed, the default selection is at the start of the document.
When I use ySyncPlugin, _forceRerender will replace the content of the whole document, which make the selection at the end of the document.
To Reproduce
I prepare a simple example based on the demo/ example in this repo. You can find the code here.
$ git clone https://github.com/ocavue/y-prosemirror -b ocavue/init_selection
$ cd y-prosemirror
$ npm install
$ npm run start

Go to http://<IP_ADDRESS>:8081/demo/prosemirror.html. The editor should be focused and the caret is at the end of the document.
If ENABLE_YJS in demo/prosemirror.js is set as false, then the y-prosemirror in the heading will be selected after a reload.
Notice that in this example, to set the initial selection, I have to pass the initial document with two different ways in the same time:

pass the doc to EditorState.
pass the yDoc to ySyncPlugin.

Expected behavior
I can set the initial selection when using y-prosemirror.
Screenshots
https://user-images.githubusercontent.com/24715727/191005843-46a93d9c-9e5e-4ffc-85cc-4f46a60a0294.mp4
Environment Information

Browser: Chrome version 105
Yjs version and the versions of the y-* modules you are using

<EMAIL_ADDRESS><EMAIL_ADDRESS>

Additional context
I created a PR https://github.com/yjs/y-prosemirror/pull/127 to resolve this issue.

same question

I also encountered a similar situation, but in my case, I wanted the cursor to automatically focus on the beginning of the document. However, every time, I noticed the cursor appearing at the end, and then I had to wait for some time after creating the editorView, using setTimeout, before executing the operation to move the cursor to the starting position. Was this issue resolved later?

A fix is now available in<EMAIL_ADDRESS>


Truncate really long Readmes on Projects page

The Projects page includes each project's entire Readme, which can get... long. Like really long. Truncating after a reasonable length would make the whole Projects list a lot more readable.

Clearly having a Saturday night like mine, eh? <3


recolor sarcophagus based on loot

This is something I was messing around with and I'm wondering if this would be a desirable feature or if it would be too much. It hides the loot roll animation and changes the color based on what item is rolled.
https://user-images.githubusercontent.com/38548565/216852278-02be354f-dbfa-4dc3-a562-691c1452b85e.mp4

Neat! I like it. Would you like to PR it?
It would add even more options to the config, but I think that's fine as long as it is off by default.


CB-21249 Use BCFKS keystore type in GOV cloud

See detailed description in the commit message.

Closing this as it will be a part of https://github.com/hortonworks/cloudbreak/pull/14880