[3.x] FreezingException due to ApolloStore

Summary
There's a FreezingException when adding normalized cache. The issue is similar to https://github.com/apollographql/apollo-android/issues/3347.
Version
Reproduced on 3.0.0-alpha04, 3.0.0-alpha05.
Description
When adding normalized cache (either withNormalizedCache or withStore), a FreezingException is thrown when freezing ApolloClient:
Uncaught Kotlin exception: kotlin.native.concurrent.FreezingException: freezing of com.rickclephas.kmp.nativecoroutines.$nativeSuspend$lambda-2$FUNCTION_REFERENCE$4@29c2788 has failed, first blocker is com.apollographql.apollo3.cache.normalized.internal.DefaultApolloStore@3cad4c8
    at 0   shared                              0x00000001007911f1 kfun:kotlin.Throwable#<init>(kotlin.String?){} + 97 (/opt/buildAgent/work/c5a36d4d82b914cf/kotlin/kotlin-native/runtime/src/main/kotlin/kotlin/Throwable.kt:24:56)
    at 1   shared                              0x000000010078af9d kfun:kotlin.Exception#<init>(kotlin.String?){} + 93 (/opt/buildAgent/work/c5a36d4d82b914cf/kotlin/kotlin-native/runtime/src/main/kotlin/kotlin/Exceptions.kt:23:58)
    at 2   shared                              0x000000010078b1bd kfun:kotlin.RuntimeException#<init>(kotlin.String?){} + 93 (/opt/buildAgent/work/c5a36d4d82b914cf/kotlin/kotlin-native/runtime/src/main/kotlin/kotlin/Exceptions.kt:34:58)
    at 3   shared                              0x00000001007c3bd5 kfun:kotlin.native.concurrent.FreezingException#<init>(kotlin.Any;kotlin.Any){} + 645 (/opt/buildAgent/work/c5a36d4d82b914cf/kotlin/kotlin-native/runtime/src/main/kotlin/kotlin/native/concurrent/Freezing.kt:17:9)
    at 4   shared                              0x00000001007c5119 ThrowFreezingException + 233 (/opt/buildAgent/work/c5a36d4d82b914cf/kotlin/kotlin-native/runtime/src/main/kotlin/kotlin/native/concurrent/Internal.kt:104:15)
    at 5   shared                              0x0000000100979262 FreezeSubgraph + 4882
    at 6   shared                              0x00000001009a5eab Kotlin_Worker_freezeInternal + 27
    at 7   shared                              0x00000001007c3cf0 kfun:kotlin.native.concurrent#freeze__at__0:0(){0§<kotlin.Any?>}0:0 + 64 (/opt/buildAgent/work/c5a36d4d82b914cf/kotlin/kotlin-native/runtime/src/main/kotlin/kotlin/native/concurrent/Freezing.kt:37:2)
    at 8   shared                              0x0000000100bc0a0b kfun:com.rickclephas.kmp.nativecoroutines#nativeSuspend(kotlinx.coroutines.CoroutineScope?;kotlin.coroutines.SuspendFunction0<0:0>){0§<kotlin.Any?>}kotlin.Function2<kotlin.Function2<0:0,kotlin.Unit,kotlin.Unit>,kotlin.Function2<platform.Foundation.NSError,kotlin.Unit,kotlin.Unit>,kotlin.Function0<kotlin.Unit>> + 475 (/Volumes/Projects/Rick Clephas/KMP-NativeCoroutines/kmp-nativecoroutines-core/src/appleMain/kotlin/com/rickclephas/kmp/nativecoroutines/NativeSuspend.kt:43:8)
    at 9   shared                              0x00000001006d4cc7 kfun:dev.johnoreilly.mortycomposekmm.shared.MortyRepository#getCharactersNative(kotlin.Int){}kotlin.Function2<kotlin.Function2<dev.johnoreilly.mortycomposekmm.GetCharactersQuery.Characters,kotlin.Unit,kotlin.Unit>,kotlin.Function2<platform.Foundation.NSError,kotlin.Unit,kotlin.Unit>,kotlin.Function0<kotlin.Unit>> + 327 (/.../MortyComposeKMM/shared/src/commonMain/kotlin/dev/johnoreilly/mortycomposekmm/shared/MortyRepository.kt:<unknown>)
    at 10  shared                              0x000000010070d0fe objc2kotlin.948 + 190 (/<compiler-generated>:1:0)
    at 11  iosApp                              0x00000001000e98c3 $s6iosApp22CharacterListViewModelC15fetchCharactersyyF + 147 (/.../MortyComposeKMM/iosApp/iosApp/Features/Characters/CharacterListViewModel.swift:16:38)
    at 12  iosApp                              0x00000001000df882 $s6iosApp18CharactersListViewV4bodyQrvg7SwiftUI0E0PAEE8onAppear7performQryycSg_tFQOyAgEE15navigationTitleyQrAE18LocalizedStringKeyVFQOyAE0D0Vys5NeverOAE05TupleE0VyAE7ForEachVySaySo21SharedCharacterDetailCGSSAA0cd3RowE0VG_AC08nextPageE033_33644916FC6C7112F8D63ACD51779ECFLLQrvpQOy_Qo_SgtGG_Qo__Qo_yXEfU_yycfU0_ + 146 (/.../MortyComposeKMM/iosApp/iosApp/Features/Characters/CharactersListView.swift:18:22)

I updated my MortyComposeKMM fork to reproduce this.
Looks like the issue is here.

Dang. Is it the same thing where the issue goes away if you remove the ensureNeverFrozen? I'll add a test case about this too.

Dang. Is it the same thing where the issue goes away if you remove the ensureNeverFrozen? I'll add a test case about this too.

I guess so, but I saw this // The store has a MutableSharedFlow that doesn't like being frozen so didn't try locally 😄

This is from the standard coroutines library but maybe coroutines-mt handle thing differently. I'll dig into this.

I want the new memory model :)

That sooo much!

Fix & tests are there: https://github.com/apollographql/apollo-android/pull/3358
I also relaxed the restriction on ApolloRequest. There's just one ensureNeverFrozen() left for BatchingHttpEngine because it has some mutable state.

I was just able to verify this is working with your MortyComposeKMM branch. You'll also need https://github.com/kuuuurt/multiplatform-paging/issues/18 to have paging working on freezed pagers. 🤞 everything is working now... And looking forward to the new memory model 😄

Thanks! Yeah we only use Apollo at work and generally try to avoid stateful KMP libraries as much as possible for obvious reasons. The world will be a better place once everyone moves to the new mm:)

Fixed in 3.0.0-alpha07


[Engine-1.21] Close agentReady channel only in k3s

Signed-off-by: galal-hussein<EMAIL_ADDRESS>

Proposed Changes
Close the agentready channel only in k3s cluster restore
Types of Changes

Verification

snapshot restoration on fresh nodes

Linked Issues

User-Facing Change
Further Comments

Codecov Report

Merging #4795 (20a659c) into engine-1.21 (7e79ba7) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@               Coverage Diff               @@
##           engine-1.21    #4795      +/-   ##
===============================================
- Coverage        10.40%   10.40%   -0.01%
===============================================
  Files              140      140
  Lines            10056    10057       +1
===============================================
  Hits              1046     1046
- Misses            8784     8785       +1
  Partials           226      226

Flag
Coverage Δ

unittests
10.40% <0.00%> (-0.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/cli/server/server.go
0.00% <0.00%> (ø)

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 7e79ba7...20a659c. Read the comment docs.


calicoctl as libnetwork plugin cannot connect as it sets routes to default

I have a very simple 2-host setup. Each host is on a /31, so just itself and its router. source1 and target1.
Rather than a workload route directly from source1 to target1 (and vice-versa), there appears to be a route from source1 to the workload on target1 via the gateway for source1. Since the IPs themselves are unknown (the fabric is <IP_ADDRESS>/8, while the IPs for the workloads are <IP_ADDRESS>/16), no connectivity exists.
I had thought that Calico adds a route for each workload into each host, rather than relying on the routers?
The hosts are as follows:

host source1: <IP_ADDRESS>/31, route to <IP_ADDRESS>
host target1: <IP_ADDRESS>/31, route to <IP_ADDRESS>

Note the /31 networks; these are not in the same L2 domain.
Workloads are as follows (IPs allocated by Calico):

workload1 on source1: <IP_ADDRESS>/32
workload2 on source2: <IP_ADDRESS>/32

If I try to ping from workload1 to workload2, dead. Same the other way around.
Routing table on source1:
[root@source1 ~]# ip ro
default via <IP_ADDRESS> dev team0  proto static  metric 350
<IP_ADDRESS>/8 via <IP_ADDRESS> dev team0  proto static  metric 350
<IP_ADDRESS>/31 dev team0  proto kernel  scope link  src <IP_ADDRESS>  metric 350
<IP_ADDRESS>/31 dev team0  proto kernel  scope link  src <IP_ADDRESS>  metric 350
<IP_ADDRESS>/16 dev docker0  proto kernel  scope link  src <IP_ADDRESS>
<IP_ADDRESS>/16 dev docker_gwbridge  proto kernel  scope link  src <IP_ADDRESS>
<IP_ADDRESS>/26 via <IP_ADDRESS> dev team0  proto bird
<IP_ADDRESS> dev cali7ff683c71b0  scope link
blackhole <IP_ADDRESS>/26  proto bird

The relevant line is:
<IP_ADDRESS>/26 via <IP_ADDRESS> dev team0  proto bird

The same exists in the reverse on target1. Shouldn't that line be:
<IP_ADDRESS>/26 via <IP_ADDRESS> dev team0  proto bird

Shouldn't it contain an explicit route to the host on which workload2 (with address <IP_ADDRESS>) lives? Right now it is pointing at the router.

To add status info:
[root@source1 ~]# calicoctl status
calico-node container is running. Status: Up 8 minutes
Running felix version 1.4.0rc1

IPv4 BGP status
IP: <IP_ADDRESS>    AS Number: 64511 (inherited)
+---------------+-------------------+-------+----------+-------------+
|  Peer address |     Peer type     | State |  Since   |     Info    |
+---------------+-------------------+-------+----------+-------------+
| <IP_ADDRESS> | node-to-node mesh |   up  | 13:20:16 | Established |
+---------------+-------------------+-------+----------+-------------+

IPv6 BGP status
No IPv6 address configured.

[root@source1 ~]# calicoctl node show
+----------+---------------+-----------+-------------------+--------------+--------------+
| Hostname |   Bird IPv4   | Bird IPv6 |       AS Num      | BGP Peers v4 | BGP Peers v6 |
+----------+---------------+-----------+-------------------+--------------+--------------+
| source1  | <IP_ADDRESS> |           | 64511 (inherited) |              |              |
| target1  | <IP_ADDRESS> |           | 64511 (inherited) |              |              |
+----------+---------------+-----------+-------------------+--------------+--------------+

# and on the other host

[root@target1 ~]# calicoctl status
calico-node container is running. Status: Up 10 minutes
Running felix version 1.4.0rc1

IPv4 BGP status
IP: <IP_ADDRESS>    AS Number: 64511 (inherited)
+---------------+-------------------+-------+----------+-------------+
|  Peer address |     Peer type     | State |  Since   |     Info    |
+---------------+-------------------+-------+----------+-------------+
| <IP_ADDRESS> | node-to-node mesh |   up  | 13:20:16 | Established |
+---------------+-------------------+-------+----------+-------------+

IPv6 BGP status
No IPv6 address configured.

[root@target1 ~]# calicoctl node show
+----------+---------------+-----------+-------------------+--------------+--------------+
| Hostname |   Bird IPv4   | Bird IPv6 |       AS Num      | BGP Peers v4 | BGP Peers v6 |
+----------+---------------+-----------+-------------------+--------------+--------------+
| source1  | <IP_ADDRESS> |           | 64511 (inherited) |              |              |
| target1  | <IP_ADDRESS> |           | 64511 (inherited) |              |              |
+----------+---------------+-----------+-------------------+--------------+--------------+

I probably also should add my startup:

systemctl start docker - with etcd enabled and configured
calicoctl node --libnetwork (repeat on both hosts)
calicoctl pool add <IP_ADDRESS>/16 (only one host of course)
docker network create --driver calico --ipam-driver calico calico
docker run -it --rm --net=calico alpine sh (repeat on both hosts)
ping from one to the other and vice-versa. Fail.

And in case it helps, the other direction is the same story: SYN packets and nothing else.

OK, I see the issue. The Calico mesh network assumes that there is complete L2 communication in the fabric, but in our case, source1 and target1 are on 2 different L2 networks, and the router in between has no knowledge of the workload IPs.
So I am confused how I use Calico in that structure, with an IP fabric yet routers with no knowledge of workload IPs. Isn't the whole point to avoid routers and switches needing knowledge of all of those IPs?
Time to approach the slack channel.

OK, the problem was the L3 router not partaking in the BGP. Consider this closed.


chore(main): release 1.0.2

:robot: I have created a release beep boop
1.0.2 (2024-12-31)
Bug Fixes

trigger release please action which should be triggered by #11 (#12) (c3bdd28)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v1.0.2
:sunflower:


Project links not loading

I am trying to grade student projects today, and all I get when I try to load them is "{ }" and sometimes a "pretty-print" check box. I am unable to sign in and load my own projects, as well, so it's nothing the students have done. I've been using makecode with students for years and haven't encountered this issue before.

@jenniferboutell can you try again. We had a planned outage for 15 min today morning. Sorry for the trouble.


[release/v1.19] Relaxed container runtime version

What this PR does / why we need it:
To update to the latest runc that features security issues and fixes #989
Which issue(s) this PR fixes (optional, in fixes #<issue number> format, will close the issue(s) when PR gets merged):
Backport fix for #989
Special notes for your reviewer:
Optional Release Note:

Relaxed container runtime version

/retest

/retest

/retest

/retest

/test pull-machine-controller-e2e-azure

/retest


Database name is incorrect

I am running MS Server 2008 R2 and running into some issues saving.
I created a migration:
<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateTwelveMonthEligReportIndexTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('TwelveMonthEligReportIndex', function (Blueprint $table) {
            $table->increments('id')->index();
            $table->date('EffectiveDate');
            $table->date('DisplayDate');
            $table->date('TerminationDate');
            $table->string('CreatedBy');
            $table->string('ModifiedBy');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('TwelveMonthEligReportIndex');
    }
}

and model:
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class TwelveMonthEligReportIndex extends Model
{
  protected $fillable = ['EffectiveDate', 'DisplayDate', 'TerminationDate', 'CreatedBy', 'ModifiedBy'];
}

When I try:
      $effectiveDate = date('2014-10-01 23:29:53.000');
      $termDate = date('2014-12-30 23:29:53.000');
      $displayDate = date('2014-12-30 23:29:53.000');
    $twelveMonthEligReportIndex = TwelveMonthEligReportIndex::create(
    [
      'EffectiveDate' => $effectiveDate,
     'DisplayDate' => $showDate,
     'TerminationDate' => $termDate,
     'CreatedBy' => 'dbo',
     'ModifiedBy'=>'dbo'
    ]);

I get the following error:
Illuminate\Database\QueryException: SQLSTATE[HY000]: General error: 208 General SQL Server error: Check messages from the SQL Server [208] (severity 16) [(null)] (SQL: insert into [twelve_month_elig_report_indices] ([EffectiveDate], [DisplayDate], [TerminationDate], [CreatedBy], [ModifiedBy], [updated_at], [created_at]) values (2014-10-01 23:29:53.000, 2014-12-30 23:29:53.000, 2014-12-30 23:29:53.000, dbo, dbo, 2015-10-24 00:07:38.000, 2015-10-24 00:07:38.000))

I am a novice to the framework so there may be something I am missing.

First: to save dates properly add $dates = [ ... ] property to your model with date fields' names - so Laravel can determine which fields should be converted to database date format.
Second: date function usage is date($format, $timestamp = null), so your lines are incorrect. If you want to convert string date to timestamp, use strtotime function or Carbon::createFromFormat to get a Carbon/Datetime object.
Third: if you are saving dates with time, you should use datetime or timestamp field type in schema
The actual problem is in date format, which is YYYYMMDD for SQL Server while you passing strings which are not converted to proper format because of incorrect model definition.

Thanks Ill give it a shot.

Turned out, the Database Table name was automatically going to name_foo rather than NameFoo (snake case vs camel case). Setting public $table = 'TwelveMonthEligReportIndex'; fixed the issue. Looks like Eloquent and the DB can understand the date commend well enough. I did add your suggestions after the fact (thanks! @rkgrep).


App crashes on devices with ABI arm64-v8a throws Error: java.lang.UnsatisfiedLinkError

It throws java.lang.UnsatisfiedLinkError when I try to load a 3D model using an OBJ file. Below is my stacktrace:
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example-2/base.apk", zip file "/data/app/com.example-2/split_lib_dependencies_apk.apk", zip file "/data/app/com.example-2/split_lib_slice_0_apk.apk", zip file "/data/app/com.example-2/split_lib_slice_1_apk.apk", zip file "/data/app/com.example-2/split_lib_slice_2_apk.apk", zip file "/data/app/com.example-2/split_lib_slice_3_apk.apk", zip file "/data/app/com.example-2/split_lib_slice_4_apk.apk", zip file "/data/app/com.example-2/split_lib_slice_5_apk.apk", zip file "/data/app/com.example-2/split_lib_slice_6_apk.apk", zip file "/data/app/com.example-2/split_lib_slice_7_apk.apk", zip file "/data/app/com.example-2/split_lib_slice_8_apk.apk", zip file "/data/app/com.example-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.example-2/lib/arm64, /data/app/com.example-2/base.apk!/lib/arm64-v8a, /data/app/com.example-2/split_lib_dependencies_apk.apk!/lib/arm64-v8a, /data/app/com.example-2/split_lib_slice_0_apk.apk!/lib/arm64-v8a, /data/app/com.example-2/split_lib_slice_1_apk.apk!/lib/arm64-v8a, /data/app/com.example-2/split_lib_slice_2_apk.apk!/lib/arm64-v8a, /data/app/com.example-2/split_lib_slice_3_apk.apk!/lib/arm64-v8a, /data/app/com.example-2/split_lib_slice_4_apk.apk!/lib/arm64-v8a, /data/app/com.example-2/split_lib_slice_5_apk.apk!/lib/arm64-v8a, /data/app/com.example-2/split_lib_slice_6_apk.apk!/lib/arm64-v8a, /data/app/com.example-2/split_lib_slice_7_apk.apk!/lib/arm64-v8a, /data/app/com.example-2/split_lib_slice_8_apk.apk!/lib/arm64-v8a, /data/app/com.example-2/split_lib_slice_9_apk.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]] couldn't find "libgvr.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:972)
at java.lang.System.loadLibrary(System.java:1567)
at com.viro.core.ViroViewScene.(ViroViewScene.java:50)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:652)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:794)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:865)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
at android.view.LayoutInflater.inflate(LayoutInflater.java:525)
at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
at android.view.LayoutInflater.inflate(LayoutInflater.java:378)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
at com.example.model3d.virocore.ViroActivity.onCreate(ViroActivity.java:106)
at android.app.Activity.performCreate(Activity.java:6912)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2900)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3008)
at android.app.ActivityThread.-wrap14(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6688)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)

Hi @ssaxena0891, I'm looking into this now. Could you let me know what device you're using so we can test that one out specifically? We're going to launch with more architectures soon.

Hi @radvani, I got this crash on Samsung galaxy s7.

Hi @ssaxena0891, it may that you're using another library as well that does include arm64-v8a symbols, causing your app as a whole to search for those symbols in all libraries. You can force your app to just look for armeabi-v7a symbols by adding the following line to your app's build.gradle under defaultConfig in the android section:
ndk {
        abiFilters "armeabi-v7a", "x86", "armeabi", "mips"
    }

So your build.gradle would look something like this:
android {
    ...
    defaultConfig {
        ...

        ndk {
            // Specifies the ABI configurations of your native
            // libraries Gradle should build and package with your APK.
            abiFilters 'armeabi-v7a'
        }
    }

Let me know if that works for you.

Hi @radvani, with the above code now the app doesn't crash but my mode doesn't load. However I am receiving onObject3DLoaded callback successfully.

Hi @ssaxena0891, a few things to verify about your model:

Is it positioned and scaled correctly? The bounding box of the model is printed out in the logs.
Is there a light in your scene? Without a light, the model will not show up as there is nothing to illuminate it.

@radvani, yes the position, scaling and lighting is correct and also it is working fine on devices with ABIs other than 'arm64-v8a'.

Hi @ssaxena0891, if you are able to could you send us the model you're using so we can try it out on our own arm64-v8a devices? We'd like to be able to reproduce this bug. Our email is<EMAIL_ADDRESS>Thanks!

Hi @radvani, I have uploaded the complete code here https://drive.google.com/file/d/1Y5DSCvpCJRpaERIcLhFe55iZSdqKItKV/view?usp=sharing.
In the code you can see I am trying to load an OBJ file. Following are the screenshots of the results I get when run on two devices:
On Moto C Plus (Everything working fine):

On Samsung galaxy S7 (getting a black screen):

Hi @ssaxena0891,
I managed to get your model to appear on an S7 and a Pixel. There were two small errors:
In the MTL file associated with your OBJ, there was a reference to a texture called 'ship.jpg' which did not exist. This caused an Exception preventing the model from loading. I modified the MTL file so that it instead refers to 'truck.jpg', which does exist.
The AmbientLight you're using should have a higher intensity. Intensity values range from 0 to 1000, so you'll probably want that intensity set to 1000. (Note this range is because when using physically based rendering, intensity is specified in Lumens).
Finally, our next release will print out more verbose errors when loading models so you'll be able to discover the missing texture issue more easily.
I've attached the revised MTL file.
truck.mtl.zip

Thanks @radvani, setting the intensity to 1000 works. However I am still wondering why the same intensity value had difference in the resulted intensity on those two devices.
Thanks again for the help.

Hi @ssaxena0891, I'm not sure it was the light intensity that was reacting differently between the two devices, it may have been the way the two devices responded to the error condition (the mis-named texture).


Move skipBadPublishes() -> calculate-versions

Can we move skipBadPublishes() to the calculate-versions script, instead of calculating the incipient stub version from cached npm info twice, in generate-packages and publish-packages?
skipBadPublishes() calculates the version of the not-needed stub that we're about to publish. It depends on calculate-versions for cached npm-info. For regular packages, calculate-versions is where we actually perform that step (of figuring out the version we're about to publish).
What I did was:

Move skipBadPublishes() to calculate-versions.ts. Combine it and isAlreadyDeprecated() into fetchIncipientStubVersion().
Add that version to versions.json (the calculate-versions output), alongside the regular packages' versions-to-publish.
Use it to replace skipBadPublishes() in generate-packages and publish-packages.

I've rebased this on https://github.com/microsoft/DefinitelyTyped-tools/pull/451 and added a couple of tests for fetchIncipientStubVersion(), similar to the tests for fetchTypesPackageVersionInfo() I propose adding in https://github.com/microsoft/DefinitelyTyped-tools/pull/464.

With the new method of deprecation, I think the right thing is to remove skipBadPublishes entirely since it existed to skip the fallout from the publish/deprecate race condition on npm.

@sandersn Are there any other ways for a @types package version to get ahead of its not-needed version? The npm-naming rule should ensure we don't publish a minor version that doesn't already exist on npm, but there are some types in the repo from before that rule was a thing, e.g. angular-ui-router.
I can imagine some other ways in theory it could happen (the JS package adds types in a patch version and our patch version is already greater, they add types in a new major/minor but we publish a corresponding @types version before adding it to notNeededPackages.json).
You're right about removing skipBadPublishes() from publish-packages.ts since the new method of deprecation, but I wonder if its worth keeping for other cases?


MILS/MELS overlapping data between 08/06 and 14/06

Describe the issue
For MILS/MELS data with a notification time of between around 15:00 UTC on 08/06/2023 and around 14:45 UTC on 14/06/2023, the Insights API is returning responses with overlapping declarations.
Since the Insights frontend uses this API, the following frontend pages are also affected:

https://bmrs.elexon.co.uk/balancing-mechanism-market-view
https://bmrs.elexon.co.uk/balancing-mechanism-bmu-view

Steps to Reproduce
Steps to reproduce the behavior:

Send a GET request to https://data.elexon.co.uk/bmrs/api/v1/datasets/MILS?from=2023-06-14T06%3A30Z&to=2023-06-14T07%3A00Z&bmUnit=2__BFLEX001
Observe that there are MILS declarations for the BMU 2__BFLX01 covering the following overlapping time periods:
a. 06:30 - 07:00
b. 06:32 - 07:00
c. 06:33 - 06:35
d. 06:35 - 07:00
e. 06:37 - 07:00
f. 06:39 - 07:00

Similar behaviour can be seen for MELS here: https://data.elexon.co.uk/bmrs/api/v1/datasets/MELS?from=2023-06-14T02%3A00Z&to=2023-06-14T02%3A30Z&bmUnit=T_DRAXX-3
Expected behaviour
No overlaps are observed, as for each time period the most recent declaration is taken over all of the previous declaration.
Observed behaviour
Overlaps are observed as described in "Steps to Reproduce" above, without clarity as to which was the correct final MIL/MEL.
HTTP requests/responses
For the https://data.elexon.co.uk/bmrs/api/v1/datasets/MELS?from=2023-06-14T02%3A00Z&to=2023-06-14T02%3A30Z&bmUnit=T_DRAXX-3 example, this is the response body:
{
   "data":[
      {
         "dataset":"MELS",
         "settlementDate":"2023-06-14",
         "settlementPeriod":8,
         "timeFrom":"2023-06-14T02:30:00Z",
         "timeTo":"2023-06-14T03:00:00Z",
         "levelFrom":645,
         "levelTo":645,
         "notificationTime":"2023-06-14T02:08:07Z",
         "notificationSequence":104326557,
         "nationalGridBmUnit":"DRAXX-3",
         "bmUnit":"T_DRAXX-3"
      },
      {
         "dataset":"MELS",
         "settlementDate":"2023-06-14",
         "settlementPeriod":7,
         "timeFrom":"2023-06-14T02:13:00Z",
         "timeTo":"2023-06-14T02:30:00Z",
         "levelFrom":645,
         "levelTo":645,
         "notificationTime":"2023-06-14T02:08:07Z",
         "notificationSequence":104326557,
         "nationalGridBmUnit":"DRAXX-3",
         "bmUnit":"T_DRAXX-3"
      },
      {
         "dataset":"MELS",
         "settlementDate":"2023-06-14",
         "settlementPeriod":7,
         "timeFrom":"2023-06-14T02:11:00Z",
         "timeTo":"2023-06-14T02:13:00Z",
         "levelFrom":620,
         "levelTo":645,
         "notificationTime":"2023-06-14T02:08:07Z",
         "notificationSequence":104326556,
         "nationalGridBmUnit":"DRAXX-3",
         "bmUnit":"T_DRAXX-3"
      },
      {
         "dataset":"MELS",
         "settlementDate":"2023-06-14",
         "settlementPeriod":7,
         "timeFrom":"2023-06-14T02:10:00Z",
         "timeTo":"2023-06-14T02:30:00Z",
         "levelFrom":620,
         "levelTo":620,
         "notificationTime":"2023-06-14T02:07:07Z",
         "notificationSequence":104326505,
         "nationalGridBmUnit":"DRAXX-3",
         "bmUnit":"T_DRAXX-3"
      },
      {
         "dataset":"MELS",
         "settlementDate":"2023-06-14",
         "settlementPeriod":7,
         "timeFrom":"2023-06-14T02:08:00Z",
         "timeTo":"2023-06-14T02:10:00Z",
         "levelFrom":645,
         "levelTo":620,
         "notificationTime":"2023-06-14T02:07:07Z",
         "notificationSequence":104326503,
         "nationalGridBmUnit":"DRAXX-3",
         "bmUnit":"T_DRAXX-3"
      },
      {
         "dataset":"MELS",
         "settlementDate":"2023-06-14",
         "settlementPeriod":7,
         "timeFrom":"2023-06-14T02:05:00Z",
         "timeTo":"2023-06-14T02:30:00Z",
         "levelFrom":645,
         "levelTo":645,
         "notificationTime":"2023-06-13T21:58:41Z",
         "notificationSequence":104318494,
         "nationalGridBmUnit":"DRAXX-3",
         "bmUnit":"T_DRAXX-3"
      },
      {
         "dataset":"MELS",
         "settlementDate":"2023-06-14",
         "settlementPeriod":7,
         "timeFrom":"2023-06-14T02:00:00Z",
         "timeTo":"2023-06-14T02:05:00Z",
         "levelFrom":590,
         "levelTo":645,
         "notificationTime":"2023-06-13T21:58:41Z",
         "notificationSequence":104319612,
         "nationalGridBmUnit":"DRAXX-3",
         "bmUnit":"T_DRAXX-3"
      }
   ]
}

Checks
Please answer the following questions for yourself before submitting an issue.

[x] I checked the documentation and found no answer
[x] I checked to make sure that this issue has not already been filed
[x] I'm reporting the issue to the correct repository
[x] I'm reporting a problem and not a feature request
[x] I have added the correct labels
[x] I have added screenshots or other relevant evidence (if applicable)

We've deployed changes resolving the underlying issue. These changes are live as of 13:10 (BST) today and should prevent any future overlaps in MILS and MELS datasets.
Correcting historic data overlaps is a separate activity - we'll keep this issue open to track it.


Jl server tests

Adds tests for teachersRoutes and studentsRoutes.
Requesting Chaya's review bc I had to slightly alter a few db helpers.

Great job on the testing!


Scheme.Save() Fails

I am trying to create and save a WiFi scheme however when I run program the save always fails with a permission denied error. There appears to be a scheme.py file already located under the /usr/local/lib/python2.7/dist-packages/wifi folder and the file is protected from being changed.
cell = Cell.all('wlan0')[0]
scheme = Scheme.for_cell('wlan0', 'home', cell)
scheme.save()

Triage:
* doc issue. Scheme saving should always be done as root as system files are root owned.
* bug: should support more schemes (systemd, wpa_supplicant) and integrate `sudo`.

I was able to get this to work doing this using the sudo command...Thx


[ENH] Save Dragonflight Talent Share to Talent window

🟢 How does GSE currently work
From Mists through to Shadowlands, Talents were a combination of rows each with three options.  In Dragonflight this have changed to a table hash representing the talents.  While the user can currently go "Share" on the talent frame and copy this to the talent box it would be good if the Update Talents button copied this in instead.

Pre Update

After hitting Update Talents


use mask as prompt

Thanks for sharing this great work!
I wonder if you could provide a demo code that uses masks (coordinates of polygon vertex) as prompt.
Best,
Dongyi

Looking for same.

same

same

+1


Fix variable name in windows-daily.yml

PR Summary
Fixes the variable name in yml to match the name in the template. This ensures the jobs are schedules appropriately.
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Change is not breaking
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

User-facing changes

[x] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[x] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

Merging this without waiting for 24 hours as this fixes the daily build.


Check LLVM version on build

The MLIR C API is still unstable so rather than expecting forward/backward compatibility. I think we should rather fail builds for unexpected version mismatches.
This PR also introduces a new MLIR_SYS_150_PREFIX similar to llvm-sys.rs.
Example
> cargo build
   ...
   Compiling mlir-sys v0.1.2 (/home/raviqqe/src/github.com/femtomc/mlir-sys)
error: failed to run custom build command for `mlir-sys v0.1.2 (/home/raviqqe/src/github.com/femtomc/mlir-sys)`

Caused by:
  process didn't exit successfully: `/home/raviqqe/src/github.com/femtomc/mlir-sys/target/debug/build/mlir-sys-03bf93aaf536b322/build-script-build` (exit status: 1)
  --- stderr
  failed to find correct version (15.x.x) of llvm-config (found 13.0.1)

Thanks!


Error configuring

Sorry for the noob question.
I'm trying to configure sbt-heroku but keep getting this error in build.sbt:
[info] Loading project definition from ...\project
....\build.sbt:11: error: not found: value herokuAppName
herokuAppName in Compile := "appsho3-staging"
^
[error] Type error in expression

My build.sbt
import play.Project._

name := "Appsho"

version := "1.0-SNAPSHOT"

libraryDependencies ++= Seq(
  cache
)

herokuAppName in Compile := "appsho3-staging"

play.Project.playJavaSettings

lazy val root = project.in(file(".")).aggregate(common, internal, edu).dependsOn(common, internal, edu)

lazy val common = project.in(file("modules/common"))

lazy val internal = project.in(file("modules/internal")).dependsOn(common)

lazy val edu = project.in(file("modules/edu")).dependsOn(common)

Have you added addSbtPlugin("com.heroku" % "sbt-heroku" % "0.3.4") to your project/plugins.sbt?

Yes, my plugins.sbt:
// Comment to get more information during initialization
logLevel := Level.Warn

// The Typesafe repository
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"

// Use the Play sbt plugin for Play projects
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.6")

addSbtPlugin("com.heroku" % "sbt-heroku" % "0.3.4")

What version of sbt are you using? You'll need 0.13.5 or higher

That was it! I was using sbt 0.13.0.
Thanks for your help jkutner


Passwords are visible (all of a sudden)

i know that it didn't used to show passwords, probably must update a config.
What i've tried:
in ~/.local/bin/dmenupass , i left only " dmenu -p "$1" <&- " without "&& echo".
since that didnt work, i tried to make the every color black, so it would write black text on black background, 😅 didnt work either, dmenu would be to intelligent to change the font color.
( to test this i would only run "sudo st" )

Ah I'm going to guess this is due to the addition of the transparency patch and such. I'll try to figure it out when I can.

fixed in 2d9878f5babb86ad2d41f7926613dcaa8413d36f


Add missing delegated method + tests

the device method was missing from the def_delegators list (and other methods were not all tested).

@tbalthazar Thanks!


[wip] gradient accumulation, another attempt

Doesn't work. On master, we reproduce our Python script (almost) exactly by running:
make train_gpt2cu NO_MULTI_GPU=1 USE_CUDNN=1
./train_gpt2cu -b 4 -t 64 -l 1e-4 -v 200 -s 200 -a 1 -x 10

But doing this on this branch fails and the loss stagnates, something is wrong with the optimization.
Running an actual training loop, the loss does not decrease.
debugging...

(The Python version works and behaves as expected. E.g. bumping the total batch size from 256 to 512 or 1024 produces exactly identical results, as it should be, because the batch is fixed so doing gradient accumulation over many fwd bwd passes over it create all the same gradients, so the mean of those doesn't change and everything remains the same)

Issue was with streams, which were complex and aren't adding much perf anyway atm.
Threw away all streams, back to default 1 stream for now.
Will be more careful re-adding streams in future commits.
Gradient accumulation seems to work ok now.
I did some debugging a bit with commands such as:
# fp32 test
# make train_gpt2cu NO_MULTI_GPU=1 PRECISION=FP32
# ./train_gpt2cu -b 4 -t 64 -l 1e-4 -v 200 -s 200 -a 1 -x 10 -f 0 -e gpt2_124M.bin

# bf16 single gpu test
# make train_gpt2cu NO_MULTI_GPU=1 USE_CUDNN=1
# ./train_gpt2cu -b 4 -t 64 -l 1e-4 -v 200 -s 200 -a 1 -x 10

# make train_gpt2cu USE_CUDNN=1
make train_gpt2cu USE_CUDNN=1
mpirun -np 4 ./train_gpt2cu -b 4 -t 64 -l 1e-4 -v 200 -s 200 -a 1 -x 10 -d 4096

And the way I tested things was to use the new -d flag to force gradient accumulation. e.g. if -d 512, then the total batch size is 512, forcing gradient accumulation to be 2. And because the batches here are hacked to be all same, you expect the same results exactly, because all the accumulations are producing the same gradients, and then averaging out to the identical point. (Note that for the multi-gpu test I had to also hack this loader->process_rank = 0 inside dataloader init, otherwise the dataloader tries to be different on each process).


Chat scanner filter myself messages

What feature would you like added?
Add possibility to filter messages from myself.
Why do you want this feature added?
Usually i look for Starfall boss from other players, i set entry for it.
But when i type "lf starfall boss" in chat, chat scanned caught my message too.

Seems reasonable. I think outgoing whispers are currently ignored, but if they aren't that is easy to filter. Ignoring yourself in global would require knowing the usernames to ignore. I'll consider adding an entry for character names to the window.


Catalog metadata checkums/DSWx ISO metadata creation

This PR wraps up work for two tickets, one to add MD5 checksums for output products to the catalog metadata, and another to add ISO metadata creation support to the DSWx-HLS PGE.
The necessary metadata for the ISO template is collected by the _create_iso_metadata() implementation within DSWxPostProcessorMixin. The rendered version of the template is returned by this method, from which the base implementation of _stage_output_files() in base_pge.py handles the output of the file to disk.
Closes #72
Closes #73

I checked the changes and it all looks good.


:bug: Fix version input

Version input did not work. It always installed the latest version of platformIO.

Double checked the workflows. Everything seems to be working as it should now.


Asynchronous soap requests mixed with node for loops

hi @herom,
Apologies about asking for help - hope you don't mind. Happy for you to just close this.
I've seen the issue where you say that synchronous requests are not supported, but I was wondering if you could point me in the right direction with what I am trying to do.
I am reading a csv file (using nodes csvtojson module) and storing that all in a json object.
Then I iterate through the json object in a for loop, and for each record in the json object I want to execute 3 soap requests, which have to happen one after the other.
I think that last part is the crux, because what I am finding is that as the soap requests are async the for loop will iterate through pretty quickly and try to enter the soap requests again and again which is causing issues. I've been playing with 'promises' but unsure if that is quite the right way.
thanks for any advice!
Ramo

I think the async module is what you are looking for.
(Specifically the waterfall function)


Migrate the Scancode result parser to kotlinx-serialization

Please have a look at the individual commit messages for the details.

Only skimmed through quickly, so far.


Add a linux archive to distribute atom

Now that Atom has a relocable/portable config directories and different channels, it makes sense to have a way to distribute an archive on Linux (as suggested on bug #7102) containing latest available code for each channels.
This has two advantages:

this will enable (in a later step) to enable auto-upgrade to follow multiple channels (optionally in parallel in different directories). We can even think giving a way for people to switch between channels as needed (given the user config stay backward compatible). I'm happy to work on those 2 problematics after/if this PR is merged at some point.
if all dependencies are installed in the distribution, the atom installation is then just a question of extracting an archive, requiring non root permission contrary to the .deb or .rpm packages.

We can then integrate this archive to be downloaded to some tools like Ubuntu Make (https://github.com/ubuntu/ubuntu-make/issues/6).
We generate a .tar.gz compressed archive (we could switch to a more performant .tar.xz, but the first format is more widespread and usual). I did add the mktar to the CI task (I saw the rpm wasn't in there, so I guess, it's only running on an Ubuntu machine) and tested it. I did add the task as well to upload-assets, but of course, I couldn't test it ;) The changes there are though minimal, but I can modify what's necessary as needed.
As version contains upstream version + channel name, I didn't change anything in the naming of the archive publication, and the folder in archive contains thus an uniquely defined build.
Of course, the resulting archive is linked against the libraries available in the builder version. mktar is run where the .deb is built, which is, I guess, the latest ubuntu LTS. I tried the built archive on 14.04 LTS, 15.04, 15.10 and xenial (dev version), and everything is working as expected. If this doesn't work on other distros (which, looking at the deps, seems unlikely and we already only have one deb for debian/ubuntu and one rpm for fedora/opensuse…), we can build multiple archives. But I propose we starts with this one.
I'm happy to do any changes that you feel are necessary!

I looked at the check failure: it seems that the failure on "ATOM_SPECS_TASK=packages NODE_VERSION=0.12" darwin config seems to be a network transiant issue (npm returning ECONNRESET). The other configs are passing (and you can see that the mktar task is called on Linux machines). I can't relaunch the Travis CI task as only the repo owner could.

Restarted it :).

Thanks @50Wliu! Better now :)

Thanks for the review/ Just pushed a new commit fixing the comments.
I did rerun a script/grunt mktar after a new build and a script/grunt ci to ensure both direct build and CI are still passing as expected.
On travis CI, the 2 failures seems some transient issues:
 >> Failed to download electron v0.34.5 [Error: Could not find the End of Central Directory Record]

and:
>> Error Downloading Update: Could not get code signature for running application

Mind relaunching the tests?
Thanks again!

The failing core spec actually seems to be my fault...oops.  I'll go revert that change until I can fix the specs.

looks indeed better now :)

Looks good to me other than a few little nits, but I'm probably not the best reviewer for this :P.
/cc @atom/feedback

And here we go, just push the additional typo/path.join fixes. Thanks for the review!
To ensure I didn't introduce any typo, I've reran build, mktar and ci tasks, and they all pass (as well as Travis CI)

Why aren't we merging this pull request already ?

Why aren't we merging this pull request already ?

Someone with more knowledge in this area of the codebase needs to review it first.  I only did a very basic review.

Could you please refer this PR to appropriate maintainer after New Year ?

Could you please refer this PR to appropriate maintainer after New Year ?

I'll try :smile:.

Waiting for the Linux Zip to use it as a Julia IDE in my laboratory.

I don't feel terribly qualified to review this. @atom/feedback Anyone else?

Is there any news on this issue? As an Ubuntu user being able to install Atom and update using Ubuntu Make would be incredible useful.

I would be happy to fix the conflicts with trunk if I'm ensured that upstream will look at it this time.

@didrocks, let me talk to the team and see what the status is.

@didrocks this is great and we'd be psyched to merge it if you'll fix the conflicts! 📦 ✨

Here is a rebased and squashed version of this PR! The tests on Linux (impacted by the change) are passing. The failure on one Mac machine is already happening on master and thus, doesn't seem related.

Thanks @didrocks! I've notified the right people :grinning:

The tests on Linux (impacted by the change) are passing. The failure on one Mac machine is already happening on master and thus, doesn't seem related.

Correct assumption. I restarted the failing Travis build, and it's :green_heart:

Thanks a lot for merging! I see though that yesterday's release don't publish the linux tarball yet: https://github.com/atom/atom/releases/tag/v1.7.0. Do you have a pointer to the code for the tool publishing this? I'm happy to patch this as well.

@iolsen: Can you help with this too?

Hey @didrocks sorry about that. Getting this integrated into our build/release scripts is going to be difficult because they're kind of a mess right now. Getting that sorted out is a priority but is going to be a blocker for this until it's done. I appreciate your offer to help and I'll take you up on that when I can!


Open file permanently instead of preview from Quick Open (⌘P)?

When using Quick Open (⌘P), you can:

Ctrl+Enter to open preview in split view.
Alt+Enter to open permanently in split view.

Is there any way from Quick Open, to open the selected file permanently in the current editor, not in split view?
PS: The Alt+Enter option is undocumented as far as I can see.

Actually this is less a question and more a feature request. I've looked everywhere, tried everything, and I can't seem to open files permanently from Quick Open, which is how I open files all the time.
Therefore it's a feature request: Add a modifier key combo to open a file permanently instead of preview from the Quick Open dropdown menu.


How do you use notification component?

@rusenask Were you able to figure this out?
I'm new to Vue and facing the same issue :(

yeah, like this:
this.$notifications.notify({
              message: `Alias '${repo.alias}' deleted.`,
              type: 'primary'
            })

or errors:
this.$notifications.notify({
              message: `Failed to delete alias '${repo.alias}', error: ${this.$store.state.privateRepository.error}.`,
              type: 'danger'
            })

Thanks a lot @rusenask


Carlini L2 Algorithm

Theano implementation of L2 attack from [Carlini et al, 2016]. This attack is slower than FGSM, but produces good-looking examples with high success rate.
Adam optimizer is also added for the algorithm.
See https://arxiv.org/abs/1608.04644 for other details.

Needs tests

I am closing this for now since we have deprecated Theano and a TF version is underway.


[Bug] Can't Pull Through Reach

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the issue
reach is already being pulled through manually in stg_facebook_ads__basic_ad.sql so when I try to pass through reach using the below I get a duplicate field and the model can't run. I need to pass through the field for subsequent models using the dbt_facebook_ads repo. I believe the same would be true for frequency.
facebook_ads__basic_ad_passthrough_metrics:
  - name: "reach"

Relevant error log or model output
with base as (
    select *
    from `analytics-dev-406710`.`alex_analytics_dev_package_fivetran_ads_source`.`stg_facebook_ads__basic_ad_tmp`
),
fields as (
    select

    ad_id

 as

    ad_id

,

    ad_name

 as

    ad_name

,

    adset_name

 as

    adset_name

,

    date

 as

    date

,

    account_id

 as

    account_id

,

    impressions

 as

    impressions

,

    inline_link_clicks

 as

    inline_link_clicks

,

    spend

 as

    spend

,

    reach

 as

    reach

,

    frequency

 as

    frequency

,

    reach

 as

    reach

, cast('' as STRING) as source_relation
    from base
),
final as (
    select
        source_relation,
        cast(ad_id as bigint) as ad_id,
        ad_name,
        adset_name as ad_set_name,
        date as date_day,
        cast(account_id as bigint) as account_id,
        impressions,
        coalesce(inline_link_clicks,0) as clicks,
        spend,
        reach,
        frequency

                , reach

    from fields
)
select *
from final

Expected behavior
I would expect reach to not be in the initial list of variables so that when the macro adds it there are no duplicate fields. This would then allow the model to run.
dbt Project configurations
facebook_ads__basic_ad_passthrough_metrics:
  - name: "reach"

Package versions
packages:

  - package: dbt-labs/dbt_utils
    version: [">=1.0.0", "<2.0.0"]

  - package: Velir/ga4
    version: 5.1.0

  - package: fivetran/google_ads
    version: [">=0.10.0", "<0.11.0"]

  - package: fivetran/facebook_ads
    version: [">=0.7.0", "<0.8.0"]

  - package: fivetran/instagram_business
    version: [">=0.2.0", "<0.3.0"]

What database are you using dbt with?
bigquery
dbt Version
Core:

installed: 1.6.6
latest:    1.7.13 - Update available!

Your version of dbt-core is out of date!
You can find instructions for upgrading here:
https://docs.getdbt.com/docs/installation
Plugins:

bigquery: 1.6.7 - Update available!

At least one plugin is out of date or incompatible with dbt-core.
You can find instructions for upgrading here:
https://docs.getdbt.com/docs/installation
Additional Context
No response
Are you willing to open a PR to help address this issue?

[X] Yes.
[ ] Yes, but I will need assistance and will schedule time during our office hours for guidance
[ ] No.

Sorry if I have done anything wrong. This is my first time reporting an issue on GitHub!

Hi @alexmacartney thank you for opening this issue--the info you provided is perfect! We agree that the issue with the reach and frequency metrics needs to be addressed. The next step is for us internally to find the best way to deprecate those columns in stg_facebook_ads__basic_ad while maintaining backwards compatibility for all users. We'll keep you posted.

@fivetran-catfritz Great! Please let me know if there is anything I can do to help.

Hi @alexmacartney thanks for the ping. There is nothing you need to do for now! We are accepting this issue and plan to release an update in the coming weeks. We might reach out to you to test our proposed changes in the next week or so as well.

hey @alexmacartney - the fix for this is live and will be automatically installed with facebook_ads [">=0.7.0", "<0.8.0"]; you should be able to pass reach and frequency to the facebook_ads__basic_ad_passthrough_metrics var
going to close this issue but please reopen if the fix isn't working for you 🤠


chore(deps): update dependency @types/eslint to v7

This PR contains the following updates:

Package
Type
Update
Change

@types/eslint
devDependencies
major
6.8.1 -> 7.2.0

Renovate configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Codecov Report

Merging #57 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #57   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           22        22
  Lines          480       480
  Branches        80        80
=========================================
  Hits           480       480

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 20ea827...2683526. Read the comment docs.


fix fix error in get detached tablet stat

What problem does this PR solve?
Related PR: #44120
Problem Summary:

detached tablet stats should maintain a fixed size.

Release note
None
Check List (For Author)

Test

[ ] Regression test
[x] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[ ] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[ ] No.
[ ] Yes.

Does this need documentation?

[ ] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.
Please clearly describe your PR:

What problem was fixed (it's best to include specific error reporting information). How it was fixed.
Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
What features were added. Why was this function added?
Which code was refactored and why was this part of the code refactored?
Which functions were optimized and what is the difference before and after the optimization?

run buildall

run buildall

run buildall


Multivoice CLI Similar to Gradio App

Inspired by the Gradio app, my attempt to make CLI to generate with multiple voices.
It's a combination of both podcast and emotion tabs.
Not 100% done, missing the combined spectrogram, but I just wanted to check what you guys think first.
Run: python inference-cli.py -c samples/story.toml
Configuration looks like this with three voices: main, town, and country.
The sample files are from vctk dataset.
model = "F5-TTS"
ref_audio = "samples/main.flac"
# If an empty "", transcribes the reference audio automatically.
ref_text = ""
gen_text = ""
gen_file = "samples/story.txt"
remove_silence = true
output_dir = "samples"

[voices.town]
ref_audio = "samples/town.flac"
ref_text = ""

[voices.country]
ref_audio = "samples/country.flac"
ref_text = ""

You mark the voice with [main] [town] [country] whenever you want to change voice.
A Town Mouse and a Country Mouse were acquaintances, and the Country Mouse one day invited his friend to come and see him at his home in the fields. The Town Mouse came, and they sat down to a dinner of barleycorns and roots, the latter of which had a distinctly earthy flavour. The fare was not much to the taste of the guest, and presently he broke out with [town] “My poor dear friend, you live here no better than the ants. Now, you should just see how I fare! My larder is a regular horn of plenty.  The Country Mouse had never seen anything like it, and sat down to enjoy the luxuries his friend provided: but before they had well begun, the door of the larder opened and someone came in. The two Mice scampered off and hid themselves in a narrow and exceedingly uncomfortable hole. Presently, when all was quiet, they ventured out again; but someone else came in, and off they scuttled again. This was too much for the visitor. [country] “Goodbye,” [main] said he, [country] “I’m off. You live in the lap of luxury, I can see, but you are surrounded by dangers; whereas at home I can enjoy my simple dinner of roots and corn in peace.”

I'd appreciate your thoughts.
Thanks!

@SWivid, there's a probably easy answer, but any idea on how to combined spectrogram?
The process function loops through each voice tag with:
audio, spectragram = infer(ref_audio, ref_text, gen_text, model, remove_silence)
Right now I'm just ignoring the spectragram from infer function.
Is there a way to combine them with numpy? Or, should it just generate new spectragram based on final_wave?
final_wave = np.concatenate(generated_audio_segments)
Here are some additional thoughts:
Would it be possible for someone to refactor and come up with common functions that both cli and gradio app share, before they diverged too much?
Other than the fact that podcast tab only works with two voices, is there difference between Podcast and multi-style tabs on Gradio app? You should be able to achieve podcast with multi-style? They just have different way of marking voices on script, right? Am I missing something?
Thanks!

Yes, maybe someone could help!
we are just focusing on developping v2 model

@chigkim @jpgallegoar @JarodMica @lpscr @cocktailpeanut
Hi there ~
We trust your submission very much, because we have limited manpower, so we may not always be able to merge in time.
So I just sent an invitation to you all to collaborate together.
Feel free just merge ! I think you are far more familiar with these modules than we are !

@chigkim @jpgallegoar @JarodMica @lpscr @cocktailpeanut Hi there ~
We trust your submission very much, because we have limited manpower, so we may not always be able to merge in time. So I just sent an invitation to you all to collaborate together.
Feel free just merge ! I think you are far more familiar with these modules than we are !

Appreciate the trust! I don't have the knowledge to fully understand all the architectural stuff going on, but do understand the fine-tuning and training stuff generally so glad to be of help where I can.

Dear @SWivid. Have you explored any form of quantization of the model? I'd like to give it a shot but I need the config.json architecture file. I think it could be interesting to explore since current model is full precision 32 bits. Maybe Q8 retains quality being much faster.

Hi @jpgallegoar , we have seen through some existing tools to do quantization e.g. gptq, awq, though we felt a little at a loss since we are new to this, and these tools seems mostly take text llm for usage example.
If you are interested in it, what kind of config.json we could help provide~


Scoring script to access Azure resource can be simplified

The code snippet in the Scoring script to access Azure resource
 section is unnecessarily complex.
Instead of calling the APIs manually using requests, the Azure Python SDK can be used to obtain the token:
from azure.identity import DefaultAzureCredential

def get_token():
    client_id = os.environ.get('UAI_CLIENT_ID')
    cred = DefaultAzureCredential(managed_identity_client_id=client_id)
    return cred.get_token("https://storage.azure.com/").token

Also, instead of using the token for subsequent calls, the Storage SDK could be used with the DefaultAzureCredential object.

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

ID: 3eae267a-fb03-0442-a753-44f6054f5fca
Version Independent ID: 0916076d-7ec9-5fce-4ff2-b8cdba426415
Content: Access Azure resources from an online endpoint - Azure Machine Learning
Content Source: articles/machine-learning/how-to-access-resources-from-endpoints-managed-identities.md
Service: machine-learning
Sub-service: core
GitHub Login: @shohei1029
Microsoft Alias: shnagata

#assign:shohei1029

Thanks for raising this. We're checking...

@tomasvanpottelbergh
Thank you for bringing this to our attention. I've assigned this issue to the author who will investigate and update as appropriate.

Hi @shohei1029
Thank you for your response.

We're updating this.
https://github.com/Azure/azureml-examples/pull/1856
@tomasvanpottelbergh love to hear your feedback!

Thank you again @tomasvanpottelbergh , we have merged the change and it's now included as a separate example scoring script, using managed identity to access Azure resources: https://github.com/Azure/azureml-examples/blob/main/cli/endpoints/online/model-1/onlinescoring/score_managedidentity.py
Closing this issue as it's handled with the separate RP. Let us know if you had further questions. Thanks again for your contribution!
#please-close


Hive Open Encrypted box , HiveError: This should not happen. Please open an issue on GitHub.

Steps to Reproduce

Run the sample code
Run the sample code again with restart or terminate the app and re run
Produces the error below

 Unhandled Exception: HiveError: This should not happen. Please open an issue on GitHub.
           #0      BinaryReaderImpl.readFrame (package:hive/src/binary/binary_reader_impl.dart:250:7)
           #1      FrameHelper.framesFromBytes (package:hive/src/binary/frame_helper.dart:21:26)
           #2      FrameIoHelper.framesFromFile (package:hive/src/io/frame_io_helper.dart:42:12)
           <asynchronous suspension>
           #3      StorageBackendVm.initialize (package:hive/src/backend/vm/storage_backend_vm.dart:86:11)
           <asynchronous suspension>
           #4      HiveImpl._openBox (package:hive/src/hive_impl.dart:116:9)
           <asynchronous suspension>
           #5      HiveImpl.openBox (package:hive/src/hive_impl.dart:145:12)

When i run the code sample below for the first time everything is fine , but when i run the code again with the same box name i get the error .Also when i change the box name and run again it works ,however when i run with the previous box name without terminating application i get the same error.I have also tried with terminating application and re run the app the error was same
Code sample
  await Hive.initFlutter();
  var key = Hive.generateSecureKey();
  var encryptedBox = await Hive.openBox('valut', encryptionCipher: HiveAesCipher(key));
  encryptedBox.put('secret', 'Hive is cool');
  print(encryptedBox.get('secret'));

Version

Platform: iOS ( emulator ), Haven't tried on others.
Flutter version: 2.8.0
Hive version: 2.0.3
Hive Flutter version: 1.1.0

Duplication of #263
Sorry for re opening issue
And it seems when we try to change or add different box name the error occurs


Documents are not created in Azure Cosmos DB

My configuration is correct. I cannot see the documents in a collection called checks in a database pets!

@SrivatsaMarichi are you running the app locally or in Azure? Did you F5 the public web app project and the Function project? Thanks for providing a little more information so we can help troubleshoot.

@bradygmsft I am running locally. I F5'd the PetChecker app as I had issues running the web. Issue is looged here for the web.

@SrivatsaMarichi did you configure the local settings file in the function project and also the one in the web project?

@bradygmsft Yes I did.

moved to here


Using loadText() is currently not an option for BICEP Script Extensions.  Conversation pasted here:

Using loadText() is currently not an option for BICEP Script Extensions.  Conversation pasted here:
[Yesterday 12:45 PM] Nick Andres
hey Brandon Martinez or Joshua Waddell, I'm kind of stuck trying to make this work.
Are there any examples where custom script extensions actually reference a 'loadTextContent' variable?  I can't seem to find examples where this works
[Yesterday 12:45 PM] Joshua Waddell
let me look
[Yesterday 12:47 PM] Nick Andres
it seems like all Custom Script Extensions I'm looking at always expects a 'fileUris'
[Yesterday 2:10 PM] Brandon Martinez
Nick Andres so it sounds like I sent you on a wild goose chase speechless finally got out of customer calls and synced with Josh, doesn't look like we'll be able to do that sad
[Yesterday 2:10 PM] Brandon Martinez
Thank you for spending time in research and clarifying it
Originally posted by @nandrespersonal in https://github.com/joshuawaddell/azure-demo-environment/issues/146#issuecomment-943668994

Solved with passing in scriptsBaseUri to ade.ps1 to allow for non-default script locations during development.


Field not working when in a repeater

Hi,
First of all thank you for your module.
I'm having an issue where I have my field in a repeater matrix but it prints out the error "No oembed data or provider found.". However the same link in a field not being in a repeater works without any issues.
I wonder if being in a repeater gives it a special context and somehow avoids your module from working properly ?
Let me know if you need more informations.

I did some digging and looking for the error message I came across the render function of the Inputfield and my issue seems to be because of line 41, more specifically with getFormatted.
I don't know why but in the context of a repeater getFormatted returns null.
Also a small note : $this->name returns the field name suffixed with _repeater{id}, but here it's not helpful since even when inputing $fieldtype->name it still returns null.
Hope it helps.

Thank you very much, i will have a look at this. 👍

I have updated the module. Take a look at version 1.1.2


Revert #14077 from release-6.6

This reverts commit d083fc92d5228fb4bfc74a98e5ae7982d8fef22a from release-6.6.

What is changed and how it works?

Issue Number: Ref #14200
What's Changed:

We don't intend to release this feature on 6.6.

Related changes

PR to update pingcap/docs/pingcap/docs-cn:
Need to cherry-pick to the release branch

Check List
Tests

Manual test

Release note
None

/merge


Show or update online/offline status (green circle)

I've come back to YakYak, and it seems this issue is still present.
It's the online status (green circle) when a contact goes offline or online.
The online status doesn't seem to update very well. Some of my contacts are showing they are offline (i.e. no green icon). As soon as i restart YakYak, Their online status updates correctly.
Same with the offline status, they show as online (green icon) but infact they are are offline. But as soon as i restart yakyak, it updates correctly.
Example screenshot and descriptions:
001 http://prntscr.com/lowgku
002 http://prntscr.com/lowgs8
This might be related to how #103 was implemented.
Running win x64.
v1.5.4-beta-rolling: https://github.com/yakyak/yakyak/releases/tag/v1.5.4-beta-rolling

I also +1 this.

With 1.5.8 beta it's still an issue.


extend image not taking image picker gallery image

HI I am facing issue with imagePicker gallery url not able to assign to crop extendImage.network
File imagefile = await ImagePicker.pickImage(source: ImageSource.gallery);
ExtendedImage.network(
imagefile.path
fit: BoxFit.contain,
mode: type == 'editor'
? ExtendedImageMode.editor
: ExtendedImageMode.none,
extendedImageEditorKey: editorKey,
cache: true,
enableMemoryCache: true,
clearMemoryCacheIfFailed: true);
Facing failed to load image
Please help on this issue,
Thanks in advance

ExtendedImage.file(imagefile)

@zmtzawqlp  thank you its working


Publishing docker images with tagged release version numbers

Hi @apricot13 and friends!
I hope you are well.
At Greenwich, we're using ghcr.io/wearefuturegov/outpost-api-service:latest as the base image for our Outpost API, which I think you helped to set up in the first place.
Recent changes here meant that the port changed, which took us a few weeks to identify and resolve.
To mitigate this in future it would be super handy to be able to pin the docker image to a known release version .
Might it be possible to start tagging releases and building appropriately named / tagged docker images from these releases?
Many thanks,
Finn

Copying in @rbg-mwilliams to join the discussion.


Release Google.Cloud.Datastore.Admin.V1 version 1.0.0

Changes in this release:
First GA release.

Commit 0ca05f5: chore: Regenerate all APIs using protoc 3.13 and Grpc.Tools 2.31

Created release for Google.Cloud.Datastore.Admin.V1-1.0.0

The build was mostly fine - just failed at gh-pages push. Rerunning.

The release succeeded this time.


False positive when proxy object is nested inside a regular object

When you use useSnapshot(nestedState.proxy) when nestedState is a regular object, you get a false positive of Mutating a proxy object itself. this might not be expected as it's not reactive. eslint(valtio/state-snapshot-rule).
Having just nestedState.proxy.settings = {}; is not enough for whatever reason. It has to be assigned to a second proxy object. nestedState.proxy.settings = state2.settings;
import { proxy, useSnapshot } from "valtio";
import { useEffect } from "react";

const nestedState = { proxy: proxy({ settings: null as null | Record<string, unknown> }) };
const state2 = proxy({ settings: null as null | Record<string, unknown> });

export function Component() {
    // Bad
    const snap = useSnapshot(nestedState.proxy);

    // Good
    // const proxy = nestedState.proxy;
    // const snap = useSnapshot(proxy);

    // This is where the linting error occurs
    nestedState.proxy.settings = state2.settings;

    // This is a more realistic example.
    // useEffect(() => {
    //     nestedState.proxy.settings = state2.settings;
    // }, []);

    return <div>{JSON.stringify(snap.settings)}</div>;
}

Yeah, sounds like a false positive. Not sure if it's solvable. @barelyhuman ?

I'll check the code but from what i've worked with till now, I'm sure that the proxy identifier is not detectable in this case.
To be fair, it's not right or wrong but what's implemented right now and since it's obvious that it could be more than just a single identifier the same should be implemented.
Not a small change though so might take a bit long.
For now you can just alias and move forward with it
const proxy = nestedState

2nd problem is that because of how the initial implementation works, we don't know anymore if nestedState is the proxy or nestedState.proxy is the proxy so the linter can't really work with the 2nd level state change and will give an error.
The functionality will work as is, it's just that the linter plugin has no idea of the identifier.
and if you **use the alias to modify, the linter should not complain about it

Gotcha.
FYI, it doesn't have to be a second proxy state as the assignment, any property of a regular object will do.
const nested = {object: null}

// This is where the linting error occurs
nestedState.proxy.settings = nested.object;


build(deps): update dev dependencies

Updated dev dependencies to test PR builds. husky was not updated because v5 does not install hooks by default and requires more invasive changes that should be addressed separately.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Stagin environment

How it's the simplest way to add staging environment to have different constante specific on each environment as an API end point url ?
Thanks

You can add a deploy task (or whatever you name it) and add a task specific configuration in project.config.ts.
You can even load the different configurations from JSON files which are located wherever you prefer.
For further information on how to use task-specific config take a look here.


[decomp] progress

an issue with far labels is causing progress to not decompile properly

will fix #816

will fix #787 and #813

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

18 of 50 (36.0%)  changed or added relevant lines in 9 files are covered.
3 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.02%) to 64.386%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

decompiler/ObjectFile/ObjectFileDB.cpp
0
1
0.0%

game/sce/libpad.cpp
0
1
0.0%

decompiler/config.cpp
0
2
0.0%

game/kernel/kmachine.cpp
0
2
0.0%

decompiler/IR2/AtomicOpTypeAnalysis.cpp
6
10
60.0%

common/goos/PrettyPrinter.cpp
4
9
44.44%

decompiler/IR2/FormExpressionAnalysis.cpp
0
6
0.0%

decompiler/util/DecompilerTypeSystem.cpp
5
16
31.25%

Files with Coverage Reduction
New Missed Lines
%

common/goos/PrettyPrinter.cpp
1
90.65%

decompiler/ObjectFile/ObjectFileDB.cpp
1
0%

game/sce/libpad.cpp
1
5.17%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
39878

Relevant Lines:
61936

💛  - Coveralls


Using "Draft" status returns API error

Whenever the Status: drop-down is set to Drafts or All, I receive the following error:
Failed to get Gerrit changes.
Request not successful. Message: Bad Request. Status-Code: 400. Content: Unrecognized value: draft.

Selecting a Status: that does not include Drafts works fine.
Any idea what's wrong here?
I'm using:

CLion 2022.1.3
Build #CL-221.5921.27, built on June 21, 2022
Runtime version: 11.0.15+10-b2043.56 amd64
Non-Bundled Plugins:
com.urswolfer.intellij.plugin.gerrit (1.2.6-203)
Gerrit v3.6.1

The is:draft value is no longer supported starting with gerrit v2.16: https://github.com/GerritCodeReview/gerrit/commit/6ffb7d93584b4074e0298fd5fdfcd35ab7556a02
is:wip may be a suitable replacement.


DUOS 2619 - Request New Role

Addresses
https://broadworkbench.atlassian.net/browse/DUOS-2619
Summary

Added request role component which allows users to add new roles
Linked the "Request a New Role" button on the user profile to this page

One bit of visual feedback. Can we move/restyle the back button to be at the lower left corner of the page? It should look more like this one on the admin manage user page:

Done!


Fix the iou request for "unknown" users

Details

Due to the privacy changes, the login is null for users that haven't sent message to us so when we made an iou request the payerEmail sent to the api was null which was creating an error. Since we are actively creating a request or creating a chat with this user using his email/phone, we can use that as the payerEmail when there is no login
Fixed Issues

$ https://github.com/Expensify/App/issues/22884
PROPOSAL: https://github.com/Expensify/App/issues/22884#issuecomment-1642406559
Tests

Create a chat with a user that you have never sent a message to
In this chat, click on + and make an iou request
Send some message.
Request money again.
Verify that there is only one IOU Preview and that it is the last message, also verify that there are two replies below this preview

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

Offline tests

While offline create a chat with a user that you have never sent a message to
In this chat, click on + and make an iou request
Send some message.
Request money again.
Verify that there is only one IOU Preview and that it is the last message
Come back online and verify that the iou preview now has 2 replies

QA Steps

Create a chat with a user that you have never sent a message to
In this chat, click on + and make an iou request
Send some message.
Request money again.
Verify that there is only one IOU Preview and that it is the last message, also verify that there are two replies below this preview

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

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/19537677/1ec4ccd3-a9b8-4e8d-a619-fda18e892650

Mobile Web - Chrome

https://github.com/Expensify/App/assets/19537677/fa12f7e8-958f-45c6-a53d-a10bb410abb3

Mobile Web - Safari

https://github.com/Expensify/App/assets/19537677/871b79a4-61cc-4598-ad9a-a6ab20449ca0

Desktop

https://github.com/Expensify/App/assets/19537677/2dbd5f11-287a-44de-847f-84330cd29b12

iOS
https://github.com/Expensify/App/assets/19537677/7160de57-3dd8-4f1c-85a2-c048c2f5e03b

Android

https://github.com/Expensify/App/assets/19537677/464882f0-cf09-4d73-88a6-ac637a759fe9

I think it's already working for split which for some reasons still has the email in the logins, buildOptimisticIOUReport is also used for sendMoney but if I am not mistaken this functionality is disabled.

PR ready for review minus the android video (I have some troubles building)

Yeah I can see why this does not look ideal, I think we however need to make a change like this right now and document it better to make it clear why we are doing this. It might be temporary but worth it.

@ShogunFire @parasharrajat we also need the same fix for Split bill right?

I think yes. Actually I wanted to reverify this but there seems to be another error right now when we split bill with unknown users due to formating "user1 and user 2" when they don't have login here: https://github.com/Expensify/App/blob/e3074c49a7938b9d978b48721fdbadd8980bf644/src/libs/actions/IOU.js#L615-L617
Anyways I will Make the change because yes I think it's necessary

Yep I think thats highly possible and we should try to make it safely accessed so it looks fine at the same time

I made the changes, and resolved the conflict but it's still showing, what can I do to resolve it ?

Ok I made some changes, I made payerEmail required parameter and removed the one that was in the function, tell me what you think.
Also I am not sure why this PR still thinks there is conflict, I think I resolved them already

And I don't think this is in the scope of this issue but when I am offline this amount is not updated nor the number of replies (The number of requests is updated)

@dukenv0307 has a good point here: https://github.com/Expensify/App/issues/23038#issuecomment-1687332985 That method doesn't work if the user changed his display name.
I have another sketchy method that seem to work for all users,
When the user change his display name the only place where we can find his email seem to be in report.participants, unfortunely this is just a list of all emails of the report without any way to search a specific user, but the order of report.participants seem to be the same than the order of report.participantAccountIDs. So in navigateToNextPage here  https://github.com/Expensify/App/blob/5a373bf656d4c1f8c16d037eeecd4a5a715d206d/src/libs/actions/IOU.js#L1789-L1794, we can set the login of the participants like this:
var participants = [];

for (let i = 0; i < report.participantAccountIDs.length; i++) {
  const accountID = report.participantAccountIDs[i];
  if (currentUserAccountID !== accountID){
      participants.push({accountID, selected: true, login: report.participants[i]})
  }
}

If we go with that method, the other changes are unnecessary

Otherwise I recommend this but it would take way more effort and time:
"I have  a proposition about the privacy change that is causing so many issues. Why don't we create another field email or privateLogin that we will never display and if needed we can even encrypted it so that it doesn't appear in the network. And use that field to do all the things that we are currently doing with the login field"

Argh I hate this thing, I think we discussed this couple of times but it was deprioritized.
could we maybe just Blcok requesting money from chat with user where we dont have email, ie you can request from Global create from anyone but you cannot keep requesting until that perosn responds to you within the chat

I made the change

There seems to have an issue, when we create a chat with a unknown user the money request option is showing for a few seconds (probably until the server response) I will try to fix that

:( so in getOptions we add the login to the userToInviteOption, I don't think it is safe to remove that
https://github.com/Expensify/App/blob/9a0dd42f675b02ea0a0bcafabde28f5f7cf03c97/src/libs/OptionsListUtils.js#L833
So maybe we can also prevent money request if the report is optimistic, is there a reason we don't add isOptimisticReport: true in this method: https://github.com/Expensify/App/blob/9a0dd42f675b02ea0a0bcafabde28f5f7cf03c97/src/libs/ReportUtils.js#L2199

@ShogunFire thanks for trying
I think we can hold on this one until we have a clearer plan as it does not seem as ultimately the best direction to head into.

Can I try one last thing ? I can start implementing this

Why don't we create another field email or privateLogin that we will never display and if needed we can even encrypted it so that it doesn't appear in the network. And use that field to do all the things that we are currently doing with the login field

I don't think I need back end changes, I can just fill the new field optimistically  with the login here:
https://github.com/Expensify/App/blob/867d61e237e6a4e0affaf71e6735d0cdf6969a70/src/libs/actions/Report.js#L496-L502
Then for the payerEmail I can use that field instead of login or text here: https://github.com/Expensify/App/blob/40f354b36905d97513ccc52add7859cfd9c6aa9e/src/libs/actions/IOU.js#L308

the best solution so far is to update those flows to work with accountIDs as we have those, I think any other proposed solution so far is quite "dirty"

The accountIDs created optimistically and returned by the backend can be different right ? Then I don't know how making iou request offline based on something that can change would work. Anyways, seems like there is not much I can do right now if we go with that option

@ShogunFire you are right, that is one of the challenges there

This is the issue https://github.com/Expensify/App/issues/22480

The accountIDs created optimistically and returned by the backend can be different right ? Then I don't know how making iou request offline based on something that can change would work. Anyways, seems like there is not much I can do right now if we go with that option

I think we would have to use both email and accountID. AccountID would be a fallback, when you are creating this offline you know the email so you can use that, then once you sign  out and sign back in you had to be online and you had to get the correct accountID

Honestly it doesn't seem like a pretty solution. I feel like the privacy change should have just been a display issue. Not displaying the login, but still using it.
I would personally prefer to have an email field that we would never display or a boolean shouldDisplayLogin field. It would require way less changes and seems like an easier solution.

Not displaying the login, but still using it.

this would not prevent people from just scraping the contact details from the public chat rooms, we cannot return this data from BE

I think that was one of the options when the project was planned but it was not chosen for reasons I am not familiar with


The costume pdf how to diplay image

Hi ,
   How to display the image in costume pdf like northwind order in the invoice section display image plz tell me

It's a web page. See OrderDetailReport.cshtml and put your images there.


chore(deps): gnostic -> gnostic-models

Description
A detailed explanation of the changes in your PR.
Feel free to remove this section if it is overkill for your PR, and the title of your PR is sufficiently descriptive.
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed
TODO(replace-me)
Use this space to explain how you tested your PR, or, if you didn't test it, why
you did not do so. Valid reasons include, for example, "CI is sufficient",
"No testable changes". Feel free to attach JSON snippets, curl commands,
screenshots.
In addition to reviewing your code, reviewers must also review your testing
instructions and make sure they are sufficient.

Current dependencies on/for this PR:

master

PR #7240   👈

This comment was auto-generated by Graphite.


add test case for DubboProtocol

What is the purpose of the change
add test case for DubboProtocol
see more detail from #7916
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Please fix ut

Codecov Report

Merging #7917 (95dab58) into master (9f6b536) will decrease coverage by 0.12%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #7917      +/-   ##
============================================
- Coverage     60.01%   59.88%   -0.13%
  Complexity      489      489
============================================
  Files          1089     1089
  Lines         43876    43876
  Branches       6413     6395      -18
============================================
- Hits          26331    26275      -56
- Misses        14585    14644      +59
+ Partials       2960     2957       -3

Impacted Files
Coverage Δ

...ntext/event/AwaitingNonWebApplicationListener.java
48.48% <0.00%> (-24.25%)
:arrow_down:

...che/dubbo/remoting/transport/mina/MinaChannel.java
35.52% <0.00%> (-10.53%)
:arrow_down:

.../apache/dubbo/rpc/protocol/AsyncToSyncInvoker.java
62.06% <0.00%> (-10.35%)
:arrow_down:

.../remoting/transport/netty4/NettyClientHandler.java
76.27% <0.00%> (-10.17%)
:arrow_down:

...o/remoting/transport/ChannelHandlerDispatcher.java
60.00% <0.00%> (-10.00%)
:arrow_down:

...ting/exchange/support/header/HeartbeatHandler.java
83.72% <0.00%> (-6.98%)
:arrow_down:

...ng/transport/dispatcher/all/AllChannelHandler.java
62.06% <0.00%> (-6.90%)
:arrow_down:

.../org/apache/dubbo/remoting/ExecutionException.java
15.78% <0.00%> (-5.27%)
:arrow_down:

.../org/apache/dubbo/qos/legacy/LogTelnetHandler.java
30.30% <0.00%> (-3.04%)
:arrow_down:

...pache/dubbo/registry/support/AbstractRegistry.java
75.92% <0.00%> (-2.97%)
:arrow_down:

... and 13 more

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 9f6b536...95dab58. Read the comment docs.


Relocate test fixture code to src/testFixtures sourceSet in Core project

Update of #2710

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build