[BUG] Wuninitialized

Describe the bug
GCC yields uninitialized warnings when we don't specify an else on the conditional, as r_t that is then returned by src.
https://github.com/jfalcou/eve/blob/cb6cc16813d38b9bea85765b6f38db39db6235ad/include/eve/module/core/regular/impl/simd/x86/load.hpp#L63-L68C21
However, Clang fails to optimize well if we do set an altnerate.
To Reproduce
Minimal example of the error:
https://godbolt.org/z/evoKqYTrf
Less minimal example of an error, showing Clang doing a fairly good job optimizing the example away:
https://godbolt.org/z/oo3zYW5sG
Swapping the comment to enable the alternate makes GCC happy, but Clang's codegen is now poor:
https://godbolt.org/z/vecoo554P
I haven't tested to confirm this, but I suspect using the maskz variants of the instructions in case of no conditionals would fix this problem. That is, use _mm512_mask_loadu_pd if there is an alternate, and _mm512_maskz_loadu_pd otherwise.
I could prepare a PR (in which case I could test).

Thank you for rasing this. I'm amazed that ci didn't catch this, we should test with Wall Werror.
If you want to try and fix it, I can support you in that. Otherwise I will have a more indepth look in a bit

Looked a bit more.

In your example clang and gcc codegen is identical, it is just you forgot to pass -DNDEBUG: https://godbolt.org/z/xK66eWhWT

mmaskz can be optimized from not z version by clang /gcc
https://godbolt.org/z/ocE8ena66

msvc ofc can't optimize anything, but I don't know if even we get to that, we care about working around msvc poor optimization https://godbolt.org/z/4x8G4zGs5

I also quickly checked at https://uops.info/table.html If I'm reading that right, there is no advantage to using z or no z version.

Hmm. I'm a bit on the fence here.
I think maskz is a good option. And in order to help with debuggability, perhaps in NDEBUG mode we should always load with some poisoned data in else_.

Identical is really bad for Clang. Without using the .else_(0), clang optimizes most of it away:

test(double*, double*, long):                           # @test(double*, double*, long)
        mov     rax, -1
        shlx    rax, rax, rdx
        not     al
        kmovd   k1, eax
        vmovupd zmm0 {k1} {z}, zmmword ptr [rdi]
        vmovupd zmmword ptr [rdi] {k1}, zmm0
        vzeroupper
        ret
test(double*, double*):                            # @test(double*, double*)
        ret

Yet if we add .else_(0) with DNDEBUG, we get
test(double*, double*, long):                           # @test(double*, double*, long)
        mov     rax, -1
        shlx    rax, rax, rdx
        not     al
        kmovd   k1, eax
        vmovupd zmm0 {k1} {z}, zmmword ptr [rdi]
        vmovupd zmm1 {k1} {z}, zmmword ptr [rsi]
        vaddpd  zmm2, zmm1, zmm0
        vmovupd zmmword ptr [rdi] {k1}, zmm2
        vmovupd zmm2 {k1} {z}, zmmword ptr [rdi]
        vmulpd  zmm2, zmm2, zmm1
        vdivpd  zmm2, zmm2, zmm0
        vmovupd zmmword ptr [rdi] {k1}, zmm2
        vmovupd zmm2 {k1} {z}, zmmword ptr [rdi]
        vmulpd  zmm0, zmm2, zmm0
        vdivpd  zmm0, zmm0, zmm1
        vsubpd  zmm0, zmm0, zmm1
        vmovupd zmmword ptr [rdi] {k1}, zmm0
        vzeroupper
        ret
test(double*, double*):                            # @test(double*, double*)
        mov     al, 127
        kmovd   k1, eax
        vmovupd zmm0 {k1} {z}, zmmword ptr [rdi]
        vmovupd zmm1 {k1} {z}, zmmword ptr [rsi]
        vaddpd  zmm2, zmm1, zmm0
        vmovupd zmmword ptr [rdi] {k1}, zmm2
        vmovupd zmm2 {k1} {z}, zmmword ptr [rdi]
        vmulpd  zmm2, zmm2, zmm1
        vdivpd  zmm2, zmm2, zmm0
        vmovupd zmmword ptr [rdi] {k1}, zmm2
        vmovupd zmm2 {k1} {z}, zmmword ptr [rdi]
        vmulpd  zmm0, zmm2, zmm0
        vdivpd  zmm0, zmm0, zmm1
        vsubpd  zmm0, zmm0, zmm1
        vmovupd zmmword ptr [rdi] {k1}, zmm0
        vzeroupper
        ret

The latter is the same as GCC, but is substantially worse than Clang got without .else_(0).

That is unfortunate. See here how Clang generates substantially better code with the undef than it does with maskz (which is the same as .else_(0), as you noted): https://godbolt.org/z/E6on4TqGK

Because clang was generating {z} loads with the undef, I hoped maskz would be the same as undef. I was too optimistic.
3 & 4. Ha. My concern was over Clang's ability to delete everything. Note my test function is a no-op (given appropriate associativity flags). Also, msvc really doesn't like the undef. https://godbolt.org/z/svcrs6oE3

Identical is really bad for Clang. Without using the .else_(0), clang optimizes most of it away:
Ah - I see - it's a noop with ffast math. It should all go waya in theory.

Ok that's an extra motivation for z.

Do you want to add the maskz fix or do you want me to do it? I am OK either way.
If you want to try, here is the build instructions https://jfalcou.github.io/eve/dev_cmake.html
And you can ping me any time when something doesn't work.

I know why we didn't see it, compiler doesn't show warnings in precompiled headers.
Also, can I ask what you are trying to do? Maybe there's an out of the box solution.

Do you want to add the maskz fix or do you want me to do it? I am OK either way.

Because clang generates better code currently, what do you think about using #ifdef __clang__?

I know why we didn't see it, compiler doesn't show warnings in precompiled headers.

Ah. In the example I tried, gcc would lock up the terminal for several minutes due to the flood of error messages, while clang would compile in a few seconds.
IO dominated the compile times.
Unless there is an automated option, I shouldn't have been using pch, so I'm not sure why clang didn't warn, when it did in your godbolt example from earlier.

Also, can I ask what you are trying to do? Maybe there's an out of the box solution.

My actual example has lots of repeated/matching store->loads with the same masks.
It isn't a no-op under fastmath, I just did that for my example here to make the difference much more obvious.
The repeated store->loads add a lot of latency and severly hurt performance, and it seemed like a compiler really shouldn't have had a problem getting rid of these matching pairs.
But it probably requires some non-trivial analysis specifically for vector operations.
That is, the masked-off lanes could change value, so it'd have to check all uses to make sure these are never used, i.e. that they are also masked off in stores.
This wouldn't have been necessary in the first of the extra store/load pairs, as we did two masked loads, and then added them. That preserves the zeros in the masked off lanes prior to the store->load, which resets them to zero.

Then for a demo, I used that to implement forward-mode auto diff, where vectors of partials are statically sized vectors.
E.g.

template <class T, size_t N> class Dual {
  T val{};
  SVector<T, N> partials{};

public:
  using val_type = T;
  static constexpr size_t num_partials = N;
  constexpr Dual() = default;
  constexpr Dual(T v) : val(v) {}
  constexpr Dual(T v, ptrdiff_t n) : val(v) { partials[n] = T{1}; }
  constexpr Dual(T v, SVector<T, N> g) : val(v), partials(g) {}
  constexpr Dual(std::integral auto v) : val(v) {}
  constexpr Dual(std::floating_point auto v) : val(v) {}
  constexpr auto value() -> T & { return val; }
  constexpr auto gradient() -> SVector<T, N> & { return partials; }
  [[nodiscard]] constexpr auto value() const -> const T & { return val; }
  [[nodiscard]] constexpr auto gradient() const -> const SVector<T, N> & {
    return partials;
  }
  constexpr auto operator-() const -> Dual { return Dual(-val, -partials); }
  constexpr auto operator+(const Dual &other) const -> Dual {

    return {val + other.val, partials + other.partials};
  }
  constexpr auto operator-(const Dual &other) const -> Dual {
    return {val - other.val, partials - other.partials};
  }
  constexpr auto operator*(const Dual &other) const -> Dual {
    return {val * other.val, val * other.partials + other.val * partials};
  }
  constexpr auto operator/(const Dual &other) const -> Dual {
    return {val / other.val, (other.val * partials - val * other.partials) /
                               (other.val * other.val)};
  }
  constexpr auto operator+=(const Dual &other) -> Dual & {
    val += other.val;
    partials += other.partials;
    return *this;
  }
  constexpr auto operator-=(const Dual &other) -> Dual & {
    val -= other.val;
    partials -= other.partials;
    return *this;
  }
  constexpr auto operator*=(const Dual &other) -> Dual & {
    val *= other.val;
    partials = val * other.partials + other.val * partials;
    return *this;
  }
  constexpr auto operator/=(const Dual &other) -> Dual & {
    val /= other.val;
    partials << (other.val * partials - val * other.partials) /
                  (other.val * other.val);
    return *this;
  }
  constexpr auto operator+(double other) const -> Dual {
    return {val + other, partials};
  }
  constexpr auto operator-(double other) const -> Dual {
    return {val - other, partials};
  }
  constexpr auto operator*(double other) const -> Dual {
    return {val * other, other * partials};
  }
  constexpr auto operator/(double other) const -> Dual {
    return {val / other, partials / other};
  }
  constexpr auto operator+=(double other) -> Dual & {
    val += other;
    return *this;
  }
  constexpr auto operator-=(double other) -> Dual & {
    val -= other;
    return *this;
  }
  constexpr auto operator*=(double other) -> Dual & {
    val *= other;
    partials *= other;
    return *this;
  }
  constexpr auto operator/=(double other) -> Dual & {
    val /= other;
    partials /= other;
    return *this;
  }
  constexpr auto operator==(const Dual &other) const -> bool {
    return val == other.val; // && grad == other.grad;
  }
  constexpr auto operator!=(const Dual &other) const -> bool {
    return val != other.val; // || grad != other.grad;
  }
  constexpr auto operator==(double other) const -> bool { return val == other; }
  constexpr auto operator!=(double other) const -> bool { return val != other; }
  constexpr auto operator<(double other) const -> bool { return val < other; }
  constexpr auto operator>(double other) const -> bool { return val > other; }
  constexpr auto operator<=(double other) const -> bool { return val <= other; }
  constexpr auto operator>=(double other) const -> bool { return val >= other; }
  constexpr auto operator<(const Dual &other) const -> bool {
    return val < other.val;
  }
  constexpr auto operator>(const Dual &other) const -> bool {
    return val > other.val;
  }
  constexpr auto operator<=(const Dual &other) const -> bool {
    return val <= other.val;
  }
  constexpr auto operator>=(const Dual &other) const -> bool {
    return val >= other.val;
  }
};

These may be nested if we're interested in higher order derivatives.
I also wanted the memory layout to be compatible with Julia's ForwardDiff.jl, which uses a packed layout. This means we can't do the obvious thing and store SIMD vectors for our inner most partial derivatives directly (by inner most, I mean when std::floating_point<T>, for outer ones, T would itself be Dual).
My long term goal is to work on LLVM loop optimization for optimizing the libraries, but short term, I thought it'd be fun to play with eve (and if results went well there, that could be a baseline for the loop optimizer).
Part of the motivation there was that without vectorizing, the C++ code using the dual numbers compiled several times faster than Julia for a simple problem (80 seconds for Julia, 20s for Clang), while using many fewer lines of code that were also easier to read. It also ran several times faster (e.g. 780us for Julia, 220us for Clang).
Yet, when looking at the assembly, C++'s was extremely bad. Julia's obviously wasn't good either, but the performance difference came from RAII >>>> Julia's garbage collector.
The difference in lines of code also came from (1) painstakingly trying to work around the GC in Julia, and (2) less sophisticated templating system in Julia for fusing operations, meaning more had to be written out in manual loops to avoid allocations.
I figured if it was easy to get another several factor improvement in the C++ code, it'd be interesting to try.
For reference, templating, wrapping eve.
There may be better ways to do this, of course.
Why not use something like Eigen?
Because my actual use case is currently using integer arithmetic for everything, and hence needs integer-preservig algorithms.
Although I am thinking about switching to using double instead of int64_t for representing integers. double is exact for all integers with absolute value <= 2e53, with the advantage of setting FE_INEXACT if they ever round, making cheap checks easy, compared to using SIMD integer arithmetic.

Because clang generates better code currently, what do you think about using #ifdef clang?

I'm a bit confused with this - did you try maskz? Because the correct solution seems to be to use maskz.

Ah. In the example I tried,  ...

this is mostly a note for us - why our ci didn't trigger on this.

More background: ...

There is a lot that I unfortunately don't quite follow. But, looking at your class, did you consider padding  your array to 32 or 64 bytes? Then you won't push into an insane latency of masked loads.
If I was writing this, I'd do smth like:
template <class T, size_t N> class Dual
  requires (N < 64 / sizeof(T))
 {
  std::array<T, 64 / sizeof(T)>

And then used the first or last element as val.

I'm a bit confused with this - did you try maskz? Because the correct solution seems to be to use maskz.

I tried it: https://godbolt.org/z/E6on4TqGK

There is a lot that I unfortunately don't quite follow. But, looking at your class, did you consider padding your array to 32 or 64 bytes? Then you won't push into an insane latency of masked loads.

I wanted the same memory layout as Julia's ForwardDiff.Dual uses, for the same of comparing a Julia implementation of a function with ccalling C++ code.

I tried it: https://godbolt.org/z/E6on4TqGK

Hmm. Maybe you want to have your own load function that returns you an eve::wide for now? If unutialized is helpful, maybe then we should disable the warning there.

I agree that padding would be better, but the Julia library uses dense.

Do you know the N in your example by any chance? latency 9 is a lot, maybe if the length is known, some other cobination would be good

You can look at this: https://godbolt.org/z/vYG6eK98z
And see the difference replacing zeroinitializer with undef makes for Clang.

latency 9 is a lot

That is a lot of latency, but seems to only be 1 extra cycle compared to the unmasked variant (9,9,6 vs 8,8,5). Measured throughput is also a little worse, but fairly comparable.
https://uops.info/html-instr/VMOVUPD_ZMM_M512.html
https://uops.info/html-instr/VMOVUPD_ZMM_K_M512.html
That (and benchmarks) are why I'm also a big fan of predicated epilogue vectorization (which eve dpes, but neither LLVM or GCC, currently do).

Do you know the N in your example by any chance?

N is chosen dynamically by our program; there is no reason we can't round the inner-most N (i.e., the one where T = double) up to the next multiple of SIMD vector width, or next power of 2 if N is smaller.
I'll make the case that this is worth doing.

Are you specializing for double then?

The SVector type's arithmetic operations are specialized for std::integral<T> || std::floating_point<T>.


PDAppearanceEntry.isStream() on a null object reference

when I try to open a pdf and I get the object to insert the value inside the pdftextfield it returns a null in the PDAppearanceEntry.

isStream()

Resolved in <IP_ADDRESS>+


Add better support for using CloudBigtableIO in a Dataflow template

We are currently using CloudBigtableIO to do a scheduled scan of a bigtable.  To do this we use Dataflow Templates.  It seems that in order for this to work right, CloudBigtableIO would need to support passing in ValueProvider's for configuration.
Currently when trying to upload a "dataflow template" that uses CloudBigtableIO, it is making a connection to bigtable when the getEstimatedSizeBytes method gets called which will work when run locally since the gcloud credentials are there but fails when building in CI. This doesn't actually fail the template upload but is causing some long delays in CI.
I apologize if this doesn't make much sense, still wrapping my head around Dataflow.

Are you creating your own dataflow job?  If so, it might just be simpler to schedule a maven command line, or running a java command rather than creating a Template.
I don't have a great understanding of templates, but I do understand that getEstimatedSizeBytes is run earlier than other Beam methods.  I don't have a great answer for you about your CI problem, because I don't completely understand your deployment environment, nor do I have insights into the behavior of Dataflow Templates relating to getEstimatedSizeBytes.   Perhaps you can use a json service account in your CI?

Yea.  It's starting to seem like the only point of templates are to allow kicking off dataflow's without needing the JRE and the actual dataflow jar.  For us that is super handy but it does seem like lot of beam sources and sinks don't play well with the idea.
We will probably try to get away from using templates as they seem to be a pain and not well supported.


Refactor MistralClient Class

I've been working rather quickly to implement the API, and a refactor is needed to cleanup the MistralClient class. I plan to split the GetAvailableModelsAsync() and ChatAsync() methods into smaller private methods to handle the conversion to DTO classes as they're currently quite long.

Currently working on this, started with this commit:
https://github.com/markjamesm/MistralSharp/commit/4b6c03e2a2cd0102d46fe2a42e53a4b5087c0073


python 3.8 support

Checklist

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

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

@conda-forge-admin, rerender

@nehaljwani, according to https://github.com/pyinstaller/pyinstaller/issues/5185#issuecomment-696382896, 4.0 had only a couple of issues for python 3.8, so, I'm sending this PR to see how far it goes.

@conda-forge-admin, rerender

@conda-forge/pyinstaller, this is ready for review. Adding python3.8 support because osx-arm64 platform doesn't support py<38.

@conda-forge-admin, rerender

Upstream has not made a release with Python 3.8 support as noted in the other PR trying to do this ( https://github.com/conda-forge/pyinstaller-feedstock/pull/34#issuecomment-581073747 )

That's true, but see https://github.com/pyinstaller/pyinstaller/issues/5185#issuecomment-696382896, which means it's okay to have it until there's a new release. (Same issue with python 3.9. None of the software that we are building in the python 3.9 migration has a python 3.9 release, but most of them work enough to add a build)

I can disable py38 for other platforms and keep it only for osx-arm64 if you prefer.

I'm fine with merging this unless someone objects in the next 24 hours.

Right on time. :smile: Thanks @nehaljwani


Quat(Vector3 euler) constructor is broken

Godot version: 3.1 stable

OS/device including version: any

Issue description: as stated in title. there is work around, by setting Euler "set_euler(Vector3 euler)" after create Quad using default constructor. but still it have to work right ?

Steps to reproduce: -
Minimal reproduction project: -

Since #27792 is on the 4.0 milestone, this issue should be too.


Fixes issue #1432 by not logging normal behaviour to error.log and using APLOG_DEBUG instead

Apparently APLOG_TRACE3 is not supported on older versions of Apache/APR (2.2.x) so AP_LOG_WARNING was used on #1340 but caused logs to flood. This patch suggests using APLOG_DEBUG which should be safe for all supported versions of Apache/APR.

Merged. Thanks ;)


WIP Gregorian Calendar in FoundationEssentials

Part 1: dateComponents(from date:)
Implement dateComponents(from date:). The implementation largely follows that of ICU in calendar.cpp and gregocal.cpp. Julian day calculation algorithm is referenced The Explanatory Supplement to the Astronomical Almanac.
First, calculate the Julian day number from a given Date. Then, convert the Julian day number to Gregorian calendar date fields[^1]. The remaining part is the time within the day.
There are a few things to look out for

Julian day starts at noon, while Date uses midnight as the reference time, so we need to adjust it acccordingly at every conversion. Note that ICU uses Modified Julian Day number throughout their codebase, which starts at midnight, so
Dates close to Gregorian calendar adoption, which is also referred as "cutover" or "transition" date interchangeably, needs to be handled with care. Date before the adoption date were represented in Julian Calendar and Gregorian Calendar after the adoption date. The common Gregorian Calendar adoption date is Friday, 15 October 1582. It's also customizable in the API.
The week number of a month and a year depends on firstWeekday and minimumDaysInFirstWeek values. The week starts at firstWeekday. Week one must contain minimumDaysInFirstWeek number of days.

[^1]: A nice readable version of the Julain - Gregorian converting algorithm: https://en.wikipedia.org/wiki/Julian_day#Julian_day_number_calculation.
Co-authored by @parkera
Part 2: date(from components:)
The implementation also largely follows that of ICU. The logic follows this pattern generally

Calculate the Julian day number from a given year, month, day of month number
Add time field values if they are set
Adjust for timezone offset

The complexity lies in the following situations
(1) The passed-in date components lacks essential fields to determine the Julian day number
(2) The date components has week-related fields set, but no year, month, day of month fields set
(3) The date components has both week-related fields and month, day of month fields set
(4) The day is near Gregorian calendar transition date
For (1), simply assume the start of the year/month/day if the field is missing. The value would be either 0 or 1, depending on if it's 0 or 1 indexed.
For (2), calculate the julian day of the start of the month. Advance by multiples of the given week number.
For (3), we need to determine which fields take over precedence of others. ICU tracks the order of when the fields are modified; newly modified ones always take precedence over past ones. We have not been using this mechanism at all in existing Calendar_ICU's implementation. Instead we've been setting the fields arbitrarily. Therefore, here we simplify ICU's heuristics by  assuming the timestamps of modified fields are all equal.
For (4), recalculate the date using Julian calendar if the found date is before Gregorian transition date.

@swift-ci please test

@swift-ci please test

I believe this should allow us to implement ISO 8601 formatting and build Date.Description (#179)  on top of this one  (cc @FranzBusch

@swift-ci please test

@swift-ci please test

@swift-ci please test


⚠ sgmgrpc.serverssh.us has degraded performance

In 9a6d992, sgmgrpc.serverssh.us (http://sgmgrpc.serverssh.us/) experienced degraded performance:

HTTP code: 200
Response time: 25337 ms

Resolved: sgmgrpc.serverssh.us performance has improved in d4bf95f.


Refactor WebCord's configuration structure.

This is an experimental branch to switch WebCord configuration to be more dynamic, i.e. generate GUI accordingly to the current fallback localization strings and the default configuration structure. At time it was initialized, it is likely to fail even at compile time, as it wasn't tested at all and the code was not adopted for the new default configuration structure.
You can subscribe to this Pull Request to get with up-to-date with changes I will push to it and to help me with testing. Right now, I feel there's not much to test, but if you have good knowledge about TypeScript and its advanced types, you can review my code in order to find a type/logical errors with its implementation (i.e. errors not caused by default configuration structure changes).

Looks like I've fixed most of the issues. Just need tester and code reviewers to find potential bugs before I pull this to master.


replace_row backend

It would be better if the row also supports list as type

Unclear to me why this needs to be included in the backend...?

you can ask the same about any other backend function.
they help write tensor expressions that works on both theano and tf.

Pretty much all backend functions are in use in the Keras source code. A new backend function needs a justification.
replace_rows is a non-standard function (i.e. it has no direct equivalent in Numpy, TF or Theano). We try to avoid such functions.

so that's another keras-extras function I guess

I disagree. It is a small feature ~8 lines of code. It does dont modify any existing code in any way (unlike forcing LSTMBN into LSTM) and it can be even kept undocumented, either you find it and use it or you dont... so I really dont see what is to loose here


Avoid duplicated ids in analysis at the analyses tree

Avoid duplicated ids in analysis for the same visualization through the analyses tree.
For example, if A3 is persisted, and a new request arrives to create A4, it will create a new one, not update A3 (which would make sense, I think). I guess the behaviour with this PR is enough, but I wanted to mention it.
cc @javitonino

This will be tackled during the next refactor of analysis, so this is old now.


Added OpenMandriva

There shouldn't be any issues, but if there are inform me about them and i will try to resolve them as fast as possible.

Thanks


Upload not work

From Yesterday upload not work on oshi.at
Can you help me?

Problem still occurr

oshi.at has been constantly attacked lately (DDoS and abuse reports) which made us switching frontend server providers and some of them weren't of good quality. This situation will normalize soon once we find a decent frontend server provider for our service.
However, our backend server is not affected by this and is always reachable via .onion link: http://5ety7tpkim5me6eszuwcje7bmy25pbtrjtue7zkqqgziljwqy3rrikqd.onion

oshi.at has been constantly attacked lately (DDoS and abuse reports) which made us switching frontend server providers and some of them weren't of good quality. This situation will normalize soon once we find a decent frontend server provider for our service.
However, our backend server is not affected by this and is always reachable via .onion link: http://5ety7tpkim5me6eszuwcje7bmy25pbtrjtue7zkqqgziljwqy3rrikqd.onion

oshi.at has been constantly attacked lately (DDoS and abuse reports) which made us switching frontend server providers and some of them weren't of good quality. This situation will normalize soon once we find a decent frontend server provider for our service.
However, our backend server is not affected by this and is always reachable via .onion link: http://5ety7tpkim5me6eszuwcje7bmy25pbtrjtue7zkqqgziljwqy3rrikqd.onion


jenkins

Problem description

Problem location

I saw a problem on the following URL:

I couldn't find the information I wanted. I expected to find it near the following URL:

Other:

Project version(s) affected

Suggestions for a fix

@dharmendracse There's isn't any information on the ticket for us to take action on. I'm closing the issue here for that reason. Feel free to add more information on the ticket to continue the conversation.


[BUG] model的forward函数接收attention_mask的时候，若attention_mask[i, 0]==0，则序列i输出的logits全都是NaN值

是否已有关于该错误的issue或讨论？ | Is there an existing issue / discussion for this?

[X] 我已经搜索过已有的issues和讨论 | I have searched the existing issues / discussions

该问题是否在FAQ中有解答？ | Is there an existing answer for this in FAQ?

[X] 我已经搜索过FAQ | I have searched FAQ

当前行为 | Current Behavior
qwen-7b-chat调用forward函数的时候，如果attention_mask的第一个元素是0，输出就会是Nan值
当attention_mask是全1的时候表现正常
attention_mask:

输出：

当attention_mask首位为0时，输出全为NaN值
attention_mask：

输出：

同时我也测试过，如果首位不是0，其他位置出现0，模型forward函数也不会输出NaN值
期望行为 | Expected Behavior
期望行为是，不论attention_mask如何，forward函数都不输出NaN值
复现方法 | Steps To Reproduce
如“当前行为”章节的截图所示，只需将attention_mask的首位置0即可（模仿left-padding的padding行为），然后调用model的forward函数就会得到对应全NaN的输出
运行环境 | Environment
- OS: Ubuntu 20.04.6 LTS (Focal Fossa)
- Python: 3.11.4
- Transformers: 4.39.3
- PyTorch: 2.1.2
- CUDA (`python -c 'import torch; print(torch.version.cuda)'`): 12.1

备注 | Anything else?
No response

Hi, I'm not sure I understand your use case. May I know what results you were expecting? You have literally prevented the initial position from attending to itself and it should be expected that the model did not know what next token would be.

yeah sorry that I may not make it clear.
I was trying to use model.forward function directly rather than calling model.generate function, in order to observe its behavior in the forward pass.
My input is of different lengths, so I have to pad them to the same lengths. I used left padding, prepending  tokens. In my opinion, those pad tokens should not be attended, and attention_mask is used in this scenario, setting those positions to 0 so that the model won't attend to those pad tokens in the forward pass.
However, I got all NaN logits, which confuses me. I tried not to pass the attention_mask parameter, and there are no NaN values in the logits, which is I expected. So I infer that this may be the problem of the attention_mask. To further locate the problem, I tried different attention_masks, finally found out that If we set the first position to 0 (in which case the model won't attend to the first token which is a pad token), the return values of model.forward function , i.e., the logits, will all be NaN values.
Also, I tried Qwen1.5-7B-Chat model, and it does not have this problem, i.e., even if I set the attention_mask of the first position to 0, the output will still be free of NaN values. So I suspect that this may be a problem of Qwen-7B-Chat.
But also, I may make mistakes, please let me know if I do.

And If the masked tokens in the left positions should not know what the next token should be due to that they are prevented from attending to themselves, why are the logits of other un-masked positions (the right positions ) are also NaN values? Did I get it wrong?

Hi, after reading through your comments, and if I understood correctly, Qwen1.5 was working as you would expect. I would suggest just using Qwen1.5.
P.S.: Investigating the original issue is more complicated than it appeared. Was flash attention enabled? Were you following the instructions in README to do batch inference?

遇到了相同的问题，

不用flash-attn batchsize=1可以正常出结果   batchsize>1时候有padding的样本过模型后输出为nan
安装flash-attn 就好了

Hi, Qwen1.0 models and code will not be updated anymore. Please try Qwen2.0 instead.

遇到一样的问题，qwen2模型做cls任务，在使用flash-attn 正常，不使用时就会出现nan问题，目前onnx导出好像还不支持flash-attn 的算子，导出报错

遇到了相同的问题，

不用flash-attn batchsize=1可以正常出结果   batchsize>1时候有padding的样本过模型后输出为nan
安装flash-attn 就好了

+1，同样遇到了这个问题，同样的现象。训练没问题，但推理的时候bs>1输出就是nan，请问有解决方案了吗？

遇到了相同的问题，

不用flash-attn batchsize=1可以正常出结果   batchsize>1时候有padding的样本过模型后输出为nan
安装flash-attn 就好了

+1，同样遇到了这个问题，同样的现象。训练没问题，但推理的时候bs>1输出就是nan，请问有解决方案了吗？

更新：我试了下把torch降到2.0.1的版本就可以用batch_size > 1推理了，但torch2.4就是不行。。

遇到了相同的问题，

不用flash-attn batchsize=1可以正常出结果   batchsize>1时候有padding的样本过模型后输出为nan
安装flash-attn 就好了

+1，同样遇到了这个问题，同样的现象。训练没问题，但推理的时候bs>1输出就是nan，请问有解决方案了吗？

更新：我试了下把torch降到2.0.1的版本就可以用batch_size > 1推理了，但torch2.4就是不行。。

Qwen2 + torch2.5 还是有这个问题，请问你在高版本的torch上找到解决方案了吗。


#3306: Position clear button before the inline content of .select2-selection__rendered

This should fix #3306, however I only tested in Google Chrome v43.0.2357.130.

Confirmed to work on Firefox 40.0.3

@kevin-brown Can this be merged please? :-)


Spotify Web API crashes on API<26

A recent Spotify Web API client update is using a newer Java Time API that isn't available on older phones, and the analytics has noticed (at least) two Android Nougat users are encountering a crash due to this. An attempted workaround in 351971a seems to have not fully fixed it, but the library author is amenable to releasing a version that doesn't use the new Java Time API.
This tracking issue is to remind me to update to the new library version when it is released.

@hufman thought I'd give a personal update asap.
Version 3.8.2 of spotify-api-kotlin-android is being synced to central and should be available within the next few hours. Could you let me know if you run into any additional bugs around any java 8 apis?
The relevant code change is here.

Great, I'll let you know!

This should be fixed by 4324247


[5.0] qualified primary key method added for primary key of joined table

Description:
Database generates 'ambiguous column id' error when I use joins in global scope for the model with SoftDeletes
Steps To Reproduce:

Use SoftDeletes in the model whose primary key is 'id'
Write a global scope for the model and join to table who has a column named 'id'
Try to delete the model.

Solution
Use fully qualified primary key name when using joins.

Description?

Oh sorry, Here it is.
Database generates 'ambiguous column id' error on using joins in global scope for the model with SoftDeletes.
Linked to this pull request Ambiguous column id error

Laravel 5.0 is end of life at this time.


unfollow keep_history argument change not mentioned in changelog

In version 4.0.0, the feed unfollow method signature changed from
unfollow(target_feed_slug, target_user_id, keep_history = false)

to
unfollow(target_feed_slug, target_user_id, keep_history: false)

Could the Changelog be retrospectively updated to mention this as a breaking change please?
gz#10769

remove_activity was also changed. Added into changelog. Thanks for your attention.

Fantastic, thanks!


Update the State of the Release plan workitem as the release plan state changes in the app

Release plan:

Created -> "Not Started"
API Readiness app opened, the state of the Release plan changes to "In progress" so the Release plan WI needs to be "In Progress"
Finished -> Same as above but with finished
Abandoned (right now this is manual. If this happens, both release plan and WI need to be updated)

Created a new cloud flow Automated Release Plan Sync State to sync the status changes from Dataverse to work item so it handles all scenarios including manual change to Abandoned


10/29/2018 05:48 : Create Pull Request for branch prTesting_2018102905 -> master

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details
Dependent Files

split/updateTestCon.md
:white_check_mark:Succeeded

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


Fixing: polling not working after upgrade (issue #9)

Fixes reported issue (#9) in which polling is not working upon upgrading from v2.1.1 to v.2.0.0.
There are two possible fixes:

create an upgrade script to set the default config
set the default polling config to false

I opted for the latter so we don't opt upgrading users into polling automatically upon upgrading.

closed

closed


[Indexer] Add index storage interfaces and base in-memory implementation

Related: https://github.com/onflow/flow-evm-gateway/issues/17
This is the first part of the PRs that will implement persistent storage. An interfaces have been defined for the indexers as well as a simple in-memory implementation that satisfies the definitions. A simple test suite has been added that validates expected and defined behaviour of the interface implementations.

For contributor use:

[ ] Targeted PR against master branch
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Code follows the standards mentioned here.
[ ] Updated relevant documentation
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Added appropriate labels

@sideninja Just a reminder, later on, we'll also need a mapping that correlates Flow block heights with EVM block heights, to support the JSON-RPC endpoints which accept optional past block numbers.


Bug: Spying on setup methods doesn't work as expected

Describe the bug
I faced a strange issue during testing my application. Please see this example for better context.
Imagine you want to test the Counter component and incrementCounter method in it. Simple test example should look like this:
test('should react on click event', async () => {
    const wrapper = shallowMount(Counter);
    const incrementCounterFn = vi.spyOn(wrapper.vm, 'incrementCounter');

    await wrapper.find('button').trigger('click');

    expect(incrementCounterFn).toHaveBeenCalled();
});

But I get a strange error:
AssertionError: expected "incrementCounter" to be called at least once

At the same time, I have one more component Conter2. It is the same component, but it uses an "old" version of setup function and tests for this component work fine.
Can someone help me with this?
To Reproduce
Repo example
Expected behavior
Both tests should run without any errors
Related information:

@vue/test-utils version: 2.0.2
Vue version: 3.2.37
node version: 16.14.2
npm (or yarn) version: 7.17.0

have the same problem

Related to my issue https://github.com/vuejs/vue-test-utils/issues/1995

The only way to get around with this issue for now is to put that function into a composable or another file
const mockIncrement = vi.fn()
vi.mock('@/composables/counter', () => ({
  useCounter () {
    return {
      incrementCounter: mockIncrement,
    }
  },
}))

test('should react on click event', async () => {
    const wrapper = shallowMount(Counter)

    await wrapper.find('button').trigger('click');

    expect(mockIncrement).toHaveBeenCalled();
})

I know it's overkill if that function is only used in a single component.

I think this is related to the fact, that the component internal instance is closed and (normally) not accessable from outside.
In your case I would:

Test the real behavior (as a user), and not rely on implementation details

or if not possible/too complicated to test

Use a composable and mock it (as @wobsoriano did)

IMO when it is too complicated to test, then it is no overkill to move it into another file. So the composable can be tested in isolation

@freakzlike In our current system, we went to option 1 since we have tons of components and we don't want to create a separate composable for each one

@freakzlike  In our current app, we went with option 1 since we have tons of components and we don't want to create a separate composable for each one

@freakzlike In our current app, we went with option 1 since we have tons of components and we don't want to create a separate composable for each one

Of course option 1 is the best solution. Mocking something is always a risk of having wrong integrations and therefore untested use cases.
I will close this issue for now. Feel free to reopen, when one if my solution does not fit your needs

@freakzlike @wobsoriano thanks for your answers
It works with the separate composable as expected and you are right saying that it is better to do a kind of "user testing", I mean don't rely on function call, but on the actual result. But sometimes, you can face the situation that you cannot check the result and you need to check whether the function has been called. For example, I have a problem with forcing the focus state. If you don't have a separated variable, let's say isFocused in your setup, you cannot determine if the element was focused. I had some trouble accessing document.activeElement during the mounting, so checking if the function had been called was the only option.
Do you have any plans to add the support for "new" setup support?

I don't think this will be added as it is also not possible to spy on a function call within a js module. I would recommend you to use some real browser E2E testing (like Cypress) for such cases.

I have a couple of basic components that react to a click interaction. On one of them, we can spy the method making a cast (in order to avoid a typing error) of the object like it is described here, for example:
const wrapperCast = (wrapper.vm as unknown as { openTab: () => void; });
const spy = vi.spyOn(wrapperCast, 'openTab');

and it works (the test fails/passes depending on the changes we made).
On the other hand, the other test is very similar to the first one, and even reduce it to the minimum expression we can't spy the method:
<script setup lang="ts">

function onLogout() {
  console.log('foobar')
}

</script>

<template>
  <button type="button"
    data-testid="logout-button"
    @click="onLogout"
  >
    Logout
</button>
</template>

I know that the above test maybe it makes sense to test via an E2E tool because it is a direct reaction: the user clicks - the component reacts, but I think it should be available at least a way to spy these kinds of methods without the option to move it to an external file or using something like Cypress or writing my component using the Options API.

I'm not sure if this works but you can try this:
<script setup lang="ts">
function onLogout() {
  console.log('foobar')
}
const helper = {
  onLogout
}
</script>

<template>
  <button @click="helper.onLogout">Logout</button>
</template>

const spy = vi.spyOn(wrapper.vm.helper, 'onLogout')

For this particular example it works, thanks. But if I apply this solution to the full component it fails (maybe because of another collateral effect or whatever that I need to check).
Anyway, although your solution works, it is a little weird if finally, I need to wrap all the methods in an object "like" if we are exposing them using defineExpose.

Yep, it also works thanks. I forgot to mention that although it is weird to wrap the methods, I would prefer to do this instead of other possible options commented on before.

Yeah I think it makes more sense: you would add the parenthesis if you had a parameter anyway @click=onLogout($event). In my teams we prefer to always have the parenthesis and be consistent.
The only way we get rid of this behavior would be to change the generated code by Vue itself, but I'm not sure that's worth it.


Save watched videos to YouTube watch histstory

Is it possible to have watched videos remembered in my YouTube watch history? I have the local history configured, but it would be nice to have videos saved to the YouTube watch history when switching between devices.

Unfortunately, this is not possible.


std::exception::what: unrecognised option 'genesis-json'

eosio version:v1.3.0
Today I upgraded to the latest version cannot start, error message as follows
nodeos --data-dir /data/home/admin/EOSmainNet --config-dir /data/home/admin/EOSmainNet  --genesis-json /data/home/admin/EOSmainNet/genesis.json

2018-09-19T04:02:22.503 thread-0   main.cpp:136                  main                 ] Throw location unknown (consider using BOOST_THROW_EXCEPTION)
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::unknown_option> >
std::exception::what: unrecognised option 'genesis-json'

config.ini
#producer-name = !!!!YOUR_BP_NAME!!!!!!!!
    #signature-provider = YOUR_BLOCK_SIGN_PUB_KEY=KEY:YOUR_BLOCK_SIGN_PRIV_KEY

    agent-name = AgentName

    blocks-dir = "/data/home/admin/EOSmainNet/blocks"
    genesis-json = "/data/home/admin/EOSmainNet/genesis.json"
    chain-state-db-size-mb = 8192
    reversible-blocks-db-size-mb = 340
    contracts-console = false

    http-server-address = <IP_ADDRESS>:28883
    p2p-listen-endpoint = <IP_ADDRESS>:28884
    p2p-server-address = 10.100.172,235:28884
    #bnet-endpoint = !!YOUR_ENDPOINT_IP_ADDRESS!!:9876
    bnet_threads = 1

    access-control-allow-origin = *
    # access-control-allow-headers =
    # access-control-max-age =
    #access-control-allow-credentials = false

    #p2p-max-nodes-per-host = 4

    # actor-whitelist =
    # actor-blacklist =
    # contract-whitelist =
    # contract-blacklist =
    # filter-on =

    # SSL
    # Filename with https private key in PEM format. Required for https (eosio::http_plugin)
    # https-server-address =
    # Filename with the certificate chain to present on https connections. PEM format. Required for https. (eosio::http_plugin)
    # https-certificate-chain-file =
    # Filename with https private key in PEM format. Required for https (eosio::http_plugin)
    # https-private-key-file =

    allowed-connection = any

    log-level-net-plugin = error
    max-clients = 150
    connection-cleanup-period = 30
    network-version-match = 1
    sync-fetch-span = 2000
    enable-stale-production = false

    max-implicit-request = 1500
    pause-on-startup = false
    max-transaction-time = 30000
    max-irreversible-block-age = -1
    txn-reference-block-lag = 0

    plugin = eosio::chain_api_plugin
    plugin = eosio::history_plugin
    plugin = eosio::history_api_plugin
    plugin = eosio::chain_plugin
    plugin = eosio::bnet_plugin

    #plugin = net_plugin
    #plugin = net_api_plugin

    #bnet-connect =
    #bnet-connect =
    #bnet-connect =

    #p2p-peer-address =
    #p2p-peer-address =
    #p2p-peer-address =

    #p2p-peer-address = <IP_ADDRESS>:9876
    #p2p-peer-address = <IP_ADDRESS>:9876

    #Other Pub BP nodes
    #p2p-peer-address =
    #p2p-peer-address =
p2p-peer-address = <IP_ADDRESS>:9876
p2p-peer-address = <IP_ADDRESS>:9876
p2p-peer-address = <IP_ADDRESS>:9876
p2p-peer-address = <IP_ADDRESS>:59876
p2p-peer-address = <IP_ADDRESS>:19876
p2p-peer-address = <IP_ADDRESS>:19877
p2p-peer-address = <IP_ADDRESS>:5556
p2p-peer-address = 807534da.eosnodeone.io:19872
p2p-peer-address = api-full1.eoseoul.io:9876
p2p-peer-address = api-full2.eoseoul.io:9876
p2p-peer-address = api.eosuk.io:12000
p2p-peer-address = boot.eostitan.com:9876
p2p-peer-address = bp.antpool.com:443
p2p-peer-address = bp.cryptolions.io:9876
p2p-peer-address = bp.eosbeijing.one:8080
p2p-peer-address = bp.eosmedi.com:9877
p2p-peer-address = bp.libertyblock.io:9800
p2p-peer-address = br.eosrio.io:9876
p2p-peer-address = dc1.eosemerge.io:9876
p2p-peer-address = eos-seed-de.privex.io:9876
p2p-peer-address = eos.nodepacific.com:9876
p2p-peer-address = eos.staked.us:9870
p2p-peer-address = eosapi.blockmatrix.network:13546
p2p-peer-address = eosboot.chainrift.com:9876
p2p-peer-address = eosbp.buildteam.io:8532
p2p-peer-address = eu-west-nl.eosamsterdam.net:9876
p2p-peer-address = eu1.eosdac.io:49876
p2p-peer-address = fn001.eossv.org:443
p2p-peer-address = fullnode.eoslaomao.com:443
p2p-peer-address = m.eosvibes.io:9876
p2p-peer-address = mainnet-eos.wancloud.cloud:55576
p2p-peer-address = mainnet.eoscalgary.io:5222
p2p-peer-address = mainnet.eoseco.com:10010
p2p-peer-address = mainnet.eosoasis.io:9876
p2p-peer-address = mainnet.eospay.host:19876
p2p-peer-address = mars.fnp2p.eosbixin.com:443
p2p-peer-address = node.eosflare.io:1883
p2p-peer-address = node.eosio.lt:9878
p2p-peer-address = node.eosmeso.io:9876
p2p-peer-address = node1.eoscannon.io:59876
p2p-peer-address = node1.eosnewyork.io:6987
p2p-peer-address = node2.eosnewyork.io:6987
p2p-peer-address = p.jeda.one:3322
p2p-peer-address = p2p.eos.bitspace.no:9876
p2p-peer-address = p2p.eosdetroit.io:3018
p2p-peer-address = p2p.eosholding.ca:9876
p2p-peer-address = p2p.eosio.cr:1976
p2p-peer-address = p2p.eosio.cr:5418
p2p-peer-address = p2p.genereos.io:9876
p2p-peer-address = p2p.mainnet.eosgermany.online:9876
p2p-peer-address = p2p.mainnet.eospace.io:88
p2p-peer-address = p2p.meet.one:9876
p2p-peer-address = p2p.unlimitedeos.com:15555
p2p-peer-address = peer.eosjrr.io:9876
p2p-peer-address = peer.eosn.io:9876
p2p-peer-address = peer.main.alohaeos.com:9876
p2p-peer-address = peer1.mainnet.helloeos.com.cn:80
p2p-peer-address = peer2.eosthu.com:8080
p2p-peer-address = peer2.mainnet.helloeos.com.cn:80
p2p-peer-address = peering.mainnet.eoscanada.com:9876
p2p-peer-address = peering1.mainnet.eosasia.one:80
p2p-peer-address = peering2.mainnet.eosasia.one:80
p2p-peer-address = pub0.eosys.io:6637
p2p-peer-address = pub2.eostheworld.io:9876
p2p-peer-address = publicnode.cypherglass.com:9876
p2p-peer-address = seed1.greymass.com:9876
p2p-peer-address = seed2.greymass.com:9876

This is weird. Can you try to remove the --genesis-json parameter from your command line? It might be conflict with the one in config.ini.

nodeos --data-dir /data/home/admin/EOSmainNet --config-dir /data/home/admin/EOSmainNet

I get the same result

any updates? same error here

--genesis-json is only valid via the command line. It is not allowed in the config.ini,

In v1.3.0,   parse_config_file's allow_unregistered set false, so config.ini can not appear any unregistered option.  genesis-json register on command_line， not register on config_file.

Support for genesis-json = was removed as a config file option many releases before v1.3.0.  Until v1.3.0, it was simply ignored.  Now it must be removed from config files.

For people hitting this and not remembering that they had created a config file - look in eosio_uninstall.sh to see where you should remove your existing (outdated) files.  On Linux right now, you'd do rm -rf ~/.local/share/eosio;.
(Or you could do what I actually did - run strace nodeos and look for where it's doing an open of config.ini.  It's kind of a big hammer to use, but strace will tell you exactly what files your process is opening; it's very handy.)


add helper methods to check cache

NOTE: This depends on https://github.com/mlc-ai/relax/pull/265 and cannot be merged before that PR is merged.

fixes #148

@tqchen Hi, wondering if this looks like an okay followup to https://github.com/apache/tvm/pull/15357?

Thanks @narangkay for pinging :) merged

thank you!


quick readme update for imports

Actually never mind, sorting based on import completions doesn't matter. When gocode detects that you are inside a import statement it only returns import completions. Lets just revert adding import to the class sorting.

never mind, no need for an update, I misread the readme. Those are crossed out.

@nhooyr Reverted: https://github.com/zchee/deoplete-go/commit/055e5d5b51a63279cad529aa0a93d8524bb99f19

great


Dynamic mock of timezone

Clear and concise description of the problem
Right now, the timezone can be set on the global setup using process.env.TZ as described in #1575
After the timezone is set, it cannot be changed using vi.stubEnv or process.env.TZ = ....
If I want to test a function that returns different results based on the timezone, I cannot.
Suggested solution
Have the possibility to change the timezone once set on the global setup.
Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Can you provide a reproduction of how vi.stubEnv("TZ", ...) is not working as you like?

@hi-ogawa While making the reproduction, I found out that the problem happens when I want to mock an env variable like this before mocking the timezone:
import { test, vi } from "vitest";
import { getTimezoneName } from "./calculate";

beforeEach(() => {
  process.env = {
    ...process.env,
    DEPLOY_ENV: "prod",
  };
});

test("getTimezoneName", () => {
  vi.stubEnv("TZ", "Europe/Berlin");
  expect(getTimezoneName()).toBe("Europe/Berlin");

  vi.stubEnv("TZ", "UTC");
  expect(getTimezoneName()).toBe("UTC");
});

Then, if I have vi.stubEnv("TZ", ...), the timezone is not mocked.
Here the reproduction.

Haven't look into deeply but I feel like mutating process itself isn't good and it should mutate process.env instead.
Would it have an issue if you do it like this?
  process.env.DEPLOY_ENV =  "prod";

  // or equivalently if you have many
  Object.assign(process.env, { DEPLOY_ENV: "prod" });


Question: How to import a module from a parent folder to another module?

Simple question:
If we have a structure like this:
/a
/b
/x/y/z

How can we import the module a from z?
I tried some varations like
implementation project(:a)
implementation project(:../../:a)

But I haven't had success yet.
If I try implementation project(:a) from b it works ok.

project(":a") should work if both projects are in the same multi-project build.
This sort of thing is better asked on our forums.


Disk fill for ephemeral storage doesn't work properly

What happened:
This time I'm trying to execute disk fill. No matter what percentage of disk fill I will choose (20 % or 80 %) I got the same error message:
time="2023-11-30T14:56:10Z" level=info msg="[Fill]: Filling ephemeral storage, size: 214748KB"
time="2023-11-30T14:56:10Z" level=info msg="dd: {sudo dd if=/dev/urandom of=/proc/1249333/root/home/diskfill bs=256K count=838}"
time="2023-11-30T14:56:13Z" level=fatal msg="helper pod failed, err: could not fill ephemeral storage\n --- at /litmus-go/chaoslib/litmus/disk-fill/helper/disk-fill.go:137 (diskFill) ---\nCaused by: {"source":"disk-fill-helper-nsnw2","errorCode":"CHAOS_INJECT_ERROR","reason":"838+0 records in\n838+0 records out\n","target":"{podName: testing-pod-86b47d547d-vnzfb, namespace: test, container: test"}"
What you expected to happen:
Disk fill should end with success.
Where can this issue be corrected? (optional)
This part of the code should be fixed:
https://github.com/litmuschaos/litmus-go/blob/v3.1.x/chaoslib/litmus/disk-fill/helper/disk-fill.go#L342
https://github.com/litmuschaos/litmus-go/blob/v3.1.x/chaoslib/litmus/disk-fill/helper/disk-fill.go#L178
How to reproduce it (as minimally and precisely as possible):
It can be easily reproducible by executing it from Litmus Portal however I did it also manually trying to find where can be the problem:

I was able to create manually helper pod and run it on my GKE cluster to experiment with disk-fill

I was able to find the containerID and container PID on a POD I'm going to fill the ephemeral storage

First thing: the size of ephemeral storage USED is wrongly calculated (at least in Litmus 3.1) because it uses following function:
du := fmt.Sprintf("sudo du /proc/%v/root", t.TargetPID)
but if this (/proc/%v/root)  is symlink and it's it will return 0 value all the time
when you do this by providing  /proc/%v/root/ (slash at the end) it will return proper value.

I did "dd"  command manually from helper pod
bash-5.1# crictl inspect --output yaml ac136572dd3cf| egrep pid
pid: 1
pid: 1825267

type: pid
bash-5.1# dd if=/dev/urandom of=/proc/1825267/root/home/diskfill bs=256K count=10485
10485+0 records in
10485+0 records out
bash-5.1# echo $?
0

File exists:
ls -latrh /proc/1825267/root/home/diskfill
-rw-r--r--    1 root     root        2.6G Dec  8 12:35 /proc/1825267/root/home/diskfill

When I crate bigger file (bigger than ephemeral storage limit) pod is evicted - which works perfectly

But, when we run it from Litmus toolkit it fails ... no more messages. I've checked it in the code and it seems it comes from this code:
if t.SizeToFill > 0 {
if err := fillDisk(t, experimentsDetails.DataBlockSize); err != nil {
return stacktrace.Propagate(err, "could not fill ephemeral storage")

I think helper-pod catches output from dd command like:
10485+0 records in
10485+0 records out
as an error and marks it the same so entire injection is marked as failed.

Anything else we need to know?:

Any updates on it ?

Can someone from DEV team comment on it ?


Add main view layout

Adds main view layout
implements transitions between the 2 pages
Adds sensor data request
Token, selected spotter, and dates are all saved in local storage

When there is actual data, the table gets super wide and pushed everything out of the screen, see below:


cutoff-solver: Cast-to-integer error checking in Migrator.hpp constructor

Doubles are cast to integers in the constructor of Migrator as a work-around for floating-point rounding. The implementation works but the workaround may have areas for improvement.

No longer applicable


Deliver Requested GitHub Content for Integration

Task

Based on the outcome of the meeting with the front end team, deliver the requested data in a condensed format to the front end in an agreed upon format.

Deliverables

Code that filters the raw GitHub returned json file and provides only essential data to the front end.
Documentation of the code and the GitHub API usage
Unit testing for edge cases of data misses as well as normal operation to ensure code operates as expected

enabled API for fetching issues with a particular user


Epoch size

Hi,
I'm fine tuning the TSN for action recognition in another dataset (only rgb data). I'd like to know how  to estimate the number of iterations in an epoch.
By reading the paper and checking the train_val. I'm guessing that at least N*batchsize images are feed into the network every iteration ( where N is 'num_segment').  If I were right, an epoch would be: V/batchsize, where V is the total amount of videos.
However the param 'scale_ratios' and the amount of memory the GPU uses, makes me guess that,  more than N*batchsize images are feed into the network every iteration. Can you help me on this one?
Thanks
Fuanka

Your calculation of V/batchsize is correct. scale_ratios will not change the feeding behavior, it just controls the preprocessing of frames.


Integrate Superstructure and Climber into master

This PR adds all of the Intake and climb code to master.
See #120 and #130

Ready to go, and tested on comp bot


Holidays in Chile

Hi.
There are some mistakes in Chile's holidays:

Nov 08 is "Asunción de la Virgen"
June 29 and October 12' are floating holidays (if it happens on Tuesday, Wednesay or Thursday, the holiday is the preceding Monday. If it happens on Friday, the following Monday is holiday)
HolySaturday is holiday ('Semana Santa (Sábado Santo)  [Holy day (Holy Saturday)]')
There are 2 localizated holidays, The main administrative division is te region. The ragion codes are:  'AI', 'AN', 'AP', 'AR', 'AT', 'BI', 'CO', 'LI', 'LL', 'LR', 'MA', 'ML', 'NB', 'RM', 'TA', 'VS'.
The localizated holidays are:
'AP'; {June 7, "Asalto y Toma del Morro de Arica [Assault and Capture of Cape Arica]",}
'NB': {August 20, "Nacimiento de Bernardo O'Higgins [Nativity of Bernardo O'Higgins]"}

Sources:
https://en.wikipedia.org/wiki/ISO_3166-2:CL
https://feriados.cl/
https://feriados.cl/leyes.htm
https://en.wikipedia.org/wiki/Public_holidays_in_Chile

Thanks for the contribution!  I created pull #373.

The correct date for Asunción de la Virgen is 15 AUG (see law 2.977) and was already in the code
Confirmed and implemented (law 19.668, http://www.leychile.cl/Navegar?idNorma=160270)
Confirmed and implemented (Law 2.977)
Arica y Parinacota holiday confirmed with https://feriados.cl/index.php and Law 20.663 (implemented using the correct naming); similarly for Ñuble holiday Law 20.678

Thank you both! 👍 Merged on beta.


dep: bump @zwave-js/server to 1.35.0

No real changes from the beta but just to keep up with the latest :)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3896

Relevant Lines:
19006

💛  - Coveralls


[M02] - ERC20 compliant assets may not be used

Task: Feature Name: [M02] - ERC20 compliant assets may not be used
High Level Description
require statement to ensure that decimals are within range
require statement to ensure that symbol is not ""
these require statements cause a non-elegant revert if symbols/decimals are not defined which prevents whitelisting of not acceptable erc-20s
unit tests updated to handle branches of symbol/decimal logic
Few ways to handle fetching the symbol/decimal, welcome suggestions if I can improve the implementation.
Initial implementation was calling ERC20Interface(_asset).decimals in the require statement, but switched to declaring variables for decimals and symbol.
I'd think I can also define the asset and call asset.decimals() and asset.symbol() in the require.
Code

[x] Unit test 100% coverage
[x] Does your code follow the naming and code documentation guidelines?

Documentation

[x] Is your code up to date with the spec?
[x] Have you added your tests to the testing doc?

Will close this one as we are not applying the fix.


Custom logs not watched

Here's an excerpt from my boxfile.yml:
# ...
web.site:
  # ...

  log_watch:
    apache[access]: /data/var/log/apache/access.log
    apache[error]: /data/var/log/apache/error.log
    php[error]: /data/var/log/php/php_error.log
    php[fpm]: /data/var/log/php/php_fpm.log
    typo3[typo3]: var/log/typo3.log
    # ...

However, only the apache and php logs are watched and outputted on nanbox run php-server, the typo3 log is ignored. Is there anything I missed?

I can see the following after nanobox run:
/app $ ps aux | grep tail
gonano     136  0.0  0.0   6044   716 ?        S+   09:36   0:00 tail -f -n0 /data/var/log/php/php_error.log /data/var/log/php/php_fpm.log /data/var/log/apache/access.log /data/var/log/apache/error.log

So it looks like my custom log was indeed ignored.

This is actually because the web instance isn't being created in the first place - dev mode doesn't spin up separate containers for webs and workers, instead spinning up one container for each app's console.  So any settings in the web.* or worker.* sections aren't applied in development mode; they'll only kick in when deployed to dry-run or production.

I guess this makes sense; even php-server is invoked manually and no network_dirs are set up (not neccessary).
But still I can see log output on nanobox run php-server; would it be possible to include custom logs here? Just as minor feature request. Of course I can open/tail the app logs on my host system if not. ;-)

I'd enjoy that as well.  I'll have a peek at the engine repo and see if I can tweak the script any.  The big trouble will be parsing the Boxfile - that isn't generally done outside the build/compile phases.

Ah.  Well.  php-server is generated from a template.  While the Boxfile is accessible.  That shouldn't be too tricky to work with to give this additional functionality, though I'll probably have to look at it tomorrow or so.

This issue was moved to nanobox-io/nanobox-engine-php#37

@lyondhill It seems like this also affects production. I can not see any of my custom logs in the "Logs" section within the Nanobox UI. If I tail -f one of the log files within nanobox console web.site, I can clearly see new log messages though.
Is this unrelated?

sounds like it could be a seperate issue. this should be noted on nanobox-io/nanobox-engine-php#37 i just moved this issue to that location

Thanks, I've created nanobox-io/nanobox-engine-php#39 for this.


Relative path can't set in vue cli 2.5

Version
3.0.5
Reproduction link
https://github.com/vuejs/vue-cli/issues/3196
Node and OS info
npm
Steps to reproduce
when i setting
module.exports = {
configureWebpack: {
baseUrl: './'
}
}
or publicPath is show unknown property of configration please help he i wanna set the url of assets /root/fodd/user/
What is expected?
when i setting
module.exports = {
configureWebpack: {
baseUrl: './'
}
}
or publicPath is show unknown property of configration please help he i wanna set the url of assets /root/fodd/user/
What is actually happening?
when i setting
module.exports = {
configureWebpack: {
baseUrl: './'
}
}
or publicPath is show unknown property of configration please help he i wanna set the url of assets /root/fodd/user/

baseUrl is a root level option.
module.exports = {
  baseUrl: './'
}

not working

Now idea what you mean by "not working". Please provide an actual reproduction.


Initialization bug in Http action settings

Describe the Bug with repro steps
We have found a bug that causes the Http action settings to revert to the default settings when the workflow is opened in the designer.
What type of Logic App Is this happening in?
Standard (Portal)
Are you using new designer or old designer
New Designer
Did you refer to the TSG before filing this issue? https://aka.ms/lauxtsg
Yes
Workflow JSON
No response
Screenshots or Videos
When saved.

The next time I open it in the designer

Browser
Edge
Additional context
No response
AB#24855432

closing this issue, as PR has been merged. This will take a few hours to release to all regions but expect this to be complete by end of day today


Set up a reusable action to setup necessary tools. For ex: skaffold

As we are setting up e2e test environment for Verily using minikube and skaffold. Currently, a test environment setup requires setting up multiple tools, for ex: minikube, skaffold.
Creating a reusable action which can be used by other Verily teams to directly use and simplify their github workflows.
TESTED=Tested by pushing to a branch and referencing in an existing github workflow for verily : https://github.com/verily-src/ss-api-e2e-tests/actions/runs/3425619554/jobs/5706583793

+1 to Brads comments, can we make this action encompass more of the testing logic instead of just the setup? I am not sure if this makes it not as re-usable then.

+1 to Brads comments, can we make this action encompass more of the testing logic instead of just the setup? I am not sure if this makes it not as re-usable then.

Thanks, yes in the current form it seem like 2 steps and face value provide very little value.   The other testing logic is very much language / repository setup specific , hence I  did not include here.

I'd like to learn more about the use cases. I suspect individual teams will want to control their versions (instead of being centrally managed)

I'd like to learn more about the use cases. I suspect individual teams will want to control their versions (instead of being centrally managed)

The use case here is use something reusable which help them setup necessary tooling.  The teams I talk to have very little to no opinion and lean towards using something that we give it to them.  On point of teams wanting to control their version, I agree some may but majority probably will not. The teams I talk to prefer an interface over minikube/ skaffold instead of directly being exposed to.
I can hold  off for now, If you still think we are getting ahead of ourself in providing this reusable action and probably we evaluate set up for few more teams and then provide a reusable action.

Sure, but I don't think they are that reusable. At the end of the day, we're talking about the customer copy-pasting:
- steps:
  - uses: 'setup-skaffold'
  - uses: 'setup-minikube'

vs
- steps:
  - uses: 'setup-minikube-and-skaffold'

Sure, but I don't think they are that reusable. At the end of the day, we're talking about the customer copy-pasting:
- steps:
  - uses: 'setup-skaffold'
  - uses: 'setup-minikube'

vs
- steps:
  - uses: 'setup-minikube-and-skaffold'

Makes sense, I will for now discard this PR. We can revisit it once the number of steps increases for our clients or even these two steps start adding friction points.


Add JSON support to quickjs-wasm-rs and CLI

This PR introduces JSON as an additional optional format in the quickjs-wasm-rs crate, and swaps msgpack for JSON in the core and cli crates.
Once this merges, I'll cut a release (0.3) and coordinate the update to Shopify CLI.
Edit: this is heavily inspired by #97 -- thanks @jianghong

Me or someone else with crate ownership will also have to publish quickjs-wasm-rs after this is merged.

Would you please publish crate version 0.1.1 with the json feature included? Thanks a lot!

It should be published now

Awesome, that was quick. Thanks!


feat(eas-cli): add 2022 Apple capabilities

Checklist

[ ] I've added an entry to CHANGELOG.md if necessary. You can comment this pull request with /changelog-entry [breaking-change|new-feature|bug-fix|chore] [message] and CHANGELOG.md will be updated automatically.

Why

Reflect new capabilities from WWDC 2022
Related https://github.com/expo/third-party/pull/84

Test Plan

Updated tests
Manual test described in https://github.com/expo/third-party/pull/84

/changelog-entry new-feature add 2022 Apple capabilities


fix: added missing comma from golden.json

Codecov Report

Merging #426 into rc7.0 will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##            rc7.0     #426   +/-   ##
=======================================
  Coverage   96.14%   96.14%
=======================================
  Files          55       55
  Lines        1841     1841
  Branches      214      214
=======================================
  Hits         1770     1770
  Misses         71       71

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 4fe34f0...ad75339. Read the comment docs.


Fix Java IsrCallback crash: the director now uses a GlobalRef instead of a WeakRef to the IsrCallback object

Fix Java IsrCallback crash: the director now uses a GlobalRef instead of a WeakRef to the IsrCallback object. Fix for https://github.com/intel-iot-devkit/upm/issues/308
Signed-off-by: Petre Eftime<EMAIL_ADDRESS>

Merged, thanks!


feat: 🎸 handle all kinds of default valus for Signal inputs

:tada: This PR is included in version 3.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


How to preload Tesseract Model

How to preload the model to increase the speed of prediction and get the output for the batch of images by loading the model at once.

Please respect guidelines for posting issue: use tesseract user forum for asking questions/support.


Change default execution strategies to Wasm

This pr changes all default execution strategies to Wasm. This is basically a deprecation of the
native runtime. While the native runtime isn't removed and can still be used, it will not be used
anymore by default.
This will also improve the usage for people who want to run random commits, which most often forget
to run with --execution wasm. Otherwise they often run into storage root mismatches because of
using the native runtime.

Are we also using wasmtime by default?

If the feature is enabled, yes.

The README of staking-miner might need some fixup in the "Testing locally" section, too? And the bridges repo also overrides --execution in the compose files.

This doesn't break anything, it just changes the default. You can still use the cli argument to override these values.

I will assume parachains doesn't need to do anything and will inherent this default once we upgrade Substrate version?

Exactly. These are the default values for the cli flags. As long as you don't run your node with any --execution* flag, this will be picked up.


Check One Child Is Returned

Once #2 is finished the container <div> should be removed and we should check that there is only one root child that gets returned.
https://facebook.github.io/react/docs/top-level-api.html#react.children.only

@mikkoh Now that you can define what the wrapper component is and pass any id / class / styles, this may not be necessary. Let me know your thoughts


[Remote State] Upload incremental cluster state on master re-election

Description
Currently we upload full cluster state when master re-election happens. This can lead to un-neccessary upload of cluster state attributes even if no change is there in the cluster state attributes. If the cluster has lots of indices or other state metadata. Uploading state every time a node is trying to get elected as  cluster manager, the overhead of uploading the cluster state can be big and can problems like S3 throttling or election loop.
Also, when we receive a publication request on a node where the Remote Publication is marked as enabled, but the publication is from Transport channel, we reset the last accepted state and manifest in our RemotePersistedState object to avoid any stale value being persisted on the nodes. Now if these nodes try to become cluster manager, they will be uploading the full state, which rather than uploading a diff from stale state.
Related Issues
Resolves #10682
Check List

[ ] Functionality includes testing.
[ ] API changes companion pull request created, if applicable.
[ ] Public documentation issue/PR created, if applicable.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Oops! An error occurred while running the Security Check.The Scanner was unable to connect to the repository or branch and clone it.
https://github.com/opensearch-project/OpenSearch/pull/15145/checks?check_run_id=29689182548

@shiv0408 add change log for it

❌ Gradle check result for https://github.com/opensearch-project/OpenSearch/commit/4f1089bd6cbf9a3c5f4f73492c8e4e3c55cd9b6c: FAILURE

Flaky test causing build failure
org.opensearch.index.translog.RemoteFsTimestampAwareTranslogTests.testSimpleOperationsUpload - #15731

❌ Gradle check result for https://github.com/opensearch-project/OpenSearch/commit/40ef9f6b2f389d3de72518ae5108921d8129f393: FAILURE

org.opensearch.http.SearchRestCancellationIT.testAutomaticCancellationDuringQueryPhase - #14311
org.opensearch.http.SearchRestCancellationIT.testAutomaticCancellationMultiSearchDuringQueryPhase - #14311
org.opensearch.search.approximate.ApproximatePointRangeQueryTests.testApproximateRangeShortCircuitAscSort - #15600

❌ Gradle check result for https://github.com/opensearch-project/OpenSearch/commit/4b4b8b3d08d33c6de7206d2b7fad02a74314d67f: FAILURE

org.opensearch.cluster.MinimumClusterManagerNodesIT.testThreeNodesNoClusterManagerBlock - #14289


Extra whitespace following tables in pdf

I am switching from an existing online conversion tool and have the pdf generation working but I am getting additional blank spaces after the table containing divs which I don't see when viewing my html in any live browser or in the old conversion tool - I've attached the html and the resulting pdf - any advice?
screenshot of how it should look:
html : M100526_b (2).zip
zip : M100526_b.pdf

Do you get that if you Print to PDF using Chrome?

Sort of - Some sections do and some don't - pdf attached here - the first 4 appear as expected and the last few actually seem to start a new page ...
Uploading Residential Mortgage AIP.pdf…


Publish nightly builds of webofneeds

Now that we have a publishing workflow for Maven Central we could make nightly snapshot builds of webofneeds. This should happen via a new jenkins task.

moved to internal kanbanboard


Max Upload Size

Hi Everyone,
I'm trying to upload an MSIX installer that is around 310mb and I'm getting below error when I use msstore-cli
If I upload this file manually through the WEB UI at partner.microsoft.com it uploads without error.
06:18:55 fail: MSStore.CLI.ProjectConfigurators.ElectronProjectConfigurator[0] Error while uploading
the application package. MSStore.API.MSStoreException: <?xml version="1.0" %
encoding="utf-8"?><Error>RequestBodyTooLarge<Message>The request body is too large and
exceeds the maximum permissible limit.
RequestId:f8bbfb32-f01e-00ce-6fca-b1cde1000000
Time:2024-05-29T13:18:22.1807612Z</Message><MaxLimit>268435456</MaxLimit></Error>    at
MSStore.CLI.Services.AzureBlobManager.UploadFileAsync(String blobUri, String localFilePath,
IProgress`1 progress, CancellationToken ct) in /_/MSStore.CLI/Services/AzureBlobManager.cs:line 44
at
MSStore.CLI.Helpers.IStorePackagedAPIExtensions.<>c__DisplayClass10_0.<<PublishAsync>b__0>d.MoveNext
() in /_/MSStore.CLI/Helpers/IStorePackagedAPIExtensions.cs:line 441
Error while uploading the application package.

Any clue is highly appreciated.
Regards

Oh, interesting. We are using a simple httpclient to do the job here, so we are limited to 256mb. We need to either implement the batch or add a dependency on the Azure Blob library to that for us. I'll look into fixing this. Thanks for the report!

Should be fixed on v0.1.33.


Add localization EN/ES

I'll wait for better nextjs support, too many issues working with libs.

added on 0f11617

Localization has been removed due to current limitation of next.js forcing every page as dynamic, wait for upstream


[FEATURE]: Test on Test-PyPI before release

Describe the feature
As disclosed in #2570, there is possibility that users cannot really install Colossal-AI from PyPI successfully for some strange reasons. Therefore, we should check this by simulating the installation process with Test-PyPI.

Closed by #2591.


Keyboard Manager: A way to specify Volume Up/Dn speed would be nice.

There are a few combinations I find it extremely useful.
win+pageUp: Volume Up.
win+pageDn: Volume Down.
win+end: mute toggle.
Currently Volume Up/Down can only move the volume by 2 unit. It's kind of slow. One more inputfield for us to specify the speed would be nice!

This would be part of KBM being able to execute commands / scripts.  This would be tracked in #1556

This would be part of KBM being able to execute commands / scripts.  This would be tracked in #1556


Fix some broken links for Apache projects.

Reported in #475.

LGTM

Tested hbase_ycsb and hadoop_terasort manually.


Add more list operations

Guppy requires some list operations that are not available here:
/// Concatenate two lists
concat,
/// Check if a list is empty
isEmpty,
/// Assert that a list is empty
assertEmpty,
/// Assert that a list is not empty
assertNotEmpty,
/// Lookup an element in a list by index
lookup,
/// Get the length of a list
length,
/// Repeat a list a number of times
repeat,
/// Count the number of times an element appears in a list
count,
/// Find the first index of an element in a list
find,

Currently we only support pop and push.
Which of these should we add to the std?

The asserts can probably be replaced with an isEmpty plus some checks on the output.
isEmpty itself can be replaced with (==0) . length

Note: We may move the collections module to guppy instead


"uploaded by myself", "used by", and several other lego messages

Summary:
I've been reviewing the translatable strings for the Commons app, and I noticed that several of them are what we call "lego messages" in the Wikimedia jargon: strings that are translated separately and concatenated with each other and with other parameters in run time.
Lego messages are a localization antipattern in any software project. They don't take into account that different languages have different word order. Messages must be written as complete phrases, and parameters such as filenames, usernames, dates, upload counts, etc., must always be filled as parameters.
Some messages that are almost certainly lego are:

"Uploaded by myself on" (the date should probably be a parameter)
",used in" (the comma tells me that it's probably a part of another sentence)

There may be more strings of this kind that I haven't noticed till now.
Please fix all of these and move them to one message.
For more information about "lego messages", see the page https://www.mediawiki.org/wiki/Localisation#Avoid_fragmented_or_'patchwork'_messages . It was written for MediaWiki developers, but this part, as well as many others, applies to localization of any software project.
Thanks! :)

Can I try to work on this?

@chris-fo Yes, it is yours! :-)

I`m sorry that it is taking a while, but I have been quite busy the last few days. After tomorrow I will have more time again and I think I will be able to fix this by Sunday. Is that ok?

@chris-fo OK!


Update component creation tool

Update to component creation tool to match the new repo layout, the new doc requirements, and new README structure.

Yep good idea, added.


Removing 1.4.x because it reached EOCS

Done, thanks!
fly -t app-broker destroy-pipeline -p app-broker/branch:1.4.x
!!! this will remove all data for pipeline `app-broker/branch:1.4.x`

are you sure? [yN]: y
`app-broker/branch:1.4.x` deleted


neovim: support relative number row target from TERMINAL mode

This is mostly for consideration, and filing so I don't forget. ATM I prefer to use relative rows in the terminal because they are faster to say and don't accumulate large values (like figuring out to say row 39 from 29339 for instance), etc.
It seems like it would probably be possible for cursorless in neovim to inspect the incoming command to check for a row reference. It could then query neovim to see if the relative number setting is true, and if so, figure out the row the cursor is on and then compute the absolute row number and patch the value in the command so cursorless gets what it expects?
This of course breaks down if you aren't in TERMINAL mode, because you don't know if the relative reference is up or down, but my most common use case historically for this is just pulling stuff down into the command line while I'm in TERMINAL mode. So it could be something only that triggers when in TERMINAL mode I think.
That said, some other things I'm going to experiment with to solve this problem:

simultaneous relative and absolute numbers
custom color for the last 2 digits of the absolute number
custom absolute numbers that only show the last 2 digits, except if divisible by 50

Maybe one of these will be sufficient that I don't think it's needed.

I like the idea of the custom color for the last two digits

I've been using the custom color plugin I whipped together for quite a while now and I think although it's still slower then relative, and that plugin needs a lot of work, I think I no longer care about supporting relative numbers s, so will close.

@fidgetingbits should we move rowglow.nvim plugin to hands-free?

Sure, can do.


Icon request: Hauk

URL of the site or app (required): https://github.com/bilde2910/Hauk
Logo resources for the icon (optional, but recommended): https://raw.githubusercontent.com/bilde2910/Hauk/master/frontend/assets/favicon.svg

Here you go!
https://github.com/aegis-icons/aegis-icons/blob/master/SVG/Hauk.svg
❓ How to add icon(s) to Aegis?


fix(livedemo): add left border

This updates all live demo preview containers to now have a left border to avoid the issue described in https://github.com/carbon-design-system/carbon/issues/10889#issuecomment-1077992681
Changelog
Changed

add back the left border to the live demo preview container

Also I think we probably need to border to go all the way across the top as well. Otherwise there's a gap there with the Gray 10 theme

@tay1orjones so I thought this was a intentional design decision at some point but maybe was just bug. Instead of the line board, these demos used to have this 8px white boarder. I talked to the other designers and seems like this change wasn't intentional. Can we actually just bring that back?
Its on the v10 demos

@aagonzales Ah! That explains a ton 😅 I see now that we updated the border to use the new tokens, so it's no longer a fixed value but changes with the theme. I'll push an update to fix.


cmd/server: fix create customer query for mysql

See: https://dev.mysql.com/doc/refman/8.0/en/replace.html

Codecov Report

Merging #95 into master will increase coverage by 0.10%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #95      +/-   ##
==========================================
+ Coverage   61.03%   61.14%   +0.10%
==========================================
  Files          32       32
  Lines        1848     1848
==========================================
+ Hits         1128     1130       +2
+ Misses        511      510       -1
+ Partials      209      208       -1


Unnecessary permission for Github/Dropbox/Drive?

I was wondering why do we need permission to access all files on Dropbox/Drive/Github by default? And if we do need that, we can give users an option to reduce those permissions for those who love this product but don't want to give access to all files.

I noticed stackedit ask for the permission to the whole dropbox instead of the selected folder.

Fixed in the v5.


std.math: Fix fmin/fmax semantics wrt. NaNs

If one of the arguments is a NaN, return the other. These are the C99 semantics; the previous simple ternary expression is covered by std.algorithm.min/max.

I think this makes perfect sense:

Matches C semantics (same function name).
Matches LLVM minnum & maxnum intrinsics semantics (i.e., LDC semantics).
I'm perfectly fine with std.algorithm.min/max using the faster single comparison, as I guess that's what everybody uses. These different semantics justify the fmin/fmax existence IMO. I don't recall ever calling fmin/fmax myself in my code.

This is not as simple as it seems

It never is :see_no_evil:.
What's the cost of this extra comparison? Maybe check glibc's fmax for optimizations.
Handling fdim is missing (and prolly others). What about code breakage?

Just a note on the "C semantics":  https://busybox.net/~landley/c99-draft.html#F.9.9
The equivalence of isgreaterequal(x, y) would be the removed x !< y operator, and so we would still need to check for isNaN on both sides I think - maybe even to sign bit also?

Handling fdim is missing

fdim already returns 0 if any arg is a NaN (and still conforms to its definition as fmax(x-y, 0)), see the tests:
assert(fdim(real.nan, 2.0) == 0.0);
assert(fdim(2.0, real.nan) == 0.0);

Rebasing onto master had unpleasant side effects (wrongly referenced issues & requested reviews), sorry about that. Is that a blocker or something else still to do?

Not at all, dlang-bot probably just missed an event and the changelog is built from the commits, not what dlang-bot shows. That's merely a convenience tool.


[INFRA] Update dependabot.yml

Artifacts available for download:

Artifact Name
Download Link

clang.versions
https://github.com/seqan/actions/actions/runs/12016514081/artifacts/2234761173

gcc.versions
https://github.com/seqan/actions/actions/runs/12016514081/artifacts/2234760063

intel.versions
https://github.com/seqan/actions/actions/runs/12016514081/artifacts/2234757939


Update to use GoFSH 1.3.0

This updates FSHOnline to use GoFSH 1.3.0. Some of the functions changed slightly and needed to be updated, and the boxes at the end of the output also needed to be edited to match what GoFSH now logs.

Gah wait I thought of something else. Since we now support profiles of logical models, we might want to update the sorting we do as a part of this PR.

Gah wait I thought of something else. Since we now support profiles of logical models, we might want to update the sorting we do as a part of this PR.
Update: I actually think this should be very easy, so I vote we add it into this PR. The function checkFshType here just needs to be udpated so that we include 'logical' as an allowed kind for profiles. So I think we can just update line 100 to be
} else if (['resource', 'complex-type', 'primitive-type', 'logical'].includes(def.kind)) {

Good catch! Done in https://github.com/FSHSchool/FSHOnline/pull/68/commits/b8582a50bf105e3545ea0601014e364622903f5d.


[Docs] List related projects

As discussed in #2699, it might be helpful to list Material-UI related projects in the docs or README.
formsy-material-ui didn't warrant it by itself, but I've just come across another, so I'm opening this issue to track them, so we can decide which, if any, to include.
https://github.com/poetic/react-autoform-material-ui
AutoForm is a Meteor specific form builder, but is quite popular in the Meteor world.

Might not be bad to take a look at here to find some related ones too. :grin:

Oh, cool - I hadn't noticed you could do that! I'll take a look tomorrow and see if there are any well-maintained standouts.

Yeah, I agree, that would be an excellent idea.

By the way, we can add https://github.com/oliviertassinari/react-swipeable-views to the list. It plays well with the Tabs components :grin:.

Hmm... interesting. So where do we draw the line between projects that are complimentary (of which there could be many!), and those that are specific to material-ui? For example since material-ui doesn't provide one, this might be the place to suggest a react layout component library.

I think in the related projects we should have 2 sections:

Complementary Projects
Material-UI Specific Projects

The names are debatable :grin: But you get the idea :smile:
I'm completely for this idea. The more we promote the community that has shaped around this project the bigger it becomes :sunglasses:


Can't install decaffeinate properly

OS X Yosemite / node v0.10.35
After npm install -g decaffeinate I didn't get decaffeinate command:
$ which decaffeinate
decaffeinate not found

I tried to run it like this /usr/local/lib/node_modules/decaffeinate/bin/decaffeinate script.coffee but got an error:
/usr/local/lib/node_modules/decaffeinate/lib/utils/traverse.js:114
        throw new Error("unknown node type: " + node.type);
              ^
Error: unknown node type: ForOf
    at traverse (/usr/local/lib/node_modules/decaffeinate/lib/utils/traverse.js:114:15)
    at parse (/usr/local/lib/node_modules/decaffeinate/lib/utils/parse.js:21:3)
    at convert (/usr/local/lib/node_modules/decaffeinate/lib/index.js:53:13)
    at ReadStream.<anonymous> (/usr/local/lib/node_modules/decaffeinate/lib/cli.js:145:16)
    at ReadStream.emit (events.js:117:20)
    at _stream_readable.js:944:16
    at process._tickCallback (node.js:442:13)

Fixed the binary issue in v1.0.2. The other issue of not supporting for loops has been noted as #2. I'll add a few words to the README to indicate the status of the project and its goals.


fix script_container attribute access

Related issue
fix #1273
Summary or solution description
script_container is the only module attribute of the interop package that returns a class with more properties. The module analyser is changed to allow to capture the class properties.
In the case of importing the runtime module and trying to do
x = runtime.script_container.hash

The code generator failed to generate code for getting the script_container and only generated code for picking the hash property. It now recursively generates for all attributes instead of just the first as the AST looks as follows
                Assign(
                    targets=[
                        Name(id='x', ctx=Store())],
                    value=Attribute(
                        value=Attribute(
                            value=Name(id='runtime', ctx=Load()),
                            attr='script_container',
                            ctx=Load()),
                        attr='hash',
                        ctx=Load())),

coverage: 91.206% (-0.002%) from 91.208%
when pulling 72638744e1dd98afc15b72af5c7138952d8d8a1c on script_container
into f304688cdc2f30f1ec890522b4de8e226b96dab8 on development.


Access-Control-Allow-Origin issue, AGAIN,

Failed to load https://api.api.ai/v1/query?v=20150910: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access.
this issue occured, again, today.
if anybody have solutions please help me,
thank you

Facing the same issue. Till yesterday everything was working fine. Today, just ran the project and facing cors issue.

i am also facing the same issue suddenly, everything was working perfect but suddenly getting this issue

Same error I am facing...and on checking dialogflow console that is also not working. Any solution yet?

Seems it is working fine now. I am able get 200 response without any changes.


Possible to add minivmac libretro emulator

Hello, just moving across to Arkos from another device/cfw but noticed the minivmac (macintosh) emulator isn't available in Arkos, is it possible to add?
Loving the experience so far, fantastic work  👍

I was able to build and confirm and it works.  Text is a little hard read when in the Mac OS but it is functional. I will include it with the next update.

great work, looking forward it!

great work, looking forward it!

You can test it now by downloading the core directly via retroarch and launching it that way if you're interested in trying it out.


Restyle example formatting for Layout/FirstParameterIndentation

Follow up of https://github.com/rubocop-hq/rubocop/pull/4880#issuecomment-338499947 and #5699.
This commit is a change of document format for Layout/FirstParameterIndentation cop.
This PR uses # rubocop:disable Metrics/LineLength because line length of the following line exceeds 80.
+      # @example EnforcedStyle: special_for_inner_method_call_in_parentheses (default)

Descriptions of EnforcedStyle are quoted from default.yml.
https://github.com/rubocop-hq/rubocop/blob/v0.57.1/config/default.yml#L365-L381

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Run rake default or rake parallel. It executes all tests and RuboCop for itself, and generates the documentation.

👍


Update date input component

This PR:

Extends the input width classes to cover 2 to 5 characters so it can be reused for the date-input component

defines a relationship between the number of characters and maximum ex width of an input
keeps the extra space for safari prefill icon on large inputs (10, 20, 30)

Updates the date-input component to:

decouple item name from style (fixes #836)
decouple the component name from the item name and item id (covers the work proposed by @lhokktyn in #826)

Adds default date-input items if no items are being specified (fixes #468)

awesome work! 🎆
I wonder if input changes and date input changes could be separate PR's (dependency)?

@igloosi: I didn't want to introduce dependencies between the PRs, but if that makes more sense I can split them up

true, if we we're going breaking at some point should be fine, as this PR has both new features and breaking changes


Multi-dimensional themes: using groups on branch X and no groups in branch Y gives conflicts

Describe the bug
Multi-dimensional themes: using groups on branch X and no groups in branch Y gives conflicts
Note
This behaviour also seems to occur for JSONBin sync provider. On fetching the tokens from remote, same behaviour applies. https://tokens-studio.slack.com/archives/C02DLQXNY6Q/p1685023285219269
To Reproduce
Steps to reproduce the behavior:

Have a branch setup with themes 'ungrouped'
Connect to a different branch, create theme groups and activate a few
Push that to the syncing provider
Connect again to your first branch > the plugin asks to pull theme changes
Once that is done, you will still have 2 active themes, while there is no theme selected.

Expected behavior
The amount of selected themes in the ungrouped token set, should reflect properly in the branch.
Screenshots or Screencasts
If applicable, add screenshots to help explain your problem.
https://github.com/tokens-studio/figma-plugin/assets/109062656/a735772a-af8f-4093-81b8-18f96fe983c1
Probably related to: #1938

I am seeing a similar bug, when using local storage. Due to my organizations prevention on using a sync provider and not having a generic versioned storage solution configured, I've had to manually create, export, and import tokens between my 3 core files in order to achieve alignment between files.
To Reproduce

File A - create a group for my Light and Dark theme.
File A - create various token sets, and then assign them to their respective themes under "Manage Themes"
File A - export tokens to multiple files - export.
Unzip token export from File A
File B - ungrouped themes exist.
File B - import unzipped folder.
File B - theme selector shows that there is an active theme, but it is not selected.
File B - when trying to select and unselect my "Light" theme, the plugin will switch between "Light" being active when it is unselected, and when I select "Light" the plugin displays "2 active".

To remedy the incorrect display of the active themes, I need to unselect everything in the theme selector, then in my token set list, find one of the 'checked' items, and un-select it. This breaks the "completeness" of the theme being perceived as active, and resets something that causes the theme selection behave as normal.

Fixed in 1.38 🚢


added optional password

I have a lutron system with a built in ethernet port that allows telnet. When you telnet it in gives you a prompt:
LOGIN:
and expects user,password
I added an optional password to the first "linefeed", so I can just put: "myusername,mypassword" into the config, and it seems to work.

Hi Alanswx, I'm finally getting around to your pull request!
It looks good to me, except that I'd rather leave the default "pluginAlias" set to "lutron-hwi" in the config.schema.json file.   If you could revert that change, I'll pull your change into the main branch.
Thanks!
Dave

Oops. Of course.

This should be fixed now.


Added support for double-precision

Fixes #355.
This adds support for building binaries that are compatible with double-precision builds of Godot, which is done by passing -DGDJ_DOUBLE_PRECISION=TRUE when generating the build directory.

Incredible. Already built and tested and works like a dream.

That was quick! I haven't tested the physics queries much at all, so if you're using stuff like ray-casts and shape-casts let me know how they're working out for you.

Doing some more testing at 100km from origin:
Raycasts: Work great, both from node and PhysicsServer3D directly.
Shapecasts: Same as above.
That said, CharacterBody3D move_and_slide seems to have trouble at this distance. It did fine at 25km which made me believe doubles were working but at 100km the character is unmovable vs. GodotPhysics which shows no difference.

Ah, that figures. I should have tested move_and_slide before pushing it. I'll fix it shortly.

It turned out to be an easy fix, thankfully. (#781)


Added check and switch for Varnish 4

Fixes #104.
Varnish 4+ changes the field names for Varnish statistics fields.
This change runs varnishstats -V (using popen3 because Varnish outputs
all version information to stderr and not stdout) and captures the
version via a regex.
A case statement switches on the version. A 4 or higher results in using
the new fields. Otherwise it defaults to the Varnish 3.x field names.
The command also had to change because the -f option no longer
supports a comma-separated list and now requires a glob or multiple
instantiations.

Awesome, thanks James. :)