[Bug] Annoying warning when converting from a DocumentSnapshot to a class.

[REQUIRED] Please fill in the following fields:

Unity editor version: 2020.3.14f1 LTS
Firebase Unity SDK version: 8.1.0
Source you installed the SDK: Unity Package Manager
Problematic Firebase Component: Database
Other Firebase Components in use: Auth, Database, Functions
Additional SDKs you are using: None
Platform you are using the Unity editor on: Windows
Platform you are targeting: iOS, Android, and/or desktop
Scripting Runtime: Mono

[REQUIRED] Please describe the issue here:
We are performing a very simple query which gets from the Firestore database a document, which comes in a DocumentSnapshot format and we are trying to convert it to a ScriptableObject, everything works just right, but there's this annoying warning in the Unity console which we can't get rid of and we were wondering if there's anything we might be doing wrong.
Steps to reproduce:
Have you been able to reproduce this issue with just the Firebase Unity quickstarts (this GitHub project)? No
What's the issue repro rate? 100%
What happened?
Log trace: BidInstanceData must be instantiated using the ScriptableObject.CreateInstance method instead of new BidInstanceData.
How can we make the problem occur?
Yes, just retrieve a document from the database and try to convert it to a ScriptableObject.
Relevant Code:
    IEnumerator ManageUserCreation()
    {
        //Get the user from the DB
        Task<DocumentSnapshot> userInDB = GetUserFromDB();

        //Wait till completed
        yield return new WaitUntil(() => userInDB.IsCompleted);

        if (userInDB.Exception != null)
            yield break;

        //Does the user exist?
        bool exists = userInDB.Result.Exists;
        if(!exists)
        {
            Debug.Log("User does not exist, creating...");

            //Create the user
            CreateUser();
        }
        else
        {
            Debug.Log("User exists, information retrieved.");

            //Assign info to player
            m_Player = userInDB.Result.ConvertTo<PlayerData>(); // <<<<===== This line generates the warning.
        }
    }

@cgascons Can you clarify if you're using Realtime Database or Firestore? You've specified "database" but the code looks like Firestore. Could you update your code sample to include any relevant "using" declarations? That would also help disambiguate. Oh, and could you include the definition of the PlayerData class and GetUserFromDB() method?

@dconeybe Sorry, you are right, we are using Firestore db.
I will prepare a sample and get it ready ASAP. Will post it here.

Ok, we have been able to create a standalone project and have uploaded it to this wetransfer link.
Steps:
1 - You will need to just create a test project in firebase with authentication by email and a firestore database.
2- I have deleted from the sample project the configuration files (google-services.json) for security reasons, remember to add them into /Assets folder.
3 - Run the project, it will automatically create a user in Firebase Auth and after that it will check if there's a user inside Firestore's "users" custom collection. If there's not such user it will create it,
4 - Click on the "Retrieve user from Firestore" button shown in the canvas which is the one that will cause the warning we mentioned.
Thanks

@cgascons Thank you for providing the reproduction app! I apologize for the delay but I haven't had a chance to try it out yet. I'm hoping to test it out early next week.

Ok I was easily able to reproduce this warning based on your sample project. Thank you for providing that! Here is the code that I used:
using Firebase;
using Firebase.Extensions;
using Firebase.Firestore;
using System.Collections;
using UnityEngine;

[FirestoreData]
public class PlayerData : ScriptableObject {
  [FirestoreProperty]
  public string m_Id { get; set; }

  [FirestoreProperty]
  public string m_Email { get; set; }
}

public class UnityBug1144 : MonoBehaviour {
  IEnumerator Start() {
    {
      var task = FirebaseApp.CheckAndFixDependenciesAsync();
      yield return new WaitUntil(() => task.IsCompleted);
      if (task.Exception != null) {
        Debug.LogError("CheckAndFixDependenciesAsync() failed: " + task.Exception);
      }
    }

    FirebaseFirestore firestore = FirebaseFirestore.DefaultInstance;
    CollectionReference collection = firestore.Collection("UnityBug1144");
    DocumentReference doc = collection.Document("player");

    DocumentSnapshot snapshot = null;
    {
      var task = doc.GetSnapshotAsync();
      yield return new WaitUntil(() => task.IsCompleted);
      if (task.Exception != null) {
        Debug.LogError("GetSnapshotAsync() failed: " + task.Exception);
      }
      snapshot = task.Result;
    }

    if (! snapshot.Exists) {
      var newPlayer = ScriptableObject.CreateInstance<PlayerData>();
      newPlayer.m_Id = "PlayerId";
      newPlayer.m_Email =<EMAIL_ADDRESS>
      var task = doc.SetAsync(newPlayer);
      yield return new WaitUntil(() => task.IsCompleted);
      if (task.Exception != null) {
        Debug.LogError("SetAsync() failed: " + task.Exception);
      }
    } else {
      PlayerData existingPlayer = snapshot.ConvertTo<PlayerData>();
      Debug.Log("m_Id: " + existingPlayer.m_Id);
      Debug.Log("m_Email: " + existingPlayer.m_Email);
    }
  }

}

And here is the warning that resulted:
PlayerData must be instantiated using the ScriptableObject.CreateInstance method instead of new PlayerData.
UnityEngine.ScriptableObject:.ctor ()
PlayerData:.ctor ()
System.Reflection.ConstructorInfo:Invoke (object[])
Firebase.Firestore.Converters.AttributedTypeConverter/<CreateObjectCreator>c__AnonStorey2:<>m__0 ()
Firebase.Firestore.Converters.AttributedTypeConverter:DeserializeMap (Firebase.Firestore.DeserializationContext,Firebase.Firestore.FieldValueProxy)
Firebase.Firestore.Converters.ConverterBase:DeserializeValue (Firebase.Firestore.DeserializationContext,Firebase.Firestore.FieldValueProxy)
Firebase.Firestore.ValueDeserializer:Deserialize (Firebase.Firestore.DeserializationContext,Firebase.Firestore.FieldValueProxy,System.Type)
Firebase.Firestore.DocumentSnapshot:ConvertTo<PlayerData> (Firebase.Firestore.ServerTimestampBehavior)
UnityBug1144/<Start>d__0:MoveNext () (at Assets/UnityBug1144.cs:51)
UnityEngine.SetupCoroutine:InvokeMoveNext (System.Collections.IEnumerator,intptr)

So the problem is that DocumentSnapshot:ConvertTo<PlayerData>() creates a new instance of PlayerData by using its zero-arg constructor:
https://github.com/firebase/firebase-unity-sdk/blob/cb1e3bc98646aa763ca08f6507ed229ae117a6c4/firestore/src/Converters/AttributedTypeConverter.cs#L83-L85
In this case, this is not the correct way to create a new instance.
Off the top of my head, I can think of two solutions to this problem:

Add an overload of ConvertTo<PlayerData>() that takes a PlayerData argument into which the loaded data will be stored (rather than creating a new instance). You could then pass in an existing instance of PlayerData that was created correctly.
Add an overload of ConvertTo<PlayerData>() that takes a Func<PlayerData> argument that will be invoked to create a new instance of PlayerData instead of using the zero-arg constructor. You could then pass in something like () => ScriptableObject.CreateInstance<PlayerData>() to create the new instance correctly.

What are your thoughts on these approaches? I'll also discuss with my team for other ideas.

Hi @dconeybe, thanks for your reply, I will test the two workarounds you provided and will let you know the results

@cgascons Sorry if I was unclear, those are not "workarounds". They are proposed changes to the Firestore Unity SDK to accommodate your use case, and I was interested in your thoughts on them. The only "fix" or "workaround" for your issue today would be to remove the ScriptableObject superclass from PlayerData.

Hello,
Thank you for your time.
I am trying to use derived classes for Firestore Unity and got stuck.
my code is like this:

[FirestoreData]
public class SchdeuleRecord
{
    [FirestoreProperty] public List<RoundRecord> RoundRecords { get; set; }
}

[FirestoreData]
public abstract class RoundRecord {}

[FirestoreData]
public class RoundRecordA : RoundRecord {}

[FirestoreData]
public class RoundRecordB : RoundRecord {}

When I:   document.ConvertTo< SchdeuleRecord >()
I seems not working. not giving any message at all.
is there any way I can convert  RoundRecord to
RoundRecordA & RoundRecordB ,
of List ??
if there were any overloading method on creation, it would be great.
I am asking on this thread, as it looks most similar one.
Thank you!

@TaejunPark. Would you mind opening a new issue with your question? I want to avoid re-purposing this thread.


Working directory path doesn't seem to be used anywhere

Troubleshooting

[x] I've searched discuss.bitrise.io for possible solutions.
Which version of the step is effected? 2.5.1
Is the issue reproducible with the latest version? YES
Does the issue happen sporadically, or every time? EVERY TIME
Is the issue reproducible locally by following our local debug guide? DUNNO

Issue description
When playing with the Cache Push step, I discovered that the workdir step configuration was not taken into consideration during paths resolution.
For example, when defining :
workdir: $SUBMODULE_PATH
cache_paths :
./node_modules/ -> ./package.json

To make it work, I had to replace it with :
workdir: $SUBMODULE_PATH
cache_paths :
$SUBMODULE_PATH/node_modules/ -> $SUBMODULE_PATH/package.json

Looking at the source code of this repository, I didn't found any usage of workdir in Go scripts, which seems to corroborate this assumption.
Bitrise info

Build URL: https://app.bitrise.io/app/96c83739fc8bc51a/workflow_editor#!/workflows?workflow_id=testing-caches
Bitrise Support enabled: YES
Log: https://app.bitrise.io/build/b0b6fd1999e5498f#?tab=log

Config:
- Paths: ./test/ -> ./test.json
haulier-mobile/node_modules/ -> haulier-mobile/package.json
- IgnoredPaths:
- CacheAPIURL: [REDACTED]
- FingerprintMethodID: file-content-hash
- CompressArchive: false
- DebugMode: true
- StackID: osx-xcode-12.4.x
- BuildSlug: 49ea7c4aea1089cf
Cleaning paths
indicator does not exists at: /Users/vagrant/git/test.json
Done in 285.461µs
Checking previous cache status
No previous cache info found
Done in 137.048µs
Generating cache archive
Done in 1.154183ms
Uploading cache archive
Archive file size: 4608 bytes / 0.004395 MB
Done in 608.697903ms
Total time: 610.628844ms

Steps to reproduce
Create a workflow with following steps :

Git clone
Cache Pull with some working directory
Cache Push with some working directory, and with following variabilized cache paths :

./test/ -> ./test.json
$CORDOVA_WORK_DIR/node_modules/ -> $CORDOVA_WORK_DIR/package.json

By looking at build log, we can see that when workdir is not used, bitrise doesn't synchronizes anything :
Cleaning paths
indicator does not exists at: /Users/vagrant/git/test.json
Done in 285.461µs
Checking previous cache status
No previous cache info found
Done in 137.048µs
Generating cache archive
Done in 1.154183ms

=> it tries to synchronize test.json from git root, instead of $CORDOVA_WORK_DIR

Hello there @fcamblor 👋
Thanks for the info!
The default input for workdir is $BITRISE_SOURCE_DIR, could you let me know if that worked for you originally?


GitHub Link Not Found

Description
The linked GitHub repository linked (https://github.com/xmh1011/AT-DGNN) 404s and is assumedly not public. Thanks!
(Optional:) Please add any files, screenshots, or other information here.
No response
(Required) What is this issue most closely related to? Select one.
References
Internal issue ID
ddcec144-aee7-47f9-83b9-3a0a91bac041
Paper URL
https://arxiv.org/html/2407.05550v1
Browser
Chrome/<IP_ADDRESS>
Device Type
Desktop

This is clearly not the correct place to report this, so closing


Support list of bugs and whiteboard tags for buzilla ref

Works with the same presentation style of 4 of 11 resolved.

So far we only have one example(webrtc) of this and it is already shipped, so we'll just be showing "Fixed" on the status page. Maybe we should wait to do this until we find more uses?

True, also not sure if tracking bug is preferred by now.

May want to push this out to v3 or just leave it off the milestones until we have more use for it.

We haven't encountered more features using this, so maybe we should just drop it into the backlog.


Should changed packages include cross-depencies?

Right now when publishing a new version we:

Find all the changed packages by checking their diffs. ref
Cross check these "changed packages" for cross-deps and update them in package.json. ref
However, we don't update cross-dependencies outside of the original changed packages. (ref1, ref2)

I feel like this will cause issues with major versions. Because we're relying on npm's ^x.x.x version matching for minor and patch versions outside of the changed packages.

Yeah I think you're right on that.
Could we do that only if it's a major version change? Thats kinda what FORCE_VERSION does (but it would update all packages).

Only doing it on major versions sounds like the best solution. The question is if we recursively look up changed packages or bump them all.
I'm concerned about how this would interact with #20

Fixed in 2.0.0-beta.4


How to use different version of mongoDB

Hi
I believe my default PKB install mongoDB version 2.6. I would like to install a different version on ubuntu operating system.
To do so I edit the mongodb_server.py as follows:
vm.RemoteCommand('sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5')
vm.RemoteCommand('echo "deb [ arch=amd64,arm64,ppc64el,s390x ] http://repo.mongodb.com/apt/ubuntu xenial/mongodb-enterprise/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-enterprise.list')
vm.RemoteCommand('sudo apt-get update')
vm.RemoteCommand('sudo apt-get install --reinstall mongodb-enterprise')
However, I get error: "error: unit mongodb.service is masked when staring mongodb".
To solve this issue: I add following lines in the file
vm.RemoteCommand('sudo systemctl unmask mongodb')
vm.RemoteCommand('sudo systemctl enable mongodb')
It solved the error regarding mask but then it get stuck while running command:
/tmp/pkb/wait_for_command.py --status /tmp/pkb/cmdec36b858-e101-438c-bdde-c33995e35589.status in VM0 finish stage.
Appreciate any ideas to solve this issue.

I'd suggest trying out the commands from the official mongo site as well: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/. Otherwise, you can try using tarballs.

Thanks for your response.
I figure the halt is because of error mentioned below:
YCSB Client 0.9.0
Command line: -db com.yahoo.ycsb.db.MongoDbClient -P workloads/workloadc -p recordcount=10000 -p operationcount=200 -p mongodb.url=mongodb://ip:port/ -t
Loading workload...
Starting test.
mongo client connection created with mongodb://ip:port/
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=UNKNOWN, servers=[{address=ip:port, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectException: Connection refused (Connection refused)}}]


Add finetuned METL-Local and METL-Global target models

We will add these additional models to Zenodo

I wrote a short bash script to convert all the checkpoints for Zenodo using the code and environment at commit 45237bb of the METL repo.
#!/bin/bash
for f in finetuned_model_checkpoints/*/checkpoints/epoch*.ckpt; do
    python code/convert_ckpt.py --ckpt_path $f --output_dir models/
done

Script output
$ ./convert_checkpoints.sh
Processing checkpoint: finetuned_model_checkpoints/4Rh3WCbG/checkpoints/epoch=302-step=13635.ckpt
Saving converted checkpoint to: models/4Rh3WCbG.pt
Processing checkpoint: finetuned_model_checkpoints/4xbuC5y7/checkpoints/epoch=359-step=19080.ckpt
Saving converted checkpoint to: models/4xbuC5y7.pt
Processing checkpoint: finetuned_model_checkpoints/5SjoLx3y/checkpoints/epoch=275-step=65964.ckpt
Saving converted checkpoint to: models/5SjoLx3y.pt
Processing checkpoint: finetuned_model_checkpoints/64ncFxBR/checkpoints/epoch=415-step=32864.ckpt
Saving converted checkpoint to: models/64ncFxBR.pt
Processing checkpoint: finetuned_model_checkpoints/6JBzHpkQ/checkpoints/epoch=467-step=153504.ckpt
Saving converted checkpoint to: models/6JBzHpkQ.pt
Processing checkpoint: finetuned_model_checkpoints/9vSB3DRM/checkpoints/epoch=301-step=1024686.ckpt
Saving converted checkpoint to: models/9vSB3DRM.pt
Processing checkpoint: finetuned_model_checkpoints/BAWw23vW/checkpoints/epoch=283-step=159040.ckpt
Saving converted checkpoint to: models/BAWw23vW.pt
Processing checkpoint: finetuned_model_checkpoints/BuvxgE2x/checkpoints/epoch=340-step=18073.ckpt
Saving converted checkpoint to: models/BuvxgE2x.pt
Processing checkpoint: finetuned_model_checkpoints/ELL4GGQq/checkpoints/epoch=415-step=32864.ckpt
Saving converted checkpoint to: models/ELL4GGQq.pt
Processing checkpoint: finetuned_model_checkpoints/G9piq6WH/checkpoints/epoch=284-step=159600.ckpt
Saving converted checkpoint to: models/G9piq6WH.pt
Processing checkpoint: finetuned_model_checkpoints/HaUuRwfE/checkpoints/epoch=277-step=91184.ckpt
Saving converted checkpoint to: models/HaUuRwfE.pt
Processing checkpoint: finetuned_model_checkpoints/HenDpDWe/checkpoints/epoch=309-step=124310.ckpt
Saving converted checkpoint to: models/HenDpDWe.pt
Processing checkpoint: finetuned_model_checkpoints/K6BjsWXm/checkpoints/epoch=419-step=33180.ckpt
Saving converted checkpoint to: models/K6BjsWXm.pt
Processing checkpoint: finetuned_model_checkpoints/LWEY95Yb/checkpoints/epoch=327-step=107584.ckpt
Saving converted checkpoint to: models/LWEY95Yb.pt
Processing checkpoint: finetuned_model_checkpoints/NfbZL7jK/checkpoints/epoch=266-step=149520.ckpt
Saving converted checkpoint to: models/NfbZL7jK.pt
Processing checkpoint: finetuned_model_checkpoints/PeT2D92j/checkpoints/epoch=334-step=109880.ckpt
Saving converted checkpoint to: models/PeT2D92j.pt
Processing checkpoint: finetuned_model_checkpoints/Pgcseywk/checkpoints/epoch=276-step=939861.ckpt
Saving converted checkpoint to: models/Pgcseywk.pt
Processing checkpoint: finetuned_model_checkpoints/PncvgiJU/checkpoints/epoch=401-step=31758.ckpt
Saving converted checkpoint to: models/PncvgiJU.pt
Processing checkpoint: finetuned_model_checkpoints/PqBMjXkA/checkpoints/epoch=270-step=108671.ckpt
Saving converted checkpoint to: models/PqBMjXkA.pt
Processing checkpoint: finetuned_model_checkpoints/RBtqxzvu/checkpoints/epoch=303-step=13680.ckpt
Saving converted checkpoint to: models/RBtqxzvu.pt
Processing checkpoint: finetuned_model_checkpoints/RMFA6dnX/checkpoints/epoch=276-step=12465.ckpt
Saving converted checkpoint to: models/RMFA6dnX.pt
Processing checkpoint: finetuned_model_checkpoints/TdjCzoQQ/checkpoints/epoch=280-step=67159.ckpt
Saving converted checkpoint to: models/TdjCzoQQ.pt
Processing checkpoint: finetuned_model_checkpoints/UvMMdsq4/checkpoints/epoch=286-step=973791.ckpt
Saving converted checkpoint to: models/UvMMdsq4.pt
Processing checkpoint: finetuned_model_checkpoints/V3uTtXVe/checkpoints/epoch=282-step=12735.ckpt
Saving converted checkpoint to: models/V3uTtXVe.pt
Processing checkpoint: finetuned_model_checkpoints/VNpi9Zjt/checkpoints/epoch=277-step=111478.ckpt
Saving converted checkpoint to: models/VNpi9Zjt.pt
Processing checkpoint: finetuned_model_checkpoints/VwcRN6UB/checkpoints/epoch=278-step=59148.ckpt
Saving converted checkpoint to: models/VwcRN6UB.pt
Processing checkpoint: finetuned_model_checkpoints/YdzBYWHs/checkpoints/epoch=306-step=16271.ckpt
Saving converted checkpoint to: models/YdzBYWHs.pt
Processing checkpoint: finetuned_model_checkpoints/Z59BhUaE/checkpoints/epoch=279-step=59360.ckpt
Saving converted checkpoint to: models/Z59BhUaE.pt
Processing checkpoint: finetuned_model_checkpoints/cvnycE5Q/checkpoints/epoch=312-step=66356.ckpt
Saving converted checkpoint to: models/cvnycE5Q.pt
Processing checkpoint: finetuned_model_checkpoints/dAndZfJ4/checkpoints/epoch=283-step=963612.ckpt
Saving converted checkpoint to: models/dAndZfJ4.pt
Processing checkpoint: finetuned_model_checkpoints/dDoCCvfr/checkpoints/epoch=307-step=123508.ckpt
Saving converted checkpoint to: models/dDoCCvfr.pt
Processing checkpoint: finetuned_model_checkpoints/e9uhhnAv/checkpoints/epoch=264-step=148400.ckpt
Saving converted checkpoint to: models/e9uhhnAv.pt
Processing checkpoint: finetuned_model_checkpoints/ho54gxzv/checkpoints/epoch=303-step=72656.ckpt
Saving converted checkpoint to: models/ho54gxzv.pt
Processing checkpoint: finetuned_model_checkpoints/iu6ZahPw/checkpoints/epoch=294-step=15635.ckpt
Saving converted checkpoint to: models/iu6ZahPw.pt
Processing checkpoint: finetuned_model_checkpoints/jYesS9Ki/checkpoints/epoch=309-step=65720.ckpt
Saving converted checkpoint to: models/jYesS9Ki.pt
Processing checkpoint: finetuned_model_checkpoints/jhbL2FeB/checkpoints/epoch=285-step=68354.ckpt
Saving converted checkpoint to: models/jhbL2FeB.pt

Sam selected those checkpoints from the epoch with the lowest validation loss.
We'll use the attached index.csv to update the readme.

mv ./models/PeT2D92j ./models/METL_G_20M_1D_avgfp
mv ./models/6JBzHpkQ ./models/METL_G_20M_3D_avgfp
mv ./models/HaUuRwfE ./models/METL_L_1D_avgfp
mv ./models/LWEY95Yb ./models/METL_L_3D_avgfp
mv ./models/4Rh3WCbG ./models/METL_G_20M_1D_dlg4-2022-abundance
mv ./models/RBtqxzvu ./models/METL_G_20M_3D_dlg4-2022-abundance
mv ./models/RMFA6dnX ./models/METL_L_1D_dlg4-2022-abundance
mv ./models/V3uTtXVe ./models/METL_L_3D_dlg4-2022-abundance
mv ./models/4xbuC5y7 ./models/METL_G_20M_1D_dlg4-2022-binding
mv ./models/BuvxgE2x ./models/METL_G_20M_3D_dlg4-2022-binding
mv ./models/YdzBYWHs ./models/METL_L_1D_dlg4-2022-binding
mv ./models/iu6ZahPw ./models/METL_L_3D_dlg4-2022-binding
mv ./models/dAndZfJ4 ./models/METL_G_20M_1D_gb1
mv ./models/9vSB3DRM ./models/METL_G_20M_3D_gb1
mv ./models/Pgcseywk ./models/METL_L_1D_gb1
mv ./models/UvMMdsq4 ./models/METL_L_3D_gb1
mv ./models/HenDpDWe ./models/METL_G_20M_1D_grb2-abundance
mv ./models/dDoCCvfr ./models/METL_G_20M_3D_grb2-abundance
mv ./models/VNpi9Zjt ./models/METL_L_1D_grb2-abundance
mv ./models/PqBMjXkA ./models/METL_L_3D_grb2-abundance
mv ./models/cvnycE5Q ./models/METL_G_20M_1D_grb2-binding
mv ./models/jYesS9Ki ./models/METL_G_20M_3D_grb2-binding
mv ./models/Z59BhUaE ./models/METL_L_1D_grb2-binding
mv ./models/VwcRN6UB ./models/METL_L_3D_grb2-binding
mv ./models/ho54gxzv ./models/METL_G_20M_1D_pab1
mv ./models/jhbL2FeB ./models/METL_G_20M_3D_pab1
mv ./models/TdjCzoQQ ./models/METL_L_1D_pab1
mv ./models/5SjoLx3y ./models/METL_L_3D_pab1
mv ./models/ELL4GGQq ./models/METL_G_20M_1D_tem-1
mv ./models/K6BjsWXm ./models/METL_G_20M_3D_tem-1
mv ./models/64ncFxBR ./models/METL_L_1D_tem-1
mv ./models/PncvgiJU ./models/METL_L_3D_tem-1
mv ./models/BAWw23vW ./models/METL_G_20M_1D_ube4b
mv ./models/G9piq6WH ./models/METL_G_20M_3D_ube4b
mv ./models/e9uhhnAv ./models/METL_L_1D_ube4b
mv ./models/NfbZL7jK ./models/METL_L_3D_ube4b

no promises that it's correct. I don't know when to use the syntax here: https://github.com/gitter-lab/metl-pretrained?tab=readme-ov-file#function-specific-source-models-for-gb1
vs here: https://github.com/gitter-lab/metl-pretrained?tab=readme-ov-file#function-specific-source-models-for-gb1
Script:
import os
import polars as p
l
index = pl.read_csv('./index.csv', separator=',')
#index.head()

for row in index.rows(named=True):
   uuid:str = row['uuid']
   plt_name:str = row['plot_name']
   ds_name:str = row['ds_name']
   new_name = plt_name.upper()
   new_name = new_name.replace('GLOBAL', 'G')
   new_name = new_name.replace('LOCAL', 'L')
   tail_idx = new_name.index('D_')
   new_name = new_name[:tail_idx+1]
   new_name = new_name + f'_{ds_name}'
   print(f'mv ./models/{uuid} ./models/{new_name}')

Actually not sure when to caps the ending for these either. It's inconsistent in the tables in metl-pretrained so it's just whatever the ds_name is for the ones I printed. I think GB1 needs all cap but Pab1 doesn't and it's confusing

For model filenames, I suggest prefixing the name with FT to signify finetuned, followed by the ident of the base METL model, followed by the UUID. For instance: FT-METL-L-2M-1D-GFP-HaUuRwfE.pt and FT-METL-G-20M-3D-6JBzHpkQ.pt.

mv ./models/PeT2D92j ./models/FT-METL-G-20M-1D-avGFP-PeT2D92j.pt
mv ./models/6JBzHpkQ ./models/FT-METL-G-20M-3D-avGFP-6JBzHpkQ.pt
mv ./models/HaUuRwfE ./models/FT-METL-L-1D-avGFP-HaUuRwfE.pt
mv ./models/LWEY95Yb ./models/FT-METL-L-3D-avGFP-LWEY95Yb.pt
mv ./models/4Rh3WCbG ./models/FT-METL-G-20M-1D-dlg4-2022-abundance-4Rh3WCbG.pt
mv ./models/RBtqxzvu ./models/FT-METL-G-20M-3D-dlg4-2022-abundance-RBtqxzvu.pt
mv ./models/RMFA6dnX ./models/FT-METL-L-1D-dlg4-2022-abundance-RMFA6dnX.pt
mv ./models/V3uTtXVe ./models/FT-METL-L-3D-dlg4-2022-abundance-V3uTtXVe.pt
mv ./models/4xbuC5y7 ./models/FT-METL-G-20M-1D-dlg4-2022-binding-4xbuC5y7.pt
mv ./models/BuvxgE2x ./models/FT-METL-G-20M-3D-dlg4-2022-binding-BuvxgE2x.pt
mv ./models/YdzBYWHs ./models/FT-METL-L-1D-dlg4-2022-binding-YdzBYWHs.pt
mv ./models/iu6ZahPw ./models/FT-METL-L-3D-dlg4-2022-binding-iu6ZahPw.pt
mv ./models/dAndZfJ4 ./models/FT-METL-G-20M-1D-GB1-dAndZfJ4.pt
mv ./models/9vSB3DRM ./models/FT-METL-G-20M-3D-GB1-9vSB3DRM.pt
mv ./models/Pgcseywk ./models/FT-METL-L-1D-GB1-Pgcseywk.pt
mv ./models/UvMMdsq4 ./models/FT-METL-L-3D-GB1-UvMMdsq4.pt
mv ./models/HenDpDWe ./models/FT-METL-G-20M-1D-Grb2-abundance-HenDpDWe.pt
mv ./models/dDoCCvfr ./models/FT-METL-G-20M-3D-Grb2-abundance-dDoCCvfr.pt
mv ./models/VNpi9Zjt ./models/FT-METL-L-1D-Grb2-abundance-VNpi9Zjt.pt
mv ./models/PqBMjXkA ./models/FT-METL-L-3D-Grb2-abundance-PqBMjXkA.pt
mv ./models/cvnycE5Q ./models/FT-METL-G-20M-1D-Grb2-binding-cvnycE5Q.pt
mv ./models/jYesS9Ki ./models/FT-METL-G-20M-3D-Grb2-binding-jYesS9Ki.pt
mv ./models/Z59BhUaE ./models/FT-METL-L-1D-Grb2-binding-Z59BhUaE.pt
mv ./models/VwcRN6UB ./models/FT-METL-L-3D-Grb2-binding-VwcRN6UB.pt
mv ./models/ho54gxzv ./models/FT-METL-G-20M-1D-pab1-ho54gxzv.pt
mv ./models/jhbL2FeB ./models/FT-METL-G-20M-3D-pab1-jhbL2FeB.pt
mv ./models/TdjCzoQQ ./models/FT-METL-L-1D-pab1-TdjCzoQQ.pt
mv ./models/5SjoLx3y ./models/FT-METL-L-3D-pab1-5SjoLx3y.pt
mv ./models/ELL4GGQq ./models/FT-METL-G-20M-1D-TEM-1-ELL4GGQq.pt
mv ./models/K6BjsWXm ./models/FT-METL-G-20M-3D-TEM-1-K6BjsWXm.pt
mv ./models/64ncFxBR ./models/FT-METL-L-1D-TEM-1-64ncFxBR.pt
mv ./models/PncvgiJU ./models/FT-METL-L-3D-TEM-1-PncvgiJU.pt
mv ./models/BAWw23vW ./models/FT-METL-G-20M-1D-UBE4B-BAWw23vW.pt
mv ./models/G9piq6WH ./models/FT-METL-G-20M-3D-UBE4B-G9piq6WH.pt
mv ./models/e9uhhnAv ./models/FT-METL-L-1D-UBE4B-e9uhhnAv.pt
mv ./models/NfbZL7jK ./models/FT-METL-L-3D-UBE4B-NfbZL7jK.pt

for row in index.rows(named=True):
    uuid:str = row['uuid']
    plt_name:str = row['plot_name']
    ds_name:str = row['ds_name']

    new_name = plt_name.upper()
    new_name = new_name.replace('GLOBAL', 'G')
    new_name = new_name.replace('LOCAL', 'L')
    tail_idx = new_name.index('D_')
    new_name = new_name[:tail_idx+1]
    new_name = new_name + f'_{ds_name}'
    new_name = new_name.replace('_', '-')
    new_name = new_name.replace('gb1', 'GB1')
    new_name = new_name.replace('avgfp', 'avGFP')
    new_name = new_name.replace('DLG4', 'DLG4')
    new_name = new_name.replace('gb1', 'GB1')
    new_name = new_name.replace('grb2', 'Grb2')
    new_name = new_name.replace('tem', 'TEM')
    new_name = new_name.replace('ube4b', 'UBE4B')

    print(f'mv ./models/{uuid} ./models/FT-{new_name}-{uuid}.pt')

Thanks for working this out. The script above was missing the .pt from the original model names so I used string replace to update it.
#!/bin/bash
mv ./models/PeT2D92j.pt ./models/FT-METL-G-20M-1D-avGFP-PeT2D92j.pt
mv ./models/6JBzHpkQ.pt ./models/FT-METL-G-20M-3D-avGFP-6JBzHpkQ.pt
mv ./models/HaUuRwfE.pt ./models/FT-METL-L-1D-avGFP-HaUuRwfE.pt
mv ./models/LWEY95Yb.pt ./models/FT-METL-L-3D-avGFP-LWEY95Yb.pt
mv ./models/4Rh3WCbG.pt ./models/FT-METL-G-20M-1D-dlg4-2022-abundance-4Rh3WCbG.pt
mv ./models/RBtqxzvu.pt ./models/FT-METL-G-20M-3D-dlg4-2022-abundance-RBtqxzvu.pt
mv ./models/RMFA6dnX.pt ./models/FT-METL-L-1D-dlg4-2022-abundance-RMFA6dnX.pt
mv ./models/V3uTtXVe.pt ./models/FT-METL-L-3D-dlg4-2022-abundance-V3uTtXVe.pt
mv ./models/4xbuC5y7.pt ./models/FT-METL-G-20M-1D-dlg4-2022-binding-4xbuC5y7.pt
mv ./models/BuvxgE2x.pt ./models/FT-METL-G-20M-3D-dlg4-2022-binding-BuvxgE2x.pt
mv ./models/YdzBYWHs.pt ./models/FT-METL-L-1D-dlg4-2022-binding-YdzBYWHs.pt
mv ./models/iu6ZahPw.pt ./models/FT-METL-L-3D-dlg4-2022-binding-iu6ZahPw.pt
mv ./models/dAndZfJ4.pt ./models/FT-METL-G-20M-1D-GB1-dAndZfJ4.pt
mv ./models/9vSB3DRM.pt ./models/FT-METL-G-20M-3D-GB1-9vSB3DRM.pt
mv ./models/Pgcseywk.pt ./models/FT-METL-L-1D-GB1-Pgcseywk.pt
mv ./models/UvMMdsq4.pt ./models/FT-METL-L-3D-GB1-UvMMdsq4.pt
mv ./models/HenDpDWe.pt ./models/FT-METL-G-20M-1D-Grb2-abundance-HenDpDWe.pt
mv ./models/dDoCCvfr.pt ./models/FT-METL-G-20M-3D-Grb2-abundance-dDoCCvfr.pt
mv ./models/VNpi9Zjt.pt ./models/FT-METL-L-1D-Grb2-abundance-VNpi9Zjt.pt
mv ./models/PqBMjXkA.pt ./models/FT-METL-L-3D-Grb2-abundance-PqBMjXkA.pt
mv ./models/cvnycE5Q.pt ./models/FT-METL-G-20M-1D-Grb2-binding-cvnycE5Q.pt
mv ./models/jYesS9Ki.pt ./models/FT-METL-G-20M-3D-Grb2-binding-jYesS9Ki.pt
mv ./models/Z59BhUaE.pt ./models/FT-METL-L-1D-Grb2-binding-Z59BhUaE.pt
mv ./models/VwcRN6UB.pt ./models/FT-METL-L-3D-Grb2-binding-VwcRN6UB.pt
mv ./models/ho54gxzv.pt ./models/FT-METL-G-20M-1D-pab1-ho54gxzv.pt
mv ./models/jhbL2FeB.pt ./models/FT-METL-G-20M-3D-pab1-jhbL2FeB.pt
mv ./models/TdjCzoQQ.pt ./models/FT-METL-L-1D-pab1-TdjCzoQQ.pt
mv ./models/5SjoLx3y.pt ./models/FT-METL-L-3D-pab1-5SjoLx3y.pt
mv ./models/ELL4GGQq.pt ./models/FT-METL-G-20M-1D-TEM-1-ELL4GGQq.pt
mv ./models/K6BjsWXm.pt ./models/FT-METL-G-20M-3D-TEM-1-K6BjsWXm.pt
mv ./models/64ncFxBR.pt ./models/FT-METL-L-1D-TEM-1-64ncFxBR.pt
mv ./models/PncvgiJU.pt ./models/FT-METL-L-3D-TEM-1-PncvgiJU.pt
mv ./models/BAWw23vW.pt ./models/FT-METL-G-20M-1D-UBE4B-BAWw23vW.pt
mv ./models/G9piq6WH.pt ./models/FT-METL-G-20M-3D-UBE4B-G9piq6WH.pt
mv ./models/e9uhhnAv.pt ./models/FT-METL-L-1D-UBE4B-e9uhhnAv.pt
mv ./models/NfbZL7jK.pt ./models/FT-METL-L-3D-UBE4B-NfbZL7jK.pt

Once I started uploading models I noticed some of the names didn't match (avGFP vs. GFP). I used the local source model identifiers as the reference dataset names
METL-L-2M-1D-GFP
METL-L-2M-1D-DLG4_2022
METL-L-2M-1D-GB1
METL-L-2M-1D-GRB2
METL-L-2M-1D-Pab1
METL-L-2M-1D-TEM-1
METL-L-2M-1D-Ube4b

I adjusted those with a second script.
#!/bin/bash
mv ./models/FT-METL-G-20M-1D-avGFP-PeT2D92j.pt ./models/FT-METL-G-20M-1D-GFP-PeT2D92j.pt
mv ./models/FT-METL-G-20M-3D-avGFP-6JBzHpkQ.pt ./models/FT-METL-G-20M-3D-GFP-6JBzHpkQ.pt
mv ./models/FT-METL-L-1D-avGFP-HaUuRwfE.pt ./models/FT-METL-L-1D-GFP-HaUuRwfE.pt
mv ./models/FT-METL-L-3D-avGFP-LWEY95Yb.pt ./models/FT-METL-L-3D-GFP-LWEY95Yb.pt
mv ./models/FT-METL-G-20M-1D-dlg4-2022-abundance-4Rh3WCbG.pt ./models/FT-METL-G-20M-1D-DLG4_2022-ABUNDANCE-4Rh3WCbG.pt
mv ./models/FT-METL-G-20M-3D-dlg4-2022-abundance-RBtqxzvu.pt ./models/FT-METL-G-20M-3D-DLG4_2022-ABUNDANCE-RBtqxzvu.pt
mv ./models/FT-METL-L-1D-dlg4-2022-abundance-RMFA6dnX.pt ./models/FT-METL-L-1D-DLG4_2022-ABUNDANCE-RMFA6dnX.pt
mv ./models/FT-METL-L-3D-dlg4-2022-abundance-V3uTtXVe.pt ./models/FT-METL-L-3D-DLG4_2022-ABUNDANCE-V3uTtXVe.pt
mv ./models/FT-METL-G-20M-1D-dlg4-2022-binding-4xbuC5y7.pt ./models/FT-METL-G-20M-1D-DLG4_2022-BINDING-4xbuC5y7.pt
mv ./models/FT-METL-G-20M-3D-dlg4-2022-binding-BuvxgE2x.pt ./models/FT-METL-G-20M-3D-DLG4_2022-BINDING-BuvxgE2x.pt
mv ./models/FT-METL-L-1D-dlg4-2022-binding-YdzBYWHs.pt ./models/FT-METL-L-1D-DLG4_2022-BINDING-YdzBYWHs.pt
mv ./models/FT-METL-L-3D-dlg4-2022-binding-iu6ZahPw.pt ./models/FT-METL-L-3D-DLG4_2022-BINDING-iu6ZahPw.pt
mv ./models/FT-METL-G-20M-1D-Grb2-abundance-HenDpDWe.pt ./models/FT-METL-G-20M-1D-GRB2-ABUNDANCE-HenDpDWe.pt
mv ./models/FT-METL-G-20M-3D-Grb2-abundance-dDoCCvfr.pt ./models/FT-METL-G-20M-3D-GRB2-ABUNDANCE-dDoCCvfr.pt
mv ./models/FT-METL-L-1D-Grb2-abundance-VNpi9Zjt.pt ./models/FT-METL-L-1D-GRB2-ABUNDANCE-VNpi9Zjt.pt
mv ./models/FT-METL-L-3D-Grb2-abundance-PqBMjXkA.pt ./models/FT-METL-L-3D-GRB2-ABUNDANCE-PqBMjXkA.pt
mv ./models/FT-METL-G-20M-1D-Grb2-binding-cvnycE5Q.pt ./models/FT-METL-G-20M-1D-GRB2-BINDING-cvnycE5Q.pt
mv ./models/FT-METL-G-20M-3D-Grb2-binding-jYesS9Ki.pt ./models/FT-METL-G-20M-3D-GRB2-BINDING-jYesS9Ki.pt
mv ./models/FT-METL-L-1D-Grb2-binding-Z59BhUaE.pt ./models/FT-METL-L-1D-GRB2-BINDING-Z59BhUaE.pt
mv ./models/FT-METL-L-3D-Grb2-binding-VwcRN6UB.pt ./models/FT-METL-L-3D-GRB2-BINDING-VwcRN6UB.pt
mv ./models/FT-METL-G-20M-1D-pab1-ho54gxzv.pt ./models/FT-METL-G-20M-1D-Pab1-ho54gxzv.pt
mv ./models/FT-METL-G-20M-3D-pab1-jhbL2FeB.pt ./models/FT-METL-G-20M-3D-Pab1-jhbL2FeB.pt
mv ./models/FT-METL-L-1D-pab1-TdjCzoQQ.pt ./models/FT-METL-L-1D-Pab1-TdjCzoQQ.pt
mv ./models/FT-METL-L-3D-pab1-5SjoLx3y.pt ./models/FT-METL-L-3D-Pab1-5SjoLx3y.pt
mv ./models/FT-METL-G-20M-1D-UBE4B-BAWw23vW.pt ./models/FT-METL-G-20M-1D-Ube4b-BAWw23vW.pt
mv ./models/FT-METL-G-20M-3D-UBE4B-G9piq6WH.pt ./models/FT-METL-G-20M-3D-Ube4b-G9piq6WH.pt
mv ./models/FT-METL-L-1D-UBE4B-e9uhhnAv.pt ./models/FT-METL-L-1D-Ube4b-e9uhhnAv.pt
mv ./models/FT-METL-L-3D-UBE4B-NfbZL7jK.pt ./models/FT-METL-L-3D-Ube4b-NfbZL7jK.pt

Zenodo has a limit of 100 files per repository and then requires depositors to archive individual files. We're only at 58 files, but that is worth considering if we add many more DMS datasets and target models.
Here is a preview of the Zenodo dataset with the new files. If this looks good, I'll release it.

Looks good to me. You can go ahead and release it!

I published version 2.0: https://doi.org/10.5281/zenodo.13377502
I'm leaving this open until we update the readme describing all the new models and the models in main.py. All of the existing Zenodo URLs from version 1.0 like https://zenodo.org/records/11051645/files/METL-G-20M-1D-D72M9aEp.pt?download=1 will still work, but we can also replace the version identify in the URL to https://zenodo.org/records/13377502/files/METL-G-20M-1D-D72M9aEp.pt?download=1 if we want. I copied all version 1.0 files to version 2.0 as well.
Our naming convention isn't very clear about distinguishing the METL-Local GFP models that were training on most of the data versus the low-N models:
FT-METL-L-2M-3D-GFP-PEkeRuxb.pt
FT-METL-L-3D-GFP-LWEY95Yb.pt

so let's be sure that is clear in the readme.
The final step will be updating the model list in the Colab notebook.


Added User Admin as role allowed to manage app role assignments

User Administrator role is currently missing in the list of roles allowed to manage app role assignments (microsoft.directory/servicePrincipals/appRoleAssignedTo/update). So I added it.
See role docs: https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference#user-administrator

@omondiatieno

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Any updates?

@omondiatieno, @CelesteDG
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.

@omondiatieno Please review this contribution.

Please approve or reject this PR


Do not fetch Eth1 data during initial sync

Initial sync is a very resource intensive process, so doing extra work is not good
Eth1 module should not fetch and process blocks until regular sync or until fully synced. An extra optimization is to fetch blocks from a specific blockNumber instead of contract deployment, see https://github.com/ChainSafe/lodestar/issues/1329

Our node is very busy after being synced, and then it has to fullfil duties. Now with weak subjectivity sync this issue is not quite relevant anymore.


N+1 queries on assignment page

https://github.com/MarkUsProject/Markus/pull/2423

Resolved with #2423


Wrong information?

Please note that this page states that "Azure Blob storage is currently the only supported input source for reference data", but on the following link we see a note about reference data using SQL:
https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-use-reference-data#azure-sql-database

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

ID: 55351c4d-a4a0-6dfa-7abd-cebdae472cf0
Version Independent ID: cd6993cf-6e5a-4771-1978-bc41bbb353e4
Content: Understand inputs for Azure Stream Analytics
Content Source: articles/stream-analytics/stream-analytics-add-inputs.md
Service: stream-analytics
GitHub Login: @JSeb225
Microsoft Alias: jeanb

@pedromartins4 Thanks for the feedback and bringing this to our notice. At this time we are reviewing the feedback and will update the document as appropriate.

@pedromartins4 You are correct. Azure Blob storage and Azure SQL Database are currently supported as input source for reference data.
Thanks for your contribution, I've addressed this issue in PR: https://github.com/MicrosoftDocs/azure-docs-pr/pull/79781.
The changes should be live EOD or tomorrow. We will now close this issue. In future, if you see any minor bug fixes in the doc, feel free to click on the edit button and submit a PR to update. we love to take community contributions.


go get github.com/google/go-licenses is broken

https://github.com/google/go-licenses/commit/24e2421190d883269a17ee98960961d0edbee883 seems to break. Running go get github.com/google/go-licenses encounters the following error:
go: github.com/google/go-licenses upgrade => v0.0.0-20210727195037-24e2421190d8
/go/pkg/mod/github.com/google/licenseclassifier@v0.0.0-20210722185704-3043a050f148/licenses/embed.go:4:2: package embed is not in GOROOT (/usr/local/go/src/embed)
/go/pkg/mod/github.com/google/licenseclassifier@v0.0.0-20210722185704-3043a050f148/licenses/embed.go:5:2: package io/fs is not in GOROOT (/usr/local/go/src/io/fs)

It seems to be because of this commit https://github.com/google/go-licenses/commit/24e2421190d883269a17ee98960961d0edbee883
which uses the latest version of google's licenseclassifier which was updated 6 days ago to drop support for go 1.14 and 1.15
https://github.com/google/licenseclassifier/commit/3043a050f148a588e7e0c84dce27579dfe17fd2d

We tried to build a new builder image and ended up with this error:
package embed: unrecognized import path "embed": import path does not begin with hostname
package io/fs: unrecognized import path "io/fs": import path does not begin with hostname

I am quite unsure what happened there but we'll have to pin our CI to a previous commit it seems.

Updating to go 1.16 fixed this for me.

After upgrading to go 1.17 now this works for me:
go install github.com/google/go-licenses
$GOPATH/bin/go-licenses

Updated documentation, go >= v1.16 is required for latest version of go-licenses.


chore: golf two_lt_card_iff

Makes the proof of this lemma shorter and perhaps cleaner by adding a new lemma and moving it forward to take advantage of the preexisting card_eq_three

maintainer merge

bors merge


Added HEMISPHERE SeMSy 5 showcase item

Added HEMISPHERE SeMSy 5 showcase item.
@marchbold: Tagged this as "hightlight" since its quite an impressive an really big AIR app - please of course feel free to remove this possibly "internal" tag though!

Perfect ;)


Add a Screaming Snake Case in case conversion

Hello, for case conversion I would like to add Screaming Snake Case method
method: get
title: To Screaming Snake Case

Please assign me this

@ashitaprasad In this I have to first add code in core and then in this or just I can make a function and then do the work

I would love to work on it.Please assign this issue to me.


fix: add missing POD_NAMESPACE environment variable to deployments (#405

Since Keda 2.10.0 deploying to a different namespace fails, as the POD_NAMESPACE environment variable is missing.
Checklist

[x] I have verified that my change is according to the deprecations & breaking changes policy
[x] Commits are signed with Developer Certificate of Origin (DCO - learn more)
[x] README is updated with new configuration values (if applicable)
[x] A PR is opened to update KEDA core (repo) (if applicable, ie. when deployment manifests are modified)

Fixes https://github.com/kedacore/charts/issues/403

Thanks for the contribution!

Quickfix until there is a new release ready. Add the variable also to the charts' values.yaml:
env:
  - name: POD_NAMESPACE
    valueFrom:
      fieldRef:
        fieldPath: metadata.namespace


Help with translation

Hello,
I need help with translation, trying to use spanish translation "es-MX" but no success, still showing up english strings.
This is my XML Appcast:
<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="es" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" version="2.0">
    <channel>
        <title>RENIEC - NetSparkle Test App</title>
        <link>http://npalominop.reniec.gob.pe/update.xml</link>
        <description>Most recent changes with links to updates.</description>
        <language>es-MX</language>
        <item>
            <title>Version 2.0 (2 bugs fixed; 3 new features)</title>
            <sparkle:releaseNotesLink>http://npalominop.reniec.gob.pe/2.0-release-notes.md</sparkle:releaseNotesLink>
            <pubDate>Thu, 28 Feb 2019 10:30:00 +0000</pubDate>
            <enclosure url="http://npalominop.reniec.gob.pe/dl/CamaraCapturaImagen_v1.3.1.exe"
                       sparkle:version="2.0"
                       length="6115328"
                       type="application/octet-stream" />
            <!--sparkle:dsaSignature="NSG/eKz9BaTJrRDvKSwYEaOumYpPMtMYRq+vjsNlHqRGku/Ual3EoQ==" -->
        </item>
    </channel>
</rss>

Hi @nbpalomino,
The appcast's settings do not define the UI language for your software. Please make sure you are setting the correct culture/UI culture in your form. See: https://stackoverflow.com/questions/4877721/c-sharp-windows-forms-localization-testing for some help.

Thanks @Deadpikle I will give a try...


Accessing property from File object causes Illegal Invocation type error

Codesandbox Link
As from title, when I try to access a File object and it's property through a snapshot, I receive a Illegal Invocation type error, with the error pointing at file.name.
I was only able to replicate the error with a snap shot, but in my own project, this happened with just a regular proxy state too

File is not proxy-able, so you need to wrap with ref().
It's better to keep the state.files reference, so it should be something like this:
onChange={(e) => {
  state.files.splice(
    0,
    state.files.length,
    Array.from(e.currentTarget.files).map(ref),
  )
}}

// but this works too
onChange={(e) => {
  state.files = Array.from(e.currentTarget.files).map(ref)
}}

// and maybe this too, but not recommended
onChange={(e) => {
  state.files = ref(Array.from(e.currentTarget.files))
}}

I see, what's the reason why File is not proxy-able?

Maybe, it has native code? I'm not sure the precise reason.
Basically, plain objects are safe to proxy.
The error can be reproduced with Proxy without valtio:

Possibly related:

https://stackoverflow.com/questions/42496414/illegal-invocation-error-using-es6-proxy-and-node-js


CVE-2021-44906 in minimist transitive dependency does not affect sharp

I've just been made aware there's a recently-reported vulnerability in minimist, a transitive dependency of sharp.

https://nvd.nist.gov/vuln/detail/CVE-2021-44906
https://github.com/advisories/GHSA-xvch-5gv4-984h

This dependency comes via prebuild-install, and my assessment is that there is zero impact on both prebuild-install and sharp as the former only passes strings to minimist but the vulnerability requires a function to be passed.
https://github.com/prebuild/prebuild-install/blob/4a1ed436676a6b8b0611272440f0ce5fd0b798bf/rc.js#L32-L43
Furthermore, an attacker would need to have control over a system at npm install time, in which case you've got much bigger problems to deal with.

Looks like minimist has patched this in its v1.2.6 release so if you're still seeing audit errors please update those lockfiles.


Improve UI and JS for Document Summary accordion

Following the work in pull request #31, the ad-hoc added javascript and the improvised CSS should be improved.

Actually what you have here looks good to me! Nice work!


Revert "Forbid applications without a container cluster in hosted Vespa"

Reverts vespa-engine/vespa#26797
Breaks routing application:
[2023-04-21 09:25:59.527698] cfg2     INFO    : configserver     Container.com.yahoo.vespa.config.server.modelfactory.PreparedModelsBuilder	Create and validate model 8.156.21 for hosted-vespa.routing, previous model is 8.156.21
[2023-04-21 09:25:59.566406] cfg2     INFO    : configserver     Container.com.yahoo.vespa.config.server.http.HttpErrorResponse	Returning response with response code 400, error-code:INVALID_APPLICATION_PACKAGE, message=Invalid application: Vespa Cloud applications must have at least one container cluster

But it has a container cluster ... no?

Yes, there is a container cluster with id routing in the application. Not sure what is going on here.


Convert service to RabbitMQ consumer

sdx-downstream is now driven from a notification queue (sdx-survey-notifications) that gets appended to when a survey is stored in sdx-store.
Changes

Convert Flask app to a RabbitMQ consumer
Consume notifications from sdx-survey-notifications queue and:

Get survey JSON from sdx-store service
Get transformed data as a zip from the sdx-transform-cs service
Put the contents of the zip on the FTP server

How to test

Use the docker-compose setup from the dockers repo
POST this JSON to http://<docker_host>:85/responses:

{
   "type": "uk.gov.ons.edc.eq:surveyresponse",
   "origin": "uk.gov.ons.edc.eq",
   "survey_id": "023",
   "version": "0.0.1",
   "collection": {
     "exercise_sid": "hfjdskf",
     "instrument_id": "0203",
     "period": "0216"
   },
   "submitted_at": "2016-03-12T10:39:40Z",
   "metadata": {
     "user_id": "789473423",
     "ru_ref": "12345678901A"
   },
   "data": {
     "11": "01/04/2016",
     "12": "31/10/2016",
     "20": "1800000",
     "51": "84",
     "52": "10",
     "53": "73",
     "54": "24",
     "50": "205",
     "22": "705000",
     "23": "900",
     "24": "74",
     "25": "50",
     "26": "100",
     "21": "60000",
     "27": "7400",
     "146": "some comment"
   }
}

Start sdx-downstream - docker-compose start sdx-downstream
Check the contents of the FTP

Depends on
https://github.com/ONSdigital/dockers/pull/10
https://github.com/ONSdigital/sdx-store/pull/2
Who can test
Anyone but @ajmaddaford

Just as an aside, we need to get each of these services conforming to pep8 formatting standards. There are linters available for sublime for pep8/flake8.


Cannot declare static method in interface

When dealing with interfaces, I am not able to define a method as static within the interface. Example:
interface Foo{
   static bar():void;
}

class FooBar implements Foo{
   static bar():void{
      console.log("Foo bar");
   }
}

This is by design. A class has an instance and static type introduced by its declaration. The implements clause restricts only the instance side. You should use a base class with a static or multiple interfaces for this pattern (the latter is how lib.d.ts defines many types).


[CSS Rendering] Bug when opening the "edit diagram" interface in a small window

Describe the bug
Opening "Edit Diagram" feature with a small window, then resizing the window (enlarging) will cause the interface to not appear "properly" : 5 elements of the diagrams (process, store, actor etc) seems to have 'absolute' size fixed (when first shown in small window) and won't re-ajust their size properly (to fit new window size dynamically).
Expected behaviour
Edit diagram menu should adjust to size of window.
Environment

Version: 1.6.1
Platform: Windows Desktop App
OS: W10

Any additional context, screenshots, etc
Related to issue 386, I belive : https://github.com/OWASP/threat-dragon/issues/386#issue-1154116651
I understand that V2 will be more "feature rich" and utilize component to do the rendering in a different way, but I wanted to tell about this, in case it could be fixed in v1.

Thanks for the bug report @jeronomy  - how severe is this problem? Is it a blocker that needs a fix and a new patch release?

This is not a 'critical bug' imo, but I would like to have a 'more responsive' drawing interface if possible (without too much efforts).
I am doing some tests to see the possibility of use of this tool, for client's org.
Clean process for building & documenting threat models would be a huge benefits (helping me help them, to be more secure).
But those kind of bug (responsivness, non-adjusting sizing of widget, etc) could potentially contribute to put off some users among my client's org.
So I understand the V2 will be better, but IMO : would be nice to have a 'cleaner behavior' on sizing window (for the v1), if it does not represent too large amount of time & commit (and also does not get in the way of the V2 first stable release).
Question for me is kindof: do the demo with v1 (there is always pro & con for any software/version/tool), or wait for stable v2.
Btw : is there any ETA / idea about this v2 release date, or for the possibility to spin up easily a docker container for v2 ?

Hello @jeronomy - thanks for the really good information on how you are using Threat Dragon. As a project we rarely get such detail ... I use it in my company so it tends to follow the ForgeRock use cases, I guess a bit of an echo chamber :)
The drawing package for version 1.x proved a real headache for us, going up a version on JointJS introduced breaking changes that would need a lot of effort, and was the driver for moving to a revamped version 2.0. So it would be a lot of effort to clean up the drawing window / interface ... we would have to move JointJS from version 2.2.1 to version 3.5.4 with all that means
Stable version 2.0 is some way away - my guess is June this year: https://github.com/OWASP/threat-dragon/projects/5
Not sure if that answered any of your questions properly ...

Thanks for your message: I got my answers loud &  clear :)
So this is a minor issue, and I would like to avoid more headache on this specific matter!
I am testing the v2 and it seems like a really good shift !
I know this is not the place or the time to do suggestion properly, but... here it comes :)

It seems harder to select items ! I did took 5min to understand that arrow must be clicked on their 'head', and still can't manage to select other item/entitie withtout creating junk arrows all around : maybe a mouse selector options to create or select item would ease the creation/ edition of diagram ?

Rendering while playing with the window size is much more smoother than on v1 ! But it could be (imo) even more smooth with a dynamic sizing of the 'edition diagram' panel, to really enjoy your new super-ultra-mega-wide shiny monitors ?

The save feature from 'edition diagram' interface is kind of confusing, imo (desktop version) : there is a green popup (bottom left hand corner) which notice us that 'Threat model successfully saved!' , but at same time, Windows popup to register .json file (so, did the original json file were already overwritten, or not before confirming new name of json file via explorer.exe ?)

I know I'm pushing with next 2 on top of it (and I know it's WIP) but :

I can't seems to find any place for 'info' on the main menu (place to find version number and stuff)
A dark mode would be like, the cake on the cherry :)

Thank you for the time & effort invested in this nice tool : I belive it will quickly become the 'de facto standard' for this task, in few next months, if not already !
I will keep testing both version for preaching threat modeling, as we should :)
Have a nice one !

Hello @jeronomy , I agree with your points - did you want to raise an issue for:

Dark mode
Dynamic resizing of the side panel

Select items is in a pull request at the moment: "disable magnet to allow grab of entire element" #394
I will go ahead and merge this pull-request and so you can see if it has improved (@lreading I hope you do not mind megoing ahead)

I know this is not the place or the time to do suggestion properly, but... here it comes :)

Feedback is very much welcome, however it comes in! Thanks for poking at it!

I am looking at  the versioning - Heroku does not seem to be updated with the latest version, so this would be a good to have. Will raise a feature request

Hello !
Thank you for you answers !
I had close the ticket in my mind so didn't expected some returns, nice to see commitment on product improvment like this :)
I will open issues for the 4 mentioned topics ! This is the least I can do :)
If I were able to read through the matrix, I would be tempted to wonder help dev some feature (but yeah, the matrice has me, for now...)


#1 profile picture uploading and user profile view is working now

The Travis build is failing for this PR

There are some unnecessary line breaks in the code which can be removed.

There are merge conflicts in the code

Closing due to conflicts


Not showing anything

I just created a new project with npx degit solidjs/templates/ts kir and enabled DevTools as explained in the installation instructions. However, I'm not seeing anything related to DevTools on the landing page or Chrome DevTools, except a log. When I click on the extension icon, it doesn't show a popup window. The icon just gets highlighted.

I have tried on my Mac and Windows, both has the same issue
Here's the repo https://github.com/seahindeniz/solidjs-dev-tools-issue

I just cloned the repository and this is from my local version

Make sure that the solid-devtools package is matches the expected client version which is 0.30.0 https://github.com/thetarnav/solid-devtools/issues/266#issuecomment-2067273752.

As you probably already know, to use the Solid debugger, there's a tab in devtools "Solid" that you click which opens the debugger tool.

I just tried downgrading to 0.30.0 and the issue still the same. Also, I don't know how you get Solid into the Chrome Devtools tab list, but mine doesn't have that. I'm assuming you can see my screenshots in my previous comments.
https://github.com/thetarnav/solid-devtools/assets/5789670/890a063e-b690-42a9-ad96-13eff96d6351

Also, both my devices has the latest Chrome version, 124.0

I just tried G. Chrome Dev channel to test it out, seems like it has different visual than the Stable channel

Maybe there's other extensions preventing it from working, open incognito mode but make sure solid-devtools is enabled for that mode.
Also try to see if "Solid" is under Menu > More Tools

Already did, there's no option in the menu. I assume the menu is for built-in tabs/tools only

Sometimes it’s necessary to open the site in a new tab, for the extension to load.

Well, I have tried many times in many tabs, even across multiple Chrome channels 😵💫

@thetarnav, do you have any suggestion for me to debug the issue? Like, specific files to check and confirm that it works or something. I would like to find the root cause however no idea where to start

I have same problem

I upgraded Chrome to version 126 and the problem disappeared

Got this on Chrome 128.
Before adding import 'solid-devtools';:

After adding import 'solid-devtools';:

Brief step through the debugger in Chrome shows that the port to the extension is open and it sends sensible looking messages

Just tried to run it and it worked first try. Even without updating dependencies (version 0.31 is now latest)
Same with firefox, although I had to restart it few times for some reason.
I cannot offer any advice unfortunately.
I'll try to add some more logging and an option to have it in prod too.


Issue with api keys popup

There isnt enough time to copy the api key exactly as you can see

that disappears without clicking on screen or on x button around 5 or so seconds
This should be made so the user can access the key a tad bit more easily.

IDEA make it so the user can click the green bubble with a 🔗 Copy button and it will copy to clipboard


Disable precomputation of CDS

In large clusters, this causes pilot to compute the CDS output for every namespace apriori (twice).
As seen on https://github.com/istio/istio/issues/12117, in large clusters, this causes OOM.
Signed-off-by: Shriram Rajagopalan<EMAIL_ADDRESS>

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: rshriram
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/pkg/networking/OWNERS [rshriram]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

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

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
f9949c2aa966aade9f06b744ab14d7c9e1b54f47
link
/test istio-integ-k8s-tests

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

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

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
f9949c2aa966aade9f06b744ab14d7c9e1b54f47
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
f9949c2aa966aade9f06b744ab14d7c9e1b54f47
link
/test istio-pilot-multicluster-e2e

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

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

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
f9949c2aa966aade9f06b744ab14d7c9e1b54f47
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
f9949c2aa966aade9f06b744ab14d7c9e1b54f47
link
/test istio-pilot-multicluster-e2e

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

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

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

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
f9949c2aa966aade9f06b744ab14d7c9e1b54f47
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
f9949c2aa966aade9f06b744ab14d7c9e1b54f47
link
/test istio-pilot-multicluster-e2e

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

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

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

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

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
f9949c2aa966aade9f06b744ab14d7c9e1b54f47
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
f9949c2aa966aade9f06b744ab14d7c9e1b54f47
link
/test istio-pilot-multicluster-e2e

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

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

prow/istio-integ-local-tests.sh
d54866a133f4e742a616de135ea58b58b5117895
link
/test istio-integ-local-tests

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
f9949c2aa966aade9f06b744ab14d7c9e1b54f47
link
/test istio-pilot-multicluster-e2e

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

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

prow/istio-integ-local-tests.sh
d54866a133f4e742a616de135ea58b58b5117895
link
/test istio-integ-local-tests

prow/istio-integ-k8s-tests.sh
d54866a133f4e742a616de135ea58b58b5117895
link
/test istio-integ-k8s-tests

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

cc @morvencao could you test this version of pilot on your large cluster and see if the memory usage becomes smaller? Lesser memory usage means lesser chances of OOM and more uptime

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
f9949c2aa966aade9f06b744ab14d7c9e1b54f47
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
59e12240fb44d9cc0d9832d993fada21bdf5b436
link
/test istio-integ-k8s-tests

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

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

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
59e12240fb44d9cc0d9832d993fada21bdf5b436
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
59e12240fb44d9cc0d9832d993fada21bdf5b436
link
/test istio-pilot-multicluster-e2e

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

If you tested this - can you share any pprof showing CDS computation anywhere near the top of allocations ? I've never seen it. Before/after graphs will also help - since adding the cache reduced the memory.
Not computing the sidecar cache if no sidecar is in use may help - but in practice it is hardly noticeable given the large allocs in listener generation ( and again, if you have any pprof showing something different please share it and how to repro). If Sidecar is enabled everywhere - we could eliminate some
of the caching for non-isolated - but again I haven't seen it in any mem profile.

Thanks @rshriram , I will test this patch.

Due to the exportTo fields, we have to compute the CDS output for potential gateways in every namespace (namespace local plus all exposed services from other namespces).
And we do this once again for every sidecar, based on their egress if present or not..
With 180 namespaces, we do this 180x180x2. But if you only have istio injected pods running in one or two namespaces, then its a huge waste. And since this is a precomputation, you cannot know in advance what namespaces to precompute.
Also note that this complication didn't come from sidecar. It came primarily from the exportTo. For a given namespace, the set of services seen by this namespace may or may not be the same as another namespace, even if there is no sidecar present.

@morvencao I am specifically looking for Pilot memory usage before and after this patch.. Since in your issue you noted that Pilot was balooning over 800M

per local tests, on a cluster with 2-3 namespaces, pilot consumes 47M of memory in stable state.
There are only 4 istio enabled pods.
I then created 100 namespaces, added a service in each namespace (without any POD). Pilot's memory usage jumped to 316MB. This is with a Pilot before this PR
With the pilot from this PR,  pilot's memory usage went up by just 20M when adding 100 namespaces plus services

I started running this build, then I switch to rc2 at 9:28. Memory usage was substantially higher with this change.
I have 50 namespaces, each with one Service. I also have 2 servicegraph instances running. Any idea why we are seeing such a big difference, yet you saw the opposite?

Cluster running rc2
istio-pilot-5f9486fb95-g9kdv              3541m        3296Mi
istio-pilot-5f9486fb95-nh6sk              7846m        9486Mi
istio-pilot-5f9486fb95-nsdwt              8269m        5207Mi

After nocache image
istio-pilot-6fd875b585-8vp8j              2016m        457Mi
istio-pilot-6fd875b585-c24z9              8532m        1804Mi
istio-pilot-6fd875b585-mbl62              8320m        1921Mi
istio-pilot-6fd875b585-zhr55              8488m        1356Mi

More CPU, but less memory.

Some more tests on the  large cluster with image including some upstream fixes.
istio-pilot-759944999f-2v2nd   8420m        3951Mi       ep: 1896
istio-pilot-759944999f-llhgj   285m         652Mi              ep: 323
istio-pilot-759944999f-rqwfm   134m         314Mi            ep: 46
istio-pilot-759944999f-vnqd8   312m         565Mi            ep: 205

and a nopilot deployment which has 0 connected endpoints.
istio-nopilot-bcbcb5464-22bj9             31m          163Mi
kubectl --namespace istio-system exec -i -t istio-nopilot-bcbcb5464-22bj9 -c discovery -- ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  3.8  0.1<PHONE_NUMBER>76 ?       Ssl  19:27   0:29 /usr/local/bi
``

Using the latest daily build of pilot and 0 connected endpoints still uses 1.1 GB.

kubectl --namespace istio-system exec -i -t istio-nopilot-cb4564b4b-6ttw8 -c discovery -- ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  109  0.9 1213104 1192496 ?     Ssl  19:40   6:37 /usr/local/bin/pilot-discovery

@rshriram the change shows memory savings.  This is expected if we dont build cache at all.
We have not done enough testing to figure out if this is unequivocally/always better. Can you instead make this an option? and env var  or anything else you want to use?
We need to investigate if there is a memory leak somewhere in the caching code.
As seen from the numbers above, the amount memory consumed is proportional to the number of connected endpoints.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: rshriram
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [rshriram]
pilot/OWNERS [rshriram]
pkg/OWNERS [rshriram]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
59e12240fb44d9cc0d9832d993fada21bdf5b436
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
9dc4da1d4d3ee2f1ab7c0732a5dac248c593c871
link
/test istio-integ-k8s-tests

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
59e12240fb44d9cc0d9832d993fada21bdf5b436
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
9dc4da1d4d3ee2f1ab7c0732a5dac248c593c871
link
/test istio-integ-k8s-tests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
9dc4da1d4d3ee2f1ab7c0732a5dac248c593c871
link
/test istio-pilot-e2e-envoyv2-v1alpha3

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

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

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
9dc4da1d4d3ee2f1ab7c0732a5dac248c593c871
link
/test istio-integ-k8s-tests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
9dc4da1d4d3ee2f1ab7c0732a5dac248c593c871
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-pilot-multicluster-e2e.sh
9dc4da1d4d3ee2f1ab7c0732a5dac248c593c871
link
/test istio-pilot-multicluster-e2e

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

/test istio-pilot-e2e-envoyv2-v1alpha3

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: mandarjog, rshriram
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [mandarjog,rshriram]
pilot/OWNERS [rshriram]
pkg/OWNERS [rshriram]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@rshriram I'm OK merging this even though we don't know the efficiency and performance impact, because we'll certainly find out soon.   But this drop in code coverage might indicate a deeper problem.   And I havent' seen this one before:

@mandarjog  how many connected endpoints per pilot ? Cache is obviously useless if there are no connections...

If this is only for sidecars using exportTo - I think it's fine to merge, if it has a feature flag, not sure if off by default or on by default.
A pprof from a pilot showing the load would be the best way to sort this out - if it is indeed showing most allocations going to cluster precompute then it's a clear 'must merge', otherwise I don't think it's worth the risks.

/cc @clyang82

@duderino codecov has been failing for a while.. simply removing code triggers codecov thresholds because we had grandfathered some of these files as exceptions in codecov. Anytime someone touches these files, they are forced to add more tests even if the entire code is emptied :).

@costinm I have undone the flag removal piece and will make sure to enforce flag for all future bug fixes :)

/test e2e-pilot-auth-sds

/test e2e-pilotv2-auth-sds

/retest

/hold cancel

@costinm @rshriram @duderino we need to get this in today.
The only choice to make is whether cache is on by default or off.

@rshriram pilotv2-auth-sds is still failing

@mandarjog the test failure is a known flake
ingressgateway_test.go:258: Got non 200 status code while changing rules: map[200:499 503:1]

/lgtm

thank you for the huge contribution @rshriram and hammering away until you got it in.


inline function to inline constants or keys.  Also, toposort.

We probably should find a better location for these functions.

There are now two inline functions: dask.async.inline and dask.core.inline.  Thoughts on renaming?  dask.async.inline_functions?

Yeah, perhaps dask.optimize.inline_constants and dask.optimize.inline_functions?

The inline in this function inlines more than just constants.  It can inline any set of keys.  If no keys are provided, then it inlines all constants.

I like the dask.optimize namespace.

ah, ok.  inline and inline_functions then

Renamed.  Let's reorganize the code in a separate PR.

+1

I'm having a hard time replicating this error locally.  Working on it.

Hrm, reran travis and the error seems to have disappeared.  For posterity it was an issue with sx.mean(axis=0).


Update opentelemetry-api, ... to 1.30.0

About this PR
📦 Updates

io.opentelemetry:opentelemetry-api
io.opentelemetry:opentelemetry-exporter-jaeger
io.opentelemetry:opentelemetry-exporter-otlp
io.opentelemetry:opentelemetry-sdk
io.opentelemetry:opentelemetry-sdk-testing

from 1.16.0 to 1.30.0
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.opentelemetry" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "io.opentelemetry" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Codecov Report
Patch coverage has no change and project coverage change: -0.07% :warning:

Comparison is base (862ac3a) 60.51% compared to head (3168af7) 60.45%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #392      +/-   ##
==========================================
- Coverage   60.51%   60.45%   -0.07%
==========================================
  Files         152      152
  Lines        3277     3277
  Branches      101      105       +4
==========================================
- Hits         1983     1981       -2
- Misses       1294     1296       +2

see 2 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Superseded by #396.


Code sometimes improperly marked as comment

Sometimes, when copy/pasting some code around with comments, I notice that part of my code becomes improperly marked as comments. You can see it happened here, and it becomes normal again when you play around with the comment above it:

Unfortunately, I have not yet found out how it can consistently be reproduced, but I've seen it happen at least 5-6 times already.
I suspect though that it has to do with comment blocks starting with /*. As you can see in the screen recording, the marking seems to end at the */ in the path definition, so it looks as if it's thinking the code above it is part of a comment block still.
This is on Max OS X, Atom 0.209.

Would you mind moving this to https://github.com/atom/language-javascript?

I don't think it's only javascript related, I recall seeing it happen in CSS as well. Is that possible?

Can you reproduce this in safe mode? (atom --safe)

Well, as I said, I haven't found a way to reproduce it yet consistently, but once it happens again I will try to analyze what I did and see if I can reproduce it.

@mnquintana I have found a way to reproduce it consistently, see attached screencast:

It appears to happen when a doc block comment is started and then completed via code completion.
When you enter the first few characters ('/*'), the trailing code is marked as a comment, because there's no comment ending found (*/).
However, once the code completion is triggered and the comment ending is inserted, the rest of the code remains flagged as a comment and does not get updated.
Hope this helps.

@benogle this issue also has consistent reproduction steps now, can you relabel it as a bug?

Sure. This seems like a language-javascript issue, no?

I'm pretty sure it also happened to me in SCSS files once or twice, so not sure which package is responsible. It's not like the language detects it wrong, I think it's that the language detects it a split second before the comment is completed by the auto completer, and then never updates it afterwards.

@adambuczynski How are you triggering autocompletion for the comment block?

This is my snippet for the code block:
'.source':
    'Comment block':
        'prefix': '/*'
        'body': '''
            /**
             * ${1:Comment}
             */
        '''

And it's triggered by /* + tab

I can't reproduce this using the provided snippet on Java, JS, or C files.  Please tell me if I'm doing something wrong (provided GIF is using language-c).

apm list --installed --bare:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>merge-conflicts
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
Atom 1.6.0-dev-d091a10, Windows 10 x64.

@50Wliu can you try with the following code? This works consistently for me:
function() {

  <insert comment here>

  //Comment
  return test;
}

This will turn the line return test; into a comment, after you tab complete the snippet.

Still nothing.  I noticed you're using<EMAIL_ADDRESS>though, while the latest version is 0.110.0.
I would try to reproduce in safe mode but I don't think snippets.cson gets loaded in that scenario.

I was using a development version of the package, as I had made some changes to it. Removed this now, and on 0.105.0 now (version bundled with 1.5.0 atom I suppose).
The issue is still reproducible though. Perhaps it only occurs on Mac due to some differences in keyboard input handling? Is there someone else on the dev team with a Mac that could check this behaviour?

Same issue for me on Windows 7, so not for Mac only.

Here's another demo of it happening inside a describe test block

I think the issue has to do with the fact that maybe the code highlighting isn't run again after the auto completed code is inserted, making the highlighter think that the comment was never closed, hence never un-marking the code from being a comment. Is that a possibility?

In case anyone wants to reproduce, this is the snippet I use that's causing the issue:
'.source':
    'Comment block':
        'prefix': '/*'
        'body': '''
            /**
             * ${1:Comment}
             */
        '''

I did some investigating and managed to figure out when this happens I think, it has to do with whitespace/invisibles/indentation on all the lines. I did not manage to reproduce when copy/pasting as the original post stated but didn't test much with copy/pasting.
Example, if you expand this snippet in a js file it reproduces, this is with the default js snippet for block comments no custom snippets needed.
function a(b) {
    /**
<NON INDENTED EMPTY LINE WITH ONLY A CRLF OR LF CHARACTER>
    var c = b +15;
    return c;
}

But not if you expand this:
function a(b) {
    /**
    <INDENTED EMPTY LINE>
    var c = b +15;
    return c;
}

And not if you expand this:
function a(b) {
    /**
<NON INDENTED EMPTY LINE WITH ONLY A CRLF OR LF CHARACTER>
        var c = b +15;
    return c;
}

Also not if you expand this:
function a(b) {
/**
<NON INDENTED EMPTY LINE WITH ONLY A CRLF OR LF CHARACTER>
var c = b +15;
return c;
}

Also not if you expand this:
function a(b) {
    /**
<NON INDENTED EMPTY LINE WITH ONLY A CRLF OR LF CHARACTER>
        <TABBED LINE PAST THE SNIPPET LINE>
    var c = b +15;
    return c;
}

But it does if you expand this:
function a(b) {
    /**
<NON INDENTED EMPTY LINE WITH ONLY A CRLF OR LF CHARACTER>
<NON INDENTED EMPTY LINE WITH ONLY A CRLF OR LF CHARACTER>
    <TABBED LINE NOT PAST THE SNIPPET LINE>
    <TABBED LINE NOT PAST THE SNIPPET LINE>
    var c = b +15;
    return c;
}

I am on Windows 7 with Atom 1.8.0, I can maybe test the latest master later but I don't have it built now because I am on the node4 npm3 branch.

I don't think this is happening anymore, so I'm going to close this issue. Must have gotten fixed somewhere along the line.


Publish on npm

@amesee @0x0uLL it seems you stopped publishing this package on GitHub and therefore the npm link is dead.
Would you be happy to add me as a contributor to https://www.npmjs.com/package/ordinal and I can release this package as version 1.0.0?
Understandable if not,  I'll publish under another name.
The code is entirely new, so I didn't carry over the license,  but I can reference you if you'd like...

ping @0x0uLL?

@dcousens You're all set. Enjoy 🎉

Thanks!


Archive Dockerfile generated during external test runs

We auto-generate Dockerfiles as part of the external test runs.  We should archive the Dockerfile as an artifact to the Jenkins test job (during the post stage of the test pipeline).  This will help us debug issues as we encounter them.

My Draft https://github.com/adoptium/aqa-tests/compare/master...sophia-guo:Docker?expand=1
Need more work

I can work on this issue!

Grinder tests ran for
jacoco: https://ci.adoptopenjdk.net/job/Grinder/3758/
derby: https://ci.adoptopenjdk.net/job/Grinder/3764/
jenkins: https://ci.adoptopenjdk.net/job/Grinder/3765/
I've noticed the below is shown:

Should I change the path for dockerfile?

This is how Dockerfiles are named and where they get put when they are generated: https://github.com/adoptium/aqa-tests/blob/master/external/build_image.sh#L83 so perhaps you need to try to change the regex that is used, so the search finds the generated file.
You can see in your console output where the Dockerfile gets put and its name, example from your jacoco grinder:
07:58:00       [exec] INFO: docker build  --no-cache -t adoptopenjdk-jacoco-test:8-jdk-ubuntu-hotspot-full -f /home/jenkins/workspace/Grinder/jvmtest/external/jacoco/dockerfile/8/jdk/ubuntu/Dockerfile.hotspot.full /home/jenkins/workspace/Grinder/jvmtest/external/

shows the full path to the file is: /home/jenkins/workspace/Grinder/jvmtest/external/jacoco/dockerfile/8/jdk/ubuntu/Dockerfile.hotspot.full
Is it a matter of changing https://github.com/yinggzz/aqa-tests/blob/issue3289/buildenv/jenkins/JenkinsfileBase#L726 from
using:
"**/Dockerfile.*" which will search in any directory
instead of
"./**/Dockerfile.*" which uses a relative path
good to reference docs at: https://www.jenkins.io/doc/pipeline/steps/core/#archiveartifacts-archive-the-artifacts for examples of wildcards and try some things to see what can best address it.


[framework] Remove redundant path segments (part 16)

Files in this PR:

/framework/wcf/*.md
/framework/wcf/diagnostics/performance-counters/*.md

Contributes to: #10653

@mairaw could we merge this PR before it gets some conflicts with others work?

hi @mairaw
Is there something I can do to help on merging this and initiate #10653 remaining work?


[Bug] Reduce fails when no axis given

DataArray.reduce() fails if you try to reduce using a function which doesn't accept any axis arguments.
import numpy as np
from xarray import DataArray

da = DataArray(np.array([[1, 3, 3], [2, 1, 5]]))

def total_sum(data):
    return np.sum(data.flatten())

sum = da.reduce(total_sum)
print(sum)

This should print a dataarray with just the number 15 in it, but instead it throws the error
Traceback (most recent call last):
  File "mwe.py", line 9, in <module>
    sum = da.reduce(total_sum)
  File "/home/tegn500/Documents/Work/Code/xarray/xarray/core/dataarray.py", line 1605, in reduce
    var = self.variable.reduce(func, dim, axis, keep_attrs, **kwargs)
  File "/home/tegn500/Documents/Work/Code/xarray/xarray/core/variable.py", line 1365, in reduce
    axis=axis, **kwargs)
TypeError: total_sum() got an unexpected keyword argument 'axis'

This contradicts what the docstring of .reduce() says:
axis: int or sequence of int, optional
    Axis(es) over which to repeatedly apply func. Only one of the ‘dim’ and ‘axis’
    arguments can be supplied. If neither are supplied, then the reduction is
    calculated over the flattened array (by calling f(x) without an axis argument).

The problem is that in variable.py an axis=None kwarg is always passed to func, even if no axis argument is given by the user in reduce.

Yep, looks like a bug to me (fortunately it's also an easy fix)


Add color schemes for IPython plugin

From<EMAIL_ADDRESS>on 2012-01-22T23:45:51Z
I wonder if Spyder can provide color scheme options for the IPython windows (as well as the Console windows)... I use black background on the main editor and the object inspector. And the white background of IPython and Console looks a bit annoying... Attached is how it looks on my computer.
Attachment: spyder-color.jpg
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=916

From<EMAIL_ADDRESS>on 2012-09-19T15:10:35Z
Seconded. IPython follows the colour scheme of the separate terminal I use (Console2 on Windows), but it does not follow Spyder's colour scheme. I would not call it a defect, though, but an enhancement request.

From ccordoba12 on 2012-01-23T06:46:45Z
Hi,
It's not possible to define a color scheme for the IPython console but you can go to
Tools > Preferences > Console > Display
and look for the section called "Background color". In there deselect the option called
"Light background (white color)"
and next time you open a new console, you'll see it has a dark background with a predefined color scheme

From<EMAIL_ADDRESS>on 2012-09-20T16:20:37Z
Ipython's qtconsole uses pygments for syntax highlighting. Perhaps spyder could convert its color scheme to pygments when embedding the ipython qtconsole.

From ccordoba12 on 2013-02-11T09:00:14Z
Blocking: spyderlib:1053

From ccordoba12 on 2012-09-21T09:36:45Z
Yes, this is now possible but only for IPython. We'll try to add it for 2.2.
Summary: Add color schemes for IPython plugin
Status: Accepted
Labels: Cat-IPythonConsole MS-v2.2

From ccordoba12 on 2013-07-12T18:09:37Z
Labels: -MS-v2.3 MS-v2.4

From<EMAIL_ADDRESS>on 2013-04-29T14:41:22Z
Labels: -MS-v2.2 MS-v2.3

From ccordoba12 on 2013-03-12T08:55:52Z
issue #1300 has been merged into this issue.

From<EMAIL_ADDRESS>on 2013-09-06T09:42:50Z
I'd be interested in this as well. Any update on the Ipython color schemes, or at least a dark backgorund? Also, looks like issue #1520 should be merged into here...
Cheers!

From phyo.arkarlwin on 2013-09-16T11:56:47Z
I have done it and contributing to spyder! Too bad it seems that google-code remove serverside cloning (Forking) so i have to attach a patch.
It will automatically try to match with current background and foreground color set in your code background.
diff -r 4f523daf4159 spyderlib/widgets/ipython.py
--- a/spyderlib/widgets/ipython.py      Mon Sep 16 01:15:50 2013 -0500
+++ b/spyderlib/widgets/ipython.py      Tue Sep 17 01:21:14 2013 +0630
@@ -11,8 +11,11 @@
# IPython imports
try:  # 1.0
from IPython.qt.console.rich_ipython_widget import RichIPythonWidget

from IPython.qt.console import styles
except ImportError: # 0.13
from IPython.frontend.qt.console.rich_ipython_widget import RichIPythonWidget
from IPython.frontend.qt.console import styles

# Qt imports
from spyderlib.qt.QtGui import QTextEdit, QKeySequence, QShortcut
@@ -24,6 +27,34 @@
from spyderlib.utils import programs
from spyderlib.widgets.mixins import (BaseEditMixin, InspectObjectMixin,
TracebackLinksMixin)
+section = "color_schemes"
+names = CONF.get("color_schemes", "names", [])
+bg = "%s/%s" % (name, "background")
+fg = "%s/%s" % (name, "normal")
+hl = "%s/%s" % (name, "currentline")
+current_bg= CONF.get(section, bg, default=None)
+current_fg= CONF.get(section, fg, default=None)
+current_hl= CONF.get(section, hl, default=None)
+
+
+default_dark_style_template = '''

QPlainTextEdit, QTextEdit { background-color: %(bgcolor)s;

       color: %(fgcolor)s ;

       selection-background-color: %(select)s}

QFrame { border: 1px solid grey; }
.error { color: red; }
.in-prompt { color: lime; }
.in-prompt-number { color: lime; font-weight: bold; }
.out-prompt { color: red; }
.out-prompt-number { color: red; font-weight: bold; }
.inverted { background-color: %(fgcolor)s ; color:%(bgcolor)s;}
+'''
+custom_style_sheet = default_dark_style_template%dict(

           bgcolor=current_source_bg, fgcolor=current_fg, select=current_hl)

+custom_syntax_style = 'monokai'
+
+
+
class IPythonControlWidget(TracebackLinksMixin, InspectObjectMixin, QTextEdit,
@@ -143,6 +174,32 @@
     \# To restart the Spyder kernel in case it dies
     self.custom_restart = True

   self.set_default_style()

def set_default_style(self, colors='custom'):

   """ Sets the widget style to the class defaults.

   Parameters:

   -----------

   colors : str, optional (default lightbg)

       Whether to use the default IPython light background or dark

       background or B&W style.

   """

   colors = colors.lower()

   if colors=='lightbg':

       self.style_sheet = styles.default_light_style_sheet

       self.syntax_style = styles.default_light_syntax_style

   elif colors=='linux':

       self.style_sheet = styles.default_dark_style_sheet

       self.syntax_style = styles.default_dark_syntax_style

   elif colors=='nocolor':

       self.style_sheet = styles.default_bw_style_sheet

       self.syntax_style = styles.default_bw_syntax_style

   elif colors=='custom':

      self.style_sheet = custom_style_sheet

      self.syntax_style = custom_syntax_style

   else:

       raise KeyError("No such color scheme: %s"%colors)

#---- Public API ----------------------------------------------------------
def set_ipyclient(self, ipyclient):

From phyo.arkarlwin on 2013-09-16T12:01:43Z
patch attached , pasting here looks ugly.
Spyder guys , don't you want to move this awesome project from shitty google-code hosting? Google no longer cares about googlecode anymore , time to move to Bitbucket I know you guys love mercurial like the rest of python devs. Github is awesome but we love HG!
Attachment: custom_ipython_sytlesheet.patch

From ccordoba12 on 2013-09-22T10:32:59Z
Thanks a lot phyo for the patch! You are proposing something much more ambitious just using a dark background, it's meant to use our own color schemes. That requires more work and that's why I'm leaving it for 2.3.
I didn't notice GoogleCode eliminated the option to do server-side clones. It's really time to move to BitBucket, you're absolutely right! I'll try to do it in the next couple of weeks.
Labels: -MS-v2.4 MS-v2.3

From phyo.arkarlwin on 2013-09-23T07:00:58Z
You welcome ccordoba12!
>You are proposing something much more ambitious just using a dark background, it's meant to use our own color schemes. That requires more work and that's why I'm leaving it for 2.3.
Yep , my patch does it. It reads the config of currently active color schema and applies it to ipython directly.
>I didn't notice GoogleCode eliminated the option to do server-side clones.
Yeah man , i was looking for any kind of announcement of the removal but i found none. Damn , what happened to our respected tech giant..

From phyo.arkarlwin on 2013-10-03T11:35:43Z
I am working onwards automatic coloring of ipython , including ipython's syntax.
I am stuck how to apply CSS scheme for ipython console syntax coloring, attached is the code.

From phyo.arkarlwin on 2013-10-03T11:38:43Z
Forget to attach code:
I doing it  in a separated module.
Attachment: ipython_styles.py

From phyo.arkarlwin on 2014-01-23T09:57:25Z
Working now ,  Pull Request submitted for it @ Bitbucket.

From phyo.arkarlwin on 2014-05-05T00:53:20Z
Sorry , I am in a rush to complete a project by end of this month .

From ccordoba12 on 2014-05-04T14:59:12Z
Hope to this finished someday :)
Labels: -MS-v2.3 MS-v2.4

From phyo.arkarlwin on 2014-06-24T16:46:11Z
Pull request submitted.

@v3ss0n?

He implemented this feature on Bitbucket, but his pull request was a bit messy. We'd need to port it here.
I pretend to do that for beta2.

:+1:

What is the plan?
To keep the global Coloring Scheme and for all Consoles (ipython included) add the option to select the coloring scheme with a checkbox, to use the same as the editor? (to avoid repetition?)

Just adding comments to include the bitbucket code
https://bitbucket.org/spyder-ide/spyderlib/pull-requests/19/finally-working-adaptable-ipython-color/diff
@ccordoba12 is this something that cannot be done until you finish your kernel and stuff work, or is this something that can be done in parallel?


Add credentials for telemetry

Summary
Adds telemetry credentials for our Opensearch dev cluster.
Test Plan
Push telemetry events on startup on local conduit instance.

Could you move the defaults into the code? That way they can be updated with a software update rather than going stale if we want to change them in the future.

That makes sense since we will likely change the URI some time in the future. But moving the defaults in the code could make it harder for users to set their custom telemetry endpoints (changing source code and recompiling the binary seems a bit more cumbersome). Is this an okay tradeoff here?


[C-1196] Add link to signup from sign-in page

Describe the problem
Currently, if someone (potentially a new user) landed our sign-in page, then there is no link to redirect the user to signup. It creates a small confusion – where should I sign up now?

Describe the improvement
We should consider adding a signup link somewhere in the sign-in page so that the user is not diverted with the process.

(random example from supabase sign-in page)
Additional context
Trust me, sometimes we open GitHub issue based on the personal experience 🛸
C-1196

ohh that's a good one - I think it comes from the time when we were in closed beta 😅 should definitely add this asap
Thanks for pointing it out!

@jonathimer cool, no worries! I was bit into CRO for the past few days and know the pain 😶🌫 of converting the leads.

to-do
add "Don't have an account yet? Create an account" to the bottom of the sign-in form on app.crowd.dev/auth/signin

Yup, I just opened a PR for the issue 🛠

Closing this issue, since the pr for the same is merged. Cheers! 🍻

Thanks agaon @yeganathan18 🙏


Locked assignments

I have a significant number of teachers who use the "lock" function within Canvas to prevent you from submitting or editing old assignments (often don't accept late work) and/or to keep you from working too far ahead.
This creates the problem of assignments you can't do because they are locked, or can't submit.
The problem is that we probably don't want to just not sync all locked assignments, because if they are due in the future, they will become unlocked and you want to work on them.
So, I'm thinking the best logic would probably be
locked_for_user": true" AND "unlock_at" is in the PAST
(If it's locked but will unlock in the future OR if it is unlocked but will lock in the future we will still want to sync it)
Has anyone else run into this? My school/teachers seem to do a lot of weird stuff in Canvas... :)

I added logic into my script that compares unlock_at date and doesn't sync tasks if unlock_at is in the future.
I ended up having to add both logic rules, because sometimes assignments are locked and are not scheduled to be unlocked; other times they are locked but will be unlocked in the future.


Alerts are not sent to Campana

https://simonsobs.slack.com/archives/CKQGPU9JB/p1713721655916899

https://simonsobs.slack.com/archives/CCSD6LBB3/p1714147449146129

https://github.com/simonsobs/nextline-alert/pull/6 addresses this issue.
Need to confirm if alerts are emitted at the site.


Release 1.5.1

What's Changed

Add explicit exports for Node by @smaye81 in https://github.com/bufbuild/protobuf-es/pull/645
Honor experimental editions in the preamble generated by @bufbuild/protoplugin by @timostamm in https://github.com/bufbuild/protobuf-es/pull/644
Fix typing error in @bufbuild/protoplugin, improve error messages by @timostamm in https://github.com/bufbuild/protobuf-es/pull/642
Support for proto2 groups by @timostamm in https://github.com/bufbuild/protobuf-es/pull/640

Full Changelog: https://github.com/bufbuild/protobuf-es/compare/v1.5.0...v1.5.1

Second item should be "Honor experimental editions..."

Done


Quote sorting

I think that quotes should be progressively sorted inside date range (inside day or a week, for example). High-rated quotes should be on top while low-rated - on the bottom and maybe shadowed.

According to #54 and implemented functionality, it should be closed.


How to translate breadcrumb items?

I need to change voyager language. I made it like %99. But can't change breadcrumb items.
Like "Create, Edit". How can i change breadcrumb items. Its looks like this:
@for($i = 1; $i <= count(Request::segments()); $i++)                         <?php $breadcrumb_url .= '/' . Request::segment($i); ?>                         @if(Request::segment($i) != ltrim(route('voyager.dashboard', [], false), '/') && !is_numeric(Request::segment($i)))                             @if($i < count(Request::segments()) & $i > 0 && array_search('database',Request::segments())===false)
{{ ucwords(str_replace('-', ' ', str_replace('_', ' ', Request::segment($i)))) }}
                             @else
{{ ucwords(str_replace('-', ' ', str_replace('_', ' ', Request::segment($i)))) }}
                             @endif                         @endif                     @endfor
create and edit strings are coming from here.

{{ ucwords(str_replace('-', ' ', str_replace('_', ' ', Request::segment($i)))) }}

I am trying to change that strings. How can i make that? If anyone can help. I would glad.

Please follow the appropriate template when submitting issues.


[intern] Create Update Toast

Summary of the Pull Request

Create toast for new Update and Update available
Changed design of button
refactored code for notifications
Add activation tags

Details

On Launch both a "PowerToys is installed" and "PowerToys is updated" toast should pop up

I am interested in how the new toasts do look? Can you provide images?

Included images to PR @htcfreek

The new "PowerToys Update" Toast is interesting because we have this issue #2699.


Publish 3.0.0-rc.2 ?

There are some fixes for the TypeScript typings that are not available in any published version. I also haven't been able to figure out how to install styletron as a dependency from git due to the monorepo.

Ah nevermind, those fixes are published, I didn't look closely enough at my package.json to see that styletron-react was bumped but the other styletron-* deps were not. Cheers!


Attachment download functionality?

Hi, you plan to implement something to download attachments?
regards.

Yap, I'm working with it. I think the next version of this package will integrated it :)

I will be pending, I have not found any library that handles attachments..