Support for remote docker hosts

We could add support for remote devcontainer hosts:
https://code.visualstudio.com/remote/advancedcontainers/develop-remote-host
Also add support for normal remote hosts:
https://code.visualstudio.com/docs/remote/ssh

Not sure how exactly the remote support would look/should behave. Maybe someone who uses this feature a lot could describe how they wish to use this.

This would be really handy. I use this workflow every day.

Agreed! I would use this every day :)
Not sure how to open remote docker containers now and have to do so manually. (Workflow: spin up EC2 instance, edit ~/.ssh/config with the ephemeral IP address, open new VS Code window, connect to host, then open command palette, then click attach to running container)
Anyone else have a nicer solution?
Thank you!!


Feature Request: hasValidated as validation state

A common pattern is surfacing validation errors after the user touched a field.
It would be great if this state was stored on the validation object and flipped only when validate or validateSync is invoked and in the case of the async validation - once it's resolved.
Thoughts?  I can work on this if there is buy-in.

Im not exactly sold on the idea that this should be part of this library. I feel like we provide enough state properties such as isValidating and isValid (or isTruelyValid), that this type of state should be handled solely by the user.
model.validate().then(() => {
   // do some complex stuff here
  model.set('_hasValidated', true);
  model.save();
});

I think that the term hasValidated is sort of misleading, in the sense that it implies that calling validate or validateSync actually trigger validations where actually, validations happen automatically via the CPs.

validations happen automatically via the CPs.

I see everyone having to manage this state https://github.com/offirgolan/ember-cp-validations/blob/bf1e4642d0358fe41f1bee550004831bc4b89a45/tests/dummy/app/controllers/index.js#L33
which I think can be internalized since you know when validate/validateSync was invoked.  Dirtying the any of the attributes would flip this state back.  Closing and will implement it on my end.

Hmmmmm I see your point. So this leads to two questions:

When is this flag turned on
When/how is this flag turned off

When is this flag turned on

After validate or validateSync are invoked.

When/how is this flag turned off

When an attribute that has a validator is touched.
What I'm saying is just a proposal, so feel free to keep bouncing ideas off me or whoever until you're comfortable with the idea.

Maybe the best way to go about this is (if you have some spare time) to create this feature and open a PR and we can discuss from there :smile_cat:

I'll see what I can do sometime this week on this.

Hi all! Any updates here? The didValidate property would be very useful for us. Right now to get that functionality, the options are:

use targetObject to get the didValidate property (seems brittle) or
pass the didValidate property in (seems unnecessary)

In both cases we have to pass didValidate or targetObject down a component chain if there are nested components, which is also :(.
For reference, our use case:

Show validation errors when user leaves a field. This we were able to do by waiting to set the field value until focus-out.
On submit, show all validation errors (including any fields that are not dirty). For this we need didValidate to tell the field that the parent form was submitted.

Component:
export default Ember.Component.extend({
  classNameBindings: ['hasError:error'],

  didValidate: Ember.computed.oneWay('targetObject.didValidate'),
  hasError: Ember.computed('validation.isInvalid', 'validation.isDirty', 'didValidate', function() {
    return (this.get('validation.isDirty') || this.get('didValidate')) && this.get('validation.isInvalid');
  }),

  validationMessage: Ember.computed('hasError', function() {
    if (this.get('hasError')) {
      return this.get('validation.message');
    }
  }),

  actions: {
    // Don't trigger validations until the field is out of focus
    focusOut: function(value) {
      this.set('value', value);
    }
  }
});

Thanks! Happy to help out also.

Do we have any progress on this?
I've been trying to find a solution for showing error messages only after field is dirty or model is validated.
Can't seem to find an easy and clean way of doing it.

@guitassinari Figured I would share my solution as I was in the same boat. Basically it just listens for the change event and sets a respective boolean within the component that can be used for whatever purpose.
Template
<form {{action "onChange" on="change"}}>
...
</form>

Component
export default Ember.Component.extend({
  formHasBeenTouched: false,
  formIsValid: computed.and('formHasBeenTouched', 'model.validations.isValid').readOnly(),
  actions: {
    onChange() {
      this.set('formHasBeenTouched', true)
    },
    async onSubmit(e) {
      const account = this.get('account');
      const formIsValid = this.get('formIsValid');

      if (formIsValid) {
        try {
          await this.attrs.submit(account);
        } catch (error) {
          // whoops
        }
      }

      e.preventDefault();
      return false;
    },
  },
});


HPC usage analytics

|    by<EMAIL_ADDRESS>
How can we monitor usage of the HPC using the ACCESS system?
Things we might want to collect:

Who is using the system? (CoE, BoM, CSIRO)
What are people running? (UM version, global vs. LAM)
What resources are being asked for / used?

How we might go about it:

Log job information within Rose/UMUI when a job is submitted
Use statistics from PBS by adding a tag to ACCESS jobs

Issue migrated from trac:93 at 2024-01-31 17:32:55 +1100

ibc599 commented

Can we set this up for Rose?
Looks like you are using https://stats.accessdev.nci.org.au/umui/submit_vn** for umui submission?
Can we add another url for rose?

<EMAIL_ADDRESS>commented

This looks interesting - open source log monitoring & analytics
http://docs.fluentd.org/articles/free-alternative-to-splunk-by-fluentd

<EMAIL_ADDRESS>commented

Ideas:
http://www.cyberciti.biz/tips/howto-log-user-activity-using-process-accounting.html
Summarise what users connect to the system & what commands get run using psacct

logger command: write to syslog, e.g.
logger -t UMUI "${USER} ${PROJECT} submitted $RUNID"

creates a line in /var/log/messages like:
Apr  9 11:28:57 accessdev UMUI: saw562 w35 submitted vabcd

Querying the logs may require some tooling

<EMAIL_ADDRESS>commented

Demo analytics setup for UMUI - http://<IP_ADDRESS>/kibana. The UMUI POSTs a json file containing job info to an elasticsearch instance when a job is processed, Kibana then produces analytics from the data in elasticsearch
Requires following UMUI patch to send basis info (ATM this is only being done on a test instance, not on accessdev proper):
#!diff
Index: UM/um_nav_actions.tcl
===================================================================
--- UM/um_nav_actions.tcl	(revision 951)
+++ UM/um_nav_actions.tcl	(working copy)
@@ -110,10 +110,66 @@
     unset processing_in_progress

     set processing_done 1
-
-
+
+	# JSON document for elasticsearch
+	set json "{"
+	append json "\"user\":\"$::env(USER)\""
+	append json ",\"project\":\"$::env(PROJECT)\""
+	append json ",\"basis\":[ jsonify_basis ]"
+	append json ",\"timestamp\":\"[ clock format [ clock seconds ] -gmt true -format "%Y-%m-%dT%H:%M:%SZ" ]\""
+	append json "}"
+
+	# POST the JSON document to the elasticsearch server
+	# Just use CURL as I don't understand TCL's http library
+	set url "http://localhost:9200/umui/process"
+	exec -ignorestderr curl -XPOST $url -d @- << $json
+
+	set testfile [open ~/tmp w]
+    puts $testfile $json
+    	close $testfile
 }

+# Turn the basis file into json format
+# Result looks like {"key":"value","key":["a","b","c"]}
+proc jsonify_basis {} {
+	# Json doesn't allow for a trailing comma, so we'll play a trick here
+	set delim ""
+
+	set result "{"
+	set variableNames [ get_allVariableName ]
+	foreach key $variableNames {
+		# Is this variable an array?
+		if [ regexp {\(.*\)} $key ] {
+			# Strip array size
+			set key [ regsub {\(.*\)} $key ""]
+			set value [ jsonify_list [ get_variable_array $key ] ]
+		} else {
+			set value "\"[ get_variable_value $key ]\""
+		}
+
+		append result $delim "\"$key\": $value"
+		set delim ","
+	}
+	append result "}"
+
+	return $result
+}
+
+# Turn a TCL list into json
+# Result looks like '[ "a", "b", "c" ]'
+proc jsonify_list {a} {
+	set delim ""
+
+	set result "\["
+	foreach value $a {
+		append result $delim "\"$value\""
+		set delim ","
+	}
+	append result "\]"
+
+	return $result
+}
+
 # um_nav_submit
 #  Called when Submit button pressed
 # Comments

<EMAIL_ADDRESS>commented

I'd like to experiment with this to track which cylc versions are being used.
However trying
curl -XPOST https://stats.accessdev.nci.org.au/rose-test/my_type -d '{ ... '}

from the command line gave an authentication error.
Adding -u mrd599 prompted for a password and then failed with
The requested URL /rose-test/my_type was not found on this server.

<EMAIL_ADDRESS>commented

Milestone Future deleted

<EMAIL_ADDRESS>commented

'rose-test' hadn't been set up in apache, fixed now

<EMAIL_ADDRESS>commented

Certainly, I've added indexes called 'rose' and 'rose-test' that can be accessed from accessdev.
To add entries POST json documents to a subdirectory of the index e.g.,
curl -xPOST https://stats.accessdev.nci.org.au/rose-test/my_type -d '{
     "user":      "ibc599",
     "runid":     "abc00",
     "timestamp": "1900-01-01"
}'

The type subdirectories correspond to a database table - they should all have the same argument list. For the UMUI stuff I've put each UM version into a different type since the basis variable list changes between versions.
The documentation on the elasticsearch website is pretty good for getting a handle on how to use it for submitting and searching through documents - http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/getting-started.html

<EMAIL_ADDRESS>removed milestone (was Future)

<EMAIL_ADDRESS>commented

Uploading works ok now.
However the timestamp isn't behaving. If I do
curl -XGET 'https://stats.accessdev.nci.org.au/rose-test/_search'

I get entries like
{"_index":"rose-test","_type":"my_type","_id":"TweMNn4BTI2gA2nvumqJkw","_score":1.0, "_source" : {
 "user" : "mrd599",
 "runid" : "test",
 "project" : "p66",
 "timestamp":"2015-02-27T03:10:48Z",
 "hostname" : "accessdev.nci.org.au"

The timestamps look the same from the umui index
However they don't seem to be interpreted correctly. Using a cut-down example from one of the charts
curl -XGET 'https://stats.accessdev.nci.org.au/rose-test/_search?pretty' -d '{
  "facets": {
    "terms": {
      "terms": {
        "field": "timestamp"
      }
    }
  },
  "size": 0
}'

gives split up parts of the time string like
      "terms" : [ {
        "term" : "2015",
        "count" : 6
      }, {
        "term" : "02",
        "count" : 6
      }, {
        "term" : "30z",
        "count" : 3

rather than the proper timestamps I get using the umui index.
Is there some extra step to tell it that timestamp should be interpreted as a time?


fix FUSEQE-10939 - Added missing integrations

Previously I forgot to add URI and secret based configuration groovy files
Edited keys in property file
Completed Readme

@christophd I am not sure what is best solution; my idea was that as all three integrations do the same in principle and vary only in configuration, it would be easy to understand that once some action is triggered, they all listen to it and receive correctly the same message/object.

@christophd I am not sure what is best solution; my idea was that as all three integrations do the same in principle and vary only in configuration, it would be easy to understand that once some action is triggered, they all listen to it and receive correctly the same message/object.

@lfabriko If one of the configuration options has a problem the whole feature fails. I can imagine that it will be more straightforward to find out which of the options was causing the error when each option is in a separate feature.
How about using a Scenario Outline? In the table of examples we can add all configuration options as variants and each given option is then run as a separate Scenario while keeping it all in one single feature.

@lfabriko If one of the configuration options has a problem the whole feature fails. I can imagine that it will be more straightforward to find out which of the options was causing the error when each option is in a separate feature.
How about using a Scenario Outline? In the table of examples we can add all configuration options as variants and each given option is then run as a separate Scenario while keeping it all in one single feature.

The Scenario Outline sounds great, as it would avoid overhead with creating new object/sending message for each configuration separately.

The Scenario Outline sounds great, as it would avoid overhead with creating new object/sending message for each configuration separately.

merging this PR as we can add Scenario Outline in a separate PR

merging this PR as we can add Scenario Outline in a separate PR


Maintenance: add tests for child logger attributes

Description of the feature request
Problem statement

During a 1:1 feedback session it emerged that the current behavior of Logger.createChild might not be immediately clear to people approaching the library for the first time. Likewise, the current unit test cases, while reaching 100% coverage, might use some improvements to cover all cases.
The steps to complete this issue should be (in this order):

[ ] Assess the current implementation of both feature and tests
[ ] Compare the implementation with current documentation section
[ ]  Report findings / proposed improvements (under this issue). The report should cover: 1/ are current unit tests covering all cases? If not, which cases could be added? 2/ does current documentation articulate clearly the behavior of createChild? If not, what would you add?
[ ] Implement any changes that might have emerged from point above

Summary of the feature

N/A

Code examples
Unit tests for the feature: link
Implementation for the feature: link
Benefits for you and the wider AWS community

Describe alternatives you've considered

Additional context

N/A
Related issues, RFCs
N/A

Hello there! As part of the work on the childLogger @dreamorosi asked to look at this issue and fill in the gaps.

[x] Assess the current implementation of both feature and tests
[x] Report findings / proposed improvements (under this issue). The report should cover: 1/ are current unit tests covering all cases? If not, which cases could be added? 2/ does current documentation articulate clearly the behavior of createChild? If not, what would you add?

During two rounds of improvements (PR #1163 and PR #1267) implementation was changed and weak spots of unit tests were uncovered and necessary adjustments were added. Especially the test in the last PR covers all child logger attributes assesses against non-default values which was an issue with previous tests.

[x] Compare the implementation with current documentation section

childLogger is slightly mentioned in docs under Using multiple Logger instances across your code. For people who came from powertools for python  it can be confusing since there all state changes will be propagated bi-directionally between child and parent. Here in TypeScript after the creation, they live separate lives and don't influence each other. Only attributes passed to childLogger will be overwritten. I think it should be mentioned in the docs or even explicitly list all the attributes that can be overwritten.
I would also add an example with a child logger where it implicitly inherits some parent's attributes, like logFormatter from this issue #1264. I would also add general use cases for child loggers in lambda functions (need help with that).

Hey Sergei, thank you for looking into this and for the assessment.
I agree that perhaps we can improve this section of the docs.

Only attributes passed to childLogger will be overwritten. I think it should be mentioned in the docs or even explicitly list all the attributes that can be overwritten.

In regards to this I would say that as a user you can overwrite any of the settings that can also be set via constructor, which are the default ones, any persistent attributes, and the log formatter.

I would also add an example with a child logger where it implicitly inherits some parent's attributes

Maybe we could update the example in this section to not only show that you can overwrite but also that other attributes are passed down to the child. Maybe we could set service name and/or persistent attribute - similar to this:
import { Logger } from '@aws-lambda-powertools/logger';

// This logger has a service name, some persistent attributes
// and log level set to INFO
const logger = new Logger({
    serviceName: 'serverlessAirline',
    logLevel: 'INFO',
    persistentLogAttributes: {
        aws_account_id: '123456789012',
        aws_region: 'eu-west-1',
    },
});

// This other logger inherits all the parent's attributes
// but the log level, which is now set to ERROR
const childLogger = logger.createChild({
    logLevel: 'ERROR'
});

We should also modify the CloudWatch log excerpt (other tab).

like logFormatter from this issue https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1264

I would add a "tip" box (see here) in the section that talks about custom log formatter instead saying something like: "When you set a custom formatter it is propagated/passed down to any children logger" (worded more nicely maybe)

I would also add general use cases for child loggers in lambda functions (need help with that).

We have another issue tracking the creation of a "recommended / best practices" section in the docs to cover this type of topic. I would defer this last point to that issue/discussion (perhaps we could add a comment under that issue linking to here to not forget), but I would leave it out for now as it's not strictly related to how the logger works.
What do you think?

Thank you for the proposals, I like them! So I'm going to make a PR, and let's continue with the discussion there.


stopping_wait_time / 3 min not respected on scale-in

I have a continuous WebJob that runs on multiple instances. I want to enable automatic scaling on these instances. The instances are running long-running tasks, but the number tasks varies throughout the day. I can come up with an appropriate scaling rule. On scale-in a (seemingly) random instance is picked that will be shutdown, while it might still be doing a long-running task. As per the docs this is a hard shutdown and the instance has 3 minutes to finish up their work:

The App Service Plan's instance count was reduced and some VMs need to be removed and the shutdown time limit is 3 mins.

However based on my testing, the instance is killed within 30 seconds of signalling the graceful shutdown. Not 3 minutes.
As an aside, this is far from ideal: I'd rather be able to specify a graceful shutdown duration of a few hours so that I don't have to restart this work on another instance.
Repro steps.

Create a WebJob in .NET Framework with the following implementation

Program.cs
using System;
using System.Diagnostics;
using System.Threading;
using Microsoft.Azure.WebJobs;

namespace WebJobScalingBehaviour
{
    internal class Program
    {
        public static void Main(string[] args)
        {
            var watch = Stopwatch.StartNew();
            var watcher = new WebJobsShutdownWatcher();

            while (!watcher.Token.IsCancellationRequested)
            {
                Log($"running for {watch.Elapsed} until cancelled, sleeping for 1 minute");
                watcher.Token.WaitHandle.WaitOne(TimeSpan.FromMinutes(1));
            }

            Log($"cancellation was requested at {watch.Elapsed}, how long can we continue running?");

            watch.Restart();

            while (true)
            {
                Log($"still running for {watch.Elapsed} since cancelling, sleeping for 1 second");
                Thread.Sleep(TimeSpan.FromSeconds(1));
            }

            void Log(string message)
            {
                Console.WriteLine($"{Environment.MachineName} {message}");
            }
        }
    }
}

settings.job
{
    "stopping_wait_time": 3600
}

Run it on a B1 with 2 instances.
Wait until the log output shows 2 instances running.
Scale-in to 1 instance.
Wait until the shutdown shows up in the logs.

Expected behaviour
The job keeps running for the full 3 minutes.
Desired behaviour
The job keeps running for stopping_wait_time that I specify up to a few hours.
Actual behaviour
The job's last output lines show that it didn't even last 30 seconds to get killed:
2023-10-11T18:42:13  PID[7008] Information dw1sdwk00033X still running for 00:00:26.2276687 since cancelling, sleeping for 1 second
2023-10-11T18:42:14  PID[7008] Information dw1sdwk00033X still running for 00:00:27.2289728 since cancelling, sleeping for 1 second

Project structures.

in order to reproduce your issue at our end we need a simple
github repository
that highlights structure of the project

The log/error given by the failure.

Normally this include a stack trace, error code and some more information.

Debug your Azure website remotely.

it is recommanded that you share your Web App name, directly or indirectly
we can take a look at what's going on.

Mention any other details that might be useful.

Thanks! We'll be in touch soon.

Hi
If the problem persists and is related to running it on Azure App Service, please open a support incident in Azure:
https://learn.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request
This way we can better track and assist you on this case
Thanks,
Joaquin Vano
Azure App Service


How to delete Application v.3.0.0?

I have a question about Pinpoint web.
In version 2.5.x, I used the admin API
/admin/removeApplicationName.pinpoint?applicationName=$APPLICATION_NAME&password=$PASSWORD  to delete an application, but this API doesn't work in version 3.0.0.
When I checked the sites https://pinpoint-apm.gitbook.io/pinpoint/faq , it says the admin API returns a 404 error.
Could you please tell me how to delete an application in 3.0.0?

Since 3.0.0, the /api prefix has been added to URL

/api/admin/~~~

I Solved that isuue
/api/admin/removeApplicationName?applicationName=$APPLICATION_NAME&password=$PASSWORD
@emeroad Thanks for your reply! Have a nice day!


ci: Testnet deployment automation

Description
Automate the deployment of k8s components. On push to master:

Run build on AWS
Build docker image
Publish it to ECR
Dispatch to K8s deployment repository

Motivation and Context
Automating the creation of testnet end-to-end after each release
How Has This Been Tested?
End to end testing cross repositories
Check K8S deployment

@martinfridrich please merge this when rest of scripts are ready and the docker file default entrypoint changed

fixes #147


Add smart_answer schema

Previously, content items used to represent a Smart Answer were a transaction schema for the start page and a generic_with_external_related_links for the flow. This is because start pages were rendered by Frontend. However, we are changing Smart Answers to render the start pages and represent flows with a single content item. This adds schema to use for that content item.

Thanks @alex-ju! I've done this PR to fix content data api https://github.com/alphagov/content-data-api/pull/1598


unable to recognize zlib and openssl in so file

Dear developer, when I first saw this project, I was attracted by your ideas and it's prospects, but when I used it to test a so, it contains obvious zlib and openssl features, it Failed,.I'm so confused .Looking forward to hearing from you.

Karta Identifier - libnh.so:
Identified Open Sources:
(none)
Identified Closed Sources:
(none)
Missing Open Sources:
libpng: Was not found
zlib: Was not found
OpenSSL: Was not found
OpenSSH: Was not found
net-snmp: Was not found
gSOAP: Was not found
libxml2: Was not found
libtiff: Was not found
mDNSResponder: Was not found
MAC-Telnet: Was not found
libjpeg-turbo: Was not found
libjpeg: Was not found
icu: Was not found
libvpx: Was not found

Hi, I think there might be some misunderstanding about how Karta works. Karta was designed to find statically compiled open sources (such as zlib and OpenSSL) in binaries. While I don't have your libnh.so library to test against, it still looks like your dealing with dynamically linked libraries.
The IDA Pro decompiler snapshot that you've uploaded shows the function j_inflate(), which looks like IDA automatically identified the function's name, probably from the imports section. If zlib / OpenSSL are dynamically imported, than there is no need for Karta to match those functions, as they are already linked with symbols from the need to import them (as listed in the imports section).
If your binary includes some static compiled open sources in it, than Karta would be effective in identifying them, and matching them. As it seems that this isn't the case, I am closing this issue.


Unable to see AnimatedSprite frames in AnimationPlayer

Godot version:
3.2 branch commit dbb0ad3b59e4d9150d41a0f5177069224cb2f837
OS/device including version:

Arch Linux
Issue description:

Ran the create_spriteframes.gd script (included in the proyect) to create a new SpriteFrames resource but when using this resource the frame texture on the AnimationPlayer is not visible.
The following output is also shown on the console when attempting to add a keyframe into the AnimationPlayer track:
ERROR: track_find_key: Index p_track = -1 is out of bounds (tracks.size() = 1).
   At: scene/resources/animation.cpp:948.
ERROR: track_get_key_value: Index p_track = -1 is out of bounds (tracks.size() = 1).
   At: scene/resources/animation.cpp:1175.
ERROR: get_frame: Animation 'Null' doesn't exist.
   At: ./scene/2d/animated_sprite.h:88.

Steps to reproduce:

Open the attached project.
Click the AnimationPlayer node on the Scene tree.
Click on the Node2D node on the Scene tree.
On the bottom of the screen, click on "Animation" to bring up the AnimationPlayer track editor.
On Inspector, click on the only visible key with a green plus sign -- the Frame option to insert a frame into the track.
You'll get the ERROR messages mentioned above and the frame will not be visible in the track, but the animation can still be played in the AnimationPlayer and when the project runs too:

It's worth pointing out that on the same project, if you use the Editor to create a new SpriteFrames resource and add an animation to it and a couple of frames, the texture of the frames will be visible in the AnimationPlayer track editor:

Minimal reproduction project:

AnimationPlayerTrackIDBug.zip

Welp, turns out that what's happening here is that the current SpriteFrames is not picked up by the Editor for some reason, but after adding a track for the AnimatedSprite animation, everything works as expected.
This is only user-error on my end, not a real issue.

Well the error message is still something that should probably be fixed though, I could reproduce it too. I think it's due to using this plugin without having the proper set up to do so, but in this case the plugin should not appear/be usable.


Is there an option to save or get the logger as html file?

Couldn't find something like this in the docs.
Question is, if you don't have such an option, is there any way to save the log into html file with all the text graphics?

+1, same question...

+1, same question...


[v1.1] saas-843 update resource requirements

Cherry pick 0538108dc4f9dfb67f41b3075d901f5ffc6a1ca0 into 1.1 to increase the default resources taken up by elasticsearch. Since many additions to release branch v1.0 never made it into v1.1, the result contains more changes than the original cherry-pick. After this PR pkg/render/elasticsearch.go is identical to the file in v1.0.

This PR no longer seems relevant. Closing.


Add Dispatcher::dispatchRequest

Since symfony/http-foundation is already in use throughout the package, this adds a shortcut method on the dispatcher to dispatch from an existing request object. As most applications and micro-applications will have one somewhere, this makes the integration of the package easier in an existing project.
I tried to add a test but it seems the namespaces are wrong in some places cause it failed everywhere:
$ phpunit

EPHP Fatal error:  Interface 'League\Dic\ContainerAwareInterface' not found in /Users/anahkiasen/Sites/_github/route/src/Strategy/AbstractStrategy.php on line 11

Ah I'll fix the namespace asap.
My only issue with this is that it's a tight dependency on symfony/http-foundation whereas currently only the strategies use that and can obviously be swapped out for anything you like with a custom strategy.
I would probably like to wait until PSR-7 is accepted and apply a dispatchRequest method at that point depending on the resulting interface.

I would probably like to wait until PSR-7 is accepted and apply a dispatchRequest method at that point depending on the resulting interface.

That's exactly what I thought too but even when PSR-7 is accepted it'll take a while for Symfony to actually implement the interface, so I thought this wouldn't hurt in the meantime as the dependency is already pulled anyway. I completely understand if you'd rather wait though.

The problem is if we introduce the method now then it's a breaking change
when the dependency is swapped out. It is definitely something I want to
implement, just want to keep it as loosely coupled as possible. I feel the
power of it right now is that it will dispatch anything with minimal
customisation. Meaning application code can actually be completely agnostic
of any framework around it.
Waiting for PSR-7 just means we can add extra strategies, and the extra
convenience of dispatching the request without breaking anything. It's
definitely in the roadmap though.
Are you part of thephpleague mailing list? If you keep an eye there I will
make an announcement when I want to add the functionality and then I'd love
for you to contribute?
On 17 Jan 2015 12:39, "Maxime Fabre"<EMAIL_ADDRESS>wrote:

I would probably like to wait until PSR-7 is accepted and apply a
dispatchRequest method at that point depending on the resulting interface.
That's exactly what I thought too but even when PSR-7 is accepted it'll
take a while for Symfony to actually implement the interface, so I thought
this wouldn't hurt in the meantime as the dependency is already pulled
anyway. I completely understand if you'd rather wait though.
—
Reply to this email directly or view it on GitHub
https://github.com/thephpleague/route/pull/2#issuecomment-70365561.

No I'm not on the mailing list but as I said if you want to wait for PSR7 I'm ok with that, will just keep an eye on the Changelog. You can close this in the meantime, was more to see if you'd be interested in the idea.


[hotfix][k8s] Fix k8s ha service doc.

What is the purpose of the change
Fix the error doc in KubernetesHaServices.

cc @wangyang0918

cc @xintongsong could you help with merging this fix?


Draft Tracker Info - NHL App

NHL app has added a draft tracker tab to their tab bar. Does anyone know where on the NHL website this tab points to for this information?

I would love to find this out as well. I believe that we're able to see the current years draft, but I can't for the life of me figure out how to specify which year to request.

Looks like they just added it to the website:
https://www.nhl.com/draft/tracker
API call:
https://api-web.nhle.com/v1/draft/picks/2024/1

The number after the year seems to correspond with the draft round. I wonder if there is a way to see all picks.

nevermind figured it out. If you replace 1 with all I believe you get all of the picks for that year.

Oh wow nice find, thanks for that!


Matic sidechain deployer

Might just be filling out the config. Might involve deployer changes.

this works with turbo


Add ability to choose Vulkan device on multi GPU systems

Currently the Vulkan backend is hardcoded to use the first device returned by by vkEnumeratePhysicalDevices. This can be a problem on multi GPU systems where the first device is not necessarily the device you want to run on. There does not seem a way around this in the current implementation.

The right way to expose this is to add a field to the VulkanDeviceOptions struct, which is the current mechanism to pass Vulkan-specific information when creating a GraphicsDevice. This should be pretty simple to support, but I don't have a good way to test this (no multi-GPU systems available).

It is also important for me to run one window on 1 video card, and another on another, at least.  but is it possible to choose a GPU on other engines?  DirectX and OpenGL


Figure out how to interpret SOAP msg from GCSS-MC

Research
The Interface Design document I 142 is a starting place.
Depends on #10 #11 #58
Recommendation
N/A
Action
N/A
Screenshots
N/A

Work has been conducted to interpret the messages. This is addressed now in Issue's that specifically require pulling and sending data to GCSS-MC.


Add possibility to specify argument matchers

I've run into the first situation where I would like to write a test that only checks some aspect of an argument (that it's in a certain range, for example) and not for equality with a certain value. It would be great if we could start thinking about how to specify matchers.
Maybe something like:
// specifies a matcher for each argument
`EXPECT_CALL(mock, some_func).with_arg_matchers(matcher0, matcher1)
We could implement something like a "don't care" matcher (equivalent to GMock's "_"), but the syntax will be very verbose (unless we trade off compile time safety), due to the lack of parameter inference/function overloading.

Another situation I ran into where matchers are necessary is when setting expectations on args that are objects. There it's not enough to use the equality operator.

correct. that's a weak compare on the reference, not a deep compare.
we have more thinking to do on the matchers. I think we agree that a simple matcher scheme ends up being the secret sauce that makes this whole idea truly useful... but keeping it simple is going to be tricky with the language constraints. sigh.

First idea:
It would be possible to define some kind of macro that hides the parameterization.
Let's say we have the following mock:
SVMOCK(clazz_mock, clazz)   SVMOCK_VOIDFUNCTION3(func, int, arg1, , string, arg2, , bit, arg3, )
`SVMOCK_END
A full call that would look like:
// First argument has to greater than 5, second is not checked, third has to be equal to 1
`EXPECT_CALL(mock, func).with_arg_matchers(greater #(int)::new(5), any #(string), equal #(bit)::new(1));
The parameterization with the types used for 'greater', 'any' and 'equal' is just boilerplate and is stuff that the compiler could figure out by itself, but SV doesn't support this.
We could maybe replace this with:
EXPECT_CALL(mock, func).with_clazz_mock_func_arg_matchers(greater, (5), any, , equal, (1))
where with_clazz_mock_func_arg_matcher is defined by SVMOCK_FUNCTION(...) and has the arguments:
`define with_clazz_mock_func_arg_matcher(
arg1_matcher, arg1_matcher_ctor_args,
arg2_matcher, arg2_matcher_ctor_args,
arg3_matcher, arg3_matcher_ctor_args)
Inside we can do the instantiation of each arg matcher with its appropriate args. Each matcher has to be a parameterized class of course, so that we can do:
define with_clazz_mock_func_arg_matcher(   // ...   begin     arg1_matcher a1m #(int) = newarg1_matcher_ctor_args; // framework knows that arg1 is 'int'     `arg2_matcher a2m #(string) = newarg2_matcher_ctor_args;
`arg3_matcher a3m #(bit) = new``arg3_matcher_ctor_args;
end
This is contingent on the fact that it's possible to supply macro arguments that contain brackets (for the constructor args). If I remember correctly it is.

so this is the road I started down yesterday. similar to what you have but so far I think I can avoid the macro and parameterized constructor call...
`EXPECT_CALL(ut, functionIntArgReturnVoid).match_args(int_eq(3));
where int_eq ends up being something like...
function svmock_matcher int_eq(int m);
svmock_int_matcher _m = new(m);
return _m;
endfunction
I suspect I might be on my way to hitting a rookie mistake with a type mismatch somewhere, but I think in the checking we can case(matcher::type) to see which specialization of svmock_matcher is being used and follow to the proper comparison.

I don't think you can case over types like that. Even if you could, why would you want to case? The matcher is supposed to implement the comparison itself. Something similar to JUnit::Matcher:
virtual class matcher #(type T);
  pure virtual function bit is_match(T val);
  pure virtual function void describe_mismatch(T val, description descr);
endclass

The difficulty lies in supplying the matcher with 'val'.


Implement a Search Component

As a user
I need to search for specific types of gifts
So that I can quickly find items I'm interested in
Details and Assumptions

Search should filter by keywords, categories, and location
Search results should update dynamically

Acceptance Criteria
Given that I am on the listings page
When I enter search criteria and submit
Then the results should update to show only matching gifts
And I should be able to further refine my search if needed


Support for testing third-party vocabularies

Would it be feasible to add tests for third-party vocabularies in this repo?
I expect we'd want to have a dedicated vocabs/ folder with each vocab having its own subfolder.
For example, my data and unique-keys vocabs could be under vocabs/gregsdennis/data/ and vocabs/gregsdennis/unique-keys, respectively.

We should probably only test json-schema-org vocabularies in a json-schema-org test suite.
The vocabularies I'm working on have test suites in their spec repos that use this suite's format.


Interpreter: replay and reload

This is one way to workaround #12144 which I think works quite well.
The idea is this: when we detect structural changes (a class is defined or reopened, a method is defined, etc.) then we replay the entire session by incorporating that change.
The only not-so-nice thing about this is that if the past inputs had side-effects, for example writing to a file, asking the current time, writing a DB record, etc., then those would be performed again. So in a way this makes it work like the old icr, but only when there are structural changes. But I think it's not that bad, and it might actually make sense!
For example... imagine that you have some code that writes a file in some way. But some of the functions you used are buggy, or you'd like to change them. So you do so, the history is replayed, and you can see the new output right away.
(or maybe the last paragraph is me trying to find an excuse for this behavior)
But there are more reasons... consider this session and see what happens:

We reopened Point and added a new instance variable with a default value. That's perfectly fine because it will be automatically initialized in all constructors. But what would be the value for the existing point instance we declared in the past? No problem! Because the program is replayed, that value is computed there.
So that's why I think it kind of makes sense to do it like this.
What happens if the structural change is impossible to apply? Consider this now:

We added an instance variable to Point without a default value... it must be initialized in all the initialize, but we didn't do that... plus we already created a point in the past! So here we just discard the recent change. It's similar to discarding the last input if it had a syntax error, or a semantic error. I believe that if this happens it's probably a mistake, you didn't intend to add a non-nilable field that can't be initialized.
The nice thing about replaying stuff is that it will actually reparse and reload files that you required. So you could require a file, write some repl code, then change the required files and accidentally introduce a structural change so it's reloaded!
But that's tedious to do, so I also added a reload! command, similar to pry (only works in the repl, not in pry!). Check this out:

In this way you can write complex logic in your favorite editor and have those changes be there in the repl. Or you can write them in the repl if you want.

Note: I didn't try it with require "http/client" because that still doesn't work for me on mac ("that licrypto loaded in an unsafe way" thing) but I'm almost sure it should work. Let me know if someone gets a chance to try it.

Maybe this isn't the best way to do this.

@asterite Could you explain your reasoning maybe? (don't need to do this right away, just for the rest of us to follow it)


More than one Container - huh?

I have more than one Docker Crashplan Containers running but when I go to Images, there is only one CP there. The network tab also reports three bridged connections 2x Crashplan (unexpected,) and 1 for Watchtower (expected.) Is this right??
screen snips attached.

Any help would be appreciated.

The two container instances look wrong.  You should have only one.

Closing this issue.  Please re-open if needed.


model gpt-4 does not exist error

Hey again,
thanx for fixing the docs. It works very well. I stumbled into another issue when running the code for Agent:
(base) ➜  griptape: python agent.py
[05/09/23 19:37:28] INFO     Task 763acc754437403f9e17b36dc73e17f2
                             Input: Give me a summary of https://en.wikipedia.org/wiki/Large_language_model
ERROR:root:PromptDriver.run attempt 0 failed: The model: `gpt-4` does not exist
Retrying in 1 seconds

[...]
File "/Users/++++/miniconda/lib/python3.10/site-packages/openai/api_requestor.py", line 687, in _interpret_response_line
raise self.handle_error_response(
openai.error.InvalidRequestError: The model: `gpt-4` does not exist

I would love to check this out by myself and find the error but unfortunately, I am new to this kinda stuff ;-)
Thanks for any hint.
Best
Andy

yes I have access to gpt-4 but obviously not via API ^^
curl https://api.openai.com/v1/models \
  -H "Authorization: Bearer $OPENAI_API_KEY" | grep "gpt-"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0      "id": "gpt-3.5-turbo",
      "root": "gpt-3.5-turbo",
      "id": "gpt-3.5-turbo-0301",
      "root": "gpt-3.5-turbo-0301",
100 43017  100 43017    0     0  54669      0 --:--:-- --:--:-- --:--:-- 54938

May I ask what I need to do to also get access to gpt-4? I created a new key already

That is a good question :) It's unclear how OpenAI is granting access. gpt-3.5-turbo works pretty well for most cases w/ tools attached. If you remove prompt driver, does your code run now against 3.5?

ok thanks - I will try to figure out how to get gpt-4
Erm, basically it works now, but I get another error:
[05/09/23 22:06:56] ERROR    Task 37eca2156b9144489f6210d34e86c8fa
                             0 is less than the minimum of 1 - 'max_tokens'
                             Traceback (most recent call last):
                               File "/Users/andreaswenk/miniconda/lib/python3.10/site-packages/griptape/tasks/base_task.py", line 105, in execute
                                 self.output = self.run()
                               File "/Users/andreaswenk/miniconda/lib/python3.10/site-packages/griptape/tasks/toolkit_task.py", line 74, in run
                                 self.active_driver().run(value=self.structure.to_prompt_string(self)).value
                               File "/Users/andreaswenk/miniconda/lib/python3.10/site-packages/griptape/drivers/prompt/base_prompt_driver.py", line 32, in run
                                 raise e
                               File "/Users/andreaswenk/miniconda/lib/python3.10/site-packages/griptape/drivers/prompt/base_prompt_driver.py", line 25, in run
                                 return self.try_run(**kwargs)
                               File "/Users/andreaswenk/miniconda/lib/python3.10/site-packages/griptape/drivers/prompt/openai_prompt_driver.py", line 33, in
                             try_run
                                 return self.__run_chat(value)
                               File "/Users/andreaswenk/miniconda/lib/python3.10/site-packages/griptape/drivers/prompt/openai_prompt_driver.py", line 38, in
                             __run_chat
                                 result = openai.ChatCompletion.create(
                               File "/Users/andreaswenk/miniconda/lib/python3.10/site-packages/openai/api_resources/chat_completion.py", line 25, in create
                                 return super().create(*args, **kwargs)
                               File "/Users/andreaswenk/miniconda/lib/python3.10/site-packages/openai/api_resources/abstract/engine_api_resource.py", line 153,
                             in create
                                 response, _, api_key = requestor.request(
                               File "/Users/andreaswenk/miniconda/lib/python3.10/site-packages/openai/api_requestor.py", line 230, in request
                                 resp, got_stream = self._interpret_response(result, stream)
                               File "/Users/andreaswenk/miniconda/lib/python3.10/site-packages/openai/api_requestor.py", line 624, in _interpret_response
                                 self._interpret_response_line(
                               File "/Users/andreaswenk/miniconda/lib/python3.10/site-packages/openai/api_requestor.py", line 687, in _interpret_response_line
                                 raise self.handle_error_response(
                             openai.error.InvalidRequestError: 0 is less than the minimum of 1 - 'max_tokens'

Okay, that doc wasn't using a Ramp. We have an abstraction called Ramps that helps minimize what is being sent back over the prompt. I updated the example. We are working on getting the docs up to date. We have a new version going out today and we'll update the docs right after that. But, added a ramp to the Agent example you're using.

Just for more context... Ramps are tool wrappers that control data flows between LLMs and the underlying customer data and APIs. Ramps allow for data compression, sanitization, side storage, and obfuscation. Griptape enables LLMs to access ramps directly depending on the context as opposed to relying on the human programmer to connect storage/compression/obfuscation direct (as they have to in other frameworks)

Ok thanks. What do I have to install to make the MemoryStorageDriver available
NameError: name 'MemoryStorageDriver' is not defined
I could not find a pip package

Arg. from griptape.drivers import MemoryStorageDriver. I'll make sure that's in the docs.

YAY - that it ... works great ;-)


puzzle

.cancelAllPeripheralsConnection()
.scanForPeripherals()
.enjoy()
` connect ble device once

.cancelAllPeripheralsConnection()
.scanForPeripherals()
.begin()
.having(currentConnectedPeripheral).connectToPeripherals().discoverServices().discoverCharacteristics().readValueForCharacteristic().begin()
` but  methods will connect twice,that make me confused,can you solve my  puzzle
Thanks!

there has some  problem in you code.

1: if you  use having(currentConnectedPeripheral) method ,you no need use .scanForPeripherals(), it's immediate cause you connect twice.
2: begin() only use in  end of the  method 's chain, only once


How about tf.contrib.layers.batch_norm ?

Hello,
Thanks for your tutorial, it helps me a lot to clarify the concept and usage of batch norm in TF. However, as you said,

In the present tf.layers API (TF1.3), there is no one-line syntax for a dense layer with batch norm and relu.

Have you ever considered tf.contrib.layers.batch_norm? It seems that this API can do all thing as a whole. But I am puzzled that there are not many people using this API...

What I meant is that you have to write two lines if you want a neural network layer with batch norm. I usually make a helper function and then it becomes just one line in my model.


feat: add scene loader ktx support

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Support SceneLoader use ktx texture:
engine.resourceManager.load({
  url: "*.json",
  type: AssetType.Scene,
  param: {
    compressedType: "astc" // astc/pvrtc
  }
})

Codecov Report
Base: 43.40% // Head: 43.38% // Decreases project coverage by -0.01% :warning:

Coverage data is based on head (ef8cb2d) compared to base (c8f7d62).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1242      +/-   ##
==========================================
- Coverage   43.40%   43.38%   -0.02%
==========================================
  Files         347      347
  Lines       18317    18320       +3
  Branches     2543     2544       +1
==========================================
- Hits         7951     7949       -2
- Misses       9758     9761       +3
- Partials      608      610       +2

Impacted Files
Coverage Δ

packages/loader/src/gltf/parser/TextureParser.ts
6.12% <0.00%> (-0.40%)
:arrow_down:

packages/math/src/Color.ts
64.70% <0.00%> (-1.69%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Alliance selection page rules

Need to show the rules of alliance selection on the alliance selection page.

https://docs.google.com/document/d/1O9A2EXopGKqLR0AQIdHEotU262ep1-EeKzR5jm4c09M/edit


[backport][tests]KOGITO-4912: Implement work item definition it coverage in standalone editors

cherry-picks #475 to 0.9.0-prerelease and applies a workaround for https://issues.redhat.com/browse/RHPAM-3629

@tiagobento thanks for the review Tiago, but this is a cherry-pick so I will not modify anything. We can use your comments to update on master.

Oh no! I just saw that this is targeting 0.9.0-prerelease. This branch is not going anywhere after the 0.9.0 release 😁. Please consider sending a PR with the things I mentioned on the review to master.

@tiagobento ok to merge


Release tagging

@lucky-sideburn, can you please start tagging KubeInvaders releases? I have quite strict admission policies in k8s cluster and it doesn't allow usage of latest tag in many cases. Also, especially with recent KubeInvaders changes, deployment ends up broken because latest today is not what it was a month ago.

Hi @karlism yes I am sorry :D Sometimes I think that I am the only user of Kubeinvaders because I do not know if people find it useful or just cool :)
I started to use tag different from latest as described in the guide https://github.com/lucky-sideburn/KubeInvaders#install-to-kubernetes-with-helm-v3
So I start today  from  docker.io/luckysideburn/kubeinvaders:v1.0 and I will increase the versions for new releases.
thanks!

Thanks!


Rename proposal to "import reflection"

This renames the proposal to the import reflection proposal. I think it's important we agree and get this change in now that it is stage 1 to ensure proposal clarify and to avoid further bikeshedding.

Ok I will go ahead and merge this change tomorrow unless there is any feedback further.


[Slow performance] Pylance goes crazy after switching git branch

Environment data

Language Server version: v2024.6.1
OS and version: macOS 14.4.1, Ubuntu 22.04 LTS
Python version: 3.7.17

GIF

Repro Steps

Open a large repo (thousands of files) with Vscode, pylance takes 5-10 seconds to fully analyze but works normally
Git checkout/switch to another branch
Pylance takes a crazy long time to analyze. The bigger the difference between the branches, the longer it takes.

Expected behavior
After git checkout/switching, pylance should finish analyzing after a much shorter time
Actual behavior
taking a long time to analyze
Logs

2024-06-21 22:36:23.631 [info] [Info  - 10:36:23 PM] (46004)   /Users/sam/.pyenv/versions/3.7.17/lib/python3.7
2024-06-21 22:36:23.631 [info] [Info  - 10:36:23 PM] (46004)   /Users/sam/.pyenv/versions/3.7.17/lib/python3.7/lib-dynload
2024-06-21 22:36:23.631 [info] [Info  - 10:36:23 PM] (46004)   /Users/sam/.pyenv/versions/3.7.17/envs/julo-mvp/lib/python3.7/site-packages
2024-06-21 22:36:23.631 [info] [Info  - 10:36:23 PM] (46004) Adding fs watcher for library directories:
 file:///Users/sam/.pyenv/versions/3.7.17/lib/python3.7
file:///Users/sam/.pyenv/versions/3.7.17/lib/python3.7/lib-dynload
file:///Users/sam/.pyenv/versions/3.7.17/envs/julo-mvp/lib/python3.7/site-packages
2024-06-21 22:36:23.631 [info] [Info  - 10:36:23 PM] (46004) Adding fs watcher for directories:
 file:///Users/sam/code/julo/mvp/src/juloserver
2024-06-21 22:36:23.631 [info] (46004) Searching for source files
2024-06-21 22:36:23.907 [info] (46004) Found module argparse : 1.4.0
2024-06-21 22:36:23.908 [info] (46004) Found module cfgv : 3.3.1
2024-06-21 22:36:23.910 [info] (46004) Found module decorator : 5.1.1
(keeps going like gif)
...

why are you have logLevel: Trace on? that logging will slow you down. it should be only on when you are investigating something or okay with perf hit, otherwise, you should not have that mode on.
that said, if you want us to take a look what is going on, give the full log of logLevel: Trace of git switch without any modification even if it is more than a 10+MB. that will help us to find out what pylance is doing.

I turned on Trace loglevel to demonstate the GIF, because otherwise not much is shown.
Here is a larger log when i do git switch:
output_vscode.txt

are you saying what you are shared is all you got? or some part of it?
Can you provide the log as described in the troubleshooting guide?
basically,

use the command to turn on the log (you can leave logLevel as Information),
do the git switch command,
wait until vscode goes into idle and then
use the command to stop the log
share the log file it generated to us

that should contain full log we need. not some part of it.

Sure, here is the full log file with said approach
pylance_2024.6.1_id_0.txt.zip

so, everything there seems expected. would it be possible for me to get this data (profiling data) as well? (https://github.com/microsoft/pylance-release/wiki/Collecting-data-for-an-investigation.#collecting-cpuprofiles)
so, we can take a look what we can optimize to make things faster for your case?

I am facing this issue as well. I can reproduce it in the django repo by checking out an old commit for eg: git checkout a506b6981bc48caec30bca3de94d2ac3e6fc1660. After running this command, python code intelligence stops working and in the logs it can be seen that pylance is scanning the modules in the venv multiple times. There are several statements like
2024-06-25 19:40:10.956 [info] [Info  - 7:40:10 PM] (3808089) SourceFile: Received fs event 'change' for path '/codemill/rajputa/django/tests/commands_sql'

And after each such statement, pylance scans all the modules in the venv. For the standard python installation, pylance starts working again after 5-10 minutes but for our custom venv which has a lot more modules, pylance only works again after reloading the VSCode window. Is there room for improving how pylance handles file system events here?
pylance_log.txt

so, everything there seems expected. would it be possible for me to get this data (profiling data) as well? (https://github.com/microsoft/pylance-release/wiki/Collecting-data-for-an-investigation.#collecting-cpuprofiles)
so, we can take a look what we can optimize to make things faster for your case?

Huhm, taking 5-10 minutes to load i don't think it should be the way even if it's expected. The thing is if I start VScode the first time, it's normal and takes 10 seconds or so only happens when changing branches. As @rajputa-deshaw said, I think pylance keeps scanning for all modules again for each file change event.
But anyhow, I managed to improve the performance a bit to under one minute by using python.analysis.exclude and python.analysis.include to only the folders/files that I frequently use.

After running this command, python code intelligence stops working and in the logs it can be seen that pylance is scanning the modules in the venv multiple times.

I am working on to optimize some of it. but providing us the profile data I mentioned above will help us greatly. since we have concrete data rather than optimizing speculatively.

Sure, attaching the logs and profile data for the reproducer.
pylance_2024.6.1_bg_1_id_0.cpuprofile.txt
pylance_2024.6.1_bg_2_id_0.cpuprofile.txt
pylance_2024.6.1_fg_id_0.cpuprofile.txt
pylance_2024.6.1_id_0.txt

thank you. the profile data showed what the issue is.

This issue has been fixed in prerelease version 2024.6.103, which we've just released. You can find the changelog here: CHANGELOG.md


feat(slider): Added option to have 2 slider handles for a ranged selection

Closes IBM/carbon-components-angular#916
What do you think about calling the second value for the range value2? In our implementation we have it lowValue and highValue but obviously I don't want to break anybody else's code and rename value to lowValue :)
I was initially thinking about creating a range-slider.component which will extend the slider.component. That didn't go well because I didn't want to clone the template code so I settled to do append some code to the slider itself.

lowValue and highValue would work with some getter/setter trickery ... The only issue there is that ngModel is only going to return one of the values ... Maybe for range sliders we could take an array of values? Internally we can use getters to pull the appropriate values from it ...

Yes, I couldn't solve the ngModel issue and that's why I wanted to submit the PR to get your take on how is everything looking in general and else should be updated/added.
One other potential problem is that the 2 thumbs can get almost on top of each other when the values are less than 4-5 points apart and it's visually unpleasing. Not the biggest issue of all but just worth mentioning.

Yes, I couldn't solve the ngModel issue and that's why I wanted to submit the PR to get your take on how is everything looking in general and else should be updated/added.

For sure!

One other potential problem is that the 2 thumbs can get almost on top of each other when the values are less than 4-5 points apart and it's visually unpleasing. Not the biggest issue of all but just worth mentioning.

I suppose one option there would be to limit how close the handles can get ... So long as they can't cross each other I don't think it's a huge deal

@stanislavgeorgiev any updates on the ngModel support?

Not yet @calsmith.
On Thu, Dec 5, 2019 at 1:59 PM Cal Smith<EMAIL_ADDRESS>wrote:

@stanislavgeorgiev https://github.com/stanislavgeorgiev any updates on
the ngModel support?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/IBM/carbon-components-angular/pull/935?email_source=notifications&email_token=AAJSAXPD7SQBSK63S3SCWSTQXFFS5A5CNFSM4JSWQDL2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGBYGDY#issuecomment-562266895,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJSAXOKSMD7TEG3WDAH4WDQXFFS5ANCNFSM4JSWQDLQ
.

@stanislavgeorgiev had a chance to work on this? No worries if not, I can take this over if needed 👍

I'm in a pre-release phase now until June 19th and cannot put any time in this item. I can come back to it after that. Sorry I'm keeping this open for 6 months!

Not a problem! Just wanted to check in 😁 I'll check back after the 19th and we can go from there 👍


fix the plugin

replace BdApi.findModuleByProps("dirtyDispatch") with BdApi.findModuleByProps("dispatch", "subscribe") and it will be fine

Fixed in https://github.com/mack/magic-upload/pull/5, thank you for this 🙏


Feat/live 2572 poc modularisation coin families

📝 Description
First step of Poc modularisation coin families: remove the algorand dependency from LLC.
❓ Context

Impacted projects: `` LLC, LLD
Linked resource(s): `` Live-2572

✅ Checklist

[ ] Test coverage
[X] Atomic delivery
[X] No breaking changes

📸 Demo
No demo available as it is only code refactoring
🚀 Expectations to reach
LLC works fine when we remove the /ledger-live/libs/ledger-live-common/src/families/algorand/ folder

I'm not so sure about the direction about this one, I can't find the modularisation part yet.
At least it's a first step to change AlgorandResources into an accountResource.
Wait and see I guess it's just the beginning of something big

I'm not so sure about the direction about this one, I can't find the modularisation part yet. At least it's a first step to change AlgorandResources into an accountResource. Wait and see I guess it's just the beginning of something big

Yes, currently. The first step is to remove in coin related code in LLC.
So, ideally, all the coin related code is in families folder. This is why I change  AlgorandResources to accountResource and we will make decision after this PR.

/generate-screenshots

Is this mergeable? I'll set the PR to draft because if we want it merged, we should no longer consider it a "PoC" but clearly document what it then ships, like more documentation of what the PR changed in the description 🤔  (changes of models, etc)

Is this mergeable? I'll set the PR to draft because if we want it merged, we should no longer consider it a "PoC" but clearly document what it then ships, like more documentation of what the PR changed in the description 🤔 (changes of models, etc)

@gre I've updated the description field so it should be more clearer now. It is ready for review and mergeable. Let me know if you think anything still missing. Thanks for the review :)

looks like the Bot is finding issues actually. look at the report and you will see all txs of algorand have failed with
LedgerAPI4xx: TransactionPool.Remember: TransactionPool.ingest: no pending block evaluator

Integration test link:
https://github.com/LedgerHQ/ledger-live/actions/runs/3183792157


[Bug] Ruby parsing issue

Describe the bug
Ruby parser fails for the below code
Please keep the conversation English! Make it easy for us and share your input code or a minified example.
To Reproduce
Load this code in the Ruby parser and see it failing.
Once this has been fixed please import the entire repository to verify that it does not produce any more parser issues
Expected behavior
Parsing should pass
Screenshots
NA
Desktop (please complete the following information):
NA
Additional context
Add any other context about the problem here.

@xavierpinho still facing parser issue in this file (using intellij ANTLR plugin).

For future reference, bear in mind that the ANTLR plugin is not to be 100% trusted, as it doesn't take into account custom predicates/semantic actions.
Nevertheless, just double-checked and you're right: the following is not properly handled:
<EMAIL_ADDRESS>cannot be used in Redis::Distributed because the keys involved need " \
          "to be on the same server or because we cannot guarantee that the operation will be atomic."

Missing is the support for recognising strings separated by \.
Let's continue work in #3081


change SearchResult to use json.RawMessage instead of interface{}

fixes #213

That's a breaking change. Getting that in needs a little thought. I've also been really busy for the last month.

The integration tests are broken as expected.  Still looking at options.

integration tests are broken as expected

I'm assuming these are not public? Because the GitHub CI checks seem to have passed.

The tests are public, they just don't run well enough yet to make them part of the pipeline.  There's a cookbook in the test-chef-server directory that has examples  using all of the api calls and server spec tests of the results.  The cookbook spins up a chef server.
I'm torn between providing the output the way your PR does, providing alternate client calls or providing a way to convert the []interface output to []RawMessage.  People do use the search capability and breaking the interface would cause some problems.  I started a new job and do not a lot of time to work on it right now. The PR is a really good idea. Thanks

@satyanash  Could you look at #215 and see if that would work for you?
I looked at adding another function (instead of this PR that replaces the existing function) to return json.RawMessage output directly in a SearchJResult structure.  I don't see how to do it without duplicating a lot of hard to maintain code.
I don't want to break the current search interface. People do use that interface.
func JsonResult converts the interface{} rows to json.RawMessage.  I don't really like it but I'm having a hard time seeing something else compatible.
thanks,
Mark

Included in #239


Added ability to filter autocomplete query

It might be handy for the developer who creates an admin form to add some arbitrary additional filtering for the autocomplete field. An obvious use case would be to limit the list of linkable objects according to some per-row permission rule. This PR contains a simple method that allows to add arbitrary filter depending on the model and request.

Thanks !


Backup to AWS S3 is not functional

Rancher Server: Master build from Feb 25.
Steps:

Create a 3 node DO cluster with all 3 roles (etcd, control, worker) along with S3 configuration
Create few workloads
Perform a backup
Verify if a backup is created in S3.

Results:
There is no backup entry in S3. Back up to S3 fails with the below error in server logs:
2019/02/26 19:59:41 [INFO] kontainerdriver rancherkubernetesengine stopped
2019/02/26 19:59:41 [ERROR] EtcdBackupController c-42zw5/c-42zw5-rc4m9 [etcdbackup-controller] failed with : [etcd-backup] failed to perform etcd backup: Failed to take one-time snapshot, exit code [1]: time="2019-02-26T19:59:40Z" level=info msg="invoking set s3 service client"

2019/02/26 19:59:41 [INFO] kontainerdriver rancherkubernetesengine stopped
2019/02/26 19:59:41 [ERROR] EtcdBackupController c-42zw5/c-42zw5-k8v2k [etcdbackup-controller] failed with : [etcd-backup] failed to perform etcd backup: Failed to start [etcd-snapshot-once] container on host [a.b.c.d]: Error response from daemon: No such container: e925f72827c96755aaf0cc6296a56a1db245a262cf637f9fd9fdd21850313aa9

@soumyalj I am unable to reproduce this issue with latest master, can you please re-validate ?

Tested with master from Feb 27
Steps:

Create a 3 node DO cluster with all 3 roles (etcd, control, worker) along with S3 configuration
Create few workloads
Perform a backup
Verify if a backup is created in S3.

Back up S3 was successful. Restore was also successful.


find spike-in code

Sam worked on this before leaving, but I don't see it in any branches here

Sam used this pipeline for her project that needed spike-in: https://github.com/bioinfo-pf-curie/ChIP-seq
Her plan was to adapt their spike-in implementation for champagne but didn't get to that before leaving.

closing as the solution was found above


ajax + autocomplete : two ajax calls are sent

Hi,
here is my code :
$('#location').textext({
   plugins : 'autocomplete ajax',
   autocomplete: {
       dropdownMaxHeight : 'auto'
   },
   ajax : {
    url : 'myurl',
        dataType : 'json',
    cacheResults : false,
    delay: 1
   }
});

And that's what happens :
the first time I enter a keyword, two ajax calls are sent :
<myurl>?q=keyword

and
<myurl>?q=

so the requested suggestions appear and then disappear.
After that, if I modify the keyword, everything goes well. The problem occurs only the first time.
I have a fix but don't know if it is the good way to do it. In the method onShowDropdown of the autocomplete puglin, I replaced :
 if(!suggestions)
    return self.trigger(EVENT_GET_SUGGESTIONS);

by
if(!suggestions && !self.core().hasPlugin('ajax'))
      return self.trigger(EVENT_GET_SUGGESTIONS);

What do you think about this?
Thanks in advance,
Thomas

Hi bro,i don't know if you can see this but have you find the anwser of your problem but i have the same problem and i don't know how to solve it,thanks if you remembered the anwser,
Thanks
Mirindra

Hi Mirindra,
as said in the description of the issue, I found a solution. It consists in modifying the onShowDropdown function.
You can see the fix in the pull request #146
Hope that helps,
Thomas

thank you very mauch bro,it's working
i change too my configuration and it's work
===> the old
$('#local')
.textext({
plugins : 'autocomplete tags ajax',
ajax : {
url : 'boost/ajax/geo.php',
dataType : 'json',
typeDelay      : 0.5,
loadingMessage : 'Chargement...',
loadingDelay   : 0.5,
cacheResults   : false,
        }
    });

===> the new
$('#local')
.textext({
plugins : 'autocomplete tags ajax',
autocomplete: {
dropdownMaxHeight : 'auto'
},
ajax : {
url : 'boost/ajax/geo.php',
dataType : 'json',
typeDelay      : 0.5,
loadingMessage : 'Chargement...',
loadingDelay   : 0.5,
cacheResults   : false,
delay: 1
}
});
thank you very much,you are the only who have discussed about this topic during two day of research,thanks,thanks
Mirindra

You're welcome!


🐞 fix(i18n, Link): path.sep & link path

fix meta_generator cann't read doc type by path.sep.
fix Link components cann't use in i18n langurage.

Thanks!


Added more icon to tier one images

Adding a more icon. Haven't contributed here before so I'm not 100% sure I've added all the right files.
images/tier1/more.svg is the svg added, which is 18px by 18px
(Is this necessary?) The changes to icons.scss and tier1-icons.html were generated with an npm run build. This ended up making my diff very large as it changed a lot of files so I only added the relevant segments (those to do with the more icon).
If you want context about the story or task where this icon is used see US75742 where you can find the details and designs.

@trevorjonesd2l looks almost perfect! Only nitpick would be to just remove the px units from the width and height, so they match the rest of the icons. Not sure if it actually matters, but we had some extra special behaviour with consuming these in IE and that might have been one of the reasons.
Also, thanks for removing all the extra generated stuff. I need to look at that and figure out what's going on -- I think it's just ordering them randomly instead of alphabetically so you get a different order each time.

@trevorjonesd2l: Perfect, thanks! Will merge and do a 2.7.0 release that you should be able to grab via Bower.


Memory leak for multiple start stop of kinesis video stream [Nvidia Jetson Tx2 ]

KinesisVideoStreamer.txt
Attached is my class definition. In this , as per my use  case I need to call StartStreaming/StopStreaming multiple times.
What I see is memory leak of n* 368 bytes where 'n' is the number of start/stops. valgrind complains of the leak to be in gstreamer.
Can you please guide as to what I have done wrong ?

Hi @pateltithi
You can use Gstreamer debug tools or tracing by setting the environment variables f.
GST_DEBUG="GST_TRACER:7" GST_TRACERS="leaks(GstTaskPool,GstCaps)
Also refer to the https://github.com/GStreamer/common/blob/master/gst.supp

Hi @pateltithi
There is a g_free missing for cpd in the video streaming sample. This issue in the video streaming sample will be fixed in the upcoming release.    For now, can you also add g_free(cpd);
  gchar *cpd = gst_value_serialize(gstStreamFormat);
  data.kinesis_video_stream->start(std::string(cpd));
  g_free(cpd);

Please let us know if that fixes the  issue.  Thanks

368 bytes in 1 blocks are definitely lost in loss record 92 of 133
==5557==    at 0x4845178: malloc (vg_replace_malloc.c:309)
==5557==    by 0x11DAF58B: ??? (in /usr/lib/aarch64-linux-gnu/tegra/libnvomx.so)
==5557==    by 0x11DAB19B: ??? (in /usr/lib/aarch64-linux-gnu/tegra/libnvomx.so)
==5557==    by 0x1135448B: ??? (in /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstomx.so)
==5557==    by 0x113713E3: ??? (in /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstomx.so)
==5557==    by 0x111DB78F: gst_video_encoder_setcaps (gstvideoencoder.c:611)
==5557==    by 0x111DB78F: gst_video_encoder_sink_event_default (gstvideoencoder.c:963)
==5557==    by 0x48F1363: ??? (in /usr/lib/aarch64-linux-gnu/libgstreamer-1.0.so.0.803.0)
This is the recurring leak.
g_free (cpd) reduces the fixed leak by 50 bytes, but doen't help for these 368 bytes.

Is this happening on nvidia encoder libnvomx.so?

I'm runnign the code on Nvidia Tx2.

Can you please run export GST_DEBUG=GST_REFCOUNTING:5 and start your application? This should help you to see which objects are not freed at the end of each run.
For example, if you run the application two times and you notice one object is not freed at the end of the run (count shows 2 ), then that could be a potential root cause for the memory leak.

Hi @pateltithi , were you able to check the debug output with GST_REFCOUNTING: ?

I was able to check but It did not help me. I still have the recurring leak.

@pateltithi what version of the SDK are you using? The latest version does have some cumulative fixes. Could you include the valgrind full report

Attaching logs for Jun 12 version of SDK as well as 30 July verson. The 368 byte leak for 1 start/stop and 736 (368*2) bytes leak for 2 start/stops is present for both versions.
Any suggestions here will be of great help, Thanks[
valg_1_startstop_30Jul.txt
valg_1_startstop.txt
valg_2_startstop.txt
valg_2_startstop_30July.txt
](url)

Hi @pateltithi ,
Please check if you are running the valgrind with the GStreamer suppression files.
Given that the log shows  nvidia h264 - were you able to check if similar issue has been reported or any uninit steps are required for that element in  nvdia dev forums or in GStreamer devel forums.
==4125== 368 bytes in 1 blocks are definitely lost in loss record 93 of 134
==4125==    at 0x4845178: malloc (vg_replace_malloc.c:309)
==4125==    by 0x11DAF58B: ??? (in /usr/lib/aarch64-linux-gnu/tegra/libnvomx.so)
==4125==    by 0x11DAB19B: ??? (in /usr/lib/aarch64-linux-gnu/tegra/libnvomx.so)
==4125==    by 0x1135448B: ??? (in /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstomx.so)
==4125==    by 0x113713E3: ??? (in /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstomx.so)
==4125==    by 0x111DB78F: gst_video_encoder_setcaps (gstvideoencoder.c:611)
==4125==    by 0x111DB78F: gst_video_encoder_sink_event_default (gstvideoencoder.c:963)
==4125==    by 0x48F1363: ??? (in /usr/lib/aarch64-linux-gnu/libgstreamer-1.0.so.0.803.0)
==4125==
==4125== 368 bytes in 1 blocks are definitely lost in loss record 94 of 134
==4125==    at 0x4845178: malloc (vg_replace_malloc.c:309)
==4125==    by 0x11DAF58B: ??? (in /usr/lib/aarch64-linux-gnu/tegra/libnvomx.so)
==4125==    by 0x11DAB19B: ??? (in /usr/lib/aarch64-linux-gnu/tegra/libnvomx.so)
==4125==    by 0x1135448B: ??? (in /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstomx.so)
==4125==    by 0x113715D7: ??? (in /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstomx.so)
==4125==    by 0x111DB78F: gst_video_encoder_setcaps (gstvideoencoder.c:611)
==4125==    by 0x111DB78F: gst_video_encoder_sink_event_default (gstvideoencoder.c:963)
==4125==    by 0x48F1363: ??? (in /usr/lib/aarch64-linux-gnu/libgstreamer-1.0.so.0.803.0)

Closing the issue for now. Please reopen or send email to<EMAIL_ADDRESS>along with your use case if it requires support.


ci: add linting

Runs cargo fmt and cargo clippy in CI
and close #74

@engineerakki Thank you for first contributing to fzf-make! Could you divide into another file please? Like:
# lint.yaml
name: Lint
# ...

This has the advantage of making it easier to make changes because responsibilities can be properly separated and it is possible to see which checks have been failed.

This has been fixed now.

Also you can append close #74 to description to close the issue when this PR merged if you want. (example: https://github.com/kyu08/fzf-make/pull/73)

@engineerakki Looks great! You have made it easier to maintain this repository. Thank you for your contribution!

Can you please add hacktoberfest-accpeted  label to this PR, so that this counts to my hacktoberfest contribution ?


[Doom] Make the dust assistant configurable

Source: https://github.com/dust-tt/decisions/issues/105
Today, each data source has a setting defining if the datasource is to be included in @dust assistant.
Remove that setting and replace it with a "Manage" button on the @dust assistant.

Some outstanding questions:

there is no activate/deactivate?
what if there is no data source? what does it mean to see it here? Is it activated ? is it not?

cc @Duncid

Here are my thoughts:

@dust comes pre-activated
It's by default on "all data sources"
One can open and edit
One cannot remove

Later on, we probably will have a capacity to deactivate it without removing it.

@Duncid so we add non connected data sources by default even if you previously edited it? There's a small weirdness here no?

(FYI @gabhubert )
@spolu

@Duncid so we add non connected data sources by default even if you previously edited it? There's a small weirdness here no?

@Duncid so we add non connected data sources by default even if you previously edited it? There's a small weirdness here no?

IMO what we're missing is a setting of Search Data source" that would be "All available data source".
That would be the default setting for @dust.
If a user changes that setting, then the new settings apply.
@fontanierh

What happens when the workspace has no data source ? Do we not show @dust  ? Do we show it, but it’s grayed-out and you cannot enable it ?

The above apply. It's set to "all data sources" but there are no data sources.

Do we really want to move dust to “custom” assistants ? I understand that it’s now configurable, but it’s still not really a custom assistant ?

It's a good question.

If we take a "sandbox" approach, @dust is nothing more than a help created to avoid the original void.
It obey all the rules of custom assistants, can be removed, handle can change,…
Ultimately, members may use it or remove it entirely.

If we take a more driven approach, @dust is a specific assistant with specific  capabilities and users have limited choice on what they can do with it (can't change icon or name, can remove, can disable…).

IMO, the first option is the most interesting one, but the second one is easier to implement now.
I would start with 2.

What happens when the workspace has no data source ? Do we not show @dust ? Do we show it, but it’s grayed-out and you cannot enable it ?

The above apply. It's set to "all data sources" but there are no data sources.

That's kind of broken in the interim where there are not data sources? Do we prefer deactivating Dust or having it reply an error (which would something generic when the all data source setting is set but there are none)

If we take a "sandbox" approach, @dust is nothing more than a help created to avoid the original void.
It obey all the rules of custom assistants, can be removed, handle can change,…
Ultimately, members may use it or remove it entirely.

If we take a more driven approach, @dust is a specific assistant with specific capabilities and users have limited choice on what they can do with it (can't change icon or name, can remove, can disable…).
IMO, the first option is the most interesting one, but the second one is easier to implement now.
I would start with 2.

I'm not attached to @dust being a special assistant at all... but it's an interesting question for sure.

That's kind of broken in the interim where there are not data sources? Do we prefer deactivating Dust or having it reply an error (which would something generic when the all data source setting is set but there are none)

I think throw an error?

Counter proposal that to me feel like the path of least resistance:

We keep the current DB schema and logic
Dust is still presented in the top-level list
Dust has a special config page (and therefore a special config button vs a toggle)
The config page has the toggle + the list of all data sources with a toggle + some text to guide the user and explain them what's its purpose

How would you feel about that @Duncid @fontanierh
I think it minimizes the "change" yet solve the initial problem or removing that settings screen on data sources. It's still easy to use.
By default connected data sources are added, static are not
If no datasource the assistant is deactivated and there's CTA to create a data source

Rationale:

minimize change
opportunity to explain value of it
solves initial problem
new entry point to CTA to create a data source
Do not introduce a new concept "all data sources" which is easy to set but is likely leading to bad results for custom assistants in general

That's kind of broken in the interim where there are not data sources? Do we prefer deactivating Dust or having it reply an error (which would something generic when the all data source setting is set but there are none)

I don't think it's broken. When we ask to select a data source and there are no data source available it's broken.
But if we have a "god mode" setting tapping all data sources, I don't think anyone will be shocked that no data is recovered if no data has been added.

I can work with @spolu 's proposal.
I tend to be attracted by the sandbox approach mostly because of esthetics (it's pure).

Can you define the "sandbox approach" :grimacing: not sure I put a concept on these words yet :)

Sandbox Design Approach
Concept: The Sandbox approach provides users with a set of tools or elements that allow them to create, explore, and interact in an open environment. There's no fixed path or specific goal, giving users freedom to experiment.
Key Features:
Open-ended gameplay or interaction.
User-driven outcomes.
Emphasis on exploration and creativity.
Less structured experience.
Examples: Legos, Capla, many video games, like "Minecraft" or "The Sims", use the sandbox approach where players can build and interact with the world as they see fit.
Rollercoaster Design Approach
Concept: The Rollercoaster approach is a guided experience where users are taken on a predefined path with set outcomes. It's more linear and controlled, ensuring users experience content or interactions in a specific order.
Key Features:
Linear and structured experience.
Designer-driven outcomes.
Emphasis on delivering a specific story or experience.
Predictable and consistent for all users.
Examples: Many narrative-driven video games or interactive story apps provide a rollercoaster experience, guiding users through a story with specific events and outcomes.
In the context of product design these approaches can be used to determine how users interact with a product. A Sandbox approach might be more suitable for products that prioritize user creativity and personalization, while a Rollercoaster approach might be chosen for products that aim to provide a specific, consistent experience.

When you buy a Lego, it can come already assembled or with a plan to assemble a certain piece.
But any lego can be broken down, modified, re-used for other purpose.
The rule is to never create a piece that is specific (or as little as possible).

Yep makes sense and aligned. I just a bit skeptical of the piece "include all data sources" I worry it's a foot gun for us

Yep makes sense and aligned. I am just a bit skeptical of the piece "include all data sources" I worry it's a foot gun for us

The choice can be framed as "Do we still want to push a general assistant approach (dust as we knew it 3 months back) or did we stop believing in it".
Consequence would be allowing god mode or denying god mode.
If we deny god mode, then is @dust is just our branded @gpt by default. We let people edit it however they like.
We can have an experience that guide people to assemble their first lego (dissociated from @dust).

I think leading people to build their @dust and not have one by default is directionally where we want to be for sure. But this will take concerted effort that is beyond the scope of removing the settings page on data sources :)

So all in all we're super aligned on the end state and we just take an intermediary step towards there pending the framing and implementation of a more advanced onboarding experience + template in assistant builder etc...

@fontanierh all good for you? What’s your take?

Aligned with your proposal, that's a good first step.

I'm working on making the page work, do you already have a rough idea of design @Duncid  ?

Functionally, I guess this is more or less what we want ? Obviously shouldn't look like this at all though

I think these are indeed the main functional affordances.
in the future, I think we'll want to make the dust assistant able to ingest more company context (with impact on the preprompt).
let me know when to chime in on copy.

let me know when to chime in on copy.

Whenever you are available, I'm ready for it @gabhubert  😄

HEADER

change to: Manage Dust Assistant

TITLE

icon should be Dust, not robot
title: Dust Assistant
tagline: Configure the @dust assistant for this workspace.

SECTION 1

Add title above enabled: Availability
Add tagline: Select whether or not @dust is available as a standalone assistant for this workspace.
when enabled is NOT selected, we should have help text appear to specify behaviour on Slack

SECTION 2

Title: Data Sources
tagline: Configure which connections and data sources will be searched by the Dust Assistant.

Thank you !
I am missing the CTA to add a new datasource if there are none yet. I'm still not clear what the behaviour is when @dust is enabled but there are no datasources ?
@gabhubert

when enabled is NOT selected, we should have help text appear to specify behaviour on Slack

lmk if you have ideas regarding this. I can think of 3 possibilities:
1/ The default answer on slack (i.e if no channel-based routing is set for the channel) is something along the lines of "There is no agent configured to reply in this channel"
2/ we pick the next best assistant as default (gpt4 ?). If also disabled, the next best etc... If every assistant is disabled, then we fallback to "There is no agent configured to reply in this channel"
3/ we continue to reply with @dust by default even if disabled
I think 1/ is bad UX (if you ping an app on slack, the goal is never to receive an error message, so there is 0% chance to give the user what they want if we just reply with an error).
I think 3/ is bad as well (if I disable an assistant, I expect my employees/teammates to not be able to interact with it).
I think 2/ is not perfect, but the best option. Ideally we allow configuring the global slack default assistant somewhere.

I am missing the CTA to add a new datasource if there are none yet. I'm still not clear what the behaviour is when @dust is enabled but there are no datasources ?

Should we redirect to the Connections page with a CtA "Add connections" (I know, this isn't perfect, because we could need a world where they want @dust to work with a static data source)?
If no data sources or connections exist, imo we should force-disable @dust since it's not able to perform retrievals, i.e. perform it's "core" job

On the Slack UX: I think 2/ is our best direction. We could hardcode after the reply that the reply was given by @assistant because @dust is disabled?

Should we redirect to the Connections page with a CtA "Add connections" (I know, this isn't perfect, because we could need a world where they want @dust to work with a static data source)?

sounds good 👍

If no data sources or connections exist, imo we should force-disable @dust since it's not able to perform retrievals, i.e. perform it's "core" job

I agree, the experience cannot be good if there is a retrieval step but nothing to retrieve from

On the Slack UX: I think 2/ is our best direction. We could hardcode after the reply that the reply was given by @Assistant because @dust is disabled?

For customers that don't want to use datasources / RAG at all, it means we'll be adding this text at the end of every response. Are we sure we want this ?
Also, do you have an idea regarding what we want to display on the page (when @dust is disabled) to explain the slack bot behaviour ?

For customers that don't want to use datasources / RAG at all, it means we'll be adding this text at the end of every response. Are we sure we want this ?

Fair enough, we could just add a callout on the assistant list in Dust (or mvp-do-nothing)

Also, do you have an idea regarding what we want to display on the page (when @dust is disabled) to explain the slack bot behaviour ?

Maybe just some text in the Availability section  If @dust is invoked on Slack @$assistant will reply.

thanks @gabhubert. This is what I came up with wrt the "add connections" CTA. Any idea for the copy ?

This workspace doesn't currently have any data sources.

Add connections or data sources to enable @dust
CtA: + Add connections

For the slackbot callouts:

Looking good, would just make sure the tag is not stretched on all the
width (I guess an align left or a flex shrink somewhere)
On Tue, Oct 24, 2023 at 4:13 PM Henry Fontanier @.***>
wrote:

For the slackbot callouts:
[image: Image]
https://user-images.githubusercontent.com/14199823/277688487-075f26e1-f197-4db6-9f17-709ec8ea91a9.png
[image: Image]
https://user-images.githubusercontent.com/14199823/277688542-53198c1e-d57e-4f48-9f5d-dc90b64f5432.png
—
Reply to this email directly, view it on GitHub
https://github.com/dust-tt/dust/issues/2196#issuecomment-1777304745, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABB2Z4PKT6HI33XQHRYS6A3YA7EHNAVCNFSM6AAAAAA6HMEZ4WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZXGMYDINZUGU
.
You are receiving this because you were mentioned.Message ID:
@.***>

The page I implemented has several issues:

we never explain what the Dust assistant is
we never explain that it needs data sources to work (and why)
we talk about the slack bot if the assistant is disabled, but it's really not clear for the user. We assume that they know the Dust assistant is default on slack, but most users probably don't know
Both the Dust assistant and the slackbot are called "dust". Both of them are invoked using "@dust" somewhere. thats very confusing.

It's hard to find a solution that fixes all of these problem without removing "something".

per IRL: going to investigate if you could hide a Slack app from your workspace (this could help the case for 2 apps, one for data connection one for Slackbot, which is one possible way forward)

From my investigation, I don't think its possible.
@lasryaric as local Slack API expert, do you know if there is a way to do this ?

@gabhubert @fontanierh I am not sure what you mean by "hide a Slack app from your workspace".
You would like to Dust app to be installed on a Slack workspace but be hidden?
I looked at the API and did not find any way to do that. It also makes sense to me: I would not trust Slack much if they were hiding apps away from my view.

The idea was to have 2 slack apps:

the "bot" app, that would be visible / pingable on Slack, and that would answer users
the "sync" app, that would be "hidden" / unpingable and that would only be used to synchronize data.
I haven't found a way to do this either

As per IRL, the solution we are going with:

we remove the slack-bot-related "warning chips"
we make GPT-4 respond on slack when Dust assistant is disabled
we remove ability to disable the GPT-4 assistant (like helper)

Thanks for clarifying @fontanierh and sounds good to me for the plan.


Need high level description of our API principles in public doc

Some issues such as https://github.com/rancher/rancher/issues/28239 are actually "working as intended" but this is not clear.  A high-level description of our API principles would help our customers who are intending to use the API as their primary interface for Rancher

Consolidating into https://github.com/rancher/rancher-docs/issues/583.


why p and z as arguments in shearstrain?

I notice that both p and z are required arguments, why not use gsw.z_from_p or gsw.p_from_z?

I think I was just lazy when putting this together. I will change this to use only one of them.

I guess strictly speaking the data should be in depth or height for the most accurate  vertical wavenumber spectra, since p -> z conversion is not exactly proportional and would result in depths that are not perfectly evenly spaced. However, I would be surprised if this makes any significant difference to the final result.

Closed by #51 .


Profile code and optimize accordingly

Evaluation appears to be dominated by parsing. Closing this issue for now.


Add Get-FGTMonitorSystemInterface

You can add also vlan, aggregate info and select scope (vdom/global)
Fix : #269

/azp run


Measure memory usage

I have had a look at the memory usage using VisualVM:
https://github.com/BujakiAttila/CitySuggestionAPI/blob/master/doc/StartupMemoryUsage.jpg?raw=true


K8's - Adding testing repo so newer K8's ver  ( 1.2 ) can be installed.

Adding virt7-docker-common-candidate.repo to enable when " kube_build: testing" is set in kubernetes_vars.yml to work.  Currently is broken as peaces are missing.
This will enable us to install new kubernetes 1.2 which has tons of excellent features and improvements.
http://blog.kubernetes.io/2016/03/Kubernetes-1.2-even-more-performance-upgrades-plus-easier-application-deployment-and-management-.html
Existing error:

Tested on Openstack.

[x ] Installs cleanly on a fresh build of most recent master branch
[  ] Upgrades cleanly from the most recent release
[  ] Updates documentation relevant to the changes

After adding this changes:

Hey @zoza1982, thanks for the PR! We're refactoring a lot of the K8s integration right now and something similar to this is already in. You can track against feature/k8s-by-default if you'd like to follow progress. We plan to have this work finished this week. :) Thanks again!

No problem @BrianHicks


Testing Pull Request

by CK

It looks like @dodohee hasn't signed our Contributor License Agreement, yet.

The purpose of a CLA is to ensure that the guardian of a project's outputs has the necessary ownership or grants of rights over all contributions to allow them to distribute under the chosen licence.
Wikipedia

You can read and sign our full Contributor License Agreement here.
Once you've signed reply with [clabot:check] to prove it.
Appreciation of efforts,
clabot

Testing finished

promising :-)


build errors when build on WDK10 x64

Hi every body.
When I build your project many errors occurred. I spent some hours for fix this issue but I couldn't to fix this errors.
how to fix this issues?

so i can build jxystl library. but when I add this library to my project and use (for example) vector .. this errors occurred.

@mohamadrezashafie sorry I'm just getting to this. Is it possible the MSVC installed isn't the same or is out of date on your machine? Here is the include path mine pulls in:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\atlmfc\include
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\VS\include

I haven't done much building outside of my own environment. So, your mileage may vary.

Make sure to add $(VC_IncludePath) to your Additional Include Directories if you are trying to build with your own driver project.


Adding ARM support

@physik932 is adding M1/ARM support to sopstool and this will support installing those builds via asdf.
https://github.com/Ibotta/sopstool/pull/46

Looks good to me!
❯ asdf plugin update sopstool arm-support
Updating sopstool to arm-support
From https://github.com/elementalvoid/asdf-sopstool
 * [new branch]      arm-support -> arm-support
 * [new branch]      arm-support -> origin/arm-support
Switched to branch 'arm-support'
❯ asdf install sopstool 1.0.0
Downloading sopstool from https://github.com/ibotta/sopstool/releases/download/v1.0.0/sopstool_Darwin_arm64.tar.gz
❯ asdf global sopstool 1.0.0
❯ sopstool version
sopstool v1.0.0 (68e46c39c27fffb08ca898aeb9438a8d277f5c24) @ 2022-04-07T23:13:40Z

Looks good to me!
❯ asdf plugin update sopstool arm-support
Updating sopstool to arm-support
From https://github.com/elementalvoid/asdf-sopstool
 * [new branch]      arm-support -> arm-support
 * [new branch]      arm-support -> origin/arm-support
Switched to branch 'arm-support'
❯ asdf install sopstool 1.0.0
Downloading sopstool from https://github.com/ibotta/sopstool/releases/download/v1.0.0/sopstool_Darwin_arm64.tar.gz
❯ asdf global sopstool 1.0.0
❯ sopstool version
sopstool v1.0.0 (68e46c39c27fffb08ca898aeb9438a8d277f5c24) @ 2022-04-07T23:13:40Z


Typo causes hyperlink to appear as text

Fix typo that causes hyperlink to appear as normal text as reported in #2277
Page where the problem occurs : https://developers.google.com//web/fundamentals/performance/critical-rendering-path/constructing-the-object-model?hl=en
Screenshot :

Change in File : Removed extra  '  sign inside  tag.

I signed it!
On Tue, Nov 10, 2015 at 2:01 PM, googlebot<EMAIL_ADDRESS>wrote:

Thanks for your pull request. It looks like this may be your first
contribution to a Google open source project. Before we can look at your
pull request, you'll need to sign a Contributor License Agreement (CLA).
[image: :memo:] Please visit https://cla.developers.google.com/
https://cla.developers.google.com/ to sign.
Once you've signed, please reply here (e.g. I signed it!) and we'll
verify. Thanks.

If you've already signed a CLA, it's possible we don't have your
GitHub username or you're using a different email address. Check your
existing CLA data https://cla.developers.google.com/clas and verify
that your email is set on your git commits
https://help.github.com/articles/setting-your-email-in-git/.
If you signed the CLA as a corporation, please let us know the
company's name.

—
Reply to this email directly or view it on GitHub
https://github.com/google/WebFundamentals/pull/2278#issuecomment-155427554
.

--
Vitorino


Hands freeze position when moving Player rig

So my hands freeze position when moving the whole Player rig with smooth locomotion. I dont know how to fix this.

I figured it out myself fortunatly. I solved the problem by moving the "SteamVRObjects" thing