Ammar Hemani Coding Challenge

Superformula Coding Challenge
Author: Ammar Hemani
Exciting challenge -- Looking forward to the review!
Thanks,
Ammar

Thanks Spencer for taking out the time, and leaving detailed feedback on the code base. I really appreciate it and allows for improvement and interesting discourse around the better approaches!
Cheers and looking forward to speaking to you!


[5.5] Use Null Coalesce Operator

I see no reason to rewrite existing code that already works just to use a new PHP7.0 feature. Can you describe what bugs this actually fixes?

It doesn't fix any bugs, it's just for a shorter solution :disappointed:

I wonder if ?? is any "faster" than isset() ? : or its really just a sugar.

@Kyslik Here is it's RFC. Apparently, no.

You should change this in whole code (if you really want to change it), not in single case like in this PR.

@mputkowski larger PRs = harder to review.

Having a single or lesser number of PRs with all changes makes it easier to maintain consistency. Say suppose you want to revert this change in future, you will have to revert each PR or go around making the changes manually.  Makes it easier to reference in the future as well.

@mputkowski I've searched the whole code, and this was the last occurrence of ternary comparisons that could be changed.


fix: never treat a url as an arg

Case Study: https://www.youtube.com/watch?v=-QuVe-hjMs0

expectation
reality

youtube-dl -- -QuVe-hjMs0
youtube-dl -QuVe-hjMs0

This makes youtube-dl incorrectly attempt to parse the query as arguments.
This fix ensures this never happens.

I'm not understanding why the current code is not working properly for you.
Here are some comparisons I did on my local:

as you can see the output is the same even the stars or end with the URL. Looks like -- doesn't have any effect on the command (also I don't see nothing related with that on youtube-dl command).

youtube-dl <base_name> behaves like youtube-dl -- <base_name> in all cases except where <base_name> begins with a hyphen. So, while it works just fine most of the time, it fails in those rare cases, so there's a lack of consistency of behaviour there. This patch would've ensured to never misinterpret anything in URL position an arg/flag.
Sure, a fully qualified URL makes that problem go away but I didn't want to affix a URL template downstream. Just thought it best for this library to offer a consistent, reliable interface to youtube-dl but there's no need to proceed with this upstream patch.
Since this library directly passes the args to dargs, the workaround used here can be implemented by downstream libraries as well.
As with https://github.com/miraclx/freyr-js/pull/84/files
You can go ahead to close this at will. Thanks.

Thanks for the explanation!
Yea, I assume the user is providing a valid URL as first argument


Consider renaming module/repo to something that doesn't mention distributed tracing/instrumentation

The Baggage type is useful more widely than just (distributed) tracing & instrumentation. We should seriously consider renaming repo & module. Systems like swift-llbuild2 currently use a (very bad) definition of Context because you need to be able to pass data "through" the llbuild2 build engine itself (as you, the user construct the build graph as well as execute the individual build steps).

Suggestions:

type: stays Baggage
repo: changes to swift-baggage (loses distributed-tracing-)
module: ideally Baggage too but that causes this issue

I’d be okey with that, though we’ll have to do a round of asking people about opinions before we do so.
Technically this type is modeled to be close to https://www.w3.org/TR/baggage/ and https://cs.brown.edu/~jcmace/papers/mace18universal.pdf specifically. But it’s true that the shape or just being a typed dictionary intended to pass metadata around is a common thing, not just instrumentation. This is still in spirit of the Universal Context Propagation baggage paper so I don’t mind saying to use this for propagation in general, though I do believe the focus should be propagating ACROSS process boundaries.
Having that said, it’ll “just work” even if you put things not intended for cross process propagation into baggage because how our tracing types work: they have to know which keys they’re supposed to propagate. So accidental propagation is not going to happen. And propagation of many keys is intended to be solved my registering a multiplex instrument.
Tl;dr; we have to double check this, but it’d be within the spirit of this project, and broaden its usefulness so that might be good.

Revisiting this before we head towards 1.0 here and... I'm unsure about the renaming to be honest...
Does anyone have strong opinions here @tomerd @weissi ?
Would folks be ok with the names @weissi proposed up-thread?

It would probably still feel a bit weird in the context Johannes was talking about with https://github.com/apple/swift-llbuild2, but how about a rename to swift-instrumentation-baggage? The module name could stay the same (InstrumentationBaggage). Therefore package and module names would be more aligned. Plus, it sounds a bit more generic than swift-distributed-tracing-baggage.

We are going to make a big rename here.
Due to many teams actively using this type in production right now even, and sometimes OUTSIDE of the context of distributed tracing just as a "glorified type-safe typesafe dictionary" we are going to embrace that that's what this type is, and going to call it ServiceContext.
Truth be told, this type wanted to be called this long time ago but it was back then decided that Context was too generic and we picked a tracing only name. Reality has shown us that the type is much more useful and we should not limit its wording and usage to tracing.
Thanks for opening the discussion and I'll do the necessary changes including repo name change

Once that's done we'll call a 1.0 of this as well as tracing package 🥳


Connection string too long

Environment
To diagnose, we usually need to know the following, including version numbers.  On Windows, be
sure to specify 32-bit Python or 64-bit: Windows 64-bit

Python: 3.6.1
pyodbc: 4.0.23
OS: Windows
DB: NA
driver: NA

Issue
I am working with a connection to hadoop that requires MANY arguments to set all of the parameters correctly.  When I create this connection string, I get an error when using pyodbc.connect() that says 'connection string too long'.
As an attempt to debug, I tried changing line 66 of the /src/connection.cpp file to
const int cchMax = 5000;
and reinstall the package using `python setup.py install', but this did not fix the issue.  (I admit that I am very naive when it comes to c++)
I have tried alternative approaches to constructing my connection string but have ran into other errors as well.  For instance:
pyodbc.connect("Driver={Hortonworks Hive ODBC Driver}",
"allowselfsignedservercert=1",
"applysspwithqueries=1",
"asyncexecpollinterval=100",...)

returns 'function takes at most 1 non-keyword argument'.  Another approach was:
pyodbc.connect(Driver="{Hortonworks Hive ODBC Driver}",
allowselfsignedservercert="1",
applysspwithqueries="1",
asyncexecpollinterval="100",
ssp_hive.execution.engine="tez", ...)

but this returned 'keyword can't be an expression'.
Ideally, if I could pass this entire connection string as a single string and not hit the length limit, I think that would be my most ideal situation.
Any help is greatly appreciated!
P.S. I have tried my connection string in other languages and have successfully connected so I do not believe there is an issue with my connection string contents.

Related: PR #430

Note that you have to do python setup.py build first, to compile pyODBC, before installing it (it's not like a Python script where you can immediately run after editing!) I have removed the connection string limit (it is arbitrary and not actually significant - could've been left over from when there was a fixed-length buffer sometime ago) in PR430 mentioned above.
The connection string should be specified as a single parameter to the connect() function.

Thanks a ton for specifying the build portion.  After running build and checking again, everything worked like a charm.  Thanks a ton to both of you for the feedback - you guys are awesome!


create a responsive search bar component which renders search results based on filters and user typed data in the search bar

@anjy7 Please add the autocomplete suggestions in the search bar and fetch the Markdown table data using a markdown to json parser from this table  instead of hardcoding it, thank you!

added dropdown which autocompletes the  suggestions in the search bar


Initialisation

Not sure what I'm doing wrong here? Many thanks in advance.
[1] pry(main)> gem 'betfair-ng'
[2] pry(main)> client = Betfair::Client.new("X-Application" => "...............")
NameError: uninitialized constant Betfair

hi @systemshq. you only need the gem command if you're using Bundler and a Gemfile. If you want to have a play in irb then install the gem to your system with gem install betfair-ng at the command line. Then in irb just require 'betfair'.

Rather nice. Many thanks!!
One more question please. in the Betfair non-interactive login documentation it discusses needing self signed ssl certs:-
https://api.developer.betfair.com/services/webapps/docs/display/1smk3cen4v3lu3yomq5qye0ni/Non-Interactive+(bot)+login
Yet your library doesn't make use of them? I'm not really too worried as when I log in via the web browser I'm also not using a self signed cert. However, since Betfair seem to have gone to a lot of trouble to get programmers to use self signed certs I was wondering what your rationale for not using them was please?

It's advisable to use the non-interactive login for bot login, as the documentation you pointed to suggests. This was added to betfair-ng by @paulgillard (https://github.com/mikecmpbll/betfair/pull/2) and released in v0.2.0.
Feel free to submit a pull request for the README if you want to update it to add info about non_interactive_login :)

Many thanks:):)


Unable to get the Challenge Id for Security Key Authentication

Describe the bug?
We are unable to fetch the Security key challengeData using SDK and there are no contextual data models in SDK
What is expected to happen?
Able to read the challengeData for security key Authentication.
What is the actual behavior?
We are unable to read the challenge Data for Authenticating the security key
Reproduction Steps?

Start the Authentication.
Select Security Key Factor to Authenticate.
We need Challenge Data to Authenticate the Security key but unable to read it.
guard let currentAuthenticator = response.authenticators.current else{return}
if currentAuthenticator.type == .securityKey {
let contextualData = currentAuthenticator.contextualData // No ContextualData
}

Additional Information?
No response
SDK Version(s)
3.0.8
Build Information
No response

@mikenachbaur-okta  Can you give a ETA for it

External Security keys: Yubikey Fido, Yubikey Bio and Fetian Security keys


Fix typo in readme

Coverage remained the same at 94.655% when pulling 86929fa2e9c4df8341b192b8e301a9cdc433abe6 on remvst:readme-typo into fa0915c4e4f5037355130a3995c1accc8df52cc1 on kikinteractive:master.

@remvst Thanks for the fix Remi.


Multiple zstd frames within a single input stream not supported

The zstd spec allows for multiple frames within a single file: https://tools.ietf.org/id/draft-kucherawy-dispatch-zstd-00.html#comp_frames .  This means that it is perfectly allowable to concatenate zstd files together e.g.:
echo "Hello World 1" >> file1
echo "Hello World 2" >> file2
zstd file1
zstd file2
cat file1.zst file2.zst > file3.zst

Based on my reading of the code, async-compression's zstd decoder uses the results of the underlying zstd::stream::raw::Operation::run_on_buffers (which just proxies to zstd::stream::raw::Operation::run). The return value of 0 from run is a "hint" that could indicate the end of a frame, but not necessarily the end of the input (i.e. EOF).  In reading zstd files with mutliple frames, async-compression (using async_compression::tokio::bufread::ZstdDecoder) only reads the first zstd frame and closes the output stream, as it seems to use this 0 return value from run as indicating the end of the input.
I'm new to Rust, but if there is a workaround, I'd love to hear it!
References:

async-compression zstd decoder: https://github.com/Nemo157/async-compression/blob/0.3.8/src/codec/zstd/decoder.rs#L25-L37
zstd run/run_on_buffers with comments about the return values: https://github.com/gyscos/zstd-rs/blob/0.8.0/src/stream/raw.rs#L18-L49
Example of zio reader in zstd to handle the difference between end of frame and end of file: https://github.com/gyscos/zstd-rs/blob/0.8.0/src/stream/zio/reader.rs#L101-L150

I think that a single line change to https://github.com/Nemo157/async-compression/blob/0.3.8/src/codec/zstd/decoder.rs#L36 to always return Ok(true) will solve the issue, as the generic decoder already has logic to switch the state to Flushing at the end of a stream.  That said, I don't fully understand the codebase (nor zstd) to comment on whether this is "correct" for all cases.

There is the multiple_members toggle to enable automatically resuming decoding of following frames until EOF is reached. The reason this is toggleable is to support cases where there is a compressed frame of data followed by other non-zstd data without something like a length-prefix to constrain the decoder.

I had hoped that it would be that simple ... and it is!  Thanks!
And thanks for the crate.  I've both learned a lot from the code, and am using it heavily in my new project.


Received a non-Vinyl object in dest()

I try to use gulp.series as the following line:
gulp.task('subtask:e2e-dist', gulp.series('subtask:webdriver-update', 'subtask:e2e-system', 'subtask:e2e-system2'));
I expected the subtask:e2e-system2 to run after subtask:e2e-system finishes, but
the following error is printed:
     [15:09:16] Starting 'subtask:e2e-system2'...
/Users/yianiswalnut/Documents/5/camp/node_modules/gulp/node_modules/vinyl-fs/lib/dest/prepare.js:16
      return cb(new Error('Received a non-Vinyl object in `dest()`'));
                ^
Error: Received a non-Vinyl object in `dest()`

that is happening with the gulp: github:gulpjs/gulp#4.0
but it works with gulp: git://github.com/gulpjs/gulp.git#6d71a658c61edb3090221579d8f97dbe086ba2ed
npm: 5.6.0
node: v8.9.4

This does not look like a Gulp issue but a configuration error.
The hash you posted corresponded to an alpha version of Gulp 4 not ready for production. One of the changes since this version and the stable release of Gulp 4 was the update of the Vinyl dependency. I am not sure about the details but it may be related and have stricter requirements for files piped to dest.
Could you post your subtask:e2e-system2 task? Make sure that this task pipes Vinyl files to dest (usually created by gulp.src).


Build manylinux2014 wheels in addition to manylinux_2_28 wheels

Closing in favor of #1822

Sorry for duplicating your PR!


serde-diff panics on first diff msg upon ws reconnect

I'm sending diffs to my frontend via websockets, and I auto-reconnect to the backend because I'm often restarting it during development.
Normal msgs are received perfectly fine after the reconnect but serde-diff panics on the first diff msg it receives after a ws reconnect.
It seems to be happening in the deserializing code for Option:
output @ frontend.js:175
frontend.js:476 Uncaught RuntimeError: unreachable
    at __rust_start_panic (wasm-function[7100]:0x1fae53)
    at rust_panic (wasm-function[7094]:0x1fabb0)
    at _ZN3std9panicking20rust_panic_with_hook17hb92129b68ed9b10fE (wasm-function[7089]:0x1fa8d4)
    at _ZN3std9panicking11begin_panic17h742ec3e2a1b90089E (wasm-function[2101]:0xd142f)
    at _ZN71_$LT$core..option..Option$LT$T$GT$$u20$as$u20$serde_diff..SerdeDiff$GT$5apply17h1c3c59d79ddb2975E (wasm-function[637]:0x304c2)
    at _ZN64_$LT$$u5b$T$u3b$$u20$_$u5d$$u20$as$u20$serde_diff..SerdeDiff$GT$5apply17hde05dc65b8d09068E (wasm-function[636]:0x2f81b)
    at _ZN77_$LT$core_types..views..SessionBoardView$u20$as$u20$serde_diff..SerdeDiff$GT$5apply17hd9c10f0374c45c18E (wasm-function[2098]:0xcff1e)
    at _ZN65_$LT$serde_diff..Apply$LT$T$GT$$u20$as$u20$serde..de..Visitor$GT$9visit_seq17ha60d341d7bbe4841E (wasm-function[1171]:0x8c09c)
    at _ZN94_$LT$$RF$mut$u20$bincode..de..Deserializer$LT$R$C$O$GT$$u20$as$u20$serde..de..Deserializer$GT$17deserialize_tuple17he6c1b01e599ea424E (wasm-function[3041]:0x11ae57)
    at _ZN94_$LT$$RF$mut$u20$bincode..de..Deserializer$LT$R$C$O$GT$$u20$as$u20$serde..de..Deserializer$GT$15deserialize_seq17hcb00bbed63102822E (wasm-function[3040]:0x11adb4)

__cargo_web_snippet_dc2fd915bd92f9e9c6a3bd15174f1414eee3dbaf @ frontend.js:775
stdweb::webcore::initialization::initialize::{{closure}}
std::panicking::rust_panic_with_hook
std::panicking::begin_panic
<core::option::Option<T> as serde_diff::SerdeDiff>::apply
<[T; _] as serde_diff::SerdeDiff>::apply
<core_types::views::SessionBoardView as serde_diff::SerdeDiff>::apply
<serde_diff::Apply<T> as serde::de::Visitor>::visit_seq
<&mut bincode::de::Deserializer<R,O> as serde::de::Deserializer>::deserialize_tuple
<&mut bincode::de::Deserializer<R,O> as serde::de::Deserializer>::deserialize_seq
<serde_diff::Apply<T> as serde::de::DeserializeSeed>::deserialize
bincode::internal::deserialize_from_custom_seed
bincode::internal::deserialize_seed
<frontend::app::Model as yew::html::Component>::update
<yew::html::scope::UpdateComponent<COMP> as yew::scheduler::Runnable>::run
yew::scheduler::Scheduler::put_and_try_run
yew::html::scope::Scope<COMP>::update
yew::html::scope::Scope<COMP>::send_message
yew::html::ComponentLink<COMP>::callback::{{closure}}
yew::callback::Callback<IN>::emit
yew::services::websocket::WebSocketService::connect::{{closure}}
<F as stdweb::webcore::callfn::CallMut<(A12,)>>::call_mut

@kabergstrom
Now I ported my frontend to imgui, and it still happens there, but with a real stacktrace:
thread 'main' panicked at 'assertion failed: self.is_none()', <::std::macros::panic macros>:2:4
stack backtrace:
   0: backtrace::backtrace::trace_unsynchronized
             at C:\Users\VssAdministrator\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.44\src\backtrace\mod.rs:66
   1: std::sys_common::backtrace::_print_fmt
             at /rustc/5d04ce67fd14538d03fa47a2598f80d49fd564c6\/src\libstd\sys_common\backtrace.rs:78
   2: std::sys_common::backtrace::_print::{{impl}}::fmt
             at /rustc/5d04ce67fd14538d03fa47a2598f80d49fd564c6\/src\libstd\sys_common\backtrace.rs:59
   3: core::fmt::write
             at /rustc/5d04ce67fd14538d03fa47a2598f80d49fd564c6\/src\libcore\fmt\mod.rs:1052

   4: std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
             at /rustc/5d04ce67fd14538d03fa47a2598f80d49fd564c6\/src\libstd\io\mod.rs:1428
   5: std::sys_common::backtrace::_print
             at /rustc/5d04ce67fd14538d03fa47a2598f80d49fd564c6\/src\libstd\sys_common\backtrace.rs:62
   6: std::sys_common::backtrace::print
             at /rustc/5d04ce67fd14538d03fa47a2598f80d49fd564c6\/src\libstd\sys_common\backtrace.rs:49
   7: std::panicking::default_hook::{{closure}}
             at /rustc/5d04ce67fd14538d03fa47a2598f80d49fd564c6\/src\libstd\panicking.rs:204

   8: std::panicking::default_hook
             at /rustc/5d04ce67fd14538d03fa47a2598f80d49fd564c6\/src\libstd\panicking.rs:224

   9: std::panicking::rust_panic_with_hook
             at /rustc/5d04ce67fd14538d03fa47a2598f80d49fd564c6\/src\libstd\panicking.rs:470

  10: std::panicking::begin_panic<str*>
             at /rustc/5d04ce67fd14538d03fa47a2598f80d49fd564c6\src\libstd\panicking.rs:397
  11: serde_diff::{{impl}}::apply<core_types::views::SlotView,bincode::de::{{impl}}::deserialize_tuple::Access<bincode::de::read::SliceReader, bincode::config::WithOtherLimit<bincode::config::WithOtherEndian<bincode::config::WithOtherLimit<bincode::config::Defa
             at <::std::macros::panic macros>:2
  12: serde_diff::{{impl}}::apply<core::option::Option<core_types::views::SlotView>,bincode::de::{{impl}}::deserialize_tuple::Access<bincode::de::read::SliceReader, bincode::config::WithOtherLimit<bincode::config::WithOtherEndian<bincode::config::WithOtherLimit
             at C:\Users\me\.cargo\registry\src\github.com-1ecc6299db9ec823\serde-diff-0.2.0\src\lib.rs:1056
  13: core_types::views::{{impl}}::apply<bincode::de::{{impl}}::deserialize_tuple::Access<bincode::de::read::SliceReader, bincode::config::WithOtherLimit<bincode::config::WithOtherEndian<bincode::config::WithOtherLimit<bincode::config::DefaultOptions, bincode::
             at D:\projects\core_types\src\views.rs:140
  14: serde_diff::{{impl}}::visit_seq<core_types::views::SessionBoardView,bincode::de::{{impl}}::deserialize_tuple::Access<bincode::de::read::SliceReader, bincode::config::WithOtherLimit<bincode::config::WithOtherEndian<bincode::config::WithOtherLimit<bincode::
             at C:\Users\me\.cargo\registry\src\github.com-1ecc6299db9ec823\serde-diff-0.2.0\src\lib.rs:505
  15: bincode::de::{{impl}}::deserialize_tuple<bincode::de::read::SliceReader,bincode::config::WithOtherLimit<bincode::config::WithOtherEndian<bincode::config::WithOtherLimit<bincode::config::DefaultOptions, bincode::internal::Infinite>, byteorder::LittleEndian
             at C:\Users\me\.cargo\registry\src\github.com-1ecc6299db9ec823\bincode-1.2.1\src\de\mod.rs:271
  16: bincode::de::{{impl}}::deserialize_seq<bincode::de::read::SliceReader,bincode::config::WithOtherLimit<bincode::config::WithOtherEndian<bincode::config::WithOtherLimit<bincode::config::DefaultOptions, bincode::internal::Infinite>, byteorder::LittleEndian>,
             at C:\Users\me\.cargo\registry\src\github.com-1ecc6299db9ec823\bincode-1.2.1\src\de\mod.rs:295
  17: serde_diff::{{impl}}::deserialize<core_types::views::SessionBoardView,mut bincode::de::Deserializer<bincode::de::read::SliceReader, bincode::config::WithOtherLimit<bincode::config::WithOtherEndian<bincode::config::WithOtherLimit<bincode::config::DefaultOp
             at C:\Users\me\.cargo\registry\src\github.com-1ecc6299db9ec823\serde-diff-0.2.0\src\lib.rs:490
  18: bincode::internal::deserialize_from_custom_seed<bincode::de::read::SliceReader,serde_diff::Apply<core_types::views::SessionBoardView>,bincode::config::WithOtherLimit<bincode::config::WithOtherEndian<bincode::config::WithOtherLimit<bincode::config::Default
             at C:\Users\me\.cargo\registry\src\github.com-1ecc6299db9ec823\bincode-1.2.1\src\internal.rs:115
  19: bincode::internal::deserialize_seed<serde_diff::Apply<core_types::views::SessionBoardView>,bincode::config::WithOtherEndian<bincode::config::WithOtherLimit<bincode::config::DefaultOptions, bincode::internal::Infinite>, byteorder::LittleEndian>>
             at C:\Users\me\.cargo\registry\src\github.com-1ecc6299db9ec823\bincode-1.2.1\src\internal.rs:143
  20: bincode::config::Config::deserialize_seed
             at C:\Users\me\.cargo\registry\src\github.com-1ecc6299db9ec823\bincode-1.2.1\src\config.rs:280
  21: gui::model::Model::update
             at .\src\model.rs:232

I guess it's because after a reconnect, the server assumes that the frontend's state is Default::default() but it is not, so when applying the diff for an Option, it assumes it's None, but it's not.
Can we make this not fail?

Yes, I confirmed that when I reset the frontend's instance of the state to Default upon reconnect, then it doesn't panic on the first applied diff after reconnect.

Hey,
I'm not sure what the behaviour should be here. We can't construct a T for a Some(T) value if the diff only contains a part of the T - what would you want the behaviour to be?

@kabergstrom I mean, it panics when the target state is Some(x) but the diff that is coming in was a diff constructed going from None to Some(y).
But I agree that it makes sense that applying a diff only succeeds if the object that it is applied to equals the source of the diff.
Maybe it could return an error in the case if it fails, instead of panicking?


Appstudio update mvp-test-component

Pipelines as Code configuration proposal

Pipelines as Code CI/mvp-test-component-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
19 seconds
init

✅ Succeeded
15 seconds
clone-repository

✅ Succeeded
2 minutes
build-container

✅ Succeeded
21 seconds
inspect-image

✅ Succeeded
21 seconds
deprecated-base-image-check

✅ Succeeded
1 minute
clair-scan

✅ Succeeded
3 minutes
clamav-scan

✅ Succeeded
41 seconds
sbom-json-check

✅ Succeeded
20 seconds
optional-label-check

✅ Succeeded
21 seconds
label-check

✅ Succeeded
11 seconds
show-summary

✅ Succeeded
9 seconds
show-sbom


Remove wlroots_0_16 (tracking issue)

With https://github.com/NixOS/nixpkgs/pull/269359 merged we want to eventually drop wlroots_0_16
Packages:

[x] swayfx
[x] hyprpicker https://github.com/NixOS/nixpkgs/pull/315926
[x] wayfire https://github.com/NixOS/nixpkgs/pull/296824
[ ] cage
[x] river https://github.com/NixOS/nixpkgs/pull/304545
[x] pywlroots
[x] qtile

Previous issue: https://github.com/NixOS/nixpkgs/issues/203222

qtile moved to wlroots 0.17 in https://github.com/NixOS/nixpkgs/pull/313604

pywlroots was updated to 0.17.0, with wlroots 0.17 support, in #313604.

https://github.com/NixOS/nixpkgs/pull/331623


Fix tests on older django versions

Coverage remained the same at 95.729% when pulling 49b96d70d51481a42dc3363c6e01a7d7d2306f37 on hotfix/tests into 365010ef0e4c2b83a0962d4095288f4be3e562e7 on release/0.9.x.


maybe i;m so fool

it's really hard to use it. hard to choose python version, bad bug about npm and node. i will not choose it.

I'm sorry. I don't very understand programming that time. I aplogize for my nude.


A helper function to run arbitrary commands

In my use case, we'll have multiple live-infrastructure repos. One particular drawback of such implementation is that you can end up with a lack of pattern.
To cope with that, I wanted to implement generic terraform.tfvars that can be easily copy-pasted, everywhere and upgraded to a new version when needed. Since there's information that changes from account to account and repo per repo, like the bucket name and the dynamoDB table I plan to write a script that determines such information based on the path and the repo name.
This PR provides this functionality with a simple helper function that runs any command with a list of arguments and returns the stdout as the result.

Hm, got a test failure:
--- FAIL: TestCommandOutputOrder (0.00s)
	Error Trace:	run_shell_cmd_output_test.go:31
	Error:      	Expected value not to be nil.
	Messages:   	Should get output

Any idea what that is?

weird this test is passing here.

@brikis98 found the error. I forgot to add the emtpyworkingDir param in one of the tests. The binary wasn't breaking since the last argument accepts a list or arguments :P

check https://github.com/gruntwork-io/terragrunt/pull/673

Is anything blocking a release? I could really make use of this new feature 👍

This is now released in https://github.com/gruntwork-io/terragrunt/releases/tag/v0.18.2! Thx @bernardoVale!


[enhancement] Ability to run custom functions

It would be great if mbt could run custom functions as defined in .mbt.yml, similar to yarn/npm run x where x is defined in package.json

This is a great idea. In our environment, we want to run some automated UI tests for modules effected by a commit (outside the build process). Having something like:
mbt run <command> --for <commit|branch> would be really handy.
So, definitely, going to the next to-do pile.
Thank you!

For the time being you could parse the output of mbt describe xxx --json in your scripts to apply custom logic.

@dustyhorizon This change is now available in latest dev build. Please let us know what you think. Thanks!


Deck map looks rly small when the warnings are there

when the app is at the default size, and the modules have warnings, the deck map displays realllllly small. can we increase the wide of the deck map when this happens?

This should be addressed by #9184


Update pgvector extension.

Add getter and setter for ef_search used by HNSW.

Ugh, we can merge this if we need to but I should try to make session config of extension configs actually work

Session and backend extension configs work now, so let's do it that way instead


fix(client): stop preview in new window from disappearing on parent resize

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #47608

I tested this in my local environment. I recreated the behaviour from the desktop view on the mobile view. I also made sure the external window stays open while switching back and forth between the views. I also added the button to pop out the portal on the mobile view to mirror the desktop one.
Video demo:
https://github.com/freeCodeCamp/freeCodeCamp/assets/71296308/443cdc5a-6528-4aec-a987-774fdcf62fdc

Sorry, I will close this request because it's from the wrong branch.


fails to dryrun under multi-cluster

Not ready to switch validation to fail-closed: dummy invalid rejected for the wrong reason: gateways.networking.istio.io is forbidden: User "system:serviceaccount:istio-system:istio-reader-service-account" cannot create resource "gateways" in API group "networking.istio.io" in the namespace "istio-system"

I am confused, isn't the central istiod running with the full permission for the config cluster? I don't see how it would work otherwise, it would be missing tons of permission. The validation webhook is only in the config cluster?

The architecture is like this:  one external control plane cluster with its KUBECONFIG point to the config cluster,   and  more than 1 remote cluster who gets config from the config cluster.
This is used in remote cluster as we need create remote secret in the config cluster. So istio-reader-service-accout

why is there a validating webhook in the remote cluster? It doesn't have any configs.

in remote cluster, we will have two webhook configurations and they will be used for workloads running within the cluster.

Why though? The validation webhook will validate configuration. We don't have config, so why would we have the webhook to validate the config? We don't even install the CRDs?

make sense. we do not need crds and validating webhook configurations in remote cluster.  Now both of them are part of base components.  should we spilt them from base into a separate component eg config?  And any others should be spilt from base?
currently, we are instaling l base + istiodRemote in remote cluster and config cluster.  so we really need a way to split the unneeded resources.

I think you can turn off the CRDs and webhook. What do we need from base
anyways? just the service and endpoints?
On Mon, Sep 7, 2020, 9:24 PM Iris<EMAIL_ADDRESS>wrote:

make sense. we do not need crds and validating webhook configurations in
remote cluster. Now both of them are part of base components. should we
spilt them from base into a separate component eg config? And any others
should be spilt from base?
currently, we are instaling l base + istiodRemote in remote cluster and
config cluster. so we really need a way to split the unneeded resources.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/27113#issuecomment-688609707, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXJAL7H7QJBFRDIE2U3SEWWWDANCNFSM4Q7EPALQ
.

I think we need sa, role , clusterrole , bindings for istio-reader, services, endpoints.  It is easy to exclude others via existing flags.  For crds what is the better and easy way to exclude them?

we already use copy and flag mix, right?  so this will not make the situation worse :)

Where is the mix?
On Wed, Sep 9, 2020 at 7:47 PM Iris<EMAIL_ADDRESS>wrote:

we already use copy and flag mix, right? so this will not make the
situation worse :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/27113#issuecomment-689941958, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXK4D2OTEUS5FT27PP3SFA45ZANCNFSM4Q7EPALQ
.

I mean we now have mutliple flags to control our install behaviour already, like: enableCRDTemplates, configValidation
and we have multiple charts at the same time. This is already a mix, right?


opi scope

Proposal for use in the TSC

Now that this was reviewed in the TSC can we merge it? Will be easier to review and is clearly marked as a proposal.

Ping again, can we merge this?


genarate license report

The ability to gather the dependency (transient as well) license files running the ./gradlew dependencyLicenseReport task.
Will generate an index.html in build/reports/dependency-license with license information.

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/periscope-build-pull-request/3/


ip1 handout

The section on Submission and Grading doesn't specify that the students are supposed to run Stryker and submit the stryker report.   Have I missed something?

Here is my commented copy of ip1.md
ip1 - Commented.md

Having worked on task1 and task2 I am now very much in favor of giving the students a test suite.   The prose specifications as written leave so much to the imagination that I can't see how we could grade the submissions.

I am very disappointed that the codebase does not even come close to matching our coding standards https://neu-se.github.io/CS4530-Spring-2024/policies/style/#documentation-and-comments.  Specifically:
Documentation and Comments
All public properties and methods (other than getters, setters, and constructors) must be documented using [JSDoc-style comments](https://devdocs.io/jsdoc/about-getting-started) that describes what the property/method does. Example:

/** The unique identifier for this player * */
private readonly _id: string;

/**
 * A handler to process a remote player's subscription to updates for a room
 *
 * @param socket the Socket object that we will use to communicate with the player
 */

I'm not doing this to be a stickler-- I really didn't understand what some of these functions were supposed to do.  The functions in models/application.ts were particular offenders in this regard.  (Speaking of which, why is this file in the 'models' directory?   It's very different from the others in that directory)
I also got confused about the naming conventions for functions:  addXX vs getXX vs fetchXX.  But that's not so important.
OK, I'm finished venting for the night.  Bye.

Some observations from my installation experience:

clarify mongb installation instructions ...  will get an error if you try to connect to db thru compass. Start db first using
"C:\Program Files\MongoDB\Server\7.0\bin\mongod.exe" --dbpath="c:\data\db"
then connect thru compass.
then run mongosh from command prompt
add instructions to create db with name "fake_so"

need link of repo in instructions (hw3)

scary looking warnings .... need to check/confirm versions needed first

are express, jest, and axios installed in client or server?

add npm start ... do we need 2 terminals?

Bleah!  I worked very hard to rewrite the README to make the installation smoother.   It's very confusing to have some IP1 materials in the course repo and some in the IP1 repo.
My rewrites are in the IP1 repo, branch new-readme.  Can we untangle this, please??

I walked through IP1 and here are my observations:

For '3. Populate the initial database', when I run command, it gives errors because some of the properties (e.g. description in tag) is missing because it hasn't been implemented yet (which should be resolved after implementing task 2). Should we add a note to tell the students that these errors are expected?

Currently, all files under server/controller, server/data, server/models, and some files in client have CRLF as end of line sequence, which gives a error in my editor. We can fix it by running prettier on all files

For Task 1, I couldn't find tests for the expected behavior of getQuestionsByFilter, which may lead to confusion for students since they won't know if there implementation is correct. We can either add the tests, or change the task instruction to be more specific (such as stating how should the asked_by field be passed to getQuestionsByFilter

For Task 2:

We didn't mention that students need to change the schema, though I suppose this could be implied
It seems that getTags is partically implemented in the starter code, since the function already takes in an array of tag instead of an array of tag names
Also, getTagByName should be an endpoint but the instruction says it's a function
I also think it would be confusing to students if we don't give more instructions on how to add the getTagByName endpoint

For Task 3:

The second sentence of step 2 doesn't apply, since we removed the original step 1
I'm also curious why did we change the function name from getMostViewedQuestion to sortQuestionsByMostViewed, since now it doesn't align with other functions in getQuestionsByOrder (e.g. getActiveQuestion). If we are making this change, we should also change existing functions such as getActiveQuestion as well
The rubric also uses the old instructions. It has "Update OrderType" and "Add getMostViewedQuestion"

For Task 4, I didn't find any issue. Though it seems to me that it's contributing too much to the overall score despite being not too much more difficult than the previous tasks


CHANGELOG.md

ie. so we can figure out what's changed.  :smile:
And FYI, the releases published in:

https://rubygems.org/gems/devise_security_extension/versions

don't match the releases tagged in:

https://github.com/phatworx/devise_security_extension/releases

One says the latest version is v0.9.2, while the other v0.8.2.
(perhaps something happened aroung the 270b67aff5ec5d6cc4584abab02171e9a84b3546 commit?)

+1, git tags are missing from v0.8.2 while v0.9.2 is available on https://rubygems.org/gems/devise_security_extension

at the moment the version 9 is a git version and not published.

oh, ok i see what you mean. correct the git tag is missing. i didn't push it, so i didn't know the correct hash.

Please consider reopening and addressing the original intent of this issue, which is to maintain a CHANGELOG.md file that will list all the changes that went into each release. github-changelog-generator is an awesome tool that can automatically do that for you. All you have to do is install the gem, run github_changelog_generator, and it will go through all your releases and generate a wonderful CHANGELOG, like this one: https://github.com/codeforamerica/ohana-api/blob/master/CHANGELOG.md


Ustream Videos keep Breaking and missing parts when downloading

First and foremost I have to openly appreciate this software... It's awesome!
Now the issue I have is when I try to download this ustream link or any other ustream link using
livestreamer -v -o out.flv http://www.ustream.tv/channel/20271235 best
the video breaks missing some parts of the video every less than 10 secs. Even if I choose low clarity version it does the same.
I tried the iphone link and it works smoothly but I cant get good clarity output of 720.
livestreamer hlsvariant://http://iphone-streaming.ustream.tv/uhls/20271235/streams/live/iphone/playlist.m3u8 best -v -o new.flv -O --retry-streams 1 --retry-open 86400
Is there any way out?
Also if I can have another help, if a .m3u8 link that I am downloading ends streaming and restarts in some time, is there a way to download it to a single file (using :start & goto start, splits onto different files)
Thanks.

This is a known issue and we've already talked about it here: #860
In the end @jthall did come up with a working solution. Try it again with the modified [plugin] (https://github.com/jthall/livestreamer/blob/bb7830f7705b360e04ba5256354ab4f15cedbf61/src/livestreamer/plugins/ustreamtv.py) and tell us if it works for you.

Are you wanting the content to write to a single file even if the stream ends and then restarts?
You might be able to use a shell script and use vlc to output .ts format to a file, that way you don't have to deal with flv headers in the middle of your file.  If you use () in your script, you can put the livestreamer command in a loop that behaves, like sleeps between attempts to get an offline stream.

@0880  @jthall Thanks for your replies.
@0880 I checked the link that you provided. Thanks for the Link.
@jthall. Thanks for the sugestion. From the link provided I did not understand though how to fix this issue regarding the ustream missing parts as I am not learned abt this coding. Can you please tell whether I should replace any file in the installation of livestreamer or should I change any coding tof my above livestream?
Also regarding the secod question as getting the stream as a single file - the problem is the stream sometimes ends due to network issues and reconnects again. For this all that I found was to use start and goto start command which did help but I have to deal with files the number of times it disconnected and restarted streams (sometimes 6-7 files).
If you have time can you please recode my command prompt that which I wrote which is - livestreamer hlsvariant://http://iphone-streaming.ustream.tv/uhls/20271235/streams/live/iphone/playlist.m3u8 best -v -o new.flv -O --retry-streams 1 --retry-open 86400 -- to include changes so that I can get my Live ustream downloading  complete and in one file preferable as a .mp4? Sorry to ask because I dont understand much coding and technical words used. If you can, please help.
Thanks

@0880  @jthall Thanks for your replies.
@0880 I checked the link that you provided. Thanks for the Link and I am checking how the output comes in various videos which I will post in 1-2 days time and close out this post. Nonetheless in random checking there seems to be many warnings coming in between like the 404 Not found and Failed  to get module info / timeout  and read timeout ending stream but the video seems working fine till that point but let me check the videos which i really want and I will discuss.
@jthall. Thanks for the suggestion. Regarding the second question as getting the stream as a single file - the problem is the stream sometimes ends due to network issues and reconnects again. For this all that I found was to use start and goto start command which did help but I have to deal with files the number of times it disconnected and restarted streams (sometimes 6-7 files).
If you have time can you please help recode my command prompt that which I wrote which is -
:start
for /f "tokens=1-6 delims=/:." %%a in ("%date%.%time%") do set FileName=Out - %%a-%%b-%%c - %%d-%%e-%%f.flv"
livestreamer http://www.ustream.tv/channel/20271235 best -v -o %FileName% -O --retry-streams 1 --retry-open 86400
goto start
-- to include changes so that I can get my Live ustream downloading solid & complete and in one file preferable as a .mp4? Sorry to ask because I dont understand much coding and technical words used. If you can, please help.
Thanks

Hi,
I'm not familiar with this command syntax. oh wait a minute this
:start is a label. I understand now.
I must admit I'm not familiar with the variable substitution used. Are
you trying to archive this stream on a daily basis, play it with a
flash player, or something else?
The simplest solution here might be to use ffmpeg to read the flash
content on stdin and then output with -f mpegts -v copy so it doesn't
try to transcode anything, then write the output to a file. You could,
for example, do something like this. This example isn't for what you
want, this example pulls the audio, deletes the silence, and then
encodes it at mono 48khz.  There's probably a better way to do it than
this, but it works. You basically run this command and use >> to write
the mp3 to a file.  The gist here is the stuffin () gets executed as a
single shot and the lame process stays open because stdout of the
parent never closes due to the while loop never exits. The lame
process then takes raw audio on its stdin and encodes it.
#!/bin/sh
(
while [ 1 ]
do
livestreamer -O --stream-segment-threads 6
http://www.ustream.tv/channel/live-iss-stream
240p,240+,240p+_alt_akamai,mobile_284p| mplayer - -novideo
-really-quiet -nocache -ao pcm:nowaveheader:file=/dev/stdout |
ecasound -q -f:f32_le,2,48000 -i stdin -R -enm:0.15,2000,60,5,60
-ge:0.15,0.01,1,-1 -f:s16_le,2,48000 -erc:1,2 -o stdout
sleep 5
done
) | lame -s 48 -r -h -a -b 80 - -
On 9/3/15, poochiteap<EMAIL_ADDRESS>wrote:

@0880  @jthall Thanks for your replies.
@0880 I checked the link that you provided. Thanks for the Link and I am
checking how the output comes in various videos which I will post in 1-2
days time and close out this post. Nonetheless in random checking there
seems to be many warnings coming in between like the 404 Not found and
Failed  to get module info / timeout  and read timeout ending stream but the
video seems working fine till that point but let me check the videos which i
really want and I will discuss.
@jthall. Thanks for the suggestion. Regarding the second question as getting
the stream as a single file - the problem is the stream sometimes ends due
to network issues and reconnects again. For this all that I found was to use
start and goto start command which did help but I have to deal with files
the number of times it disconnected and restarted streams (sometimes 6-7
files).
If you have time can you please help recode my command prompt that which I
wrote which is -
:start
for /f "tokens=1-6 delims=/:." %%a in ("%date%.%time%") do set FileName=Out

%%a-%%b-%%c - %%d-%%e-%%f.flv"
livestreamer http://www.ustream.tv/channel/20271235 best -v -o %FileName% -O
--retry-streams 1 --retry-open 86400
goto start
-- to include changes so that I can get my Live ustream downloading solid &
complete and in one file preferable as a .mp4? Sorry to ask because I dont
understand much coding and technical words used. If you can, please help.

Thanks

Reply to this email directly or view it on GitHub:
https://github.com/chrippa/livestreamer/issues/1054#issuecomment-137597317

Thank you @jthall for your reply. Ignore my making of the code it is just made to the best that suit my needs without any technical knowledge. I try to download a stream which is live for 2hrs. I may start the record and I may leave cause I would be busy with other work. When I come back I just look to have the 2hr downloaded as a single video file that I can watch in any player as this is not archived by them for me to watch later. Actually i exaclty dont know whether retry part of the code serves any purpose for me just put them there as i copied it off the internet which is for 24 hrs... but I close it when i come back knowing their stream is over.
All I tried to do in the code is:

Keep connecting even if their stream stop as there might be network issues for them
When the file is downloaded it comes with the time stamp
I trying to have the video to continue in the same output file even if their stream stops in between.

Regarding ustream issue i figured that even tho i have 8mbps conncection, 720p doesnt download full since it says not found or time out... only worst (240) works good.

well, if you use the word best, then it will try the best quality
stream.  To install my plugin, simply check it out with git and follow
the installation instructions for installing from git. On my computer
I just type python setup.py install and it installs away.
I like the idea of timestamps in the filename. That's pretty cool.
On 9/3/15, poochiteap<EMAIL_ADDRESS>wrote:

Thank you @jthall for your reply. Ignore my making of the code it is just
made to the best that suit my needs without any technical knowledge. I try
to download a stream which is live for 2hrs. I may start the record and I
may leave cause I would be busy with other work. When I come back I just
look to have the 2hr downloaded as a single video file that I can watch in
any player as this is not archived by them for me to watch later. Actually i
exaclty dont know whether retry part of the code serves any purpose for me
just put them there as i copied it off the internet which is for 24 hrs...
but I close it when i come back knowing their stream is over.
All I tried to do in the code is:

Keep connecting even if their stream stop as there might be network
issues for them
When the file is downloaded it comes with the time stamp
I trying to have the video to continue in the same output file even if
their stream stops in between.

Regarding ustream issue i figured that even tho i have 8mbps conncection,
720p doesnt download full since it says not found or time out... only worst
(240) works good.

Reply to this email directly or view it on GitHub:
https://github.com/chrippa/livestreamer/issues/1054#issuecomment-137612519

You may also try this way to download and save Ustream Videos to your PC, Ipad, Iphone, Cell Phone, PSP, MP3 player with one-click at allavsoft.

@jthall Thanks for the updates in ustream plugin. I checked the download and for 2 hr video there is a missing of less than 50sec when the video is around 500. I dont know why but it doesnt seem to work when it is 720p and there tends to be much loss in video tho I have a 10mbps connection without any background load!However it serves the purpose that I need it now for.
But getting the live streaming into a single file is still I am trying a solution. i have been trying the same for a rtmp download but yet it splits to a number of files according to disconnections.

I use Allavsoft to batch download ustream videos to MP4, AVI, MOV, WMV etc.
Here is the easy guide: http://www.allavsoft.com/how-to/ustream-downloader.html


Getting container memory usage: /var/lib/docker... looks right, /sys/fs/cgroup underreports...

I have an app that is running at about 50 MB in a non-containerized machine. When I deploy it in a container I see two different memory.stat files:
/sys/fs/cgroup/memory/docker/CTR-ID/memory.stat (recommended, total_rss = rss = 2,920,448
The %MEM fields in docker top aux sum to 2.7 %, giving way too low a value
In /var/lib/docker/aufs/mnt/CTR-ID/rootfs/sys/fs/cgroup/memory I get more likely
values, either from the rss field in memory.stat, or the value of cat memory.usage_in_bytes of 1,811,554,304 (On a VM with 2GB allocated).
The %MEM field is around 2.5 %, giving a plausible 45 MB of used memory,
which is consistent with my non-docker deployed app.
The only problem is that /var/lib/docker is root:root 0700 perms.  So I need
to use a setuid helper to get at the memory.usage_in_bytes file. Is this
deliberate?  Are containers vulnerable to attack?  What if /var/lib/docker
was 0711?
The central question of this note is why the discrepancy between the two memory.stat files?

maybe @crosbymichael knows?

@unclejack any ideas?

@crosbymichael I'll check this out and comment. I'll assign this temporarily to myself.

@unclejack did you find anything

@jfrazelle No, this was unassigned from me and I've lost track of it.

ya I saw it was unassigned super weird
On Mon, Mar 2, 2015 at 8:59 AM, unclejack<EMAIL_ADDRESS>wrote:

@jfrazelle https://github.com/jfrazelle No, this was unassigned from me
and I've lost track of it.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/7316#issuecomment-76750858.

@ericpromislow are you still seeing this on the current release (1.11)?


Docs for history api

I was looking for documentation on how to use the API for browserHistory. I see that it uses HTML5 History api, but wasn't clear on if it had all the functions of the HTML5 history api, because it looks like it has some convienience functions added.
In particular it would be nice if the most used functions were documented like browserHistory.push and browserHistory.replace.

It's documented in the history library: https://github.com/mjackson/history/tree/master/docs

Ah thanks, I wasn't clear on that for some reason.


build: google cache takes too long to flush old runtime binaries

During runtime release we push a new version (e.g. 1.18) to bootstrap.urbit.org
We then rely on next to upgrade to this version which pulls from that url
This will fail if done quickly because google retains the old wrong version in that location in its cache
It takes too long for google to update its storage locations

vere: next (%live): 1.18-799c519
curl: error https://bootstrap.urbit.org/vere/live/v1.18-799c519/vere-v1.18-799c519-linux-x86_64: HTTP 403
unable to save https://bootstrap.urbit.org/vere/live/v1.18-799c519/vere-v1.18-799c519-linux-x86_64 to /home/philip/tug/.bin/live/vere-v1.18-799c519-linux-x86_64: -2
vere: upgrade failed

Can we reduce the time google waits to flush the cache? Alternatively we could not overwrite and use new paths for each one (though that seems risky)

It also doesn't seem like old binaries are being fully replaced / overwritten when installing per cli instructions on urbit.org

I don't recall this being an issue, have the buckets been reconfigured? Alternately, our libcurl build settings have changed; maybe those need to be revisited.

It's been a few hours, so either getting pretty unlucky with cache misses ... or the bucket perms need to be updated?

I think part of the reason we didn't notice before may be because we're more immediately trying to upgrade after publishing. It's only an hour or so and before I think most people didn't upgrade within the hour (or day).

I think the pill is different? I'm not sure we have a 1.18 pill yet, we typically do that after (couple day to week lag) to prevent accidental downgrades cc @philipcmonk

From @philipcmonk

We forgot a release step: while it's fine to delay making a new pill until the next day, we need to have some pill for each binary release, otherwise nobody can boot with the new binary. i just ran gsutil cp gs://bootstrap.urbit.org/urbit-v1.1{7,8}.pill which does this.

tomorrow though we should build a real pill


remove emoji picker menu for medium screen width tablets

@mountiny @rushatgabhane
Details
Fixed the regression caused by #7851

Fixed Issues

$ https://github.com/Expensify/App/issues/7585
Tests/QA

Open app on Tablet
Navigate to any chat
Verify no emoji picker option is there in landscape mode ( also in portrait mode for big screen tablets where LHN is visible )

[x] Verify that no errors appear in the JS console

PR Review Checklist

Contributor (PR Author) Checklist

[x] I verified the PR has a small number of commits behind main
[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I clearly indicated the environment tests should be run in (Staging vs Production)

[x] I wrote testing steps that cover success & fail scenarios (if applicable)
[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests & veryfy they passed on:

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

[x] I verified there are no console errors related to changes in this PR
[x] I followed proper code patterns (see Reviewing the code)

[ ] I added comments when the code was not self explanatory
[ ] I put all copy / text shown in the product in all src/languages/* files (if applicable)
[ ] I followed proper naming convention for platform-specific files (if applicable)
[x] I followed style guidelines (in Styling.md) for all style edits I made
[x] I followed the JSDocs style guidelines (in STYLE.md)

[x] I followed the guidelines as stated in the Review Guidelines
[ ] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I corroborated the UI performance was not affected (the performance is the same than main branch)
[ ] If I created a new component I verified that a similar component doesn't exist in the codebase

PR Reviewer Checklist

[ ] I verified the PR has a small number of commits behind main
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the testing environment is mentioned in the test steps

[ ] I verified testing steps cover success & fail scenarios (if applicable)
[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] I verified there are no console errors related to changes in this PR/
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified comments were added when the code was not self explanatory
[ ] I verified any copy / text shown in the product was added in all src/languages/* files (if applicable)
[ ] I verified proper naming convention for platform-specific files was followed (if applicable)
[ ] I verified style guidelines were followed
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components are not impacted by changes in this PR (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[ ] I verified the UI performance was not affected (the performance is the same than main branch)
[ ] If a new component is created I verified that a similar component doesn't exist in the codebase

Screenshots

Web

Mobile Web

Desktop

iOS

Android

PR is up
cc: @mountiny @rushatgabhane

@bondydaa, sorry for the ping, please ignore it as @mountiny will be reviewing this.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @mountiny in version: 1.1.43-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @roryabraham in version: 1.1.43-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


nixos-rebuild-ng: change copy closure logic when copying from_host -> to_host

Change copy closure logic when copying from_host -> to_host:

If user is using Nix 2.18+ (the default), we will switch to use nix copy since it supports using --from and --to at the same time
If user is using older versions of Nix, we will call nix-copy-closure twice, once with --from and another with --to

The reason for this change is because the previous logic, that SSH'd to from_host to copy to to_host using nix-copy-closure --to means that from_host needs to have credentials to communicate with to_host, that is not always possible nor expected. It breaks even in simple cases like --from and --to is the same host because it is not common for a host to SSH'd itself. This also makes the behavior more consistent, since --from and --to is interpreted from the eval host point of view EXCEPT when they're used together.
This may of course break in the cases where this old behavior was assumed, e.g.: deploying with a bastion host. I am not sure how common this was, and I think this change in behavior should enable more cases than break, but let's see. For that particular case, running nixos-rebuild-ng inside SSH command (e.g.: ssh build_host -- nixos-rebuild-ng switch --target-host target_host) should do the trick.
More context why this change is needed: https://discourse.nixos.org/t/nixos-rebuild-ng-a-nixos-rebuild-rewrite/55606/27?u=k0kada.
Other improvements in this PR:

Paralelization of nixos-rebuild-ng list-generations: this command can get surprinsingly slow specially with lots of generations. When I had ~10, this change reduces from ~170ms to ~100ms. For comparison, nixos-rebuild list-generations will take up to ~1 second(!) in the same situation, so not bad in general
Removal of tabulate as dependency. It was bothering me that we were adding dependency in a library that is almost as complex as this whole program as dependency. With the help of ChatGPT, we now have 0 runtime dependencies again
Add support to --build-host  for build-vm and build-vm-with-bootloader

Questions:

Why not drop support for older Nix? Well, I thought about this, but it is a fact that we still supports Nix 2.3 in nixpkgs, and it is not like this add too much complication (but it is kind a pain to test). I hope we eventually drop Nix 2.3 from the tree, but until there I think we need to deal with this complexity
Why not always use nix copy when Nix 2.18+? There is this really annoying warning that happens when you try to use nix copy with a path that ends with .drv. The use case for --from and --to is to copy the out result so it doesn't trigger this warning, but if we also changed the copy of derivation to use nix copy it would trigger. Also it would mean more code to maintain
Why Nix 2.18? Because Nix 2.18 was our previous "stable" release and Lix is actually a fork of Nix 2.18 (until when I don't know, but this is true for today). And Nix 2.18 supports everything we need, but it is very likely the code is compatible with earlier versions of Nix (the .drv change that triggers the warning above is actually necessary for it to work once we switch everything to use nix copy for example, and it was introduced in Nix 2.15, so this is the minimum Nix version that the code is compatible I think)

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

CC @jlamur you may be interested to test. With the changes in this PR I think your use case should work (--target-host == --build-host).
CC @Scrumplex @r-vdp for review.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/4955

@jlamur Since #365222 fix is trivial I pushed it in this PR. Can you test?

@jlamur Since #365222 fix is trivial I pushed it in this PR. Can you test?

It seems to work as intended. Thank you!

@ofborg build nixos-rebuild-ng nixos-rebuild-ng.tests


[FEATURE] <Adding white hover to "view all" button in the "core team" section>

Description
the hover on the view button is missing in the core team section. All the buttons have it except this one.
Screenshots

I have a strong grasp in HTML, CSS, JS and react. I'll be glad to add this small feature that enhances the user experience. Plus it'd be great for my GSSOC'24 journey!


Update index.asciidoc

Fix punctuation

Hi @jsvd , just letting you know, it looks like there are a handful of documentation related PRs here from across multiple years that have CI build failures and are just waiting on that to be fixed.

Hi @jsvd , just letting you know, it looks like there are a handful of documentation related PRs here from across multiple years that have CI build failures and are just waiting on that to be fixed.


Week 1 David Individual Review Ticket

Peer Grade from Tigran:
Scrum Team GitHub pages (2 points)

[x] Project Owner initial requirements, contact info, and derivative tangible plans

[x] Requirements and Jobs assigned to each individuals listed on Scrum Board, including at least one in progress task

Individual GitHub pages (3 points)

[x] GitHub page for Test Prep study, requiring 5.3, 5.4 notes and actions( See "GitHub pages actions" at the bottom of each TPT page on cspcoders).

[x] GitHub page that documents key learnings and code snippets using GitHub and replit.

InfoDB lists

InfoDB loops

Fibonacci

Individual review
1/1- all notes are there
1.9- The code is correct and runs properly (DB lists/loops/fib), the error in the other file needs to be fixed so that it runs on replit
2
2.9/3


Create Racing bar chart Animation

problem statement
Create Racing bar chart Animation of covid cases data
You can refer data from here
https://api.covid19india.org/v4/timeseries.json

I can work on this 😄

ok @kana800

hey @chavarera, This is a sketch I came up with.

Do I need to make the dates selectable?
For example the user can select the from "2020-08-05" to "2020-08-07" and Program will draw a bar graph according to the dates.


"annotation list comparision"

@aryakrekhi I think this is what you want to find the indices of matches.

@Farnazmdi can you help @aryakrekhi setup a test of his function? This could check, for example, that most of the genes are overlapping between cell lines (by looking at the size of the merged lists).

Absolutely!

I assumed your function returns the list of shared annotations.
And it tests whether at least 50% of genes in the smaller cell line (cell line with the smaller number of genes) are shared...
Please let me know if you have any questions...

Please do git pull to update your local.

The tests should now pass.
I only kept the replicated functions in the factorization file and removed them from the fitting.
The other issue was that cellLineFactorization has 3 outputs but you were accounting for 2.

I think it is ready. You can ask Dr. Meyer for review/merge

What is included here? Just the gene list comparisons?

What is included here? Just the gene list comparisons?

Yes, this is mainly the functions for the gene list comparisons and resizing the data. We also added a file (graphNorms.py) to graph all the norms and plot the w matrices against each other.

I uploaded a link in Slack that explains why we do linting and what it is!
A lot of them you will learn over time, but try to be mindful of them when you write your code to avoid going back and needing to fix them.

You should not have any white spaces, tabs, extra white lines.
You should avoid importing functions, packages that you end up not using.
In Python, you write the docstring for explaining the function in the line right after defining it, for example:
def my_function():   """ This is the docstring"""   the rest of the function
when you are writing mathematical expressions, have white spaces before and after the operators.
when working with matrix or list indexes, have white space like this: list[:, 1, j] = ...


mopidy-scrobbler: init at 2.0.1

Motivation for this change
Mopidy-Scrobbler is a Mopidy extensions maintained by the Mopidy organization. Many other Mopidy extensions maintained by them are already packaged.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

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

1 package built:

mopidy-scrobbler

This is a semi-automatic executed nixpkgs-review. If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
 This makes this easier to review and keep the changes on individual and logical commits.

Sure.
What would you like the commit message to be?
Would you prefer the commit to sort the packages to be before or after the commit to add mopidy-scrobbler?

@jakeisnt I'd probably do it before.

Result of nixpkgs-review pr 107993 run on x86_64-darwin 1

1 package built:

mopidy-scrobbler

This is a semi-automatic executed nixpkgs-review. If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 107993 run on x86_64-linux 1

1 package built:

mopidy-scrobbler

Please change Reorder mopidy package declarations to mopidy: sort package declarations

Please change Reorder mopidy package declarations to mopidy: sort package declarations

Please change Reorder mopidy package declarations to mopidy: sort package declarations

This has been done.

Please change Reorder mopidy package declarations to mopidy: sort package declarations

This has been done.

This is a semi-automatic executed nixpkgs-review. If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 107993 run on x86_64-linux 1

1 package built:

mopidy-scrobbler

This is a semi-automatic executed nixpkgs-review. If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 107993 run on x86_64-linux 1

1 package built:

mopidy-scrobbler


Deprecated ebs_volume_size from upstream aws_msk_cluster

what

ebs_volume_size has been replaced by storage_info in the upstream aws_msk_cluster.
This leads to validation warnings from terraform.

why

Prevent validation warnings.
Ensure that the module does not end up deprecated in the future.

references

Link to any supporting github issues or helpful documentation to add some context (e.g. stackoverflow).

I am running into this issue as well after upgrading aws provider version to 4.25.0


use resource powershell instead of powershell_script

@coffeepac FYI, as per cookbook wiki, powershell_script resource is default resource powershell. It is available for Chef 11 and 12.
42>> powershell_script 'install filebeat as service' do
 43:    code "#{node['filebeat']['windows']['base_dir']}/#{node['filebeat']['windows']['version_string']}/install-service-filebeat.ps1"
 44:    only_if { node['platform'] == 'windows' }
 45:  end

Updating cookbook to use resource powershell. As, i do not have Windows platform to test it out and cookbook is broken at the moment, kindly submit PR if you find some issue with new changes.
https://github.com/chef-cookbooks/powershell#resourceprovider

However, seeing warning for powershell resource.
.[2015-11-21T15:16:56+05:30] WARN: The on_platforms option to node_map has been deprecated at /var/folders/4g/vkwwhwrn56n4x7p_q3h349v00000gn/T/d20151121-51830-1upguhc/cookbooks/powershell/libraries/powershell_module_resource.rb:25:in `<class:PowershellModule>' at /Users/vkhatri/.rvm/gems/ruby-2.2.1/gems/chef-12.5.1/lib/chef/event_dispatch/dispatcher.rb:38:in `call'
[2015-11-21T15:16:57+05:30] WARN: Please use the powershell_script resource in Chef Client 11.6+

I will take a look at this on Monday when I'm back in my office.  Please keep adding notes as you see things, just giving you a timeline for my effort.

we should be using powershell_script.  the powershell resource (along with windows_package and some others) was provided by a third party resource.  they were migrated into chef core during the 11.x series.  the powershell cookbook is now only used for altering your powershell deploy (version upgrade, powershell mods, etc)
not sure what the on_platforms deprecation warning is about though.  I'm not well versed with the multi platform support in chef.

@coffeepac I will try to dig it further, but i do not have windows environment to play with.
Does cookbook works for you at the moment with the recent changes?

Hi,
We are using Chef 11 and it has powershell_script built-in. We don't want to download and have powershell cookbook in our Git Repo, therefore it would be nice if we can use powershell_script.
I tested on windows 8 and it works fine.

@vkhatri sorry this took so long, but no the overall thing doesn't work.  I'm getting an error from filebeat though, not the cookbook.  So while I think the cookbook is fine, I can't verify.
something has changed between beta-rc2 and the now released version that is breaking.  I'm getting an error 'Error initialising publisher:  no host configuration found'.

@vkhatri kept poking at it and hosts is required to have a value even if the output is false.  so it works just fine.
onward my friend!

@coffeepac I am glad to hear that it is working fine for you. Yeah, we have removed the default output configuration from all the beats, but have kept the node attributes commented in attributes/config.  I will add examples and a note for it today.
I will go ahead and close it.

Wondering what ever happened to this. The powershell resource was dropped from the powershell cookbook in version 4.0.0, but because there is no version constraint on the dependency for that cookbook, new installations fail with
No resource or method named `powershell' for `Chef::Recipe "config"'

Can we go back to using powershell_script?

@eherot Yes, updated cookbook to use powershell_script instead, AFAICR it was reverted in favor of Chef 11.


Integration of azure vector search with azure document intelligence

Great work with integrated data chunking and embedding.
Asking from a RAG context (complex documents, e.g. financial statement) , great work with integrated data chunking and embedding, how  does the current framework works with the skills in document intelligence where you have to convert financial tables into json and feeds into LLM, given current framework is using chunk id as the key. Or team is expect this to resolve with prompt flow and sk or other methods? Any sample or best practise?

Hi @Timothyhuiyukfai
We have a demo that shows this but it's in python.
https://github.com/Azure-Samples/azure-search-openai-demo/
We can try to pull the functionality into the .NET demo, thanks for the feedback


Spinning spot lights are culled improperly

Spot lights using the spinning animation will stop rendering when they should still be within view because their bounding box is inaccurate.
I've explained the problem more thoroughly and provided a rough fix, here: http://www.garagegames.com/community/forums/viewthread/134754

Hi, the animation type spinLightAnim from spotLight still not working as expected.


Freezes when adding new line

I encounter a weird bug when I try to add a new line and enter edit mode at a certain position in my script.
After pressing o, I need to press Ctrl-C to actually add the new line and enter the edit mode.

The problem do not appear if I remove the call plug#begin() and call plug#end() functions from my .vimrc file.
The problem is present at a particular place in my script. It's a PHP script that contains HTML that contains JAVASCRIPT that contains a function.
The problem only appear when the filetype is set to php.

I start by removing all my plugins one-by-one (comment, source vimrc, PlugClean, close vim, open my file, test) until I got no more plugin enabled.
I also try with an empty .vimrc with the 2 functions call only.
The 2 options to fix the problem is by changing the filetype or removing the plug#begin() and plug#end() functions.
I tested it with vim in terminal and gvim (gtk3), but it`s actually the same executable.

In the script below, the 3 lines where the problem occurs is the one that start with the else if, the steps are:

Make sure the filetype is correct: set ft=php,
place the cursor at one of thoses lines,
press o,
everything is freezed,
until Ctrl-C is pressed,
the new line appear and the mode become insert.

A shorter version of my script: bug.php
<!doctype html>
<html lang="en">
<body>
<script>
function refreshStats()
{
    var keys=0,one=0,two=0,three=0,other=0;
    $.each(noWandedItems(),function(k,v){
        if(difficulty=="not_used");
        else if(difficulty=="1") { one++; other++; }
        else if(difficulty=="2") { two++; other++; }
        else if(difficulty=="3") { three++; other++; }
    });
}
</script>
</body>
</html>

And the .vimrc file:
call plug#begin()
call plug#end()

The vim used in the terminal is actually the gvim executable. I checked the paths and links.

VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Apr 10 2018 21:31:58)                                                     Included patches: 1-1453                                                                                Modified by<EMAIL_ADDRESS>                                                              Compiled by<EMAIL_ADDRESS>                                                              Huge version with GTK3 GUI.  Features included (+) or not (-):
+acl               +farsi             +mouse_sgr         -tag_any_white
+arabic            +file_in_path      -mouse_sysmouse    +tcl
+autocmd           +find_in_path      +mouse_urxvt       +termguicolors
-autoservername    +float             +mouse_xterm       +terminal
+balloon_eval      +folding           +multi_byte        +terminfo
+balloon_eval_term -footer            +multi_lang        +termresponse
+browse            +fork()            -mzscheme          +textobjects
++builtin_terms    +gettext           +netbeans_intg     +timers
+byte_offset       -hangul_input      +num64             +title
+channel           +iconv             +packages          +toolbar
+cindent           +insert_expand     +path_extra        +user_commands
+clientserver      +job               +perl              +vertsplit
+clipboard         +jumplist          +persistent_undo   +virtualedit
+cmdline_compl     +keymap            +postscript        +visual
+cmdline_hist      +lambda            +printer           +visualextra
+cmdline_info      +langmap           +profile           +viminfo
+comments          +libcall           -python            +vreplace
+conceal           +linebreak         +python3           +wildignore
+cryptv            +lispindent        +quickfix          +wildmenu
+cscope            +listcmds          +reltime           +windows
+cursorbind        +localmap          +rightleft         +writebackup
+cursorshape       +lua               -ruby              +X11
+dialog_con_gui    +menu              +scrollbind        -xfontset
+diff              +mksession         +signs             +xim
+digraphs          +modify_fname      +smartindent       +xpm
+dnd               +mouse             +startuptime       +xsmp_interact
-ebcdic            +mouseshape        +statusline        +xterm_clipboard
+emacs_tags        +mouse_dec         -sun_workshop      -xterm_save
+eval              +mouse_gpm         +syntax
+ex_extra          -mouse_jsbterm     +tag_binary
+extra_search      +mouse_netterm     +tag_old_static
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/build/vim-NQEcoP/vim-8.0.1453=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc   -Wl,-E  -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o vim   -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/x86_64-linux-gnu/perl/5.26/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu -lpython3.6m -lpthread -ldl -lutil -lm -L/usr/lib/x86_64-linux-gnu -ltcl8.6 -ldl -lz -lpthread -lm

Type:

[X] Bug
[ ] Enhancement
[ ] Feature Request
[ ] Question

OS:

[ ] All/Other
[X] Linux
[ ] OS X
[ ] Windows

Vim:

[ ] Terminal Vim
[X] GVim
[ ] Neovim

The issue is more about the php indent or syntax plugin. plug just loads the syntax files if plug itself has been loaded.


webui.ipfs.io is not updated to the latest version

Seems we have a regression, publishing v2.18.0 did not update DNSLink at https://webui.ipfs.io:

https://github.com/ipfs/ipfs-webui/releases/tag/v2.18.0
https://webui.ipfs.io (is still v2.15.1)

@SgtPooki : how do we prevent this from happening in the future and catch if it does?

@BigLep it should have already been caught. I must have broken something with the release updates that I've done over the past month or two. The release workflow for v2.18.0 is at https://github.com/ipfs/ipfs-webui/actions/runs/3025892693

Yep, it looks like I missed an if statement in the ci.yml workflow:
https://github.com/ipfs/ipfs-webui/blob/fe4ef000ff087cb64c335182b17d2140e4f6ba01/.github/workflows/ci.yml#L138-L148
If you look at dev.webui.ipfs.io, it's updated with the latest commit: https://github.com/ipfs/ipfs-webui/commit/fe4ef00, but the prod DNSlink was not updated; the step itself was just skipped.

After https://github.com/ipfs/ipfs-webui/pull/2024 is merged, we won't run into this issue again

@SgtPooki I think there is no point in spending time on manual fix.
Better do a patch release (i merged https://github.com/ipfs/ipfs-webui/pull/2019)  and smoke test fix from https://github.com/ipfs/ipfs-webui/pull/2024

running ci.yml: https://github.com/ipfs/ipfs-webui/actions/runs/3048111224

webui.ipfs.io is showing https://github.com/ipfs/ipfs-webui/commit/5e59065 as the latest revision.


Fix gratipay team slug

Handling team slugs better is reticketed as #3426.

I think we should use Gratipay for the slug. I've updated it manually in the db since we've got deployed code that depends on it. We should allow teams to edit their slug as we do with usernames for participants.


compose: don't clear compose box if narrowed topic is same as subject

Fixes #6510
If it is a topic narrow, and the subject is the same as
narrowed topic then leave it open, otherwise close the
compose box.

@hackerkid @rishig @timabbott
Please review it and let me know if any changes are required.

This works fine.
But if I am in the narrow of topic a of stream verona and I click back to reach the narrow of topic b of verona the compose box closes. (Works fine if it is another stream narrow or topic narrow) I am not sure this is the intended behaviour but thought it's worth mentioning here.

That is the intended behaviour. The compose box closes if it is a topic narrow and the topic is not the same as the subject of the messages. In the case of stream narrow, it won't close.

Cool then. Passing to @rishig and @brockwhittaker

@rishig Not sure why the needs review label got removed.

Clearing my assignment, so that it goes to Tim (who is a better person to review this :)).

@timabbott I have updated the pull request. Please let me know if any other changes are required.

Sorry for the slow reply!  This looks great, merged as dc60b3a44b9140a2c09a60acf446800190b28ebd.  Thanks @AasthaGupta!


[TEST] Explicitly set display: block

Behaves the same as the original implementation –  when clicking accept or reject cookies it reads out the link from the original cookie message instead.

Enter. View cookie preferences link


CPU usage is really high again...

Describe the bug
same bug with #15340, recently i ran the opengl/skialease demo from the official catalog pages and found it. the GPU usage fluctuates like the one i reported in #15340 (highest 35%, lowest 5%).
so i believe this should be some bugs in the server compositor.
To Reproduce
run office demo, both opengl demo or skia lease demo.
Expected behavior
No response
Avalonia version
newest 11.1
OS
Windows
Additional context
No response

Is there a point in creating a new issue for the same bug?

i believe this should be some bugs in the server compositor.

dotTrace profiling might help finding approximate reason, if it's in a managed code.

Is there a point in creating a new issue for the same bug?

ahh sorry. just to ensure it's reproducable, and the easiest way is using official demo.
dotTrace not work, that's in unmanaged code, i have tried before.

@jcyuan can it be reproduced without WGL?
WGL-only related bugs have less chance to be fixed.

@jcyuan can it be reproduced without WGL? WGL-only related bugs have less chance to be fixed.

on all backends, dear, i have tried, WGL/ANGLE/OpenGL, official demo uses default ANGLE


Serialization -> Deserialization doesn't seem to be working

For performance reasons, I'd like to do a number of large operations in memory, rather than interacting with the disk. This succeeds in creating an in-memory db: const db = new Database(':memory:');
However if I want to take an existing db and fully bring it into memory, this fails:
const db = new Database("./snapshot.db");
const buffer = db.serialize();
const inMemoryDb = new Database(buffer);
// Failure occurs on the next line:
inMemoryDb.prepare("SELECT phrase FROM Phrases");

I get SqliteError: unable to open database file. I can confirm the buffer is filled with data that can be written to disk and loaded via the filesystem like usual. But creating a Database out of a buffer seems to always result in a failure.

Cannot reproduce with the latest better-sqlite3:
import Database from 'better-sqlite3'

const db = new Database('./Chinook_Sqlite.sqlite');
const buffer = db.serialize();
const inMemoryDb = new Database(buffer);
const stmt = inMemoryDb.prepare('SELECT Name FROM Artist');
console.log(stmt.all());

With database downloaded from https://github.com/lerocha/chinook-database/releases
You're likely using WAL, see https://github.com/WiseLibs/better-sqlite3/issues/1066#issuecomment-1880301361 and https://github.com/WiseLibs/better-sqlite3/issues/939#issuecomment-1613955190
@JoshuaWise maybe serialize could detect that and throw a more descriptive error? At least the docs should be updated.

You're likely using WAL

Yup, you're dead on, thanks for the quick assessment.


look into using validity

We should look into using https://github.com/NorfairKing/validity for a default baseGen implementation. Validity has better pathological examples in its generators than quick-check and typical handwritten hedgehog gens will.

https://github.com/mlabs-haskell/apropos/issues/29#issuecomment-1315529527

Closed as stale


[Test] Write test for Conservation of lumens between Contract and Account

[Test] Write test for Conservation of lumens between Contract and Account.

[x] Contract to Account
[x] Contract to Contract
[x] Account to Contract

Closed by https://github.com/stellar/stellar-core/pull/4095


Working contact form

Just accepting and parsing form data at this point.

Please be careful if you want to test this code; as it will send a live support ticket to Zendesk. If you want to test it, comment out line 88 and 89 in guidance_and_support/models.py first and unindent line 90 by 4 spaces.

Hey @dalepotter all feedback incorporated. I dropped calling it a captcha at all because it's no longer really a captcha.

Merge https://github.com/IATI/preview-website/pull/164 first please


Parse error is not showing a file name

Expected behavior
The file name should be given
Actual behavior
Test Name:	Vowel counts in multiple word
Test Outcome:	Failed
Result StandardOutput:	[ParseError] :5: Step should not be blank => ''
Gauge.CSharp.Runner.SandboxFactory Creating a Sandbox in: C:\work\temp1\test\test\bin\Debug\

Steps to replicate

Create a concept

# Concept Heading
*

Save the file.
Execute the spec.
One will see that the parse error does not have file details

Version
VS - Gauge plugin for VisualStudio [nightly-2016-05-30]

Gauge version: 0.4.1.nightly-2016-05-31

Plugins
-------
csharp (0.7.3.nightly-2016-05-30)
html-report (2.1.1.nightly-2016-05-30)
java (0.4.1.nightly-2016-05-30)

Fixing #425 should ideally fix this.

Fixed along with #425.
Changes should be available in nightly >= 2016-06-06


Include demo scripts in build

From @martindsouza on July 26, 2013 17:46
Slowly starting to add more demos. Should include them in the release.
Copied from original issue: tmuth/Logger---A-PL-SQL-Logging-Utility#27

Now included as part of the release (copied from the /demos folder)


⚠ Jenkins Plugins Artifactory has degraded performance

In 4e7b453, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1231 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 75fccbf after 13 minutes.


How to represent manually added "extra" parenthesis in AST tree

I'm using this library for parsing expressions in an expression editor. It is mostly working great, but while the user is adding an "unnececary" parenthesis for a sub expression, that parenthesis is not expressed in the AST tree output.
Using the demo on https://ericsmekens.github.io/jsep/ , the two expressions (a * 2) * b and a * 2 * b both results in the same output:
type: 'BinaryExpression'
operator: '*'
left:
    type: 'BinaryExpression'
    operator: '*'
    left:
        type: 'Identifier'
        name: 'a'
    right:
        type: 'Literal'
        value: 2
        raw: '2'
right:
    type: 'Identifier'
    name: 'b'

Simplifying the expression by excluding information about extra parenthesis is a nice formatting feature, but always doing so without the possibility for preserving that information makes it hard to continuously evaluate/parse the expression and feeding that AST back into an editor. The parenthesis then gets stripped while the user is typing.
My question is if there is a possibility to also have each added parenthesis being represented as a AST node in the output somehow?
Maybe that node type could be called SubExpression or similar.  I have seen some other libraries like https://github.com/ISibboI/evalexpr (but that one is for Rust and has no online demo to showcase in) that preserves the parenthesis by adding one "RootNode" for each parenthesis.
If the functionality is currently missing, here are some initial thoughts on how that could be expressed in the AST:
type: 'BinaryExpression'
operator: '*'
left:
    type: 'BinaryExpression'
    subExpression: true # <-- Should do the job, but adds a new property to the expression node types
    operator: '*'
    left:
        type: 'Identifier'
        name: 'a'
    right:
        type: 'Literal'
        value: 2
        raw: '2'
right:
    type: 'Identifier'
    name: 'b'

or
type: 'BinaryExpression'
operator: '*'
left:
    type: 'SubExpression' # <-- Instead adds an in-beween node
    expression:
        type: 'BinaryExpression'
        operator: '*'
        left:
            type: 'Identifier'
            name: 'a'
        right:
            type: 'Literal'
            value: 2
            raw: '2'
right:
    type: 'Identifier'
    name: 'b'

Thoughts?

@tirithen - I would recommend looking at the docs  for creating your own custom plugin - perhaps using the gobble-token hook. You could also keep the same AST and just augment existing nodes with additional data, like some parsers do with start, end, loc, line, column, etc.

Thank you for the response, I'll check out the suggested resources.

This is my run at this:
jsep.plugins.register({
  name: 'bracketIndicator',
  init(jsep) {
    let start = -1
    jsep.hooks.add('gobble-token', function myPlugin(env) {
      start = env.context.index
    });
    jsep.hooks.add('after-token', function myPlugin(env) {
      let token = env.context.expr.substring(start, env.context.index)
      if (env.node && token.trim()==')') {
        env.node.brackets = true
      }
    });
  }
})


conda-get-Path-prefix: Error: executing Command

I have installed conda for my doom emacs but whenever I try to activate my environement I  could not handle this error :
 conda--get-path-prefix: Error: executing command "/home/user/.conda/bin/conda ..activate "bash" "/home/user/.conda/envs/dataScience/"" produced error code 127
How Can I solve this. That is really necessary for me bcause I use lsp servers on conda , not in system-wide!
Thanks, regards!

I have tried these solution:
(custom-set-variables
 '(conda-anaconda-home "/opt/anaconda/"))

(setq conda-env-home-directory (expand-file-name "/home/jaguar/.conda/")
      conda-env-subdirectory "envs")

This time, I can switch to base environment but my other environment which is located at `~/.conda/envs/` is not shown in   `M-x conda-activate-env`

conda 4.10.1 btw.

Yes, it is conda 4.13.0.
Note: Though conda is in the path and, as mentioned any other conda command operates, the conda activate reports that the shell has not been initialized.  This is fixed by either forcing in the -i option along with whatever the value of shell-comman-switch is, or by changing the command-format-string to something like the following:
source ~/miniconda3/etc/profile.d/conda.sh && conda activate \"%s\"

This would be at this point in conda.el. The above drops the extra arguments to the format statement so only the environment is being passed.
This seems to be connected to similar issues like #23, where conda has changed somehow to break things. I'm not exactly sure how to make the solution more general; the above patch seems to get the job done for me anyways. Hope it helps and if I get a chance to explore further, will try; the day-job is requiring attention.

I have a laziest fix ever:
 (defun me/conda--get-path-prefix (env-dir)
  (expand-file-name "~/your_conda_folder/envs/your_env_name/bin"))

 (advice-add 'conda--get-path-prefix :override #'me/conda--get-path-prefix)

This works if you only stick to one conda convironment, as I do. My OS is Catalina.

Folks who have had this issue -- hopefully the updates in #23 will fix it. Please stay tuned!

Folks who have had this issue -- hopefully the updates in #23 will fix it. Please stay tuned!

Great! I the meantime I guess the best "fix" is just conda install conda=4.12. Unless you have an unlikely critical dependency on the newest conda 4.13.


Adjust webpack type to apple-app-site-association

Details

Fixed Issues

The fiIe was getting deployed to a folder because webpack automatically tried to infer the type based on the extension but apple-app-site-association is a file not a folder
https://expensify.slack.com/archives/C03TQ48KC/p1651080349065949
Tests

[x] Create production build locally and ensure you don't run into errors

PR Review Checklist
N/A
QA Steps

Continue testing https://github.com/Expensify/App/pull/8656
[ ] Verify that no errors appear in the JS console

Screenshots

Web

Mobile Web

Desktop

iOS

Android

I guess we should wait to merge since https://github.com/Expensify/App/issues/8777 has the LockCashDeploys label?

I'm pretty sure the CP Staging bypasses the lock and this is needed to test a PR on the checklist so it should be fine

Nice, https://staging.new.expensify.com/.well-known/apple-app-site-association shows the new file

🚀 Cherry-picked to staging by @neil-marcellini in version: 1.1.57-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.