Long progress bar results in new-lines

Description

OS: Windows 10
Indicateif version: 0.13.0
Shells: CMD, Git Bash and Powershell

When using a ProgressBar that is longer than the width of the terminal, the progress bar doesn't clear itself, but instead prints a new line for each update.
CMD

Git Bash

Powershell

The above gifs show the following code:
use std::cmp::min;
use std::thread;
use std::time::Duration;

use indicatif::{ProgressBar, ProgressStyle};

fn main() {
    let mut downloaded = 0;
    let total_size = 231231231;

    let pb = ProgressBar::new(total_size);
    pb.set_style(ProgressStyle::default_bar()
        .template("{msg:>12.cyan.bold} {spinner:.green} [{elapsed_precise}] [{bar:40.cyan/blue}] {bytes}/{total_bytes} ({bytes_per_sec}, {eta})")
        .progress_chars("#>-"));

    pb.set_message("Downloading");
    while downloaded < total_size {
        let new = min(downloaded + 223211, total_size);
        downloaded = new;
        pb.set_position(new);
        thread::sleep(Duration::from_millis(1));
    }

    pb.set_style(
        ProgressStyle::default_bar().template("{msg:>12.green.bold} downloading {total_bytes:.green} in {elapsed:.green}"),
    );
    pb.finish_with_message("Finished");
}

P.S. - This library is awesome! Thanks for making it 😄

You can use wide_bar instead of bar to make it automatically adjust it's size to the terminal size so that the line doesn't overflow. FYI there are currently two wide elements:

wide_bar which adjusts the bar's width to avoid line overflows
wide_msg which truncates the message

Keep in mind that there can only be one wide element per ProgressBar.

Thanks for your reply @mibac138.
Unfortunately, even when using wide_bar the line overflows, as the line is longer than the width of the console even when the bar is zero-width:

Do you have any suggestions?

Unfortunately, I think your best bet is to just shorten the style of the progress bar or expand your terminal. Alternatively you could also somewhat abuse the system and use two progressbars instead of one. Code:
use std::cmp::min;
use std::thread;
use std::time::Duration;

use indicatif::{ProgressBar, ProgressStyle, MultiProgress};

fn main() {
    let mut downloaded = 0;
    let total_size = 231231231;

    let mpb = MultiProgress::new();
    let pb = mpb.add(ProgressBar::new(total_size));
    pb.set_style(ProgressStyle::default_bar()
        .template("{msg:>12.cyan.bold} {spinner:.green} [{elapsed_precise}] [{wide_bar:.cyan/blue}]")
        .progress_chars("#>-"));
    let pb2 = mpb.add(ProgressBar::new(total_size));
    pb2.set_style(ProgressStyle::default_bar()
        .template("{_:>15}{bytes}/{total_bytes} ({bytes_per_sec}, {eta})"));

    let handle = std::thread::spawn(move || {
        mpb.join().unwrap();
    });

    pb.set_message("Downloading");
    while downloaded < total_size {
        let new = min(downloaded + 223211, total_size);
        downloaded = new;
        pb.set_position(new);
        pb2.set_position(new);
        thread::sleep(Duration::from_millis(1));
    }

    pb.set_style(
        ProgressStyle::default_bar().template("{msg:>12.green.bold} downloading {total_bytes:.green} in {elapsed:.green}"),
    );
    pb.finish_with_message("Finished");
    pb2.finish_and_clear();
    handle.join().unwrap();
}

Output:

I think that I'll use a shorter template if the console isn't wide enough.
Thanks for your help!

I just hit this too. In my case wide_message seems to have fixed it(?)
It doesn't seem like anyone would actually want the behavior of lines scrolling down the screen if the message is too long for the terminal. Shouldn't truncation be the default?
It would also be really nice to avoid apps using this library needing to reason about terminal width themselves, which can otherwise be entirely delegated to indicatif.


request to add first ip binding

hey ruri i was wondering if you could add a option for ip binding the first person who uses the key for example lets say i wanna sell a api key well when they use it i wanna make it put the ip that they used for the first api request to then be binded to the ip so only that ip can use it, or for ip i can put "first" as like a place ho;der so that it knows to bind a ip on its own if you could do that id really appreciate it i already have the version that allows ip binding i just dont wanna do manual ip binding

translation of request to ruri language:
option for api to do:
if user.IPs = IsNullOrEmpty then user.IPs = ip

Please test https://github.com/openbullet/openbullet-api/commit/ec02fed8cc220dc3fe7e793f3e89cd251e8b51a8 thank you

You need to go to appsettings.json and change the value there

okay i tried it its not showing into the admin panel with there ip
ima get a database viewer and check that its showing there

I added it, forgot to close this.


using START takes window-title as application

When using START to start an application in a new console window, the title is taken as application

Could you please clarify? Your screenshot is a little whacked.

Sorry, I thought I obfuscate the computer name a little ;-)
So basically its this:
windo@H3L1X:C/Projects/agents$ start "DF Window" node DFInstance.js
The system cannot find the file DF.

windo@H3L1X:C/Projects/agents$ start "DF" node DFInstance.js
The system cannot find the file DF.

windo@H3L1X:C/Projects/agents$ exit

wherever in normal terminal it works.

Okay got it. Will looking into this. Thanks.


Using quoted keys in enum enforces array type for tuples

Bug Report
Using quoted keys for enums (e.g. when they start with a number) weirdly breaks typing for objects.
I'm trying to specify tuples as object values but TS doesn't allow it: when using enum member with quotes, tuple value types are enforced as arrays.
Please see the playground, there is a number of workarounds i've found which leads me to believe this is a bug.
I found this issue which has a great explanation, but judging by the specified workarounds it doesn't seem to be the case here.
Please note that my case fails for tuples specifically, but using other types works (provided below and on playground)
🔎 Search Terms
computed enum keys, enum keys, enum
🕗 Version & Regression Information
4.5.4
Same behavior in nightly (4.6.0)
⏯ Playground Link
Playground link
💻 Code
enum Keys {
  FIRST,
  SECOND
}

const obj: { // Shows correct type in a tooltip, evaluated to just what we need: { 0: [string, string], 1: [string, string] }
  [key in Keys]: [string, string]
} = {
  [Keys.FIRST]: ['1', '2'],
  [Keys['SECOND']]: ['3', '4'] // Error: Type of computed property's value is 'string[]', which is not assignable to type '[string, string]'.
}

// Using types other than tuples eliminates the problem
type Shape = { num: number } | { txt: string } | boolean

const fourth: {
  [key in Keys]: Shape
} = {
  [Keys.FIRST]: { num: 50 },
  [Keys['SECOND']]: { num: 100 },
  [Keys['SECOND']]: { txt: 'hey' }, // duplicate keys, but it doesn't matter for now
  [Keys['SECOND']]: true
}

Interestingly i found the same behavior when using objects as const
const keysStoredAsObject = {
  'FIRST': 0,
  'SECOND': 1
} as const
type ObjectKeys = keyof typeof keysStoredAsObject

const finalObj: {
  [key in typeof keysStoredAsObject[ObjectKeys]]: [string, string]
} = {
  [keysStoredAsObject.FIRST]: ['1', '2'], // All good
  [keysStoredAsObject['SECOND']]: ['3', '4'] // Error
}

🙁 Actual behavior
Doesn't allow tuples as values, throws an incompatibility error for string[] and [string, string] types
🙂 Expected behavior
Allows to specify tuples as values to the object instead of plain arrays, as specified in its type definition

Duplicate of #29718

Seems fixed in 5.1.6


Update XPK to support topology-aware scheduler for GPU workloads.

Fixes / Features

Support topology-aware scheduler for GPU workloads

Testing / Documentation
Manually tested two cases:

Use topology-aware scheduler for running MaxText at a single node on A3+.
Use default-scheduler for running MaxText at a single node on A3+.

[ y ] Tests pass
[ y ] Appropriate changes to documentation are included in the PR

Thanks Victor for the review. Please see my replies below:

Does the topology-aware-auto scheduler need to be installed on the cluster before it can be used? If so we can include that as part of xpk cluster creation steps.

Yes, that's correct. If you don't mind, I'd add that support in a followup PR, so that we can get this PR in first to support running workloads with topology-aware scheduler on GPU clusters which may or may not be created by XPK.

Is there any downside to not using the topology-aware-auto scheduler? I am wondering if we should make it a first class use case in the xpk API? Basically make it the default for xpk gpu users?

Good question. I don't think there is any downside. But topology-aware scheduler can only be used on machines which have compact placement.
There might be two options:
a. Relying on users to tell whether to use it or not (as in the current PR)
b. Adding some logic to check whether topology-aware scheduler is installed on the cluster, if so, we will use it in the workload config, otherwise, we fall back to the original way. But I discussed with grigsby@ and he said topology-aware scheduler should be able to install on either compact-placement or non-compact-placement clusters. He said they could add precheck for installation, but it's not there yet.
Therefore, we can go with option a for now. Does it make sense?


Do not assert if FL calculation has multiple inputs

Instead print a warning and statically select the first possible input
in the list.

Codecov Report

Merging #94 into master will decrease coverage by 0.05%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master      #94      +/-   ##
==========================================
- Coverage   97.09%   97.03%   -0.06%
==========================================
  Files          10       10
  Lines        1686     1688       +2
==========================================
+ Hits         1637     1638       +1
- Misses         49       50       +1

Impacted Files
Coverage Δ

p4c_bm/gen_json.py
97.94% <66.66%> (-0.1%)
:arrow_down:

Continue to review full report at Codecov.

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


tests: check exception policy stats counters - v7

Edit the existing exception policy tests to check for the new exception policy stats counters.
Ticket #5816
Previous PR: https://github.com/OISF/suricata-verify/pull/1742
Changes from previous PR:

rebase
remove work related to hiding zero-valued stats counters

Ticket
Redmine ticket:
https://redmine.openinfosecfoundation.org/issues/5816

Suricata PR: https://github.com/OISF/suricata/pull/10779

Replaced by: https://github.com/OISF/suricata-verify/pull/1747


Fix ERD fields

Though the ERD is implemented in #8 there are still some problems with the field types
Customer

customer table must be removed (read order table notes)

Order

price must be float
date is not a suitable name for the field
customer must be a field of a phone number
add table number field

OrderItem

rename price with a better name that implies the field is meant to be for a sigle item
add discount field

Note that all fields must be lowercase
All fields nullability must be defined (in 2nd erd that contains more info on fields)

completed in #36


thread_stress_test --gtest_filter=AsyncClientEnd2endTest.ThreadStress newly flaky (TIMEOUT) under epollex

From new flakes report:
Test: thread_stress_test --gtest_filter=AsyncClientEnd2endTest.ThreadStress, Polling: epollex, Timestamp: 2017-10-24 22:00:00 UTC, url: https://kokoro2.corp.google.com/job/grpc/job/ubuntu/job/master/job/grpc_basictests_c_cpp_dbg/44

https://sponge.corp.google.com/target?id=4b44af1a-8055-41af-847c-e61a031796dc&target=grpc/ubuntu/master/grpc_basictests_c_cpp_dbg&searchFor=&show=FAILED&sortBy=STATUS
Note: Google Test filter = AsyncClientEnd2endTest/3.ThreadStress
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from AsyncClientEnd2endTest/3, where TypeParam = grpc::testing::CommonStressTestAsyncServer<grpc::testing::CommonStressTestInproc<grpc::testing::EchoTestService::WithAsyncMethod_Echo<grpc::testing::EchoTestService::WithAsyncMethod_RequestStream<grpc::testing::EchoTestService::WithAsyncMethod_ResponseStream<grpc::testing::EchoTestService::WithAsyncMethod_BidiStream<grpc::testing::EchoTestService::WithAsyncMethod_Unimplemented<grpc::testing::EchoTestService::Service> > > > > > >
[ RUN      ] AsyncClientEnd2endTest/3.ThreadStress
D1024 21:24:22.964398124   12158 ev_posix.cc:135]            Using polling engine: epollex
D1024 21:24:22.964433718   12158 dns_resolver.cc:306]        Using native dns resolver

2017-10-24 21:44:22,994 TIMEOUT: bins/dbg/thread_stress_test --gtest_filter=AsyncClientEnd2endTest/3.ThreadStress  GRPC_POLL_STRATEGY=epollex [pid=12157, time=1200.0sec]

Likely related, now it's End2endTest/3.ThreadStress timing out.
https://sponge.corp.googleusercontent.com/file?invocationId=cc564688-aaf4-4b3d-9cd9-416737ae1914&targetResultIndex=0&largeText=Test+Log&filename=test.log&contentType=text/plain&format=streamed
2017-10-25 00:19:49,651 D1024 23:59:49.578618222    3029 test_config.c:388]          test slowdown factor: sanitizer=1, fixture=1, poller=1, total=1
Note: Google Test filter = End2endTest/3.ThreadStress
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from End2endTest/3, where TypeParam = grpc::testing::CommonStressTestAsyncServer<grpc::testing::CommonStressTestInproc<grpc::testing::EchoTestService::WithAsyncMethod_Echo<grpc::testing::EchoTestService::WithAsyncMethod_RequestStream<grpc::testing::EchoTestService::WithAsyncMethod_ResponseStream<grpc::testing::EchoTestService::WithAsyncMethod_BidiStream<grpc::testing::EchoTestService::WithAsyncMethod_Unimplemented<grpc::testing::EchoTestService::Service> > > > > > >
[ RUN      ] End2endTest/3.ThreadStress
D1024 23:59:49.579618781    3029 ev_posix.cc:135]            Using polling engine: epollex
D1024 23:59:49.579652142    3029 dns_resolver.cc:306]        Using native dns resolver

2017-10-25 00:19:49,652 TIMEOUT: bins/dbg/thread_stress_test --gtest_filter=End2endTest/3.ThreadStress  GRPC_POLL_STRATEGY=epollex [pid=3028, time=1200.1sec]

So this is for both sync and async thread_stress clients with the inproc async service, under epollex.  The surprising thing for me in this is that the inproc test in this case literally has no ports so I don't know how epollex would factor in (unless it's the lack of FDs that is the issue)

This has now shown up for  bins/asan/thread_stress_test --gtest_filter=AsyncClientEnd2endTest/2.ThreadStress GRPC_POLL_STRATEGY=epollex
Note that this is no longer an inproc-transport-specific issue, but it remains an epollex-specific issue.
https://sponge.corp.google.com/target?id=f5051b2b-ccf3-469f-af25-65f7fa4de9e4&target=github/grpc/c%2B%2B_linux_asan_native&searchFor=&show=ALL&sortBy=STATUS

I have generated one debug failure for AsyncClientEnd2endTest/3.ThreadStress
There are 4 threads at the hang
1: The main test thread that wants to do a thread join
0  0x00007f8782d0e9dd in pthread_join (threadid=140219647448832, thread_return=0x0) at pthread_join.c:90
#1  0x00007f8782a39ae7 in std::thread::join() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#2  0x0000561f43fdf2b8 in grpc::testing::CommonStressTestAsyncServer<grpc::testing::CommonStressTestInproc<grpc::testing::EchoTestService::WithAsyncMethod_Echo<grpc::testing::EchoTestService::WithAsyncMethod_RequestStream<grpc::testing::EchoTestService::WithAsyncMethod_ResponseStream<grpc::testing::EchoTestService::WithAsyncMethod_BidiStream<grpc::testing::EchoTestService::WithAsyncMethod_Unimplemented<grpc::testing::EchoTestService::Service> > > > > > >::TearDown (this=0x561f454ecbe0) at test/cpp/end2end/thread_stress_test.cc:224
#3  0x0000561f43fdedf7 in grpc::testing::AsyncClientEnd2endTest<grpc::testing::CommonStressTestAsyncServer<grpc::testing::CommonStressTestInproc<grpc::testing::EchoTestService::WithAsyncMethod_Echo<grpc::testing::EchoTestService::WithAsyncMetho
d_RequestStream<grpc::testing::EchoTestService::WithAsyncMethod_ResponseStream<grpc::testing::EchoTestService::WithAsyncMe
thod_BidiStream<grpc::testing::EchoTestService::WithAsyncMethod_Unimplemented<grpc::testing::EchoTestService::Service> > >
 > > > > >::TearDown (this=0x561f454ecbd0) at test/cpp/end2end/thread_stress_test.cc:345
#4  0x0000561f441cf0ad in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void> (
    object=0x561f454ecbd0, method=&virtual testing::Test::TearDown(), location=0x561f44228461 "TearDown()")
    at third_party/googletest/googletest/src/gtest.cc:2402
#5  0x0000561f441c971b in testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> (
    object=0x561f454ecbd0, method=&virtual testing::Test::TearDown(), location=0x561f44228461 "TearDown()")
    at third_party/googletest/googletest/src/gtest.cc:2438
#6  0x0000561f441ad7c3 in testing::Test::Run (this=0x561f454ecbd0)
    at third_party/googletest/googletest/src/gtest.cc:2483
#7  0x0000561f441ae0b0 in testing::TestInfo::Run (this=0x561f454eb7e0)
    at third_party/googletest/googletest/src/gtest.cc:2656
#8  0x0000561f441ae743 in testing::TestCase::Run (this=0x561f454ebbd0)
    at third_party/googletest/googletest/src/gtest.cc:2774
#9  0x0000561f441b58f6 in testing::internal::UnitTestImpl::RunAllTests (this=0x561f454e8f70)
    at third_party/googletest/googletest/src/gtest.cc:4649
#10 0x0000561f441cff77 in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>
 (object=0x561f454e8f70,
    method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 0x561f441b5624 <testing::i
nternal::UnitTestImpl::RunAllTests()>,
    location=0x561f44228c90 "auxiliary test code (environments or event listeners)")
    at third_party/googletest/googletest/src/gtest.cc:2402
#11 0x0000561f441ca517 in testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (o
bject=0x561f454e8f70,
    method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 0x561f441b5624 <testing::i
nternal::UnitTestImpl::RunAllTests()>,
    location=0x561f44228c90 "auxiliary test code (environments or event listeners)")
    at third_party/googletest/googletest/src/gtest.cc:2438
#12 0x0000561f441b44a4 in testing::UnitTest::Run (this=0x561f444fbde0 <testing::UnitTest::GetInstance()::instance>)
    at third_party/googletest/googletest/src/gtest.cc:4257
#13 0x0000561f43fd6f06 in RUN_ALL_TESTS () at third_party/googletest/googletest/include/gtest/gtest.h:2233
#14 0x0000561f43fd3ed3 in main (argc=1, argv=0x7ffeb1804f88) at test/cpp/end2end/thread_stress_test.cc:439

Thread 2: An executor thread
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x0000561f4405725f in gpr_cv_wait (cv=0x561f454ee1b8, mu=0x561f454ee190, abs_deadline=...)
    at src/core/lib/support/sync_posix.cc:74
#2  0x0000561f440366ac in executor_thread (arg=0x561f454ee190) at src/core/lib/iomgr/executor.cc:163
#3  0x0000561f44057518 in thread_body (v=0x561f454ee9a0) at src/core/lib/support/thd_posix.cc:42
#4  0x00007f8782d0d6da in start_thread (arg=0x7f8782096700) at pthread_create.c:456
#5  0x00007f878219fd7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 3: A timer thread
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x0000561f440572ac in gpr_cv_wait (cv=0x561f444e7000 <g_cv_wait>, mu=0x561f444e6fc0 <_ZL4g_mu>,
    abs_deadline=...) at src/core/lib/support/sync_posix.cc:80
#2  0x0000561f4401c2d3 in wait_until (exec_ctx=0x7f8781894d40, next=6005) at src/core/lib/iomgr/timer_manager.cc:197
#3  0x0000561f4401c42a in timer_main_loop (exec_ctx=0x7f8781894d40) at src/core/lib/iomgr/timer_manager.cc:249
#4  0x0000561f4401c541 in timer_thread (completed_thread_ptr=0x561f454ef8e0)
    at src/core/lib/iomgr/timer_manager.cc:279
#5  0x0000561f44057518 in thread_body (v=0x561f454ef900) at src/core/lib/support/thd_posix.cc:42
#6  0x00007f8782d0d6da in start_thread (arg=0x7f8781895700) at pthread_create.c:456
#7  0x00007f878219fd7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 4: A server thread stuck in epoll_wait
#0  0x00007f87821a0373 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
#1  0x0000561f4402b48c in pollable_epoll (exec_ctx=0x7f876e46caf0, p=0x561f454eebc0, deadline=9223372036854775807)
    at src/core/lib/iomgr/ev_epollex_linux.cc:818
#2  0x0000561f4402bf58 in pollset_work (exec_ctx=0x7f876e46caf0, pollset=0x561f454efd40, worker_hdl=0x0,
    deadline=9223372036854775807) at src/core/lib/iomgr/ev_epollex_linux.cc:1001
#3  0x0000561f440107d1 in grpc_pollset_work (exec_ctx=0x7f876e46caf0, pollset=0x561f454efd40, worker=0x0,
    deadline=9223372036854775807) at src/core/lib/iomgr/ev_posix.cc:238
#4  0x0000561f4406bc84 in cq_next (cq=0x561f454efc30, deadline=..., reserved=0x0)
    at src/core/lib/surface/completion_queue.cc:961
#5  0x0000561f4406c111 in grpc_completion_queue_next (cq=0x561f454efc30, deadline=..., reserved=0x0)
    at src/core/lib/surface/completion_queue.cc:1041
#6  0x0000561f4403e574 in grpc::CompletionQueue::AsyncNextInternal (this=0x561f454ef160, tag=0x7f876e46cc48,
    ok=0x7f876e46cc43, deadline=...) at src/cpp/common/completion_queue_cc.cc:56
#7  0x0000561f43fd545f in grpc::CompletionQueue::Next (this=0x561f454ef160, tag=0x7f876e46cc48, ok=0x7f876e46cc43)
    at include/grpc++/impl/codegen/completion_queue.h:167
#8  0x0000561f43fe1582 in grpc::testing::CommonStressTestAsyncServer<grpc::testing::CommonStressTestInproc<grpc::testing::
EchoTestService::WithAsyncMethod_Echo<grpc::testing::EchoTestService::WithAsyncMethod_RequestStream<grpc::testing::EchoTes
tService::WithAsyncMethod_ResponseStream<grpc::testing::EchoTestService::WithAsyncMethod_BidiStream<grpc::testing::EchoTes
tService::WithAsyncMethod_Unimplemented<grpc::testing::EchoTestService::Service> > > > > > >::ProcessRpcs (this=0x561f454e
cbe0) at test/cpp/end2end/thread_stress_test.cc:238

and many more levels below this

The fact that thread 1 is doing a join indicates from the code that CQ Shutdown has already been invoked.

Seen again: https://sponge.corp.google.com/target?id=e3b85e05-33f0-44ef-ab60-279efc0033c0&target=github/grpc/c%2B%2B_linux_opt_native&searchFor=&show=ALL&sortBy=STATUS

this is happening less often than our other P0 issues, decreasing to P1.

Also under poll https://sponge.corp.google.com/target?id=7a2d747f-d4c3-4e0e-84f7-b288c0a2e372&target=github/grpc/c%2B%2B_macos_dbg_native&searchFor=&show=FAILED&sortBy=STATUS

The poll failure is different.... That seems to be the sync server failing because it has actually run out of threads that it can allocate.

I have seen the mac sync server issue and created #13330 for it.

Has this issue arisen since #12648? It is silent for 5 days. I'll check with @dgquintas

Not seen since #12648, afaict

Seen again here:
https://sponge.corp.google.com/invocation?id=24ea6f18-164e-4758-a932-b1e649987823&searchFor=
Reopening

@kpayson64 : the link that you used for reopening this issue isn't about this issue at all, so I'm a little confused.

@dgquintas : Suggest delisting this from P1 as the dashboard indicates 0.22% flaky for this test. Thoughts?

@vjpai
You can disregard my comment, it looks like the link was incorrect.

Done


annotation features from reverse strand

Passing gofasta variants -a with genbank files with features on the reverse strand results in errors such as:

Error: strconv.Atoi: parsing "complement(3956": invalid syntax

gofasta snps, gofasta sam topa complain of empty fasta files, even-though they are not. (but gofasta sam toma seems to work)

Hi, don't worry, I guess this is what the issues sections are for. You needed the code to do something, I need it to do something else. Thank you for the effort in the first place, as well as for this discussion.
I was working on some other files on Friday for recreation I toyed genbank files today to recreate. The second point seems to be more complicated (as in different errors, but cannot recreate the one I wrote about... for some reason)
first efetch the fasta and gb files for OP351278 and KJ642619.
efetch -id ID -db nucleotide -format fasta/gb > ID.fa/gb
minimap2 -a -x asm20 --score-N=0 OP351278.fa KJ642619.fa | gofasta sam topa -r OP351278.fa -o out3                                                                                [12:35:19]
[M::mm_idx_gen::0.0131.11] collected minimizers
[M::mm_idx_gen::0.0201.66] sorted minimizers
[M::main::0.0201.66] loaded/built the index for 1 target sequence(s)
[M::mm_mapopt_update::0.0211.62] mid_occ = 100
[M::mm_idx_stat] kmer size: 19; skip: 10; is_hpc: 0; #seq: 1
[M::mm_idx_stat::0.023*1.58] distinct minimizers: 34502 (96.70% are singletons); average occurrences: 1.036; average spacing: 5.519
panic: runtime error: index out of range [0] with length 0
goroutine 19 [running]:
github.com/virus-evolution/gofasta/pkg/fastaio.ReadAlignment({0x6412a8?, 0xc0001980b8?}, 0x0?, 0x0?, 0x0?)
//gofasta-1.1.0/pkg/fastaio/fastaio.go:233 +0x6f9
created by github.com/virus-evolution/gofasta/pkg/sam.ToPairAlign
//gofasta-1.1.0/pkg/sam/topa.go:407 +0x1ac
But for some reason this works with OP351278 as the query and KJ642619 as the reference. So i guess there is an issue with the OP... sequence.
then:
gofasta variants --msa out3/OP351278.1.fasta -r KJ642619.1 -a KJ642619.gb                                                                                [12:40:40]
Error: bufio.Scanner: token too long
so i tried shortening the buffers - the linewidth for the msa input files:
seqtk seq -U -l 90 out3/OP351278.1.fasta > bla.fa
which reproduces the error:
gofasta variants --msa bla.fa -r KJ642619.1 -a KJ642619.gb                                                                                [12:43:03]
Error: strconv.Atoi: parsing "complement(817": invalid syntax
Going directly from SAM file (gofasta sam variants) raises the same error.
I didnt manage to recreate the "empty fasta" error in this context, so please forget about that, i might have been to tired on Friday.
Then i try:
gofasta snps -q out3/OP351278.1.fasta -r KJ642619.fa                                                                                [12:45:47]
query,SNPs
Error: empty fasta file
In this context i do get the empty fasta error; i thought it might have been a similar error as above (buffer length), but that results in (bla.fa from above):
gofasta snps -q bla.fa -r KJ642619.fa                                                                                [12:49:21]
query,SNPs
panic: runtime error: index out of range [196546] with length 196546
goroutine 9 [running]:
github.com/virus-evolution/gofasta/pkg/snps.getSNPs({0xc000280000, 0x2ffc2, 0x36000?}, 0xc0000202a0?, 0xc000016720?, 0xc000020180?)
//gofasta-1.1.0/pkg/snps/snps.go:37 +0x3c9
github.com/virus-evolution/gofasta/pkg/snps.SNPs.func1()
//gofasta-1.1.0/pkg/snps/snps.go:194 +0x3d
created by github.com/virus-evolution/gofasta/pkg/snps.SNPs
/*******/gofasta-1.1.0/pkg/snps/snps.go:193 +0x608
This error is independent of the OP... sequence.
On Friday I was toying a multifasta. I couldnt get the topa work with the multifasta (~70 seqs × 200 kb), it gave the error: "Error: sam: sequence/CIGAR length mismatch" around sequence no. 37... but it worked looping through the sequences as separate fasta files.

: ) okay fun. I will investigate all of this and get back to you.
Ben

I haven't finished the reverse strand annotation fix yet- I will try to do it by the end of the week.
But I have made a couple of fixes that should help with the other things: I've updated the buffer size so you should be able to read in fasta records with up to a million bases on one line, and I've tried to improve the error handling for the snps routine.
If you want to try out the program you will first need to install go, then you can either run go install github.com/virus-evolution/gofasta@3d60901 (should be built as ~/go/bin/gofasta), or,
git clone https://github.com/virus-evolution/gofasta.git
cd gofasta
git checkout 3d60901
go build -o gofasta

to install gofasta at that commit.
In either case, check that gofasta is version 1.1.1:
❯ ./gofasta --version  # or ~/go/bin/gofasta --version
gofasta version 1.1.1

This is my minimap2 version:
❯ minimap2 --version
2.24-r1122

setup:
efetch -id OP351278 -db nucleotide -format fasta > OP351278.fasta
efetch -id OP351278 -db nucleotide -format gb > OP351278.gb
efetch -id KJ642619 -db nucleotide -format gb > KJ642619.gb
efetch -id KJ642619 -db nucleotide -format fasta > KJ642619.fasta

Both of these work for me now:
❯ minimap2 -a -x asm20 --score-N=0 OP351278.fasta KJ642619.fasta | gofasta sam topa -r OP351278.fasta -o OPKJ
[M::mm_idx_gen::0.008*1.08] collected minimizers
[M::mm_idx_gen::0.012*1.63] sorted minimizers
[M::main::0.012*1.56] loaded/built the index for 1 target sequence(s)
[M::mm_mapopt_update::0.013*1.53] mid_occ = 50
[M::mm_idx_stat] kmer size: 19; skip: 10; is_hpc: 0; #seq: 1
[M::mm_idx_stat::0.014*1.50] distinct minimizers: 34502 (96.70% are singletons); average occurrences: 1.036; average spacing: 5.519; total length: 197178
[M::worker_pipeline::0.103*1.07] mapped 1 sequences
[M::main] Version: 2.24-r1122
[M::main] CMD: minimap2 -a -x asm20 --score-N=0 OP351278.fasta KJ642619.fasta
[M::main] Real time: 0.108 sec; CPU: 0.115 sec; Peak RSS: 0.040 GB
❯ ll OPKJ/
total 784
-rw-r--r--  1 ben  staff  399728  6 Sep 11:54 KJ642619.1.fasta
❯ wc -l OPKJ/KJ642619.1.fasta
       4 OPKJ/KJ642619.1.fasta

and
❯ minimap2 -a -x asm20 --score-N=0 KJ642619.fasta OP351278.fasta | gofasta sam topa -r KJ642619.fasta -o KJOP
[M::mm_idx_gen::0.007*1.30] collected minimizers
[M::mm_idx_gen::0.010*1.87] sorted minimizers
[M::main::0.010*1.87] loaded/built the index for 1 target sequence(s)
[M::mm_mapopt_update::0.011*1.81] mid_occ = 50
[M::mm_idx_stat] kmer size: 19; skip: 10; is_hpc: 0; #seq: 1
[M::mm_idx_stat::0.012*1.77] distinct minimizers: 34450 (96.62% are singletons); average occurrences: 1.036; average spacing: 5.505; total length: 196546
[M::worker_pipeline::0.102*1.09] mapped 1 sequences
[M::main] Version: 2.24-r1122
[M::main] CMD: minimap2 -a -x asm20 --score-N=0 KJ642619.fasta OP351278.fasta
[M::main] Real time: 0.106 sec; CPU: 0.115 sec; Peak RSS: 0.040 GB
❯ ll KJOP
total 784
-rw-r--r--  1 ben  staff  399656  6 Sep 11:57 OP351278.1.fasta
❯ wc -l KJOP/OP351278.1.fasta
       4 KJOP/OP351278.1.fasta

gofasta snps wants the --reference file and the --query alignments to be the same width - I wrote it to get lists of nucleotide differences between the reference and the output of gofasta sam toma very quickly for SARS-CoV-2, so you shouldn't actually run gofasta snps -r KJ642619.fasta -q KJOP/OP351278.1.fasta because after pairwise alignment those two files are difference widths (because insertions have been introduced to KJOP/OP351278.1.fasta in a pairwise manner). Previously, 1) gofasta snps didn't like reading such a wide alignment anyway which resulted in one of the errors you report above but also 2) there was no sensible error check for difference length alignments anyway: I've fixed this now:
❯ gofasta snps -r KJ642619.fasta  -q KJOP/OP351278.1.fasta
query,SNPs
Error: Reference sequence (196546 bases) and KJ642619.1 (199815 bases) are different lengths

KJ642619.1 is the first record in KJOP/OP351278.1.fasta so this is the error message that gets returned.
Until I fix the annotation reading for features on the reverse strand, if you want a list of snp differences in KJ642619.fasta space, you could use gofasta sam toma, which omits insertions relative to the reference:
❯ minimap2 -a -x asm20 --score-N=0 KJ642619.fasta OP351278.fasta | gofasta sam toma -o aligned.fasta
❯ gofasta snps -r KJ642619.fasta -q aligned.fasta| head
query,SNPs
OP351278.1,C110T|C186A|C448T...

But I will try to get variants and sam variants fixed asap so that you can annotate mutations properly.

Hi,
thanks for that; i also tried with your new code, that error is now gone. Please don't stress with the rest, I went back to my traditional, a bit less, straightforward workaround which uses goes through snpEff  (via vcf) for the annotation (although inconvenient) and i'm writing these issues because this repo seems promising.
I can wait for the annotation part to work another time.
Anyway I also tried with the long multifasta, it still breaks around sequence no 31 for some reason, so the problem seems unrelated.

Ah it's no stress- I find it helpful to hear what doesn't work/what would be useful. It is much easier than trying to write everything in a vaccum...
Feel free to drop the long multifasta here if you like.

Sorry for the delay.
I hope that I have fixed all these issues by this point:
https://github.com/virus-evolution/gofasta/tree/0442d351e2c5ffa7a561b1e37aee61a6121c004e
So you can run go install github.com/virus-evolution/gofasta@0442d35, or
git clone https://github.com/virus-evolution/gofasta.git
cd gofasta
git checkout 0442d35
go build -o gofasta

to get a working binary.
I will tag a new release (1.2.0) incorporating these changes at some point soon.


[Migration Client] TOTP Enabled Claims Migration Query in IS Migration-Client Causing Syntax Error During Migration in ORACLE DB

Describe the issue:
The query "SET_TOTP_ENABLED_CLAIM_SQL" which is used to set the TOTP enabled claims in the TOTPClaimDataMigrator class in the IS migration-client (v1.0.274) is declared with a trailing semicolon. During the migration, it fails when executing order 18 under version 6.0.0 due to a syntax error caused by this semicolon.
The following error was observed during a migration in Oracle DB
ERROR {org.wso2.carbon.is.migration.MigrationClientImpl} - Migration process was stopped.
org.wso2.carbon.identity.core.migrate.MigrationClientException: An error occurred while updating user data for the claim http://wso2.org/claims/identity/totpEnabled
Caused by: java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended.

How to reproduce:
Run a migration from lower IS version to IS-6.1.0 for ORACLE DB (using ORACLE DB dump)
Expected behavior:
Executing the order 18 without an error
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: IS-migration client (v1.0.274)
OS: [e.g., Windows, Linux, Mac]
Database: ORACLE
Userstore: [e.g., LDAP, JDBC]

@bhagyasakalanka are we good to close this issue?


Does 4dface fit only to landmarks or edges as well

Hi,
Thank you for making 4dface available.
I notice that 4dface depends on eos under the hood, and eos has been modified so that it fits to both landmarks and edges, based on "Fitting a 3D Morphable Model to Edges: A Comparison Between Hard and Soft Correspondences" .
So my question was, is 4dface currently fitting to both, or just landmarks (as in simple fit of eos) ?
Thank you, and apologies in advance if this isn't the right place to post this.

Hi,
This 4dface research demo fits to landmarks (inner face & dynamic contour landmarks). You can easily see just by glancing over the demo code.
I want to highlight again the note at the top of the README:

Note: This is a research demo from 2015/2016. 4dface has since been commercialised and an improved, up-to-date version is available on www.4dface.io. This repository also contains an older version of the morphable face model fitting library eos. eos is still in active development, head over to github.com/patrikhuber/eos for the latest version.

So I would strongly suggest you use the latest version of eos directly. You can still use the 4dface demo code as a skeletton, or perhaps even update the eos submodule in this repo to the latest version and it may compile and run right away, but I am currently not actively maintaining this demo anymore. Eos, on the other hand, is actively in development and maintained.


[Feature request]Lookahead Decoding support

please refer this page https://lmsys.org/blog/2023-11-21-lookahead-decoding/

I am an interested user of your project and would like to inquire about the timeline for supporting this feature.
Could you kindly provide an estimated timeframe for when this feature might be implemented and available?


Handling statistics computed from annotations

Something like call rate is trivially computable from qc.nCalled and qc.nNotCalled, but it's a pain to write the following on the command line to filter samples below 95% call rate:
...filterSamples --keep -c "sa.qc.nCalled.toDouble/(sa.qc.nCalled+sa.qc.nNotCalled) > 0.95"
We need another way to do things like this.

We added callRate to QC.  The current choice of computed values seems to be working.


docs: fix case of GitHub

Change Github to GitHub

I am wondering if PRs like this really add any value. 🤔

@santosh We use Gerritt for code review.  Very few people see comments on GitHub pull requests.  If you want people to see your comment, add it to https://golang.org/cl/291950 instead.  Thanks.
Personally I think correct spelling and capitalization do add value.


red loops..

there seems to be a drop in connection with dexcom and iAPS..? I've had this happened at least 4 times now randomly.. one time I didnt notice I had a red loop for more than two hours.. my workaround for this issue is to enter BG through the health app and seems to connect and loop again..
2.2.5 iPhone 15 pro Max with dexcom G7

You need to have more information to be able to analyze your red loop. Do you have logs during this red loop?


Incompatible with distro 1.7.0

Describe the bug
pyinfra INVENTORY fact server.LinuxDistribution throws an exception with distro 1.7.0:
  File "REDACTED/env/lib/python3.10/site-packages/pyinfra_cli/main.py", line 236, in cli
    _main(*args, **kwargs)
  File "REDACTED/env/lib/python3.10/site-packages/pyinfra_cli/main.py", line 573, in _main
    fact_data[fact_key] = get_facts(
  File "REDACTED/env/lib/python3.10/site-packages/pyinfra/api/facts.py", line 290, in get_facts
    data = fact.process(stdout)
  File "REDACTED/env/lib/python3.10/site-packages/pyinfra/facts/server.py", line 554, in process
    parsed = get_distro_info(temp_root)
  File "REDACTED/env/lib/python3.10/site-packages/pyinfra/facts/util/distro.py", line 10, in get_distro_info
    old_value = distro._UNIXCONFDIR
AttributeError: module 'distro' has no attribute '_UNIXCONFDIR'

Downgrading to distro 1.6.0 unbreaks pyinfra.
To Reproduce
As above, run the server.LinuxDistribution fact with distro 1.7.0
Expected behavior
Output the fact dictionary for server.LinuxDistribution.
Meta
pyinfra 1.6.1 and distro 1.7.0

No worries at all @lunaryorn, easily done! Let me know if it doesn't work :)

1.6.2 works perfect, thanks a lot :pray:


swift-build missing dependencies

Hi,
I installed a binary snapshot on Ubuntu 18.04 using
swiftenv install https://swift.org/builds/development/ubuntu1804/swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a/swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04.tar.gz
Swift itself runs fine, however I'm not able to use the Swift package manager, calling "swift-build" immediately fails with:
swift-build: error while loading shared libraries: libBlocksRuntime.so.0: cannot open shared object file: No such file or directory
Any help is appreciated, thanks!

Exact same issue here. With DEVELOPMENT-SNAPSHOT-2018-09-10.

There is no such shared library (libBlocksRuntime.so.0) in the swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a tarball for Ubuntu 18.04. Which is either a bug on Apple side or a missing local dependency. Do you have all of the dependencies that Swift installation requires? https://swift.org/download/#installation-1 mentions that the clang and libicu-dev. I am not sure if the clang package contains libBlocksRuntime. If it does not then I think the best bet would be to reach out to the Swift team using their mailing list, the problem seems to be unrelated to swiftenv.
$ wget https://swift.org/builds/development/ubuntu1804/swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a/swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04.tar.gz
$ tar xvf swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04.tar.gz
$ find . -name '*.so'
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/liblldbIntelFeatures.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/libsourcekitdInProc.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/liblldb.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/lldb/clang/lib/linux/libclang_rt.scudo-x86_64.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/lldb/clang/lib/linux/libclang_rt.scudo_minimal-x86_64.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/lldb/clang/lib/linux/libclang_rt.ubsan_standalone-x86_64.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/lldb/clang/lib/linux/libclang_rt.hwasan-x86_64.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/lldb/clang/lib/linux/libclang_rt.ubsan_minimal-x86_64.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/lldb/clang/lib/linux/libclang_rt.dyndd-x86_64.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/lldb/clang/lib/linux/libclang_rt.asan-x86_64.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/swift/pm/llbuild/libllbuildSwift.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/swift/pm/llbuild/libllbuild.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/swift/pm/4_2/libPackageDescription.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/swift/pm/4/libPackageDescription.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/swift/clang/lib/linux/libclang_rt.scudo-x86_64.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/swift/clang/lib/linux/libclang_rt.scudo_minimal-x86_64.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/swift/clang/lib/linux/libclang_rt.ubsan_standalone-x86_64.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/swift/clang/lib/linux/libclang_rt.hwasan-x86_64.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/swift/clang/lib/linux/libclang_rt.ubsan_minimal-x86_64.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/swift/clang/lib/linux/libclang_rt.dyndd-x86_64.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/swift/clang/lib/linux/libclang_rt.asan-x86_64.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/swift/linux/libFoundation.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/swift/linux/libswiftGlibc.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/swift/linux/libdispatch.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/swift/linux/libXCTest.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/swift/linux/libswiftCore.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/swift/linux/libswiftSwiftOnoneSupport.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/swift/linux/libswiftRemoteMirror.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/python2.7/site-packages/lldb/_lldb.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/python2.7/site-packages/readline.so
./swift-DEVELOPMENT-SNAPSHOT-2018-08-26-a-ubuntu18.04/usr/lib/libswiftDemangle.so

Thanks for looking into and pushing me to the right direction.
I can confirm this is not a swiftenv issue. I followed the requirements on the page you also linked, however the mention clang and libicu-dev are  are not enough.
However on the official swift repository on GitHub, you will find these lines:

Linux
For Ubuntu, you'll need the following development dependencies:
sudo apt-get install git cmake ninja-build clang python uuid-dev libicu-dev icu-devtools libbsd-dev libedit-dev libxml2-dev libsqlite3-dev swig libpython-dev libncurses5-dev pkg-config libblocksruntime-dev libcurl4-openssl-dev systemtap-sdt-dev tzdata rsync

Note this also includes installing libblocksruntime(-dev) which fixes the reported issue.

Ah interesting. Those are dependencies listed in the README are for building Swift. I guess the list on the Swift website are perhaps outdated. Or perhaps this dependency is only new in the current snapshots and will be updated before the final release.


filter,mounter (ticdc): support bidireactional replication

What problem does this PR solve?

Issue Number: close #xxx
What is changed and how it works?

Add ShouldIgnoreReplicationEvent  for filter interface to filter out dml events written to upstream by other changefeeds if ignore-rows-written-by-ticdc = true.
Decode meta column in mounter and check if we should ignore a dml event if ignore-rows-written-by-ticdc = true.

Note:

When downstream is TiDB, TiCDC will exctue SET SESSION tidb_write_by_ticdc = true; before replicating, which make every single row written by TiCDC has a hidden value written_by_ticdc = 1. This can help other changefeed to decide whether it should ignore a row event.
If the upstream TiDB does not support tidb_write_by_ticdc system variable and the user set ignore-rows-written-by-ticdc = true for a changefeed, the changefeed will ignore this error and runs normally, and will not ignore those rows written by old version TiDB.
If the downstrem TiDB does not support tidb_write_by_ticdc system variable and the user set ignore-rows-written-by-ticdc = true for a changefeed, the changefeed will ignore this error and runs normally. This behavior is by design since filter only depends on upstream to work.

Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
Please refer to [Release Notes Language Style Guide](https://pingcap.github.io/tidb-dev-guide/contribute-to-tidb/release-notes-style-guide.html) to write a quality release note.

If you don't think this PR needs a release note then fill it with `None`.

/hold


Design JS API for the Object Store

The design we have settled on is:
declare class ObjectStore {
    constructor(name: string);
    lookup(key: string): Promise<ObjectStoreEntry | null>;
    put(key: string, value: BodyInit): Promise<undefined>;
}

declare class ObjectStoreEntry {
  get body(): ReadableStream;
  get bodyUsed(): boolean;
  text(): Promise<string>;
  json(): Promise<object>;
  arrayBuffer(): Promise<ArrayBuffer>;
  // And eventually formData and blob once we support them on Request and Response, too.
}

The pull-request which implements this design is https://github.com/fastly/js-compute-runtime/pull/110


Auto-correct of Layout/RescueEnsureAlignment ineffective

The auto-correct of Layout/RescueEnsureAlignment is ineffective, as it rewrites the code the exact same way.

Expected behavior
Auto-correct to:
class Foo
  def bar
    @bar ||= begin
               expensive_method
             rescue StandardError
               fall_back
             end
  end
end

Actual behavior
The auto-correct is a no-op.
Steps to reproduce the problem
Auto-correct the following with Layout/RescueEnsureAlignment:
class Foo
  def bar
    @bar ||= begin
      expensive_method
    rescue StandardError
      fall_back
    end
  end
end

RuboCop version
0.59.0 (using Parser <IP_ADDRESS>, running on ruby 2.5.1 x86_64-darwin16)

RescueEnsureAlignment aims to align rescue keyword with begin. I don't think it could be implemented within RescueEnsureAlignment. It a job for another cop.

Homebrew would still find this useful so just commenting so stale bot knows someone cares.


FATAL: Ident authentication failed for user "postgres"

I'm using Fedora 27 + DBeaver 5.0.3
I'm trying to connect to PostgreSQL via DBeaver.
When I fill my postgres connection info and click on Test Connection..
It returns this error:

FATAL: Ident authentication failed for user "postgres"

while I can connect successfully with psql and pgadmin4 and pgweb and etc... with the same connection info.
Any help would be great appreciated.

DBeaver uses JDBC driver which only supports TCP/IP. Maybe it is the case.
Check this: https://jdbc.postgresql.org/documentation/head/prepare.html

Hey! I know probably is too late to help, but I've managed the solution to deal with that (because just happened to me while using WSL). I hope it could help someone in the future. Open the WSL terminal:

Be sure the postgresql is running: type sudo service postgresql start
Connect to postgresql: type sudo -u postgres psql
Create a user: create user {USERNAME} with encrypted password {'PASSWORD'};
Then, when you configure your DB connection on DBeaver, use the USERNAME and PASSWORD keys to connect.
Cheers!

Hey! I know probably is too late to help, but I've managed the solution to deal with that (because just happened to me while using WSL). I hope it could help someone in the future. Open the WSL terminal:

Be sure the postgresql is running: type sudo service postgresql start
Connect to postgresql: type sudo -u postgres psql
Create a user: create user {USERNAME} with encrypted password {'PASSWORD'};

Then, when you configure your DB connection on DBeaver, use the USERNAME and PASSWORD keys to connect.
Cheers!

thanks for the help @tomascg2309


docs: fix size and heading alignment in get started cards on homepage

What I did

Fixed heading alignment and size in get started cards on homepage

Closes #1599
Testing Instructions

View deploy previewhttps://deploy-preview-1601--red-hat-design-system.netlify.app/

Notes to Reviewers

Oh man, for some reason I thought these were <rh-tile>, and I gave you the heading size for tiles. Can they be converted to tiles though, since the CTAs are the same as the heading?

yup sure thing!


Feature Suggestion : Row Height Optimisation / Compact mode.

Defualt row height in the admin UI is 60px
Is there a reason for this? It seems a lot of blank space, could we consider dropping it to 52px, which seems to have not impact on layout.
(left, 60px, Right 52px)

vertical row padding could also be reduced to further optimise.

Could we maybe have a "compact" mode?

Is there a reason for this?

Everything related to the UI is based on my personal preference.

Could we maybe have a "compact" mode?

No, I don't think it will be a good idea as it will clutter the UI.
With that said, I've pushed in the develop a small change to reduce slightly the min row height.


refactor: single phase Timeline::load_layer_map

Current implementation first calls load_layer_map, which loads all local layers, cleanup files, leave cleaning up stuff to "second function". Then the "second function" is finally called, it does not do the cleanup and some of the first functions setup can torn down. "Second function" is actually both reconcile_with_remote and create_remote_layers.
This change makes it a bit more verbose but in one phase with the following sub-steps:

scan the timeline directory
delete extra files

now including on-demand download files
fixes #3660

recoincile the two sources of layers (directory, index_part)
rename_to_backup future layers, short layers
create the remaining as layers

Needed by #4938.
It was also noticed that this is blocking code in an async fn so just do it in a spawn_blocking, which should be healthy for our startup times. Other effects includes hopefully halving of stat calls; extra calls which were not done previously are now done for the future layers.

I really like the overall style of this, makes the code substantially clearer

Only added the one change after your approvals, not waiting for another round.


Draggable cursor fix

We need to check if the sensible default for nodes is cursor pointer or default

closes #3836

these defaults are way better 👌


Regenerate travis config using newer script, and test more GHC versions

I think the build failure on GHC 8.4 can be fixed by increasing the upper bound on optparse-applicative or disabling the benchmark suite

@Gabriel439 Done.

Thank you! 🙂


Readme.md File can be more fascinating

currently our Readme.md File looking not so good It can be more fascinating with some 3d images along with contributors , code of conduct section etc. @RituKumari98 assign this issue to me I will create it . Thankyou

Hey @RituKumari98 , Kindly assign this task to me under GSSoC'24 .
A README file is essential in any given repository because it serves as the primary source of information about the project. It provides an overview of the project's purpose, how to install and use it, and any necessary prerequisites. Additionally, the README often includes guidelines for contributing, links to documentation, and contact information for the maintainers.

I've noticed your project lacks a README.md file, crucial for sharing essential project details and fostering collaboration. As a GSSoC 2024 participant, I'm keen on contributing meaningfully. Can you assign me this task? I'm dedicated to crafting a thorough README for the project's benefit. Thanks for considering. Eagerly awaiting your response.
Thank you @RituKumari98


Paralize ExchangeSourceOperator

Paralize ExchangeSourceOperator

All the ExchangeSourceOperator share the DataStreamRecvr
When new data comming, all the ExchangeSourceOperator will receive the notification event, but only one ExchangeSourceOperator can actually get the data, so DataStreamRecvr should handle this situation properly

Test

3be (64c 128g)
test set: tpch Q17
result

before: 1s
after: 0.4s

run starrocks_be_unittest


im getting Function not found error in my  flutter app when invoke the function but this exact function run properly in sql editor

Code:

Error:

Sql output:

You have a database function, which you have to call over the REST endpoint as shown here. In your flutter code you are trying to call an edge function, which is a different Supabase product.


Add support for type hints

Koto currently has no support for type checking, but type hints could be added to the language (borrowing syntax from Rust and Python), and then users can opt in to them when they like.
# Assignments with type hints
x: Bool = foo()
a: Int, b: Float = 1, 2.3

# Types on function arguments
foo = |a: Iterable, n: Int| a.take(n).to_tuple()

# Type hint on the function's return value, requiring an indented body
foo = |s: String, n: Int| -> String
  iterator.repeat(s, n).to_string()

# Hints in for loops
for x: Float in get_numbers()
  debug x.to_int()

# Generic lists and tuples
x: List<Int> = [1, 2, 3]
y: Tuple<String> = 'hello'.to_tuple()

# Maps - should the key type be hinted, or is it always 'Value'?
m: Map<Int> = {foo: 42, bar: 99}

# Match patterns with hints
match bar()
  (a: Int, b: Int) then a + b
  x: List<Int> then x.sum()
  s: String then debug s

Runtime checks could be added whenever hints are declared that would throw an error if the incoming value doesn't match the expected type. The checks could be optionally disabled if runtime performance is a concern.
Compiler checks could be added where possible, although I'm not sure how useful this will be in practice, maybe limited to checking the use of literals, and operations on core types where the resulting type can be known?
Implementations of KotoObject have to implement KotoType, so their declared types can already be checked.

Closing this issue as it's now (mostly) implemented, and separate issues can be created for specific follow-ups.
A notable omission from the sketch in the original sketch is support for generic type hints. Given that the checks are performed at runtime, either the containers would need to track type information about its contained elements, or checks would need to scan each contained element for each check. Either way this feels too intrusive for what's supposed to be a lightweight feature.
The compiler now has a enable_type_checks flag (true by default) which can be used to disable type checks for variable declarations, but not for checks that can conditionally affect logic flow (i.e. match patterns and catch blocks).


Content negotiation

It would be nice if restia was aware of content types and could iterate through the accepted content types, select the first one it knows how to deal with or errors otherwise.

This could basically work as follows:

The user defines a series of functions to handle content-types ('handlers').
The 'accept' header of the request is iterated, if a content-type can be handled, it will be used
If many content-types apply, (fallbacks like text/* or even */*), the first handler in insertion order will be selected.

As for the interface, I imagine something like:
handle {
   'text/json' = function()
      ngx.say(json.encode{foo="bar"})
   end
} ()

where handle (name subject to change) accepts a table that maps content-type -> object, and returns the "object" associated with the first applicable content-type. It is then up to the user to decide what that "object" should do (most likely, it will be a function to be called)

Possible implementation on gist


Check If User Passed An Exercise

Each Flight Training Exercise, once completed, will submit a record to smartcars_pirep which, in turn, has position reports submitted by the client every 15 seconds under smartcars_posreps.
We need to test all of the posreps associated with a PIREP against the exercise criteria to determine whether the PIREP has passed the exercise.
There are a number of factors to test and are as follows...

Position (based on lat/long).
Altitude
Speed

The position of the aircraft will determine what speed and altitude restrictions there are.
Simply, if the user has met all of the position, altitude and speed restrictions, the exercise is considered a pass.
Note that for now, we do not have the exact lat/long of the "boxes" shown in the attached specs. There is no reason why we cannot start to structure the logic tests and fill in the blanks later.
FTE-VFR-1.docx
FTE-VFR-2.docx
FTE-VFR-3.docx

I have updated FTE-VFR-1 with the Lat/Long.
FTE-VFR-1.docx

@NFarrington See above


Upgrade minimist due to security issue

Checklist

[ ] Code compiles correctly
[ ] Relevant tests were added (unit / contract / integration)
[ ] Relevant logs were added
[ ] Formatting and linting run locally successfully
[ ] All tests pass
[ ] UA review
[ ] Design is documented
[ ] Extended the README / documentation, if necessary
[ ] Open source is approved

@ShimiT This dependency is required by binwrap and I'm not sure how to test that this change doesn't break it. I ran npm install which seems to test it and it passed (at least locally), please let me know if this is enough.


Expanded variant of gallery-view

Icon name: gallery-view-expanded
Tags of this icon: (existing gallery-view tags), expand, expanded, small
Use case:

Expanded view of an image gallery, grid of posts, etc.
Screenshots of similar icons:

You mean you need a gallery icon with 9 cells?

https://remixicon.com/icon/layout-grid-2-line

Hi @jiu-virgil
The icon you proposed has been completed and launched. Hope you like this project and Star our repo to support our efforts.


Omnisharp-roslyn can't identify 3rd party library on Windows 8.1 but working on Windows 10.

Environment:
Windows 10 PC at office.
Windows 8.1 PC at home.
neovim 0.7.2 + .net 6.0 + omnisharp-roslyn
3rd party library: ctrader
lspconfig:
local status_ok, lspCfg = pcall(require, "lspconfig")
if not status_ok then
return
end
local lspCfg = require("lspconfig")
lspCfg.omnisharp.setup({
capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities()),
on_attach = function(client, bufnr)
client.resolved_capabilities.document_formatting = false
client.resolved_capabilities.document_range_formatting = false
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
end,
cmd = { "dotnet", "D:/omnisharp/OmniSharp.dll" },
})
Everything working on Windows 10.
I copied "C:\User\user\AppData\Local\nvim" and "C:\Users\user\AppData\Local\nvim-data" directories form Windows 10 to Windows 8.1. and code analysis on Windows 8.1 prompt: "Unnecessary using directive." on "using cAlgo.API;" line which is used. While "using System;" line has no prompt which means identifed.
Is this a bug or what should I do to fix this?

It is difficult to say, because we do not really test on Windows 8.1 - so I wouldn't say it's a bug but it's just not being supported.
.NET 6.0 will also stop supporting Windows 8.1 soon - in January 2023.


Update AIMP.AIMP.installer.yaml

Added "/UPDATE" for upgrade.
https://github.com/microsoft/winget-cli/issues/1057#issuecomment-852177920

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

/AzurePipelines run

Close the PR and reopen it, to automatically start up the pipelines.

Exception Message: Cannot get DNS address for host 'winget.azurefd.net' (No such host is known). (type TeamFoundationServerException)

Try fix error with Installation Validation.


.NET Example of Looker SSO Embed

Basically, I copied the java example.  Creates the url query params, SHA1 signs the string,  encodes them, and creates the URL

The topo files are a bit overkill for an example to show how to construct an embed URL.


Handle convert to singleton specifically while resharding model parallel checkpoints

Patch Description
Describe your changes
Testing steps
Describe how you tested your changes

@patrickvonplaten Could you also have a look at this test? I have adapted the script you had created to test compatibility between singleton megatron checkpoint and HuggingFace. Thank you!


Issue/build master fix flaky tests relying on ordered data (#5373)

Pull request opened by the merge tool on behalf of #5373

Merged in c0b487db6658d9dc31b7ff2bd53cadc63dbd1393


Smarter Restart Semaphore in Infrastructure Stage

As a part of expressing infrastructure, our current models update operating system packages and restart the model instances. The models include a semaphore_0.Restart semaphore, to wait and check for model instance restart.
This is painful in those situations where you're running fablab up, or otherwise want to work through the infrastructure lifecycle stage, and you know there is no need to wait for the hosts to restart.
We should attempt to make this workflow smarter, to eliminate unnecessary waits. May require fablab to handle state tracking (#2) in a better way, first.

We've worked around this by working off of images which are already up to date, so no restart is needed. It's possible that still would be a nice to have in some circumstances, but closing until we hit those circumstances.


Can't connect Power BI anymore

Link your Azure Synapse workspace to your new Power BI workspace
Step#2 Select New > Connect to Power BI.
This is invalid or not available anymore in synapse studio.
And also other steps involving Power BI (ex: Synapse studio->Develop->power bi) are not available in synapse studio.

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

ID: c4d61957-2156-15a9-ba8c-c5f7dd9c03ac
Version Independent ID: e87e4828-267d-3c40-afb2-b02e2cc62b50
Content: Tutorial: Get started with Azure Synapse Analytics - visualize workspace data with Power BI - Azure Synapse Analytics
Content Source: articles/synapse-analytics/get-started-visualize-power-bi.md
Service: synapse-analytics
Sub-service: business-intelligence
GitHub Login: @saveenr
Microsoft Alias: saveenr

Thanks for the feedback! We are currently investigating and will update you shortly.

@devudu I'm able to follow the exact steps mentioned in the document:

Link your Azure Synapse workspace to your new Power BI workspace

In Synapse Studio, go to Manage > Linked Services.
Select New > Connect to Power BI.

Hope this helps.

@CHEEKATLAPRADEEP-MSFT thanks. I was looking under data hub instead of manage hub.


⚠ Bofrost.at has degraded performance

In fbfa611, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1837 ms

Resolved: Bofrost.at performance has improved in 23df3d3.


Allow data from myria and pasted data

Yes, a modal instead of a popup would be better.

I've updated the pr


[Bug]: Wrong input padding inside of toolbar popups

I'm submitting a

[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report
[ ] Enhancement
[ ] Feature request
[ ] Documentation issue or request

Description
Using angular material and ngx-editor with formControlName inside a form causes wrong input padding of toolbar popups.

HTML
<form [formGroup]="emailTemplateForm">   <app-ngx-editor             [placeholder]="'Enter message template'"              [spellcheck]="true"             [imageEndPoint]="'uploads'"             [toolbar]="ngxToolbarSet"             formControlName="html"              required>   </app-ngx-editor></form>
Output CSS

Disabling the padding fixes it.
Version Information
ngx-editor: 3.3.0
angular: 5.2.10

Browser

[x] Chrome - 66.0.3359.139
[ ]  Mozilla Firefox - x.x.x
[ ] Opera - x.x.x
[ ] Microsoft Edge - x.x.x

Hello, this bug affected Firefox too, with link property
I'm in Firefox 60.0.1

hi @simepy, @idealser I was working in removing ngx-bootstrap completely and implementing custom styles. Since then I recommend you to manually override the CSS properties that affects the popover.

Thanks for your answer  @Sibiraj-S, but I don't find in the doc how to override the CSS

@simepy You can do this in your global styles.css
.ngxePopover form .form-group .form-control-sm {   padding-left: 0 !important;   padding-right: 0 !important; }

Thanks @idealser . Thats what I meant @simepy

Sorry for the delayed response. do you still face this issue.

Sorry for the delay. since v5 no more, bootstrap. still few features are pending, they will be added soon.


Font Family Configuration Lacking Fallbacks

it appears that we're exclusively using the "72 Brand" font family without defined fallbacks. Specifically, our font-family is set to "72 Brand" as seen in the fonts.css file:
font-family: "72 Brand";

Font CSS Reference
However, there's an inconsistency in our hero component, where the --sapFontFamily variable includes "72" among its values, alongside "72full", Arial, Helvetica, and sans-serif as fallbacks:
--sapFontFamily: "72", "72full", Arial, Helvetica, sans-serif;

CSS Variables Reference
This discrepancy might lead to display issues across different environments where "72 Brand" or "72" fonts are not available, particularly since there seems to be no fallback for the primary "72 Brand" font setting in fonts.css.
see also https://github.com/urfuwo/hlx-test/pull/134#issuecomment-1948414124

This is done via https://github.com/urfuwo/hlx-test/commit/70e0999750a78018db2e8f6ecc092764871cd34e


fix: cascading bids banner link has :visited state making it invisible

The type of this PR is: fix
This PR solves TX-1196
Description
Broken:

Fixed:

#squashongreen


Hud gas

[Setting up UI architecture]
[29 - Covering UI elements]
[31 add HUD class to display widgets]
[32 Widget controller set]
[cancel tracing mouse cursor when the camera is rotating]
[33 Broadcasting initial values]
[5 - 35 Callbacks for listening attribute changes]
[Hud Finished]
[Renaming EnemyInterface to TargetInterface will better describe its p…]
[35 - final HUD]


[Feat]: I want to add my account

What feature?
I have an idea
Add screenshots
Add screenshots
Code of Conduct

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

Hi @akash70629  , thanks for your interest in contributing to DevDisplay!
Before we proceed, please add you profile here and be sure to star the DevDisplay GitHub Repository. 🌟
💌 This is a mandatory step for all contributors. & It's is the first priority of contribution in DevDisplay 💌
🚀 We look forward to your contribution once these steps are completed. 🚀
Thanks 👍🏻


Edit literate code document

Hey @Aishwarya120111
Please update our literate code file
Edit your literate code document (*.ipynb or *.Rmd) so that it’s sole job is to narrate your analysis, display your analysis artifacts (i.e., figures and tables), and nicely format the report. The goal is that non-data scientists would not be able to tell that code was used to perform your analysis or format your report (i.e., no code should be visible in the rendered report).

I have formatted the final report by adding images, variables to the report.

Thank you Aish, will close the issue now.


track flakes in more presubmit jobs

This turns on flake filing for presubmit jobs that are or soon will be tolerant of flakes.

@pwittrock fyi I'm going to send a PR to you to actually turn on the tolerance for the node pull test, because I hit a flake on it earlier.

LGTM


[TECH ED] Module Project: Code Review

From Module-HTML-CSS created by SallyMcGrath: CodeYourFuture/Module-HTML-CSS#18
Link to the coursework
https://github.com/CodeYourFuture/HTML-CSS-Module-Project/tree/master/level-3
Why are we doing this?
Learning to read and review other people's code is a key skill for a developer. When you join a new team, you will usually also join an existing codebase, and you will need to be able to read it. If you've never looked at code written by other people, you will find this really challenging (it's already hard!).

Do the Github Skills course in reviewing pull requests
Ask for a code review from a colleague on your Karma project.
Complete a code review for a colleague on their Karma project.

Maximum time in hours
3
How to submit
Link the PR you reviewed on your copy of this ticket. Paste the url in comment on your ticket.

https://github.com/CodeYourFuture/Module-HTML-CSS/pull/48#discussion_r1293023174

https://github.com/CodeYourFuture/HTML-CSS-Module-Project/pull/621


Getting Reference Error: ProgressView not defined.

Here is how I'm trying to use this plugin:
     ProgressView.show("This","CIRCLE","HOLO_LIGHT");

But getting reference error whenever I try to do this. can you please tell me why I am getting this error.
The error is here:
ReferenceError: ProgressView is not defined
at Scope.$scope.showLoading (http://<IP_ADDRESS>:8100/js/MainScreenCtrl.js:
205:11)
at fn (eval at  (http://<IP_ADDRESS>:8100/lib/ionic/js/ionic.bun
dle.js:1:0), :4:232)
at http://<IP_ADDRESS>:8100/lib/ionic/js/ionic.bundle.js:62386:9
at Scope.$eval (http://<IP_ADDRESS>:8100/lib/ionic/js/ionic.bundle.js:29158
:28)
at Scope.$apply (http://<IP_ADDRESS>:8100/lib/ionic/js/ionic.bundle.js:2925
7:23)
at HTMLButtonElement. (http://<IP_ADDRESS>:8100/lib/ionic/js/ion
ic.bundle.js:62385:13)
at HTMLButtonElement.eventHandler (http://<IP_ADDRESS>:8100/lib/ionic/js/io
nic.bundle.js:16583:21)
at triggerMouseEvent (http://<IP_ADDRESS>:8100/lib/ionic/js/ionic.bundle.js
:2948:7)
at tapClick (http://<IP_ADDRESS>:8100/lib/ionic/js/ionic.bundle.js:2937:3)
at HTMLDocument.tapTouchEnd (http://<IP_ADDRESS>:8100/lib/ionic/js/ionic.bu
ndle.js:3064:5)

Had the same issue and finally got it working!
Here is how I did it:

Installed the plugin from kartagis's fork:
cordova plugin add https://github.com/kartagis/cordova-plugin-progressview.git

Adressed the plugin with:
window.plugins.ProgressView.show("text...", "HORIZONTAL");


Passing unit as "px" but still height width coming in %

setting crop : {
aspect: 1 / 1,
x: 0,
y: 0,
height: 30,
width: 30,
unit: "px"
}
but still giving value in percentage..

Hi, where is it giving the value as percentage?

in reactCrop class it shows values in percent

What does your onChange callback look like?

This includes nothing just a setstate
this.setState({
crop
});

I can't help you if you don't post your code, the important part is if you
are using the first or second argument. If you see here pixels are working
fine - https://codesandbox.io/s/react-image-crop-demo-rmxgq
I will close this if you don't provide more information
On Sun, Aug 25, 2019 at 3:43 PM Garima Sharma<EMAIL_ADDRESS>wrote:

This includes nothing just a setstate
this.setState({
crop
});
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/DominicTobias/react-image-crop/issues/292?email_source=notifications&email_token=AAFZT6VGUYWFUBNSXMYK4PDQGKK77A5CNFSM4IMZZWIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5CU4JY#issuecomment-524635687,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAFZT6VM5ZXHKCUWR73G3R3QGKK77ANCNFSM4IMZZWIA
.


Support more combinations of comments

Some format that result in bad results or not parsing at all:

The third is not really practical to support unless we move away from strict TOML for directives since TOML only allows a single assignment per line.

The third would only be for single directives, so for ones that just used id (the example predates when we added id)


Need to update readme for HMR

I ran into an issue on step 8. HMR was not enabled by default in webpacker.yml for my dev server so when I tried to add fast refresh I was getting some strange errors.
I would add a note in Step 8 such as:

Note: Ensure HMR is enabled for the dev server. hmr: true in  webpacker.yml

Updated! Thanks!


Installation

I seem to be having an issue with installing the mod I've followed it to the point but still don't seem to work my game is installed on one off my drives but the other part is on my main drive I even followed the youtube vid explaining how but I don't see the wheel at the bottom and it's enabled on the game it's self it's giving me an headache

Same issue
I dont see a .dll in the download, seems like the problem to me.

Current release files have been used by hundreds of people to install the mod. Please verify you are using the correct files, if you aren't sure seek out support from the modding channel on the COI Discord, plenty of people are willing to help with installation support there.


See https://github.com/golang/go/issues/30752#issuecomment-471785618 and https://golang.org/cl/166888

/cc @dmitshur (you can reference this issue number if your CL description)

The coordinator no longer does this, so closing.
And #30874 is already open for a more specific case of "auto" hacks.


RFC: Formalize a branching strategy

Today, most Eigen development is done on the master branch, but that makes it difficult to release patch releases based on the last stable branch. For example, master currently can't be shipped because it has incomplete Messaging work.
I propose we move to a git flow which boils down to:

Master branch is always stable/deployable
A develop branch is made off of master
Feature branches (like messaging) are PR'd into the develop branch
When releasing, master is updated with the develop branch

There are provision for patch releases, too.
We can do whatever we want, but this process is pretty established/popular/well-understood. In any case, we should decide on what to do and document it.
/cc @artsy/mobile

I think this would be great!

@alloy @orta thoughts?
Running into this again because I want to solve this fonts issue for the next release or beta ( #2441 ) and I'm probably going to have to merge the fix into 2 different branches because it's relevant for master as well.

Oh I gave it a 👍 on the original message from @ashfurrow.

I guess this can be closed now? I feel our git ways on the app are working well.
(I was just looking around for RFCs in eigen and saw this open still 😅)

Agreed.
For posterity, the solution we went with:

master is always deployable.
Features that take longer than a sprint are placed behind a feature flag (see docs).
Features get QA'd every two weeks for our springily submission to App Store review.

Extra branches? Extra work 🙅♂
The QA process for really large features is still evolving – MX and Galleries are meeting next week to discuss this for viewing rooms specifically, and I imagine we will generalize out from there (and document our decision).

this can go to our work agreements

Agreed.
For posterity, the solution we went with:

master is always deployable.
Features that take longer than a sprint are placed behind a feature flag (see docs).
Features get QA'd every two weeks for our springily submission to App Store review.

Extra branches? Extra work 🙅♂
The QA process for really large features is still evolving – MX and Galleries are meeting this week to discuss this for viewing rooms specifically, and I imagine we will generalize out from there (and document our decision).


Database migration notices on fresh database

Context
The integration tests are showing the following log messages:
[cardano-wallet.wallet-db:Notice:980] [2020-06-27 19:58:50.09 UTC] wallet table does not contain required field 'passphrase_scheme'. Adding this field with a default value of "EncryptWithPBKDF2".
[cardano-wallet.wallet-db:Notice:980] [2020-06-27 19:58:50.09 UTC] rnd_state_address table does not contain required field 'account_ix'. Adding this field with a default value of<PHONE_NUMBER>.

On a fresh database there should be no migrations necessary. These fields should either be added to the persistent models, or removed from the migrations.
Steps to Reproduce

Run byron integration tests.
Inspect logs for Notice messages.

Expected behavior
No database migrations occur.
Actual behavior
Database migrations occur.

Resolution

QA

Duplicate of https://github.com/input-output-hk/cardano-wallet/issues/1743 I believe?

So it is!


[Feature Request] Execute a Command from Path Title

Hello @jdeal !!!!
I have to say that you did an amazing plugin !!!! It's so good to be able to see and customize the folder path :)
I really like the amount of customization that we have for us. Thanks for creating this amazing plugin.
My FR is simple to explain: would be amazing if we could transform the path title into a clickable "button" and execute a command from their.
It's a perfect match for Obsidian Mobile where we have to take care of every pixel in the screen :)
My Idea
A new setting in the settings tab that let users choose a command (from the command palette) to be executed when the user click in the path title.
In my idea, would be a command for each Folder Replacement created by the user :)
One more thing .... if is possible 🙏
If possible, would be amazing to have different commands to Obsidian on Desktop and to Obsidian Mobile.
I am asking this because I use Obsidian on Desktop and on Mobile and I felt a need to have different commands on each device. This way I could have specific commands for each device :)

Thanks for reading this !!!!
Let me know if you need more information !!!
Have a great day!!!!

Hey @FelipeRearden,
Glad you like the plugin!
That’s an interesting request and certainly something I never considered adding. 🤔
Can you give me a specific example of how you might use this? I use the toolbar on mobile and the command palette on the desktop for commands, and I’m struggling a bit to think of when/how I’d use this instead. I’d love to understand though.
Thanks!
Justin

Hello @jdeal !!!
Thank you very much for your reply!

Can you give me a specific example of how you might use this?

Sure ! I am gonna try to explain a little bit about my Vault ...
2 Devices:

Desktop: 11 inches Notebook
Desktop: 7.9 inches iPad Mini

On Desktop my workflow 95% keyboard shortcuts based.

The iPad Mini is my reading device. Everything that I process on Desktop I read on Obsidian Mobile

This way I have to think about my UI in way to be optimal to Desktop and Mobile
From the images, you can see that I hide sidebars icons and Titlebar and I use the plugin Customizable Buttons Header to Add Commands buttons to the header of a Note
And on Mobile I rely on Toolbar to Add more commands to be able to navigate on iPadMini on a vault that was built to be used with a keyboard.
Notes Organization
I use Folders based on Jonnhy Decimal approach to organiz my Notes.
This Way I have Files Paths like this
80 Toolbox/82 Resources/82.01 Regex/Filename.md
My FR
As you can see I dont have much space in the header title where my Filename is long when Path Title is Enable.
If I could define a Command inside the Path Title I retrieve the command that I "lost" when Path Title is enable.
The Idea about different commands from Desktop and Mobile is based on different workflows that I have o each device.

For Mobile I would use a command Reveal the Active Note on File Explorer
For Desktop I would use to open a modal from the plugin YAML Manager that doesn't have support for keyboard. This would use the mouse to click in the File Path and keep using mouse to interact with the modal

Thanks for asking about my workflow its WIP in some points but I invested a lot of time to create a personal experience in Obsidian. Your plugins fits into my idea because I couldn't se my Folders Path without your plugin and now I know where I am when I have to decide the best command to go to another note in my vault.
Let me know if need more information about this FR :)
I wish you a fantastic day!!!!

Thanks for the explanation, that helps. I think the main problem is that the Path Title plugin eats some space you were using for commands.
At first thought, this seems straightforward enough, but I think it’s a little tricky to do it in a flexible/consistent way.
You can have multiple replacements applied to the same path, so could each replaced part of the path get its own command? Would the last one win? What if they overlap? Does only one the last single command win and get applied to the whole path? Does only an overlapping command erase a previous, but non-overlapping can coexist? If multiple commands can coexist, should there be a visual indication where one ends and the next begins?
I think this is doable and would just be up to the user not to build weird replacements, but my code would definitely get more complicated. 😅

Thanks for the explanation, that helps. I think the main problem is that the Path Title plugin eats some space you were using for commands.

You summarize perfect in few words what I was trying to explain 💙

At first thought, this seems straightforward enough, but I think it’s a little tricky to do it in a flexible/consistent way.
You can have multiple replacements applied to the same path, so could each replaced part of the path get its own command? Would the last one win? What if they overlap? Does only one the last single command win and get applied to the whole path? Does only an overlapping command erase a previous, but non-overlapping can coexist? If multiple commands can coexist, should there be a visual indication where one ends and the next begins?

I run some tests after reading your message and I 100% agree with you.
My idea of having a command for each pattern is something that could bring a lot of problems.
Forgive me for not considering this situation in the first time.

I think this is doable and would just be up to the user not to build weird replacements, but my code would definitely get more complicated. 😅

How about another idea that is more simple ....
 This way we can avoid all the doubts  about multiple combinations and simply apply one command choose by the user.
Let me know what you think 💙


Any way we can configure the connection through an async function?

So, we have the db config stored in AWS secret manager. and we use knex with serverless labmda.
so the question is is it possible to load the config as an async function which calls the secret manager rather than setting a simple config object?
    production: {
        client: config.db.production.client,
        connection: async function () {
            // load secrets from secret manager as await function
           // then feed the required values to the return statement.
            return {
                host: secret.db.production.host,
                database:
                secret.db.production.name,
                user:
                secret.db.production.user,
                password:
                secret.db.production.password
            };
        },
        pool: {
            min: Number(config.db.production.min_pool) || 0,
            max: Number(config.db.staging.max_pool) || 1
        },
        migrations: {
            tableName: 'knex_migrations'
        }
    }

This is not a currently supported feature, similar (but somewhat different) feature was requested here: https://github.com/tgriesser/knex/issues/2732
API proposal and (after proposal is approved) PR for this would be welcome.

I think this API is good (function can be also non async) and it could be specified in a way that as long as it returns the same configuration object === knex will not try to reinitialize anything and if configuration object is different, then knex internally tries to create new connections to new destination.. (at this phase if configuration object changes we may just throw an error).
Later on if it is needed we could also allow fetching the whole knex configuration object in async manner.

@elhigu Thanks for the explanation.
I read some of the comments you and other people mention and suggest.
for example, to load the config to a file via prescript and then load that file into knex.
The problem with that approach is security wise. the entire idea of loading the config via AWS secret manager is to keep the variables in memory. so no direct access via code files.
I tried to do async module export and load but the code gets really ugly.
what cause the issue to be really painful is I use bookshelf in the project and if there is a relation between two tables and we need to reflect the relation via bookshelf models then it can't be done via async require.
I will try to dig in knex code base and I will be really happy If I can implement that feature.
I already stuck into this problem since 4 days :(

Lets leave this opened until someone takes this over :)

Hi @elhigu ,
hope you are doing well.
I try to modify some part of the code and I come up with a solution.
The solution allows the connection to be entered as async function
config: {
connection: async function(){/*...*/}
/*rest of config*/
}

The files I modifed are:

client.js
dialects/postgres/index.js

what I did was to check if the type of config is a function (in client.js) then don't do anything, just pass the config to dialects.
in dialects, I am checking if the type of config is function, then execute the function (with await and async to the top function) and load the config from the result.
//client.js
if(typeof config.connection == 'function')
        this.connectionSettings = config.connection

//postgres/index.js
acquireRawConnection() {
    const client = this;
    return new Bluebird(async function(resolver, rejecter) {
      if (typeof client.connectionSettings === 'function') {
                client.connectionSettings = await client.connectionSettings();
            }
      const connection = new client.driver.Client(client.connectionSettings);

If you agree of the way to implement this, then I can configure the rest of dialects and submit PR

Could you create WIP PR with changes so far? Would be easier to discuss.

@kibertoad I will try this weekend to write a POC code to support only one adapter (postgres).
If looks good then I can extend to support all the adapters

I am looking for a solution to this as well. Cannot +1 this idea enough. Thanks!

@mbelles I will try to write a PR this weekend

@elhigu @kibertoad Can you please give a resolution on what I've done?
Also, I am a bit lost where to write the tests for the new connection config. (guide me please)

Released in 0.20.1

Does this still work in the latest knex version? I tried implementing this in my project which uses the mssql dialect and I'm getting this erro:
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @p0 - Cannot read properties of undefined (reading 'options')
TypeError: SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @p0 - Cannot read properties of undefined (reading 'options')


Mapping of as is to new flows for library staff (process mapping)

Depending on auth0 implementation there may/will be additional account management activities to undertake in auth0.
Current library processes (related to account/requesting) need to be documented, mapped and translated into a new process for when Requesting/Account goes live.

[ ] Map existing processes for the management of accounts / requests
[ ] Highlight where changes have occurred and provide training / documentation on new processes
[ ] Test E2E processes (including Sierra interactions)

@cbowskill This was in 'Done' - can it be closed?


Fix usage of http-proxy-middleware

refs: https://github.com/chimurai/http-proxy-middleware#tldr

Thanks!

It turns out this was done intentionally so we will be reverting this change. Sorry for the confusion.

@iansu
thanks. I've just tried following codes and somehow I got this. 🤔
var express = require('express');
var proxy = require('http-proxy-middleware');

var app = express();

app.use('/foo1', proxy({target: 'http://www.example.org', changeOrigin: true})); // works
app.use(proxy('/foo2', {target: 'http://www.example.org', changeOrigin: true})); // got 404
app.use('/foo3/*', proxy({target: 'http://www.example.org', changeOrigin: true})); // works
app.use(proxy('/foo4/*', {target: 'http://www.example.org', changeOrigin: true})); // got 404

app.listen(3000);

Funny, I just tried that identical code and it worked. Please note that http://www.example.org responds with 404, not 200. So check the response body.


Realm: Assertion `size <= ib_seg_size' failed

I am seeing the following assertion when running cunumeric with ucx:
python: /sdf/home/s/seshu/src/legate/arch-linux-py-debug/cmake_build/_deps/legion-src/runtime/realm/ucx/ucp_internal.cc:1827: void* Realm::UCP::UCPInternal::pbuf_get(Realm::UCP::UCPWorker*, size_t): Assertion `size <= ib_seg_size' failed.

Here is a stack trace:
#0  0x00007f28e975c658 in nanosleep () from /lib64/libc.so.6
#1  0x00007f28e975c55e in sleep () from /lib64/libc.so.6
#2  0x00007f2833182f99 in Realm::realm_freeze (signal=6) at /sdf/home/s/seshu/src/legate/arch-linux-py-debug/cmake_build/proc_impl.h:206
#3  <signal handler called>
#4  0x00007f28e96b0a9f in raise () from /lib64/libc.so.6
#5  0x00007f28e9683e05 in abort () from /lib64/libc.so.6
#6  0x00007f28e9683cd9 in __assert_fail_base.cold.0 () from /lib64/libc.so.6
#7  0x00007f28e96a93f6 in __assert_fail () from /lib64/libc.so.6
#8  0x00007f28332821fe in Realm::UCP::UCPInternal::pbuf_get (this=0x55998ec48db0, worker=0x55998e4cac00, size=26496) at /sdf/home/s/seshu/src/legate/arch-linux-py-debug/cmake_build/ucp_context.h:1827
#9  0x00007f283328285f in Realm::UCP::UCPMessageImpl::UCPMessageImpl (this=0x7ee66cc0d530, _internal=0x55998ec48db0, _target=0, _msgid=54, _header_size=32, _max_payload_size=26496, _src_payload_addr=0x0, _src_payload_lines=0, _src_payload_line_stride=0, _src_segment=0x0, _dest_payload_addr=0x0, _storage_size=256) at /sdf/home/s/seshu/src/legate/arch-linux-py-debug/cmake_build/ucp_context.h:1927
#10 0x00007f283327743a in Realm::UCPModule::create_active_message_impl (this=0x55998ec48d00, target=0, msgid=54, header_size=32, max_payload_size=26496, src_payload_addr=0x0, src_payload_lines=0, src_payload_line_stride=0, storage_base=0x7ee66cc0d530, storage_size=256) at /sdf/group/lcls/ds/tools/conda_envs/cunumeric-nightly/lib/gcc/x86_64-conda-linux-gnu/11.4.0/include/c++/network.h:259
#11 0x00007f2832c8fbb0 in Realm::Network::create_active_message_impl (target=0, msgid=54, header_size=32, max_payload_size=26496, src_payload_addr=0x0, src_payload_lines=0, src_payload_line_stride=0, storage_base=0x7ee66cc0d530, storage_size=256) at /sdf/group/lcls/ds/tools/conda_envs/cunumeric-nightly/lib/gcc/x86_64-conda-linux-gnu/11.4.0/include/c++/memory.h:100
#12 0x00007f2833058eca in Realm::ActiveMessage<Realm::BarrierTriggerMessage, 256ul>::init (this=0x7ee66cc0d510, _target=0, _max_payload_size=26496) at /sdf/home/s/seshu/src/legate/arch-linux-py-debug/cmake_build/dynamic_table.inl:53
#13 0x00007f28330534ca in Realm::ActiveMessage<Realm::BarrierTriggerMessage, 256ul>::ActiveMessage (this=0x7ee66cc0d510, _target=0, _max_payload_size=26496) at /sdf/home/s/seshu/src/legate/arch-linux-py-debug/cmake_build/dynamic_table.inl:44
#14 0x00007f28330484b6 in Realm::BarrierTriggerMessage::send_request (target=0, barrier_id=2305860601471041536, trigger_gen=939, previous_gen=111, first_generation=0, redop_id=1048576, migration_target=-1, base_arrival_count=2, data=0x7ee652f764c0, datalen=26496) at /sdf/home/s/seshu/src/legate/arch-linux-py-debug/cmake_build/runtime_impl.h:2091
#15 0x00007f2833049e74 in Realm::BarrierImpl::adjust_arrival (this=0x7ee374203f80, barrier_gen=112, delta=-1, timestamp=0, wait_on=..., sender=0, forwarded=false, reduce_value=0x7ee6b3546bd0, reduce_value_size=32, work_until=...) at /sdf/home/s/seshu/src/legate/arch-linux-py-debug/cmake_build/runtime_impl.h:2494
#16 0x00007f2833048205 in Realm::BarrierAdjustMessage::handle_message (sender=0, args=..., data=0x7ee6b3546bd0, datalen=32, work_until=...) at /sdf/home/s/seshu/src/legate/arch-linux-py-debug/cmake_build/runtime_impl.h:2055
#17 0x00007f283304f75c in Realm::HandlerWrappers::wrap_handler<Realm::BarrierAdjustMessage, Realm::BarrierAdjustMessage::handle_message> (sender=0, header=0x7ee4c9696df0, payload=0x7ee6b3546bd0, payload_size=32, work_until=...) at /sdf/home/s/seshu/src/legate/arch-linux-py-debug/cmake_build/dynamic_table.inl:620
#18 0x00007f28332a3ae5 in Realm::IncomingMessageManager::do_work (this=0x55998f739e70, work_until=...) at /sdf/group/lcls/ds/tools/conda_envs/cunumeric-nightly/lib/gcc/x86_64-conda-linux-gnu/11.4.0/include/c++/ia32intrin.h:740
#19 0x00007f283303cc48 in Realm::BackgroundWorkManager::Worker::do_work (this=0x7ee66cc0f0d0, max_time_in_ns=-1, interrupt_flag=0x0) at /sdf/group/lcls/ds/tools/conda_envs/cunumeric-nightly/lib/gcc/x86_64-conda-linux-gnu/11.4.0/include/c++/ia32intrin.h:600
#20 0x00007f283303a8aa in Realm::BackgroundWorkThread::main_loop (this=0x55999c3ee850) at /sdf/group/lcls/ds/tools/conda_envs/cunumeric-nightly/lib/gcc/x86_64-conda-linux-gnu/11.4.0/include/c++/ia32intrin.h:103
#21 0x00007f283303de4c in Realm::Thread::thread_entry_wrapper<Realm::BackgroundWorkThread, &Realm::BackgroundWorkThread::main_loop> (obj=0x55999c3ee850) at /sdf/home/s/seshu/src/legate/arch-linux-py-debug/cmake_build/mutex.inl:97
#22 0x00007f28331e3318 in Realm::KernelThread::pthread_entry (data=0x55999c4d0e40) at /sdf/home/s/seshu/src/legate/arch-linux-py-debug/cmake_build/_deps/legion-src/runtime/realm/stl_map.h:854
#23 0x00007f28ea1b91cf in start_thread () from /lib64/libpthread.so.0
#24 0x00007f28e969bdd3 in clone () from /lib64/libc.so.6

This error only seems to appear when I run with profiling.

which branch are you using? There is no line 2xxx in runtime_impl.h

commit c032dab254f423ccab36d05c47fed42b94f0b3f5 (HEAD)
Merge: da0427fad 78d10af37
Author: Elliott Slaughter<EMAIL_ADDRESS>Date:   Thu Sep 12 23:37:18 2024 +0000

    Merge branch 'ci-fix-gasnet-stable' into 'master'

    ci: Fix CI for GASNet stable branch

    See merge request StanfordLegion/legion!1463

I thought you were using the new barrier branch. The error means the reduction value used by barrier is too big. Currently, the active message upper limit of UCX is 8K, I am surprised that Legion uses such a big value with barrier. You can try to increase the size to 16K for now https://gitlab.com/StanfordLegion/legion/-/blob/master/runtime/realm/ucx/ucp_internal.cc?ref_type=heads#L67

It needs to be 32K. I also have to run with -ucx:pb_max_size 32768.

@eddy16112 do you expect this will go away with the new barrier implementation or should i leave this issue open for now?

In the new barrier branch, we need to send the tree to child nodes, so we have seen cases that header+tree+payload > max_size, our solution is to divide the tree into fragments, but in your case, header+payload is already larger than max_size, so I do not think we fixed this bug.
Let's keep this bug open for now.

Yeah, I am surprised we are hitting this on the legacy branch. Likely that's just been there for a while and never tested.

I think outside of legate no one really uses ucx. I tried to use ucx on Summit a year ago, but hit #1396 and #1059. Most of the big machines these days are on slingshot-11 now, but the s3df cluster at SLAC is 100Gb ethernet and even with gasnet we would need to use the ucx conduit in that case.

Likely that's just been there for a while and never tested.

The new critical path profiling infrastructure will bang on it in a way that it didn't used to get used very often, which is very likely what is happening here.

@lightsighter I am surprised that the critical path profiling uses such a big reduction data, almost 36K.

I  suspect there is a performance bug in Realm where it always sends the reduced value for all generations which continues to grow larger and larger rather than sending the reduced values for the difference in subscribed generations.

Close by not exactly - the owner can collapse subscribe generations into a single notify active messages depending on what was the latest subscribe generation observed. In case, we are running 1000 gens that would result into a single notification for M subscribers each of which will carry 1000 * reduce_value_size. That is where I think we are hitting this. The solution is in my opinion should be much like we do in the "scalable" barrier branch where you would do a staged-broadcast where a number of stages equals to the max_payload_size / payload_size.

@syamajala Is this blocking? I can consider doing a separate fix if we need it immediately otherwise we can wait for when we merge the scalable barrier branch that should in my opinion address it.

I have a work around for right now so it's not blocking.


How to open pdf result in new tab, not download?

I want to open pdf result in the new browser tab not download to PC. How to do it?

Please use pdf viewer. This is working for me