(Security Risk) An interface to export private keys via code should never be exposed

The MinaPortal snap exposes the mina_exportPrivateKey interface, allowing the private key of a specified account to be exported. I believe private keys should never be exposed through an interface that can be triggered via code. Users should only be able to view their private keys by accessing the wallet settings. zkApps should never request users for their private keys. While I see a warning window, as shown in the attached screenshot, displayed, a malicious zkApp could exploit this interface to deceive uninformed users into clicking the Approve button.
I suggest removing the mina_exportPrivateKey interface entirely or, at the very least, implementing multiple levels of warning dialogs to clearly caution users that the trigger originated from the zkApp and that the app may be malicious.

@t4top We wanted to implement a password prompt, but currently, that's not possible. So now the snap requests the user’s authorization before proceeding. We are now displaying the request origin to make sure the request is safe. We will update this when the password functionality is available in snap.


Admin Generator (Future): Add support for radio select field in FormFieldConfig

inputType option is added to staticSelect field type in FormFieldConfig.
Setting the option to radio generates a radio select field instead of a static select field.

PR Checklist

[x] Verify if the change requires a changeset. See CONTRIBUTING.md
[x] Link to the respective task if one exists: SVK-121
[x] Provide screenshots/screencasts if the change contains visual changes

Screenshots/screencasts
https://github.com/user-attachments/assets/d1a75f05-df11-423d-8dfb-6d45018bfb6d

@andrearutrecht  please remove those temporary vite files

maybe you could wait for https://github.com/vivid-planet/comet/pull/2371 to be ready (and merged) and use the new component

The error you are showing in the screencast (radio does no client-side validation) - what do you want to do about that? Or for what reason do you have that in the cast?

The error you are showing in the screencast (radio does no client-side validation) - what do you want to do about that? Or for what reason do you have that in the cast?

My goal was to show that the radio static select variant still has the correct saving behaviour when it is required -> it does not allow to save, when a required field is missing.

@jamesricky @johnnyomair
What do you think about a structure like this? This reflects the design guidelines for selects and provides a manual override for eventual situations that deviate from the standard.
  const forceOtherInputType = true; // Replaces inputType choice

      if (required && values.length <= 5 && !forceOtherInputType) {
          // radio
      } else if (!required || values.length > 5 || forceOtherInputType) {
          // select
      }

@jamesricky @johnnyomair
What do you think about a structure like this? This reflects the design guidelines for selects and provides a manual override for eventual situations that deviate from the standard.
  const forceOtherInputType = true; // Replaces inputType choice

      if (required && values.length <= 5 && !forceOtherInputType) {
          // radio
      } else if (!required || values.length > 5 || forceOtherInputType) {
          // select
      }

So basically show radios when required and  only a small amount of items, otherwise a select, right?
This might be a good idea, maybe as the default behavior, when inputType is not set to radio or select, then there's no need for an additional forceOtherInputType setting.

So basically show radios when required and only a small amount of items, otherwise a select, right?

Yes. The selects are currently defined as following:

When to use a radio button:

Only use if it is mandatory AND has a maximum of 5 options to choose

When to use a select field:

Always, if it is an optional value
Always, if there are more than 5 options

@andrearutrecht please make your proposed change in a follow-up PR, if still relevant.

The PR is opened here: https://github.com/vivid-planet/comet/pull/2430

@andrearutrecht please fix conflicts, thanks!


Look into better alternatives to the current documentaion

I'm not happy with the current method of generating documentation. I'd like to look into using JSDoc, it looks like there are a few libraries for using JSDoc with express and/or swagger, so that could be useful.

At the very least need to look at tidying up the existing docs

Remove /v1/ prefix from paths
Add note about which requests require authentication


Issues with @storage_fn.on_object_finalized() and Firebase Emulator

Hello, I ‘ve been trying to test a locally deployed google cloud function that looks like this:
@storage_fn.on_object_finalized(bucket=MY_BUCKET)
def finalized_bucket(
    cloud_event: storage_fn.CloudEvent[storage_fn.StorageObjectData]
) -> None:

    print("triggered!")
    return "ok"

My gcloud command to deploy the function is this one:

gcloud alpha functions local deploy example \
        --gen2 \
        --entry-point=finalized_bucket \
        --runtime=python312 \
	--port 8083 \
        --env-vars-file="../../.env.local.yml"

The function is deployed successfully and then I am testing it with:
curl localhost:8083 \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
        "context": {
          "eventId": "1147091835525187",
          "timestamp": "2020-04-23T07:38:57.772Z",
          "eventType": "google.storage.object.finalize",
          "resource": {
             "service": "storage.googleapis.com",
             "name": "projects/_/buckets/MY_BUCKET/MY_FILE.txt",
             "type": "storage#object"
          }
        },
        "data": {
          "bucket": "MY_BUCKET",
          "contentType": "text/plain",
          "kind": "storage#object",
          "md5Hash": "...",
          "metageneration": "1",
          "name": "MY_FILE.txt",
          "size": "352",
          "storageClass": "MULTI_REGIONAL",
          "timeCreated": "2020-04-23T07:38:57.230Z",
          "timeStorageClassUpdated": "2020-04-23T07:38:57.230Z",
          "updated": "2020-04-23T07:38:57.230Z"
        }
      }'

Then, I get the following error (from the logs):
2024-04-17 00:12:40 [2024-04-16 22:12:40,786] ERROR in app: Exception on / [POST]
2024-04-17 00:12:40 Traceback (most recent call last):
2024-04-17 00:12:40   File "/layers/google.python.pip/pip/lib/python3.12/site-packages/flask/app.py", line 1473, in wsgi_app
2024-04-17 00:12:40     response = self.full_dispatch_request()
2024-04-17 00:12:40                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-04-17 00:12:40   File "/layers/google.python.pip/pip/lib/python3.12/site-packages/flask/app.py", line 882, in full_dispatch_request
2024-04-17 00:12:40     rv = self.handle_user_exception(e)
2024-04-17 00:12:40          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-04-17 00:12:40   File "/layers/google.python.pip/pip/lib/python3.12/site-packages/flask/app.py", line 880, in full_dispatch_request
2024-04-17 00:12:40     rv = self.dispatch_request()
2024-04-17 00:12:40          ^^^^^^^^^^^^^^^^^^^^^^^
2024-04-17 00:12:40   File "/layers/google.python.pip/pip/lib/python3.12/site-packages/flask/app.py", line 865, in dispatch_request
2024-04-17 00:12:40     return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
2024-04-17 00:12:40            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-04-17 00:12:40   File "/layers/google.python.pip/pip/lib/python3.12/site-packages/functions_framework/__init__.py", line 134, in view_func
2024-04-17 00:12:40     return function(request._get_current_object())
2024-04-17 00:12:40            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-04-17 00:12:40   File "/layers/google.python.pip/pip/lib/python3.12/site-packages/firebase_functions/storage_fn.py", line 332, in on_object_finalized_wrapped
2024-04-17 00:12:40     return _message_handler(func, raw)
2024-04-17 00:12:40            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-04-17 00:12:40   File "/layers/google.python.pip/pip/lib/python3.12/site-packages/firebase_functions/storage_fn.py", line 206, in _message_handler
2024-04-17 00:12:40     event_attributes = raw._get_attributes()
2024-04-17 00:12:40                        ^^^^^^^^^^^^^^^^^^^
2024-04-17 00:12:40 AttributeError: 'Request' object has no attribute '_get_attributes'. Did you mean: '__getattribute__'?

Additionally, when I test its actual functionality (do something when an object is added to the bucket) there is nothing happening (no event triggered). The storage bucket I am using is running on firebase emulator. I am using the ‘STORAGE_EMULATOR_HOST’ environment variable and I initialise the app with the emulator-adapted project id. The deployed function can read the bucket’s contents (I can print a list of the blobs when I spin it up), but the function is not triggered when I am adding a new file, meaning that I am not receiving the above error either.
I tried with different versions of firebase-functions: 0.4.0, 0.3.0, 0.2.0 and I still get the same behaviour.
Any help would be appreciated.
Thanks

Hey @mnsRG. At first glance, it seems to be an issue with the payload you're sending in the cURL request. Basically, there are some attributes missing there. Could you point me to where you found the JSON structure you're using?

Hi @exaby73 . I got it from this link: google cloud functions
In the meantime I rewrote the function using Node.js as a firebase function and tested it with this request:
curl -X POST localhost:8083 \
   -H "Content-Type: application/cloudevents+json" \
   -d '{
        "specversion" : "1.0",
        "type" : "example.com.cloud.event",
        "source" : "https://example.com/cloudevents/pull",
        "subject" : "123",
        "id" : "A234-1234-1234",
        "time" : "2018-04-05T17:31:00Z",
        "data" : {}
}'

It worked well. Also adding a file to the emulator storage successfully triggered the function.
So, probably doing the same request to the python function would also work (have to test it though). Also if I get it right, I should not deploy the python function using gcloud alpha functions local but use it internally in firebase (like I did with Node.js).
Therefore it could also be that the issue is more related to how google cloud functions and firebase functions in the same project work together (especially in an emulator setup). Which means that you can probably close this issue 🙂


[10.x] Add support for HtmlString in Translator

This PR would add support to the Translator layer to allow for HtmlStrings to be passed in and be translatable and have replacements work.
Tests haven't been written yet, but if the idea is approved, I can continue on and write tests to support this change.

I'm going to close this PR for now, as whilst writing some tests, this proved a little more complex than the simple changes I had initially put in place. I think this is a good idea, but part of it could be achieved via Stringables on replacements, the only problem then being how to deal with the fact that HtmlString going in would return strings on the way out which would then need to have escaping prevented on them.


Search letter-wise instead of word-wise

This is a usability improvement.
It is better to show search results that contain the typed "letters" instead of correctly spelled words. The working is similar to sublime text autocomplete where you don't have to type a method/property in the correct word.
For eg:
In Godot Create Node Popup window, we can start typing "kin" to get Nodes that starts with letters "kin". It includes both KinematicBody and KinematicBody2D including their parents.
But I want to select the KinematicBody2D in the list. According to my proposal, if we type "kin2" the resulting nodes will be that contains the letters "k","i","n" and "2". So I can quickly select the node without moving my hand from keyboard to mouse.

In Atom, this is usually referred to as "fuzzy" search.

This is "officially" called "Longest Common Subsequence", which is indeed a good improvement not only for this but also for code completion. This is not so trivial though, so one should look for standard algorithms when implementing this to get better performance.

Yeah, this will certainly be very useful in code completion.

Oh yeah I noted down to research on this but didn't have time
On Jun 8, 2016 16:16, "Vinodkumar KN"<EMAIL_ADDRESS>wrote:

Yeah, this will certainly be very useful in code completion.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/5109#issuecomment-224698054,
or mute the thread
https://github.com/notifications/unsubscribe/AF-Z2zIsCyLWfbYtg-5br_oLxJevVCSqks5qJxUVgaJpZM4IxRKi
.

Would be fantastic if anyone can work on it
On Jun 8, 2016 16:23, "Juan Linietsky"<EMAIL_ADDRESS>wrote:

Oh yeah I noted down to research on this but didn't have time
On Jun 8, 2016 16:16, "Vinodkumar KN"<EMAIL_ADDRESS>wrote:

Yeah, this will certainly be very useful in code completion.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/5109#issuecomment-224698054,
or mute the thread
https://github.com/notifications/unsubscribe/AF-Z2zIsCyLWfbYtg-5br_oLxJevVCSqks5qJxUVgaJpZM4IxRKi
.

It seems is not that hard (at least for dialog searches) 😆 Will try to send a PR soon, I just want to add this to every search field.

Great.


[FEATURE]: Intergration with huggingface accelerate？

Describe the feature
Intergration with huggingface accelerate？

I also request for integration with accelerate.
I found a old issue here but it seems it's not active.

Hi,
It's on our schedule, maybe in two weeks or so

Hi @Edenzzzz  any update on this by chance 👀

Sry for the delay. We have been primarily working on sequence parallel and fp8 training--but the next items on our schedule are

Convergence test for parallel plans
Accelerate integration


Possible bug when changing orientation?

Hi!
First of all, thanks for your contribution, it's being very useful in my project. Second, I'm kind of newbie in web design, so please, bear with me if this is just my fault and not a real bug!
I realized that when using a virtual joystick (in static mode) in a tactile device, if you perform a window rotation in the precise moment you are also pressing the joystick, the object gets frozen and it's impossible to use it again. I tried to .destroy() the joystick object when detecting a window.onorientationchange event, and then inject it again, but apart from not elegant,  that created me some other problem with other elements event/handlers.
I am the only one who has experienced that behaviour? I also tried it in the demo web-page and I had the same issue. Any idea to workaround this?
Thanks!

Hi,
thanks for reporting this.
Did you see any errors (in the console) while doing so?
I'm sorry I can't really test it right now, as I'm changing country / job / life and these past weeks have not been really free for me 😫
Anyway, I'll look into this as soon as possible, it might not be before 2-3 weeks.

Hi,
thanks for your fast reply.
I tried to remotely debug it using Safari and iOS but no error is shown in the console. By the way, I forgot to point it in the first message, but I tried it in several navigators (Safari, Chrome, Firefox...) and also different platforms (iPad and Android tablets) obtaining the next behaviour:
iPad: Crash as reported in Safari/Chrome/Firefox.
Android: Works* in Chrome/Firefox.
*The button gets frozen in the position it was when the orientation changed, but is possible to recover the control pressing over the object again.
It looks like is some issue related with iOS. I also tried with different versions, a fully updated iPad an other running an old iOS version, but both have the same behaviour.
If you have an iPad with you and you have 2 free minutes, I'd ask you to try it in the demo page, is a very fast test, and will help me to know if it's just my fault or is something else. :) Otherwise, keep back in touch in some weeks.
Ah, good luck in your moving!

Sorry for the LONG delay.
Reading your update, I'd say that there is a Javascript Error when changing the orientation of the phone.
I'll look into that soon.
Thanks again for your reporting.

touchcancel event it fix the problem!,
$(document).on('touchcancel', function(event) {
REMOVE_AND_CREATE_JOYSTIC()	// or whatever...
});

touchcancel event it fix the problem!,
$(document).on('touchcancel', function(event) { REMOVE_AND_CREATE_JOYSTIC() // or whatever... });

Hello, I reproduce the same issue now in my app. Would you please tell the exact code for how to fix this? I am using react and here is my code
useEffect(() => {
  const joystick = nipplejs.create({
     zone: document.querySelector(".joystick"),
     mode: "static",
     position: { left: "50%", bottom: "50%" },
     color: "#0000ff",
  });
}, []);

Sorry, I just understand what you mean and have resolved this. Just in case, my solution was like this more or less:
let joystick : nipplejs.JoystickManager;

const resetJoystick = () => {
  joystick.destroy();
  joystick = nipplejs.create({
    zone: document.querySelector(".joystick"),
    mode: "static",
    position: { left: "50%", bottom: "50%" },
    color: "#0000ff",
  });
};

const Page = () => {
  useEffect(() => {
    joystick = nipplejs.create({
      zone: document.querySelector(".joystick"),
      mode: "static",
      position: { left: "50%", bottom: "50%" },
      color: "#0000ff",
    });

    window.addEventListener("resize", resetJoystick); // recreate when viewport changed
    window.addEventListener("orientationchange", resetJoystick);  // recreate when orientation changed

    return () => {
      window.removeEventListener("resize", resetJoystick);
      window.removeEventListener("orientationchange", resetJoystick);
    }
  }, [])

 ...
};

export default Page;


Clarify Allow Deny options

It is in general not quite clear how allow and deny and modify options interact with one another.
Assuming modify is true, all users will have access to all folders in the root. Allowing a certain subpath won't take effect. What if I deny /a but allow /a/b? What if modify is false?
What rule takes precedence?

Hey @orangelynx! Sorry for taking so long replying. We test the rules from the latest to the first in the list. So the ones added latter would have higher precendence.
Let's say you have:
deny /a
alow /a/b

That will deny /a, except /a/b.
The first rule that matches the current path, is the one that will be used, independently of being an allow or deny rule.


Update Discord to latest changes

Title says it. Allows the "config" command on discord, and does the stuff it should do when it joins.

Oof just noticed the weird commit mess. Just squash on merge @bartekpacia

I'll merge #33 first and then you'll probably have to fix merge conflicts. Is it ok?

Sure, but this was going into dev anyways, so there won't be merge conflicts

ahh, okay then.


Can't convert LinkedHashMap<dynamic,dynamic> to HashMap<String,List> in dart or flutter

Hi I am new to flutter and dart. I come from Java background. I am facing difficulty in typecasting maps. I have saved some data on Firestore in the format of Map<String,List<String>>. In my flutter app when I am fetching this data, I am getting it in the format of LinkedHashMap<dynamic,dynamic>. I want to convert this LinkedHashMap into a Map<String,List<String>>. I tried the Map.from() constructor but it is throwing exception type 'List<dynamic>' is not a subtype of type 'List<String>'. Following is the line where I am attempting to typecast this.
Map<String, List<String>> values = Map<String, List<String>>.from(documentSnapshot.data['Watchlist']);
Please let me know if any more information is needed.

First, this is not a support forum. Please use Stackoverflow or Gitter.im for support.
Second, use the map() method on LinkedHashMap to convert you LinkedHashMap<dynamic,dynamic> to e.g. Map<String,List> by typecasting each element of the LinkedHashMap. E.g.
  LinkedHashMap<dynamic,dynamic> linkedHashMap = LinkedHashMap<dynamic,dynamic>();
  Map<String,List> map = linkedHashMap.map((a, b) => MapEntry(a as String, b as List));

Welcome to Dart!
Asking on Stack overflow is recommended because it makes your answer visible to more people, and it usually gives a quicker response, but there is nothing wrong with asking here.
In Java, generic type parameters are erased, so at run-time there is no difference between a Map<Object, Object> and a Map<String, Object> which has the same entries.
Dart retains type parameters at run-time. That allows Dart to do some operations that Java can't (or at least check their type correctly at run-time). However, it means that if you need a Map<String, dynamic>, you can't use a Map<dynamic, dynamic> directly because it has a different run-time type.
If you know that your Map<dynamic, dynamic> has only strings as keys, the simplest thing to do is:
var stringMap = map.cast<String, dynamic>();

This wraps the original map, and adds extra type checks on access.
Alternatively, you can create a new map with the same elements. Here
var stringMap = Map<String, dynamic>.from(map);

should work, but that doesn't change the element type.
In your case, you want the element type to be List<String>. However, the run-time type of the original map's values is List<dynamic>, so you also need to change the run-time list type, not just the map type.
For that, the map function suggested by @julemand101 is still a good choice:
var stringMap = map.map((key) => key as String, (value) => (value as List<dynamic>).cast<String>);
asset(stringMap is Map<String, List<String>>);

This creates a new map, but merely casts (by wrapping) the lists.
Or you could create new lists instead:
var stringMap = map.map((key) => key as String, (value) => List<String>from(value));
asset(stringMap is Map<String, List<String>>);

That obviously requires more copying up-front, but the resulting lists are faster to access because they don't have extra type checks from the cast wrapper. If performance is not critical, either approach should be fine.

https://icetutor.com/question/dart-mapping-a-list-list-map

@lrhn  I am having the same issue in flutter when I try to use
var stringMap = map.map((key) => key as String, (value) => List<String>from(value)); asset(stringMap is Map<String, List<String>>);
i get an error " The argument type 'MapEntry<String, List> Function(dynamic)' can't be assigned to the parameter type 'MapEntry<String, List> Function(dynamic, dynamic)' "
I can cast from map<String,dynamic> to map<String,List> as mentioned in the first answer but I can't cast to map<String,List>

@Yacine-Benali The map method on Map<K,V> requires a single function of type MapEntry<K2, V2> Function(K, V), not a function for keys and a function for values.
You can write it as:
var stringMap = map.map((key, value) => MapEntry(key as String, List<String>.from(value)));

or, using a map constructor:
var stringMap = Map.fromIterables(
    map.keys.cast<String>(),
    map.values.map((list) => List<String>.from(list)));
}

or (my preference):
var stringMap = {for (var e in map.entries) e.key as String: List<String>.from(map.value)};

@lrhn Got a typo in last line: map.value > e.value

Good catch. Fixed.


[GLUTEN-3528][VL] Construct unique & non-overlapping partition/sort keys for window operator

To meet Velox's requirement, this PR proposes constructing unique & non-overlapping partition/sort keys for window operator.
Fix #3528.
How was this patch tested?
Added test cases.

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_3883_time.csv
log/native_master_11_29_2023_0ac1dc42d_time.csv
difference
percentage

q1
35.44
34.61
-0.835
97.64%

q2
25.16
24.87
-0.292
98.84%

q3
37.97
36.61
-1.359
96.42%

q4
37.20
36.91
-0.295
99.21%

q5
72.77
71.43
-1.338
98.16%

q6
6.58
7.22
0.649
109.87%

q7
85.17
85.50
0.337
100.40%

q8
88.37
88.07
-0.300
99.66%

q9
124.49
127.33
2.842
102.28%

q10
43.94
44.31
0.379
100.86%

q11
20.23
20.45
0.217
101.07%

q12
26.18
27.02
0.843
103.22%

q13
46.10
46.05
-0.053
99.88%

q14
17.93
18.98
1.049
105.85%

q15
26.96
29.21
2.248
108.34%

q16
16.14
15.65
-0.483
97.01%

q17
103.78
101.75
-2.030
98.04%

q18
149.71
150.75
1.040
100.69%

q19
14.43
13.94
-0.485
96.64%

q20
27.80
30.32
2.517
109.05%

q21
224.75
225.21
0.457
100.20%

q22
13.11
13.20
0.096
100.73%

total
1244.19
1249.39
5.202
100.42%


Instructions for scrapbook in README are incorrect

"- Click on any DB to open the Mongo shell playground editor" - that's not correct
Also, it doesn't say anything about "connecting" to a database and what that means, which is also very confusing.

Also we could mention that the prerequisites are not actually necessary for many things.


Evaluate adding node:{global:false} to webpack.config.js

When deploying CSP, current calendar tui code has to be run with Content-Security-Policy: default-src 'unsafe-eval' because of code inserted by webpack.  The problematic code disappears, if I add node: {global:false} to webpack.config.js, but I do not know what other impact does it have.  In any case, it reduces the size of the cumulated output.
• Consider adding module.exports = {…, node:{global:false}} to webpack.config.js

I believe this is down to how the items are generated with handlebars as the styles are added inline in the html and not applied to the element with javascript.


Replace Show Unreached Perks MCM toggle with a dropdown

Fixes #69
Giggity
Previously, there was an MCM setting where the CPS would either hide all perks from unreached ranks or displayed all of them.
This PR replaces the toggle setting with a dropdown list, where the third option can be selected, which hides only perks that require Training Center from unreached ranks.

Seems fine to me but I have to admit I'm not even familiar with this version of the MCM macros.

Ah yeah that's the MrNice's version I've been using. It's a huge timesaver, and includes a static macro for gramming MCM settings values. Very QoL.

There was an accidental edit to an unrelated line in one of the files, I removed it.

Updated the code slightly so that two different places in code have a consistent view on what is a training center perk.


BNN Bayesian Online Learning

(New Feature)
Do you think that BNN Bayesian online learning for this code implementation will perform well?
I mean, periodic BNN retraining using small amounts of data and using the posterior as the prior.
If positive, do you have recommendation/ideas the best way to implement it? (like using the full network from the previous iteration).

Hi,
The idea is sound. Like you say, you can successfully update your posterior by using your previous posterior as a prior. I think the method you are referring to is the one described (here https://arxiv.org/abs/1710.10628). However, when doing MFVI with Gaussian approximate distributions, you are losing a lot of information about the posterior in your approximations. Using a poor approximate posterior will likely not preserve much information when you use it as a prior as there may be a strong mismatch between the likelihood function of the new data and the prior. As discussed (here https://arxiv.org/pdf/1902.06494.pdf), this method can lead to poor results.
With regards to implementation, you would have to define a per-weight prior, as right now I think we use a single prior for the whole network. Other than that, I believe it is pretty straight forward given the existing codebase. Let me know if you run into any trouble when implementing it and I'll be happy to take a look!


What's happened with select s ? help-wanted

Buddy, today I ran into some huge problem in the selectboxes. The selected elements are NOT the ones that I click. For example, if I clicked on an element, I get the 4th element, or if I clicked on option 3, I get the selected element 2. All this applies ONLY to the operation of my site on mobile phones. I have tried more than 10 browsers and more than 15 phone models. Also, EVEN if you open the original site https://materializecss.github.io/materialize/select.html I observe the same problem with selectors .. The problem is. that I have been using materialize for about 5 years in various projects, but this is the first time I have encountered such a pronounced problem .. I'll show you a video if necessary. Please give a comment, what could have happened ? * I am using the version. 1.0.0. * * By the way, I'm in the deal announcing the alpha version 1.1.0 on the website and in the subs... But I don't think that my situation will be solved by updating the version ... I am very much waiting for your answer somewhere, for example in a telegram - @bertalino or in a comment. Thank you very much !

@berTalino this library is dead, you may use Tronic247 Material https://tronic247.github.io/material-docs/

@berTalino this library is dead, you may use Tronic247 Material https://tronic247.github.io/material-docs/

Yes I saw it. But should I connect with some developers for a few minutes ?
http://joxi.ru/eAOR5VPu9JMeL2

The project is not dead - well this specific one might be but the fork from this one is definitely active and pumping.
New fork can be found at https://github.com/materializecss/materialize
I have recently applied this update to one of my sites experiencing the exact same issue as you were (which is an IOS issue by the way) and the problems were immediately fixed.
If you download the new fork you'll find the select issues are resolved.    You can also get some great help here if you need it: https://gitter.im/Dogfalo/materialize

The project is not dead - well this specific one might be but the fork from this one is definitely active and pumping.
New fork can be found at https://github.com/materializecss/materialize
I have recently applied this update to one of my sites experiencing the exact same issue as you were (which is an IOS issue by the way) and the problems were immediately fixed.
If you download the new fork you'll find the select issues are resolved. You can also get some great help here if you need it: https://gitter.im/Dogfalo/materialize

Great thanks !!! It works !!!!

You can add the class browser-default to get the browser default.
 <label>Browser Select</label>
  <select class="browser-default">
    <option value="" disabled selected>Choose your option</option>
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
  </select>


Zero ex wrapper 2

Pull Request Test Coverage Report for Build 955

10 of 17 (58.82%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-1.8%) to 98.157%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

contracts/core/exchange-wrappers/lib/ZeroExOrderDataHandler.sol
10
17
58.82%

Totals

Change from base Build 950:
-1.8%

Covered Lines:
301

Relevant Lines:
308

💛  - Coveralls


Use web standards for imports in polymer library

Description
Most of project's files uses web standard when importing dependencies (e.g. import { dedupingMixin } from '../utils/mixin.js';. However lib/elements/custom-style.js and lib/legacy/legacy-element-mixin.js uses Polymer's import syntax for files located in @webcomponents library.
This makes it difficult to use the library without using polyserve. When developing apps that are not running in the web (Electron, Chrome app) it is required to take additional steps in order to make it run in dev environment (compilation on source file change, some other measures).
I would like to see the @webcomponents imports to comply with web standards so the library can be used directly in the web browser without using Polymer tooling.

Closing as duplicate of https://github.com/Polymer/polymer/issues/5238#issuecomment-390012108 and https://github.com/Polymer/polymer/issues/5431#issuecomment-437599257.  Please see those threads/comments and a blog post on the topic for more details on the reasoning that went into the decision-making for package names being the only non-standard convention used in published Polymer Project source.
Also, Chrome intent to implement import maps and @pika/web are two exciting new areas worth following in this space.

Thanks for the links. I was asking on Polymer Slack channel some time ago about reasoning behind this decision but didn't get the answer. Reading this comments I think everything has been said already about that. My humble opinion is that the platform should be first, not tooling. Although, I do understand the reasons behind that decision now.


Add "Advanced Tools" from Buzzard Classic

Adds "Advanced" Checkbox which reveals advanced options pane

Adds Inline Formatting from Buzzard Classic

Adds Overlining using KiCad syntax and overline style selection

Adds UI buttons for commonly used symbols

Hey, technically, I can marge this myself but if you have a sec, @arturo182 , it'd be good to have a second set of eyes
Cheers,

Sorry about that, somehow I missed the tag from last week. I have just tried it with KiCad nightly on Windows 11 and it ran into a few problems:

Every time I open the dialog, it shows an error because the Thickness edit is empty which causes an Exception (even if Advanced is not checked):

(On a separate note, it would probably be better to make the Thickness control the same type as the other numerical controls. As you can see in my screenshot, they have the inc/dec buttons, even though they seem to be missing on your OS).

Even once I put "1" into the Thickness edit, the preview doesn't refresh unless I change the Thickness value or style:

Ah, yes, this is why I asked for another set of eyes. The screen shots that I sent you aren't current (and neither was my testing) due to some weird behavior while installing and uninstalling packages in KiCad. I should have noticed immediately. I'll update soon with the fix.

Okay, I believe I've fixed it. The latest push (build attached here) seems to work correctly on my machine.
@arturo182 please test it on your end when you have a moment.
cheers,
KiBuzzard-1.2.3-pcm.zip

Thanks for the fixes :)
I have tested it and it works a lot better now!
There is something weird happening with the Padding, though. It seems the automatic Width calculation is causing issues, perhaps a circular dependency:

Even if these weird calculation issues are fixed, it seems that as long as changing the Padding updates the Width, then decreasing Left or Right padding will not have any effect because the old Width value will still be set and keeping the label wider than expected.
I also noticed that it's impossible to set Padding to 0, it will always change to 0.001, rounding/float issues.
And there is still a "FUnits" label in the Padding area which doesn't seem to do anything.
A note from a usability angle, the Special Character buttons always append the character to the text, I would expect them to insert the character at cursor position, and if there is a selection, replace the selection. That would align more with how regular typing works.

Excellent!

There is something weird happening with the Padding
it's impossible to set Padding to 0
"FUnits" label in the Padding area

These bugs pre-exist my PR and appear to have been introduced in commit 88c4129. Fixing them seems to be outside the scope of this PR.
I agree with your usability note, it looks like wxStyledTextCtrl has a method to retrieve the caret position, so I can try inserting the symbol there.
Please advise.

Oh, my bad, I've been using the 1.5.0 release, #99 was merged after that so I didn't realize it wasn't a part of this. Please ignore my comments regarding that, but @gregdavill, maybe we should revert that PR?
Regarding the usability, if it's not too much work to implement the changes, it would be great to get them in before merging :)
Thanks!

@arturo182 Whoops, looks like I didn't test that PR fully. I'll open an issue and look into it, might be easier to just fix rather than a full revert.

Sure, since it's not a part of any release yet, fixing it would work too. But I would definitely advise against making a release with the current state.

A note from a usability angle, the Special Character buttons always append the character to the text, I would expect them to insert the character at cursor position, and if there is a selection, replace the selection.

Okay, I tried to get this to work but I can't make it work reliably. It seems like either GetCurrentPos() or GotoPos() from wx doesn't behave as expected when certain special characters are present? The first character insertion always works correctly, but subsequent character insertions will reliably skip certain positions in the string.
I am tempted to go ahead and pull this as-is, if there are no objections. If it turns out there's an alternate behavior for those buttons that people prefer (copy to clipboard?) then that can be a new Issue. I peeked at the conflicts and it'll be a quick merge.
Cheers everyone

I think I've done it

Hi all, as it looks like we'll be working to get the "correct sizing" issue amended and then jumping into KiCad v8 compatibility, I'm going to go ahead and pull this now before it gets too far behind. It's been available for testing for a month and a half. If you find that it breaks anything, please revert.

Thanks @NPoole! Sorry for not taking a look sooner.
As checked in this throws some errors. and notably you've not included an updated text_dialog.fbp for wxformbuilder which we use to generate text_dialog.py.
➤ pcbnew
/home/greg/Projects/KiBuzzard/KiBuzzard/dialog/compat.py:17: wxPyDeprecationWarning: Call to deprecated item. Use SetSizeHints instead.
  super(wx.Dialog, self).SetSizeHintsSz( a,b)
Exception on python action plugin code

Traceback (most recent call last):

  File "/home/greg/Projects/KiBuzzard/KiBuzzard/plugin.py", line 114, in Run
    dlg = Dialog(self._pcbnew_frame, self.config_file, Buzzard(), run_buzzard)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/greg/Projects/KiBuzzard/KiBuzzard/dialog/dialog.py", line 66, in __init__
    self.m_PaddingUnits.SetLabel("")
    ^^^^^^^^^^^^^^^^^^^

AttributeError: 'Dialog' object has no attribute 'm_PaddingUnits'


Limit invite users according with org max seats

Thanks for submitting a PR! Please check the boxes below:

[X] I have run pre-commit to check linting
[X] I have filled in the "Changes" section below?
[X] I have filled in the "How did you test this code" section below?

Changes
Backend:
Validates the organisation seats used vs max seats on the GET api/v1/organisations/{pk}/invite-links and POST api/v1/users/join/# endpoints. Throws HTTP Error 403.
Frontend

Handles organisation reached max seats error on API get-invite-links endpoint.

Show max seats reached message.

On sign-up from invite link, catches API error when organisation reached max seats

How did you test this code?
Manual Locally

In the local database choose an organisation in organisations_subscription table, and set max_seat value to N, being N the max number of seats you want to test.
Using the invite link create N users. Copy the invite link to re-use it.
See that when the number of users is N the invite link is not displayed and a warning message is shown instead.
See that for the n + 1 attempt you are not able to sign-up using the existing invite link.

E2E tests should be considered for the scenarios covered by the new behavior implemented.

@novakzaballa seems like the E2E test failures here are genuine - are you able to reproduce locally?

@novakzaballa seems like the E2E test failures here are genuine - are you able to reproduce locally?

Nope, I am not able to reproduce the error locally, I am currently struggling with that.

@novakzaballa seems like the E2E test failures here are genuine - are you able to reproduce locally?

I was finally able to reproduce the error and fix it. It seems like I broke my E2E configuration and one of the E2E tests when I merged the latest main changes into this branch. Now all tests passed.

I just tested this using the Uffizzi preview environment (here) and I was able to invite and register a new user in an organisation on the free plan using an email invite. This created 2 questions in my head:

Surely, based on the logic we've implemented here - that shouldn't be possible, right? Interestingly, the /invite-links endpoint returned a 400 as I would expect based on the implementation.
How will this affect people self hosting? As per these docs, we want to make sure that there is no limit on users for people that are self hosting.

Ok, so I've looked into this a bit further and I have a feeling we're going about this slightly wrong. Mostly based on the second point above.
To clarify, the issue we have is that in SaaS, users on the free or startup plans should not be able to use the invite links to break their plan limits. Users of the self hosted should still be able to use the invite links as there are no user limits.
It looks like the frontend is using the payments_enabled flag to determine whether it is running in SaaS or not. You can see the logic defined here. Can we use this to drive the behaviour from the frontend perspective?
Perhaps we could also implement restrictions on the API side purely based on the existence of the ENABLE_CHARGEBEE which would realistically give the same result as the payments_enabled flag the frontend is using.
Based on this, I would suggest that the changes to this PR should be as follows:

Hide the Invite Links from the Organisation Settings page using the variables already defined here
On the API, in the FFAdminUser.join_organisation_from_invite() method, we should extend the logic to check to see if the ENABLE_CHARGEBEE setting is enabled and, if it is, reject the user if they would breach their plan and auto seats upgrade is not possible. Something like the following should work:

    def join_organisation_from_invite(self, invite: "AbstractBaseInviteModel"):
        ...

        organisation = invite.organisation
        if settings.ENABLE_CHARGEBEE and organisation.over_plan_seats_limit(additional_seats=1):
            if organisation.is_auto_seat_upgrade_available():
                organisation.subscription.add_single_seat()
            else:
                raise SubscriptionDoesNotSupportSeatUpgrade()

Ok, so I've looked into this a bit further and I have a feeling we're going about this slightly wrong. Mostly based on the second point above.
To clarify, the issue we have is that in SaaS, users on the free or startup plans should not be able to use the invite links to break their plan limits. Users of the self hosted should still be able to use the invite links as there are no user limits.
It looks like the frontend is using the payments_enabled flag to determine whether it is running in SaaS or not. You can see the logic defined here. Can we use this to drive the behaviour from the frontend perspective?
Perhaps we could also implement restrictions on the API side purely based on the existence of the ENABLE_CHARGEBEE which would realistically give the same result as the payments_enabled flag the frontend is using.
Based on this, I would suggest that the changes to this PR should be as follows:

Hide the Invite Links from the Organisation Settings page using the variables already defined here
On the API, in the FFAdminUser.join_organisation_from_invite() method, we should extend the logic to check to see if the ENABLE_CHARGEBEE setting is enabled and, if it is, reject the user if they would breach their plan and auto seats upgrade is not possible. Something like the following should work:

    def join_organisation_from_invite(self, invite: "AbstractBaseInviteModel"):
        ...

        organisation = invite.organisation
        if settings.ENABLE_CHARGEBEE and organisation.over_plan_seats_limit(additional_seats=1):
            if organisation.is_auto_seat_upgrade_available():
                organisation.subscription.add_single_seat()
            else:
                raise SubscriptionDoesNotSupportSeatUpgrade()

Regarding point 1 referring to the frontend, the logic is already being used, by using the variable needsUpgradeForAdditionalSeats in this line: https://github.com/Flagsmith/flagsmith/blob/8afbb9e0029bc56e0f8e04653b20319841a6cec5/frontend/web/components/pages/OrganisationSettingsPage.js#L671C43-L671C43

Ok, so I've looked into this a bit further and I have a feeling we're going about this slightly wrong. Mostly based on the second point above.
To clarify, the issue we have is that in SaaS, users on the free or startup plans should not be able to use the invite links to break their plan limits. Users of the self hosted should still be able to use the invite links as there are no user limits.
It looks like the frontend is using the payments_enabled flag to determine whether it is running in SaaS or not. You can see the logic defined here. Can we use this to drive the behaviour from the frontend perspective?
Perhaps we could also implement restrictions on the API side purely based on the existence of the ENABLE_CHARGEBEE which would realistically give the same result as the payments_enabled flag the frontend is using.
Based on this, I would suggest that the changes to this PR should be as follows:

Hide the Invite Links from the Organisation Settings page using the variables already defined here
On the API, in the FFAdminUser.join_organisation_from_invite() method, we should extend the logic to check to see if the ENABLE_CHARGEBEE setting is enabled and, if it is, reject the user if they would breach their plan and auto seats upgrade is not possible. Something like the following should work:

    def join_organisation_from_invite(self, invite: "AbstractBaseInviteModel"):
        ...

        organisation = invite.organisation
        if settings.ENABLE_CHARGEBEE and organisation.over_plan_seats_limit(additional_seats=1):
            if organisation.is_auto_seat_upgrade_available():
                organisation.subscription.add_single_seat()
            else:
                raise SubscriptionDoesNotSupportSeatUpgrade()

Done


range-v3 fails to build: wrong archive

Install of range-v3 fails with wrong hash.
Expected hash: [ 615a53ebac22df03e865bdcc86580914c4505ec5fc691b6a2f864f7bf63690b99d0da0db2d5b1026e34b0a3f7557f30dfa0cad65643bae0b53c0ec066af9eb8e ]
Actual hash: [ 6158cd9ee1f5957294a26dc780c881839e0bae8610688a618cd11d47df34d5e543fa09ac9a3b33d4a65af8eceae0a6a3055621206c291ef75f982e7915daf91a ]
I realized, that the version supplied with vcpkg currently is quite old (probably for compatibility reasons with VS2015).
Is there a plan to upgrade to a newer version, or is this blocked by backwards compatibility?
The current tagged version on github is 0.2.5. Has anyone tried? Does this work with VS2017 out of the box, or are patches necessary?

Thanks for reporting this issue!
My current understanding is that the upstream version on GitHub still does not work with MSVC out of the box.
Also, I believe we have already fixed that hash issue -- the latest port version is now 20151130-vcpkg4. Could you try again with the latest portfiles and let us know if you still have issues? The current expected hash should be

a1dad795b15c8491963f75fb58097dd290203406038cb2790c66b7ebd854a42043a92cfa2fed30c125529c3aa8d0cfc05cf1d149c84e96eb1f865857ad87adeb

You are right. Works. Sorry my fault. Made an error during upgrade to the newest version.

Please open a new issue if this is still a problem for you.
Thx.


exec not working

With the Python for Unreal on Centos7 linux, I am unable to run a external script:

import unreal_engine as ue
ue.exec('ue_site.py')
invalid syntax (, line 1)

But it will run at start up:
LogPython: This is the ue_site.py file that runs at start up
LogPython: ue_site Python module successfully imported
'exec' is the only command I can make to work. Any Idea what I am doing wrong?

Unfortunately on python2 we canot use 'exec'. Use 'py_exec' like described here:
https://github.com/20tab/UnrealEnginePython/issues/106
if you pull the latest code you should be able to use it.
Note: very probably it will be renamed exec_ before an official release

py_exec worked fine.  I missed that one. Thanks.


Clear Float KdTree

Hi @sdd, thanks for the great work! I'm wondering if there's a way to clean all the nodes from a KdTree without iterating through. Thanks so much!

Thanks @DawChihLiou! No, there is no specific method for that. It would be pretty straight forward to add one though. What are  you trying to achieve with this?

I came across a use case where users deleted documents in bulk and sometimes an entire k-d tree became invalid because all the reference data were deleted and the nodes were pointing nowhere. So I'm exploring a less expensive removal to clean the tree. Would it be more straightforward just to instantiate a new tree in this case?

Yes, in this case it would certainly be better to rebuild the tree. Removal of items is implemented in a very basic way - there is no rebalancing of the tree performed on removal.

Will you consider implement rebalancing on removal? Removal happens quite frequently and maintaining query performance would be something my clients love to see.


[release-1.3] Fix typo in injector template trustDomain/meshId

This is an automated cherry-pick of #16385

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

integ-new-install-k8s-presubmit-tests-release-1.3
710a8485ce32ac89b082cd38f63dfd2bef7fc6b8
link
/test integ-new-install-k8s-presubmit-tests-release-1.3

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.

@istio-testing: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

integ-new-install-k8s-presubmit-tests-release-1.3
710a8485ce32ac89b082cd38f63dfd2bef7fc6b8
link
/test integ-new-install-k8s-presubmit-tests-release-1.3

integ-pilot-k8s-presubmit-tests-release-1.3
710a8485ce32ac89b082cd38f63dfd2bef7fc6b8
link
/test integ-pilot-k8s-presubmit-tests-release-1.3

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.

Does istio/installer need a similar backport? If so, please link it here.

/retest


Reading on uninitialized memory may cause UB ( util::read_spv() )

Hello :crab: ,
we (Rust group @sslab-gatech) found a memory-safety/soundness issue in this crate while scanning Rust code on crates.io for potential vulnerabilities.
Issue Description
https://github.com/MaikKlein/ash/blob/7fa182cc4330da8da98a7c023049162a4979d0bf/ash/src/util.rs#L116-L124
util::read_spv() method creates an uninitialized buffer and passes it to user-provided Read implementation. This is unsound, because it allows safe Rust code to exhibit an undefined behavior (read from uninitialized memory).
This part from the Read trait documentation explains the issue:

It is your responsibility to make sure that buf is initialized before calling read. Calling read with an uninitialized buf (of the kind one obtains via MaybeUninit<T>) is not safe, and can lead to undefined behavior.

Suggested Fix
It is safe to zero-initialize the newly allocated u32 buffer before read(), in order to prevent user-provided Read from accessing old contents of the newly allocated heap memory.
Also, there are two nightly features for handling such cases.

https://doc.rust-lang.org/std/io/struct.Initializer.html
https://rust-lang.github.io/rfcs/2930-read-buf.html

Thank you for checking out this issue :+1:

Unfortunately the safe yet naive fix of zero-initializing the newly allocated buffer incurs runtime overhead :cry:
As of Jan 2021, there doesn't seem to be an ideal fix that works in stable Rust with no performance overhead.
Below are links to relevant discussions & suggestions for the fix.

Well-written document regarding the issue
Rust RFC 2930
nightly feature std::io::Initializer
Discussion in Rust Internals Forum

Unfortunately the safe yet naive fix of zero-initializing the newly allocated buffer incurs runtime overhead :cry:
As of Jan 2021, there doesn't seem to be an ideal fix that works in stable Rust with no performance overhead.
Below are links to relevant discussions & suggestions for the fix.

Well-written document regarding the issue
Rust RFC 2930
nightly feature std::io::Initializer
Discussion in Rust Internals Forum

Yikes, it looks like https://github.com/rustsec/advisory-db/pull/680 managed to get merged just yesterday (after sitting for half a year...).
I'm inclined to just remove this function altogether or ban it away to a separately-published util crate, it has nothing to do with Ash's immediate goal of wrapping Vulkan. For parsing SPIR-V one can always resort to rspirv.

I'm inclined to just remove this function altogether or ban it away to a separately-published util crate, it has nothing to do with Ash's immediate goal of wrapping Vulkan. For parsing SPIR-V one can always resort to rspirv.

read_spv is for loading SPIR-V, not parsing it. We should keep it because ~every single Vulkan application needs to do this, and it's surprisingly tricky to get right (as illustrated by this issue).

I've misread the function initially; we always use a compiler that emits SPIR-V in host-endianness (what vkCreateShaderModule expects) and have never had to use this function.

Handling endianness isn't actually the main benefit, though it's nice. Vulkan requires that SPIR-V be passed in as a valid u32 pointer, which means that it must be properly aligned. The naive approach of reading into a Vec<u8> or employing include_bytes does not guarantee this, and is hence unsound.

we always use a compiler that emits SPIR-V in host-endianness

Note that what you actually want here is target endianness, though this only differs when cross compiling.


[Release] sdk/resourcemanager/mediaservices/armmediaservices/3.0.0

https://github.com/Azure/sdk-release-request/issues/2943

This breaking is from swagger param renaming.


[1.12.x] Revert "Merge pull request #26320 from yongtang/09052016-man-docker-c…

This reverts commit f1d590c45b09f2b863f4be9ed7a5c657fb269064, which does
not apply to 1.12.
ping @mstanleyjones @vdemeester PTAL

ohh :sweat_smile:
LGTM :frog:

No worries, no harm done :smile:, I just spotted it. Author LGTM

hmf, @vdemeester just pointed me that there's no sign-off here, but DCO validation didn't run (only documentation CI) :cry:

What do I need to do?

It was my mistakes, and CI is failing on other PRs on this branch, because apparently, the DCO check checks every commit compared to master :cry:, not sure what's best

@aaronlehmann @vdemeester (for the record) I'm going to amend the commit in this branch, to fix the sign off 😅

Ok, should be fixed https://github.com/docker/docker/commits/1.12.x (and I gained a couple of grey hairs)


Yii2 Dinamic add attributes to model form join table

Hi!
I want to add new fields to my model from join table with language parameters.  Now I'm adding static fields in model  and use it as $model->name_ru (as example) in my code.
<?php

namespace app\models;

use Yii;

/**
 * This is the model class for table "{{%country}}".
 *
 * @property integer $country_id
 * @property string $ident

 *
 * @property Company[] $companies
 * @property CountryDescription[] $countryDescriptions
 */
class Country extends \yii\db\ActiveRecord
{
    /**
     * @inheritdoc
     */

    /*добавить сюда при добавлении языков*/
   public $language_id_ru;
   public $name_ru;
   public $seo_title_ru;
   public $seo_descr_ru;
   public $seo_h1_ru;

   public $language_id_ua;
   public $name_ua;
   public $seo_title_ua;
   public $seo_descr_ua;
   public $seo_h1_ua;

But when I add new languages I must add new  languages fields in my model. I want that this be automatic.
This model has relation
    public function getCountryDescriptions()
    {
        return $this->hasMany(CountryDescription::className(), ['country_id' => 'country_id']);
    }

Maybe I can to use this relation, do i can?
Additional info

Q
A

Yii version
2.0.

PHP version
5.6

Sounds like too specific use case. Don't think it is a good idea to add it to framework.

I want add fields from langueges tables to main table and use them to view or edit.
What's bad about it? This structure give way to simple adding language into site and edit languages fields in all tables.
I can give all languages fields to edit like this
 <?php foreach ($langs as  $lang):?>
        <div id="set-<?=$lang->url?>" class="tab-pane fade in <?php if (empty($active)) { echo 'active'; $active = 1;}?> lang-group lang-group-<?=$lang->url?>">

    	<?= $form->field($model, 'language_id_'.$lang->url)->hiddenInput(['value'=>$lang->id])->label(false) ?>
    	<?= $form->field($model, 'name_'.$lang->url)->textInput(['maxlength' => true]) ?>

    	</div>
    <?php endforeach;?>

And save them afterSave this model.
I tried to add some code like this to model, but then  base fields not saved.
private function magic($name, $value) {
        $this->$name = $value;
    }

    function __set($name, $value) {

            $this->magic($name, $value);
    }

Adding specific field - it`s bad way, but i want use $model->name_ru (as example) in my code without declare this field in model.

Adding specific field - it`s bad way, but i want use $model->name_ru (as example) in my code without declare this field in model.

If you need this, you need to overwrite __get() and __set() to handle only your attributes and call parent::__get() and parent::__set() for everything else.
But this is probably not worth it - with explicitly declared attributes you will have hints from IDE and any SCA tool, and more bulletproof code (no risk that typo in attribute name will be silently ignored).

So, What should I do? Use somethink like this to save fields from languages table.
if ($model->save())
            {
            	if (Model::loadMultiple($params, Yii::$app->request->post()) )
                {
                    foreach ($params as $param) {
                        $param->save(false);
                    }
                }
                return $this->redirect(['view', 'id' => $model->product_id]);
            }

Or advise another way.

https://github.com/yii2tech/ar-variation
https://github.com/yii2tech/ar-role


Support prerelease tags

Support "RC" or "prerelease" suffix to denote that something is a prerelease.

@tcrawford-figure you could use the version prefix for that i think?

@jeffypooo We could. I think it would end up being like rc-1.2.5. I envisioned this being suffixed like how detekt - example v1.22.0-RC3 does their RCs (though I know their manually created, it'd be nice to have these generated)

@jeffypooo prerelease tags are supported in v2 (which should hopefully be available in the coming days pending Gradle plugin portal approval)


Opacity and blendMode not working

The logo appears over the image, width/height and positioning all work as expected, but opacity and blendMode are not taking effect.
I have Version: ImageMagick 7.0.6-5 installed.
{% set image = entry.aboutImage.first() %}
{% set logo = craft.assets({ id: 133 }).first() %}
{% set watermarkedImage = craft.imager.transformImage(image, {
    width: 600,
    watermark: { image: logo, width: 428, height: 105, position: { right: 75, top: 175 }, opacity: 0.3, blendMode: 'blend' }
}) %}

<img src="{{ watermarkedImage.url }}">

Maybe I missed an ImageMagick option during install?

I've tested this on ImageMagick 6 and 7, and can confirm that it works.
If you see the watermark image on the original but without the opacity and blend mode, I'm guessing that Craft/Imager isn't using Imagick, but GD, which doesn't support this. Try adding 'imageDriver' => 'imagick', to your general.php config file.

I have the same issue, where the effects that does not require the imagick works, but the effects that uses imagick does not work. I have added the 'imageDriver' => 'imagick', to the general.php config file, but it does not do anything different.


YouTube Fetch failed

The following error occurred after a fresh install on CentOS 8. No modifications were made to the default configuration.
JavaScript Console Output
fetch fail: https://undefined/http/https://www.youtube.com/yts/jsbin/desktop_polymer_inlined_html_polymer_flags-vfldwKuto/desktop_polymer_inlined_html_polymer_flags.js
M @ bundle.c33e24c5.js:1

try https://github.com/netptop/siteproxy


Issues/214

But how to know the output language?

But how to know the output language?

no way. i think we can set the language based on browser language though, which should be enough

But how to know the output language?

no way. i think we can set the language based on browser language though, which should be enough

Sounds good!


Add GPT-4 Vision support to LM class

I just checked. This makes some of the tests fail indeed.

@jmanhype This documentation on creating a custom LM client will be helpful. Thank you for this addition! Feel free to ping back when ready.

this might have the answer: https://github.com/stanfordnlp/dspy/blob/56a0949ad285e0a3dd5649de58a6f5fb6f734a60/dsp/modules/gpt4vision.py#L106C1-L147C20


Support migration of adapter and pipeline element configurations

Body
Currently, no mechanism exists to update the configuration of pipeline elements. For instance, when a new configuration is added to an adapter or data processor, existing processors can stop working since the configuration of installed pipeline elements and pipelines which use these elements is broken.
I will open a discussion for the approach to migrate pipeline elements, this issue collects the subtasks to implement such a concept:

[x] #2002
[x] Develop migration concept
[ ] #2045

StreamPipes Committer
I acknowledge that I am a maintainer/committer of the Apache StreamPipes project.

Introduce the ability to migrate existing adapters & PE

[!IMPORTANT]
The current implementation only allows modifications that affect the configuration of
an element. Changes that affect the event stream are out of scope for this iteration
(see more at next steps).

This can be split into major parts:

update description for new elements: adapter, processor, sinks
update descriptions for existing elements: adapter, processor, sinks

Rationale
As of now, a user cannot simply upgrade to a recent StreamPipes version if this version introduces changes in a pipeline element (adapter, processor, or sink). To create new instances of an affected pipeline element the user needs to update them first via the UI.
Secondly, existing instances of an affected pipeline element were required to be recreated manually.
Therefore, we now introduce so-called migrations to update both the descriptions used for new elements and the existing elements automatically in the background.
General Approach
A developer is now enabled to define one or multiple Migration for a pipeline element.
Therefore, one of AdapterMigrator, DataProcessorMigrator, or DataSinkMigrator from streampipes-extensions-api needs to be implemented. In addition, the migration needs to be added to the service definition in the extensions model submitter, e.g., AllExtensionsIIoTInit.
From now on, the migration is fully automatically handled according to the following flow:

Update Description for New Elements
For every migration that is sent from the extensions service to the core, the core does update the description of the corresponding element in the storage (couchDB). This is done by requesting the current configuration from the extensions service and overriding the existing one in the storage. This automatic update of all element descriptions makes the manual update in the UI redundant. Thus we can remove this functionality as an upcoming step.
Update Descriptions for Existing Elements
For every migration that is sent from the extensions service to the core, the core checks if there are any existing elements that are affected by this migration. If so, the migration is requested by the extensions service which then executes the migration on behalf of the core.
In case this is successful, the core can simply update the configuration.
If not, we stop the corresponding pipeline element. For processors & sinks, the corresponding pipeline is even marked with "needs attention".
However, (at least for adapters) this is not yet the ideal solution for handling migration failures.
Important Information

The description of all pipeline elements is extended by an additional field version which needs to be provided in the future. However, we can make this change step by step since the version always defaults to 0.
The order in which a migration is registered at the service definition does not affect anything. The order of the migrations is always ensured so that the earliest migrations are always applied first.
Before a migration is applied to an element, it is checked if this element needs the migration. So we don't need to worry about migrations being applied multiple times to the same element.

Next steps
The following steps need to be handled (at least) to fully support migrations at StreamPipes:

Handle failed migrations properly
Handle case for element that is older than all migrations provided
Remove update functionality from UI
Assets need to be updated as well (only for adapters)
Enable migrations for scenarios where the event stream is affected
Handle cases with multiple extension services providing the same pipeline elements


Only update the Teams Machine-Wide Installer

How to update the the Teams Machine-Wide Installer but not trigger any updates for per-user instances of Teams?

The script by default will not allow this.  You can set AllowMsiOverride to 0 but then the script will exit when it sees that value.
If you remove this call in the script, it would skip checking/setting the registry key:
Check and set AllowMsiOverride key
CheckPolicyKey


[TASK][UI] Replace spec.engineImage field in volume, engine and replica CRDs with spec.image

What's the task? Please describe
https://github.com/longhorn/longhorn/issues/6647
Describe the sub-tasks

Additional context

Small note: we need to check the engine upgrading flow online and offline using Longhorn UI. It is currently broken after the PR for #6647. I hit the problem and come to this ticket after digging into the code.

@votdev Can you help this ticket?


 First step to decrease bundle size and make first render faster may be implementing lazy loading routes.

@alter-eggo thanks for the PR! looks good, we should be able to get it merged this week


feat: better FR translation

Translations from my French version of the blockchain explorer before the release of the official version by the Core Team.

Ok

Halla


chore(deps): update renovatebot/github-action action to 34.76.2

This PR contains the following updates:

Package
Type
Update
Change

renovatebot/github-action
action
patch
v34.76.1 -> v34.76.2

Release Notes

renovatebot/github-action
v34.76.2
Compare Source
See the the changelog for changes in all releases.
34.76.2 (2022-12-30)
Bug Fixes

deps: update renovate/renovate docker tag to v34.76.2 (f3db94d)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

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

This PR has been generated by Renovate Bot.

@balena-ci I self-certify!


Improves handling of Git remotes.

PR solving #31.
Instead of assuming http url, use a regex to handle a wide variety of remotes (See https://www.debuggex.com/r/bqQVpMPy0AbsCsir).
It solves the repo_name issue, but a sideeffect is that the repo_url becomes a url from where the current user cloned the repo, not a general url for the repo in itself.

Codecov Report

Merging #32 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #32      +/-   ##
==========================================
+ Coverage   91.94%   91.97%   +0.02%
==========================================
  Files          10       10
  Lines         298      299       +1
==========================================
+ Hits          274      275       +1
  Misses         24       24

Impacted Files
Coverage Δ

portray/config.py
80.24% <100%> (+0.24%)
:arrow_up:

Continue to review full report at Codecov.

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

This is great! Thank you!


Added in projections when loading files

Helps performance a bit.

Merged build triggered.

Merged build started.

Merged build finished. Test PASSed.


cigien: Watch (?:SALES@)?CHEAPDRUGSFORSALE.COM

cigien requests the watch of the watch_keyword (?:SALES@)?CHEAPDRUGSFORSALE\.COM. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

(?:SALES@)?CHEAPDRUGSFORSALE\.COM has been seen in 1 true positive, 0 false positives, and 0 NAAs.

(?:SALES@)?CHEAPDRUGSFORSALE\.COM has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by tripleee in Charcoal HQ

Approved by tripleee in Charcoal HQ


Obtain frequency of channels

Greetings,
I found your project because, to learn a bit, i wanted to build a small .mod playing floppy drive machine.
Micromod-c runs well on stm32!
However because of the nature of floppy drives, i cannot use the sampled output but need the frequency. I kinda threw that into the lib in a fork - maybe you would like that in the lib, too!
https://github.com/martincameron/micromod/compare/master...mkalte666:master

Good to hear you've made use of it!
I'm trying to keep the C version as small as possible, so I'd rather
functions like these were kept out of the base library. Hope you don't
mind!
Thanks,
Martin
On 16/10/2016, mkalte<EMAIL_ADDRESS>wrote:

Greetings,
I found your project because, to learn a bit, i wanted to build a small .mod
playing floppy drive machine.
Micromod-c runs well on stm32!
However because of the nature of floppy drives, i cannot use the sampled
output but need the frequency. I kinda threw that into the lib in a fork -
maybe you would like that in the lib, too!
https://github.com/martincameron/micromod/compare/master...mkalte666:master
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/martincameron/micromod/issues/10

I see why you are suggesting this. Very well, that ill crawl back into the dark pit that is my weekend project idea blob ^^
Im just trying to help, and maybe someone needed that specific feature, so writing it down here was what came to mind.
Keep up the good work!


Not getting notification in app

React-native version of App is 0.47.1
react-native-fcm version :9.7.2
Not getting notification in any state of app  in ios App.
Device: Iphone 6
Followed all the steps for installation using cocopod  approach.
Uploaded APN Push certificates on Firebase project also .
import FCM, { FCMEvent, RemoteNotificationResult, WillPresentNotificationResult, NotificationType } from 'react-native-fcm';
FCM.requestPermissions(); // for iOS
this.notificationListener = FCM.on(FCMEvent.Notification, (notif) => {
if (notif.local_notification) {
//this is a local notification
}
if (notif.opened_from_tray) {
//app is open/resumed because user clicked banner
  }
  //await someAsyncCall();

  if (Platform.OS === 'ios') {
    //optional
    //iOS requires developers to call completionHandler to end notification process. If you do not call it your background remote notifications could be throttled, to read more about it see the above documentation link.
    //This library handles it for you automatically with default behavior (for remote notification, finish with NoData; for WillPresent, finish depend on "show_in_foreground"). However if you want to return different result, follow the following code to override
    //notif._notificationType is available for iOS platfrom
    switch (notif._notificationType) {
      case NotificationType.Remote:
        notif.finish(RemoteNotificationResult.NewData) //other types available: RemoteNotificationResult.NewData, RemoteNotificationResult.ResultFailed
        break;
      case NotificationType.NotificationResponse:
        notif.finish();
        break;
      case NotificationType.WillPresent:
        notif.finish(WillPresentNotificationResult.All) //other types available: WillPresentNotificationResult.None
        break;
    }
  }
});
this.refreshTokenListener = FCM.on(FCMEvent.RefreshToken, (token) => {
  console.log(token)
  // fcm token may not be available on first load, catch it here
});

can you reproduce with example project?

I am facing the same issue but i was able to receive notification in android device but in ios device the controle is not even going inside the function  FCM.on(FCMEvent.Notification, (notif) =>  function
React-native version 0.47.1
react-native-fcm version 9.7.2
Firebase SDKs version
       CocoaPod           | Version

----------------------------- | -------
Firebase                      | 4.2.0
FirebaseAnalytics             | 4.0.3
FirebaseAuth                  | 4.2.0
FirebaseCore                  | 4.0.7
FirebaseCrash                 | 2.0.2
FirebaseDatabase              | 4.0.3
FirebaseDynamicLinks          | 2.1.0
FirebaseInstanceID            | 2.0.3
FirebaseInvites               | 2.0.1
FirebaseMessaging             | 2.0.3
FirebasePerformance           | 1.0.5
FirebaseRemoteConfig          | 2.0.3
FirebaseStorage               | 2.0.2
GTMOAuth2                     | 1.1.5
GTMSessionFetcher             | 1.1.11
Google-Mobile-Ads-SDK         | 7.24.0
GoogleAPIClientForREST        | 1.3.0
GoogleSignIn                  | 4.1.0
GoogleToolboxForMac           | 2.1.1
Protobuf                      | 3.4.0
leveldb-library               | 1.18.3
nanopb                        | 0.3.8
can you help @evollu

@evollu
I reproduced this Issue in Examples/simple-fcm-client example of react-native-fcm.This Issue also reproduces on below versions for ios.However I am getting local Notofication and recieving token from FCM but not getting remote notifications
"react-native": "^0.47.2",
"react-native-fcm": "^9.6.2"
Devices tested Iphone 5s and Iphone 6

Same issue. Iphone 7 with iOS 11. FCM.on is not being called when I send a remote notification while the app is in foreground. The notification payload has notification, data, priority=high, and badge=1. Furthermore, sending the same notification payload works is received and displayed when the app is in the background.

Issue Resolved
When we do pod install  for firebase then in Pod folder there is no Firebase folder which consists of Firebase.h file which is there in sample example of react-native-fcm when I manually added the Firebase folder in Xcode Workspace then it worked
Also I noticed that in sample app pod file consists of pod 'Firebase/Messaging' but I used  pod 'FirebaseMessaging' as given in Read me.
In my case notifications worked for all cases background ,foreground and killed state

if you have issue with iOS try FirebaseInstanceID 2.0.0 rather than 2.0.1-2.0.3

"react-native": "^0.50.1",
"react-native-fcm": "^14.0.1"
Not getting notification in any state of app in ios App. In Android is working fine.
Device: Iphone 6 Emulator
Followed all the steps for installation using cocopod approach.
Uploaded APN Push certificates on Firebase project also .
The app is running and has no errors.
I don't know what to do anymore. Any help would be appreciated.

@RuiDamiao ios emulator doesn't get remote notification.

@evollu is it only possible to test if it works on an iphone?

yes

in my case i can get notification when i send a push notif from console.firebase, but when i send from my web platform i dont get any notification, the status of send is succed, maybe anyone have solution ? :D


Missing error handler on socket. TypeError: Cannot call method 'then' of undefined whe try to make a promise with postgres query result

Hi!
I´m rookie with nodejs and with promises, I installed Q.js with npm :
npm install q
I´m try yo make a promise when I made a query to postgres, this is my code...
socket.on('Operation', function (data) {
.......
getElementInPostgres(makeQuery)
 .then(function (name) {
       console.log("promiseeee then");
       .......blablabla
})
 .fail(function (err) {
   console.log("promiseeee error");

 });
.............
function getElementInPostgres(makeQuery){
console.log("entro getElementInPostgres");
var deferred = Q.defer();
client.query(
               makeQuery,
               function(err, result) {
                 if (err) {
                    console.log("NO getElementInPostgres");
                   console.log(err);
                   deferred.reject(err);
                 } else {
                    console.log("ok getElementInPostgres");
                  console.log(result);
                  deferred.resolve(result);
                 }
                 return deferred.promise;
             });
}

But my code crash
Missing error handler on socket.
TypeError: Cannot call method 'then' of undefined.....
I was looking at examples and do not see anything different in my code ...
Thanks !

You should return deferred.promise outside the client.query callback (I.e. Swap it the line after it)

Also, as a tip - always convert your API to promises at the lowest level possible - convert .query itself.

Thanks so match @ForbesLindesay , I made a stupid fail.... change outside to client deferred and work fine now....I'm so rookie with node...
@benjamingr , you have absolutely right, I will chek how make with .query  conexion with postgres db.
This is my first time with node...Always, I only make android and Ios code(front)... now, I make backend too.
thanks to both


where is model implement？

where is model implement？
how to modify model structure

https://github.com/huggingface/transformers/commit/e772218a4a4369494e7cefacc9530107840569a2#diff-416b67ecce893901858674f96df379b96918f04972f230ff70bc553a55847ce5
it's here?
not different from llama

The specific differences have been described in detail in the readme file.


Settings - Personal Datils -  Zip code field doesn't always auto-populate

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open the New dot Expensify app
Sign into a valid account
Click on Profile > Personal Details > Home address
Put any address and Save it
Delete zip code
Type Bahrain street on 1 Address field
Select populated address in  "Kuwait"

Expected Result:
User expects the Zip code to auto populate
Actual Result:
The zip code is left blank and returns an error message
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/229876009-d253c79a-489f-4277-b6c4-04538d082b04.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

Triggered auto assignment to @stephanieelliott (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

@stephanieelliott Huh... This is 4 days overdue. Who can take care of this?

@stephanieelliott Huh... This is 4 days overdue. Who can take care of this?

Ah yep Bahrain does not use zip or postal codes, good catch @Prince-Mendiratta~


fix: Per-model metrics labels should be disabled by default

Motivation
#90 introduced support for per-model prometheus metrics but the intention was not to change the default behaviour and have this as something enabled explicitly via configuration.
However, it was inadvertently made the default.
Modifications
Change default behaviour to not include modelId/vModelId prometheus metric labels. This is important because model-mesh was designed primarily for use cases where there is a very large and changing number of individual models and those scenarios would result in a much greater number of individual metrics than prometheus can handle.
Result
Original behaviour restored

FYI @VedantMahabaleshwarkar in case you are relying on the new default behaviour. You will need to enable the per-model metrics explicitly via the config.

@njhill -- do we have some documentation on how to set and use the perModelMetricsEnabled flag, via env vars, settings files, etc?


Fix typo in AWS documentation

Description of change
Typo in command for changing the password:

Type of change

Documentation Fix

How the change has been tested
I ran the following command & it worked:
docker-compose run --rm hornet tool pwd-hash

Change checklist

[x] I have made corresponding changes to the documentation

@thhepp thank you for your contribution. LGTM.


Serialize expiry_timestamp in Cfd

resolves #888

out of curiosity: what's the purpose of this change? does it improve the representation in the maker's UI?

It was removed by accident :)
We need this field to know when to close the positions.

bors r+


Rev. v3_5 for 'Radiological Model v3' for HD 1x2x6 (fcl and producer) to address Wire-Cell reco issue

Revision v3_5 for new assays based 'Radiological Model v3' for HD 1x2x6, HD 1x2x2 and VD 1x8x6 (requiring corresponding producer files).
[As APA electronics boards in geometry break Wire-Cell reco, added fix for those backgrounds, independent now of boards being present in geometry]
-Juergen Reichenbacher (SDSMT) 2023/12/11

I've created a PR for this against my fork here: https://github.com/absolution1/dunesim/pull/2
We'll get this PR merged there and then merge into dune/dunesim

Thanks Dom!
On Wed, Dec 13, 2023 at 10:25 AM Dom Brailsford @.***>
wrote:

I've created a PR for this against my fork here: absolution1#2
https://github.com/absolution1/dunesim/pull/2
We'll get this PR merged there and then merge into dune/dunesim
—
Reply to this email directly, view it on GitHub
https://github.com/DUNE/dunesim/pull/57#issuecomment-1854409870, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BC2Y24SOEWI5MBTY4LDLE7TYJHQH3AVCNFSM6AAAAABARA6WBWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJUGQYDSOBXGA
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

Hi @tomjunk
Can the merge be backed out?  It was supposed to be a closed PR.  I'd moved it over to my fork as per my comment above.  We'll be issuing a new PR after some refactoring.


Logshark 2.0 workbooks use  in datasource connection, instead of

As the title describes, I've just upgraded to Logshark 2.0 and noticed different behaviour. When opening a workbook generated by any of the default plugins, the data source connection to the Postgres DB now points at my computer's hostname rather than localhost. This is despite my logshark postgresconnection config looking like this:
<PostgresConnection tcpKeepalive="60">     <Server address="localhost" port="5432" />     <User username="logshark" password="logshark" />   </PostgresConnection>
Now because the connection is using my machines hostname, it's trying to resolve the hostname and giving me a pg_hba.conf error.

When I change the server name in the data source connection back to localhost, the connection works as expected.

Hey @til-jmac , sorry to hear you're running into difficulties.  This is indeed a behavior that was recently added; the problem was that Tableau Server rejects publishing of any workbook with a data source connection of "localhost", which was confusing to many users... so we updated Logshark to make a good-faith effort to resolve localhost to a DNS entry or IP to reduce the chances of this happening.
I'm going to mark this as a documentation bug to add this to the user guide for other users with a similar setup to yours.  In the meantime, to get unblocked, you will need to add an entry to your pg_hba.conf file to allow connections from your local MAC address.  This file is located in your Postgres data directory (by default, C:\Program Files\PostgreSQL\<VERSION>\data\pg_hba.conf).  A sample entry you can add to allow the user "logshark" to connect to your db from any localhost MAC address is:

host    all    logshark    ::1/128    md5

Once you save the file you should be able to connect with the workbooks again.  No database restart is required.
Hope that helps!

Thanks, I had already updated my pg_hba.conf but since I don’t regularly publish the workbooks to Tableau server, this looked like a bug to me. That makes sense now and agree it’s just the documentation that needs an update. Thanks for the quick reply!

Resolving.


Openapi tool - Validate Openapi yaml before executing the tool calls.

Steps to reproduce the problem:

Run gptscript with invalid  Openapi yaml (In my case I used - https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/examples/v3.0/petstore.yaml and removed a space in front of path entry /pets/{petId)
This results in gptscript execution providing the full tool yam as the output.

OUTPUT:
openapi: "3.0.0"
info:
  version: 1.0.0
  title: Swagger Petstore
  license:
    name: MIT
servers:
  - url: http://<IP_ADDRESS>:5000
paths:
  /pets:
    get:
      summary: List all pets
      operationId: listPets
      tags:
        - pets
      parameters:
        - name: limit
          in: query
          description: How many items to return at one time (max 100)
          required: false
          schema:
            type: integer
            maximum: 100
            format: int32
      responses:
        '200':
          description: A paged array of pets
          headers:
            x-next:
              description: A link to the next page of responses
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Pets"
        default:
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: Create a pet
      operationId: createPets
      tags:
        - pets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Pet'
        required: true
      responses:
        '201':
          description: Null response
        default:
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /pets/{petId}:
    get:
      summary: Info for a specific pet
      operationId: showPetById
      tags:
        - pets
      parameters:
        - name: petId
          in: path
          required: true
          description: The id of the pet to retrieve
          schema:
            type: string
      responses:
        '200':
          description: Expected response to a valid request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Pet"
        default:
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
components:
  schemas:
    Pet:
      type: object
      required:
        - id
        - name
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        tag:
          type: string
    Pets:
      type: array
      maxItems: 100
      items:
        $ref: "#/components/schemas/Pet"
    Error:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string

Expected Behavior:
In this case , we should be able to validate Openapi yaml even before it is used for execution and provide error messages that will help users fix their openapi yaml file.
Note - gptscript --list-tools <yaml> will also not return tools as expected in this case .

I'm testing this out now, using the Validate function in the OpenAPI package we're using. It's failing on one of my Microsoft Graph OpenAPI documents, but any errors in this spec are not the kind of thing that would affect the user, so I think we are probably best off not validating.

Are you suggeseting we close this issue then?

@cjellick yeah


NNBD migration tool tech preview - aspirational

This epic tracks the work that we would like to do prior to shipping the NNBD preview tool as part of the Null Safety tech preview, but which shouldn't block shipment of the tech preview.
(For work that blocks shipping the tech preview, see #41483).

As of 1c7fe7196dd7a542f7f91cd6ea2ac81e1a13146c, the null safety migration tool has been removed from active development and retired. No further work on the tool is planned.
If you still need help, or you believe this issue has been closed in error, please feel free to reopen.


Implement indirect payment channels via HTLCs

To make the Flash layer convenient to use and more scalable, we need to enable routing payments through indirect channels.
For example, consider the case with the following channels:
Alice <=> Bob <=> Charlie <=> Dylan

In this channel layout Alice may only send flash transactions to Bob, and she cannot send them to Charlie or Dylan. Alice would need to open new channels towards Charlie and Dylan.
However this is inconvenient because:

it increases the amount of on-chain transactions
it increases the amount of book-keeping Alice needs to make
it delays all micro-transactions until the channel open transactions are externalized
it causes additional fees for all the involved parties

We should support indirect payment channels through the use of Hashed Time Locked Contracts. A brief explanation of HTLCs in payment channels is provided here: https://hackernoon.com/what-are-hashed-timelock-contracts-htlcs-application-in-lightning-network-payment-channels-14437eeb9345
Our execution engine already supports HTLCs as demonstrated here as well as timelocks. We can use them in our Flash layer to implement indirect payment channels.
Definition of done:

[ ] Alice can send a micro-transaction to Dylan through intermediate channels
[ ] Flash channels are not closed until all the HTLCs are resolved
[ ] There are limits in place of the acceptable HTLC delay. E.g. Bob may decide to reject an HTLC if he's an intermediary.
[ ] Claiming HTLCs should be automatic

Resolved in #1610


Remote Tunnel stuck at creating VSCode server

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.74.2
OS Version: Ubuntu 18.04

I cannot create a new Remote Tunnel on my remote machine. It previously worked fine but after a reboot, it is now stuck at creating a new code server step.
Steps to Reproduce:

Run code tunnel --log trace --cli-data-dir . --verbose in terminal
Output:

*
* Visual Studio Code Server
*
* By using the software, you agree to
* the Visual Studio Code Server License Terms (https://aka.ms/vscode-server-license) and
* the Microsoft Privacy Statement (https://privacy.microsoft.com/en-US/privacystatement).
*
[2023-01-08 16:58:40] debug No code server tunnel found, creating new one

The log in the working directory shows nothing. Please help!

Thanks for reporting this issue! Unfortunately, it's hard for us to understand what issue you're seeing. Please help us out by providing a screen recording showing exactly what isn't working as expected. While we can work with most standard formats, .gif files are preferred as they are displayed inline on GitHub. You may find https://gifcap.dev helpful as a browser-based gif recording tool.
If the issue depends on keyboard input, you can help us by enabling screencast mode for the recording (Developer: Toggle Screencast Mode in the command palette). Lastly, please attach this file via the GitHub web interface as emailed responses will strip files out from the issue.
Happy coding!

Thanks for your support. I have just figured out that it is because every time I start a tunnel, a popup displays "An application wants access to the keyring "Default keyring", but it is locked". Disabling the popup makes the tunnel start successfully.

Indeed, we want to store your auth tokens in the system's keyring when possible. You can set the environment variable  VSCODE_CLI_USE_FILE_KEYRING to disable this behavior and use an obfuscated file store instead if this is problematic.


Possibility to create subplots using imod.visualize.spatial.plot_map

In GitLab by @valdferns on Apr 25, 2022, 16:09
I found myself needing to make subplots of .idf files and was resorting to the plot function from xarray. But it lacked the option to add basemaps. I think adding an optional argument to provide axes as input to the function would be a good enhancement.
I have made these changes to my personal copy of imod.visualize.spatial.plot_map:
After line 83 (arguments to plot_map);
fig = None,
ax = None,
After line 196 (where the fig and axes are defined);
## First check if axes is provided
if ax is None:
if not fig is None:
print("Needs axes and fig. Defaulting to new figure")
fig, ax = plt.subplots(figsize=figsize)
And I can plot it using:
fig, axes = plt.subplots(nrows=2, sharex=True)
imod.visualize.spatial.plot_map(idf1, fig = fig, ax = axes[0])
imod.visualize.spatial.plot_map(idf2, basemap=True, fig = fig, ax = axes[1])
I am still very new to python (from R) so not sure if I am following the best practices. Could someone review it, please?

In GitLab by @Huite on Apr 26, 2022, 10:00
Thanks Valdrich! I'll try to have a look at it coming week.

In GitLab by @JoerivanEngelen on May 11, 2022, 16:43
FYI, I made a merge request for this here: https://gitlab.com/deltares/imod/imod-python/-/merge_requests/136
If @Huite is OK with it, it can be merged into the main branch and we can close this issue.


Remove unused VfIds global variable

The VfIds seems to be unused in the repository. May we get rid of it?

/test-all

Thanks!
/lgtm


Use entitygrid as GridEditorBase, in memory tranfer

Hi,
I really try but cannot figure out how to use entitygrid as grideditor.
I can retreive selected keys from Scenario available (simple table), but I cannot figure out how to transfer it to in memory grid of scenario list (join table) as I need to be able to save the scenariolistname before the list.
Also grid will "lose the data" if I go on page 2.
I coud not find a satisfying example, and I would really appreciate some tips.

Thank you

Ok,
I found my way, but I am still strugling
Simply by overriding getSaventity is magic
 public getSaveEntity() {             var entity = super.getSaveEntity();             entity.ScenarioList = this.scenariosTabMapGrid.value;             return entity;         }
And value as in grideditorbase.
Though, I am wondering, how do you do to upload the id of the maping table row and hide it? (to retreive it on update as with grideditorbase)
Thank you,

Sorry but i can't understand what you are trying to do.

Hi,
Well basically it is like your exemple moviecast, but with tabs. The properties is the dialog, the left tab is the joint table (listof the dialog or editorgridbase in your exemple) and the right tab is the source table.
I want to keep the grid format to sort and order as it is "too" (but still amazing) restrictive.
As I want to keep the joint table id on dialog retreive, I should be able to store somewhere the jointtable ids, but I cannot figure out how you do it in your exemple.
Thank you,

Ok,
So basically, your system does manage everything, I was trying to hard.
Basically, it is enough to use getsaveentity, afterload, push and create virtual "__id", then follow the procedure in moviecast.


Change requre: in config to be relative to the .rubocop.yml file itself

Fixes #2865

Is it possible to add tests for this?

@rrosenblum updated with a test

Thanks for adding tests. The change looks good to me.

Apart my small remark, the PR has to be rebased on top of the current master.

@bbatsov all your changes are applied and I rebased

It looks like this change introduced a lot of backwards incompatibility.
Could you tell how to include other GEMs in configuration (like rubocop-rspec) ?
Also the README "Loading Extensions" section [1] is no longer valid, as requiring 'rubocop-extension' will require './rubocop-extension' from now.
[1] https://github.com/bbatsov/rubocop#loading-extensions

@maciejmajewski sorry about that. What do you think about https://github.com/bbatsov/rubocop/pull/2936 ?

@ptarjan LGTM


check if sounds are deleted

this was basically only affecting me, but still

I can confirm that this error is spamming my client's console as well. Doesn't crash though.


YouTube embeds on Studio website

The Livepeer Studio site (via Sanity) can only do direct video embeds at the moment. We'd like to be able to embed the YouTube player directly into a blog post or page, so that views accrue to the YouTube version of a video.
Possible resource: https://www.sanity.io/guides/portable-text-how-to-add-a-custom-youtube-embed-block. Let me know if need additional context. Thank you!

@adamsoffer Curious if this is something you could help with